@uptimizr/dashboard 0.3.5 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/README.md +16 -8
  2. package/out/404.html +1 -1
  3. package/out/__next.__PAGE__.txt +4 -4
  4. package/out/__next._full.txt +11 -11
  5. package/out/__next._head.txt +4 -4
  6. package/out/__next._index.txt +4 -4
  7. package/out/__next._tree.txt +2 -2
  8. package/out/_next/static/chunks/{020h1b22yfzjc.js → 0-0hui1_v3h8b.js} +9 -9
  9. package/out/_next/static/chunks/{2dqg85hsevk3c.js → 0-tzsd_n-ywom.js} +4 -4
  10. package/out/_next/static/chunks/00g5suuoa-_wn.js +1 -0
  11. package/out/_next/static/chunks/00o9hr_3hd0r8.js +1 -0
  12. package/out/_next/static/chunks/{0jxklh_ayjd4b.js → 00xc-0pj7on2s.js} +12 -12
  13. package/out/_next/static/chunks/01fh3_bncbe5u.js +1 -0
  14. package/out/_next/static/chunks/01urdkl1j8o6l.js +1 -0
  15. package/out/_next/static/chunks/{2j-sax2xfdv7l.js → 026vw95s88gsy.js} +1 -1
  16. package/out/_next/static/chunks/02eui3ctddbd2.js +1 -0
  17. package/out/_next/static/chunks/{3kr1polwvt6o_.js → 03zip1uidm6x9.js} +1 -1
  18. package/out/_next/static/chunks/{3gi0f1kg72xsf.js → 04_3ri5emyfcu.js} +1 -1
  19. package/out/_next/static/chunks/04c4nksb5y9r-.js +1 -0
  20. package/out/_next/static/chunks/04g-l-_b4payc.js +1 -0
  21. package/out/_next/static/chunks/04j9pexbmysdy.js +1 -0
  22. package/out/_next/static/chunks/{1rcfy_gzean3n.js → 055baac5e-c2o.js} +1 -1
  23. package/out/_next/static/chunks/05bdni_jrobq1.js +1 -0
  24. package/out/_next/static/chunks/05o0tb8l_htmw.js +1 -0
  25. package/out/_next/static/chunks/{1bxxv3nsl2-o_.js → 05uqfgf-hh-p5.js} +1 -1
  26. package/out/_next/static/chunks/{18r387bj9iv0j.js → 077eo-0dhbxz-.js} +1 -1
  27. package/out/_next/static/chunks/{18k-0jn63_5ie.js → 07z6p262h5hgl.js} +1 -1
  28. package/out/_next/static/chunks/{08bm3ye5govev.js → 08m_4cihfmik8.js} +1 -1
  29. package/out/_next/static/chunks/08obqw64faj8j.js +1 -0
  30. package/out/_next/static/chunks/{2k4s5rt7-l8jr.js → 099ilz3dmm1jw.js} +1 -1
  31. package/out/_next/static/chunks/09ppu_k464q-n.js +1 -0
  32. package/out/_next/static/chunks/{1rne-b-ktit5c.js → 0av6n_6q6kzo3.js} +2 -2
  33. package/out/_next/static/chunks/0bgcaf2x51kms.js +1 -0
  34. package/out/_next/static/chunks/{0ptp4ne7j6yg6.js → 0bj_310rugcn1.js} +11 -11
  35. package/out/_next/static/chunks/0c5d3qn2mb3ew.js +1 -0
  36. package/out/_next/static/chunks/{2gtebfttq1v0o.js → 0dck67in84de0.js} +1 -1
  37. package/out/_next/static/chunks/0dg4wxz-6u5lo.js +1 -0
  38. package/out/_next/static/chunks/{2apt1vh-7rl2l.js → 0dva036n8ab62.js} +1 -1
  39. package/out/_next/static/chunks/{159u-hx80yfaw.js → 0erga_bzezbza.js} +1 -1
  40. package/out/_next/static/chunks/0f0-i105odxqd.js +1 -0
  41. package/out/_next/static/chunks/{1fvlbwp6r93wo.js → 0g2wngc6oe7fd.js} +24 -24
  42. package/out/_next/static/chunks/0gyeqz9pagssf.js +1 -0
  43. package/out/_next/static/chunks/0i82k-t0fbn8f.js +1 -0
  44. package/out/_next/static/chunks/0kzw45f61wm3j.js +1 -0
  45. package/out/_next/static/chunks/0l8bfa2xewq69.js +1 -0
  46. package/out/_next/static/chunks/{390fogn9oz13i.js → 0n-zml1gn0o1u.js} +1 -1
  47. package/out/_next/static/chunks/{44gsjajjdhf51.js → 0n92hec_jb_-_.js} +1 -1
  48. package/out/_next/static/chunks/{366e7izc386pj.js → 0okbyggxe6mx5.js} +1 -1
  49. package/out/_next/static/chunks/{0h-ohf4gntwtj.js → 0pv2wirx45e1m.js} +1 -1
  50. package/out/_next/static/chunks/0qxd_8t3nca36.js +1 -0
  51. package/out/_next/static/chunks/0s1jghzw8jufz.js +1 -0
  52. package/out/_next/static/chunks/{0ngai1_zxwsk8.js → 0s84ekz_f9ngx.js} +1 -1
  53. package/out/_next/static/chunks/{16d4a4iopj2if.js → 0t89-lfct-7m6.js} +5 -5
  54. package/out/_next/static/chunks/0ti58h622yo-_.js +2 -0
  55. package/out/_next/static/chunks/{2jfmqd86u1tzv.js → 0tn-9w46cwydp.js} +32 -32
  56. package/out/_next/static/chunks/0u8yr4k1y6m2t.js +1 -0
  57. package/out/_next/static/chunks/0ubxyut5rr600.js +1 -0
  58. package/out/_next/static/chunks/{3_bzxvqtk1t53.js → 0uxdbfa8gv6tk.js} +12 -12
  59. package/out/_next/static/chunks/0vso09vdz38sr.js +1 -0
  60. package/out/_next/static/chunks/{0_tqu60oxaj7q.js → 0w-hm7g7trtjg.js} +1 -1
  61. package/out/_next/static/chunks/0wbw9h7rsis2r.js +1 -0
  62. package/out/_next/static/chunks/{3sbm1ak54_2ep.js → 0wq_9f98weoe3.js} +1 -1
  63. package/out/_next/static/chunks/0y4e49hpuucdi.js +1 -0
  64. package/out/_next/static/chunks/{0ioyy42h35hnd.js → 0yvevihll7sz-.js} +1 -1
  65. package/out/_next/static/chunks/{33h_kt3pzks_y.js → 0zf26k6juhlzo.js} +50 -18
  66. package/out/_next/static/chunks/{2t9zu9v_g9kr9.js → 1-4v8oivkgnyl.js} +3 -3
  67. package/out/_next/static/chunks/{3sg4zff4-h3t1.js → 1-b44873bjsdw.js} +1 -1
  68. package/out/_next/static/chunks/1-c3a1vnl8v1q.js +1 -0
  69. package/out/_next/static/chunks/1-xf86jgea22y.js +1 -0
  70. package/out/_next/static/chunks/10b0qqdnb_nox.js +1 -0
  71. package/out/_next/static/chunks/{2ib62lnqqaf4p.js → 11p92pnn5el0v.js} +1 -1
  72. package/out/_next/static/chunks/{06ljadw2-i91-.js → 12kdmh0h_mboy.js} +1 -1
  73. package/out/_next/static/chunks/141tngxsk32hq.js +1 -0
  74. package/out/_next/static/chunks/14ijcpo72av4r.js +1 -0
  75. package/out/_next/static/chunks/16ggwxztrv8im.js +1 -0
  76. package/out/_next/static/chunks/16hdip1drt8o-.js +1 -0
  77. package/out/_next/static/chunks/{3g5ae-38cepwm.js → 17aahvhpls1l7.js} +199 -199
  78. package/out/_next/static/chunks/{17d1isrw8gtnb.js → 18txc1wwwu9f9.js} +1 -1
  79. package/out/_next/static/chunks/{2716si10ouwu-.js → 18wa83g0qfh-b.js} +1 -1
  80. package/out/_next/static/chunks/19dp8nr4uygg2.js +5 -0
  81. package/out/_next/static/chunks/1_8acnu6_-qe-.js +1 -0
  82. package/out/_next/static/chunks/1__nujzr9e352.js +3 -0
  83. package/out/_next/static/chunks/1bmyq1b0by7ug.js +1 -0
  84. package/out/_next/static/chunks/{1wyr4at61q29n.js → 1ccn725by19i1.js} +1 -1
  85. package/out/_next/static/chunks/{0f_nv15a8q415.js → 1d1tpj9nm1nhf.js} +1 -1
  86. package/out/_next/static/chunks/1dfwa563iciz3.js +1 -0
  87. package/out/_next/static/chunks/1di5enkavl9vx.js +4 -0
  88. package/out/_next/static/chunks/{006nix8mv66z_.js → 1e_-_7biavwmb.js} +1 -1
  89. package/out/_next/static/chunks/{1y12bjsbq18_t.js → 1ephzzweysylq.js} +34 -34
  90. package/out/_next/static/chunks/1fwsjnd1y-lx_.js +1 -0
  91. package/out/_next/static/chunks/{2z9ot-w1x60fv.js → 1fyh50hjt7hi_.js} +1 -1
  92. package/out/_next/static/chunks/1gaexq_suxai0.js +1 -0
  93. package/out/_next/static/chunks/1gtj_l5ame5mw.js +1 -0
  94. package/out/_next/static/chunks/{2cqxw5m39njar.js → 1gvdmbr65lpud.js} +39 -39
  95. package/out/_next/static/chunks/{02tc9r3sc7fgc.js → 1ho02fc091nj2.js} +1 -1
  96. package/out/_next/static/chunks/{3v0td-ziuai2i.js → 1hsvckd0sgdgr.js} +1 -1
  97. package/out/_next/static/chunks/1i4f3n_2_3ery.js +1 -0
  98. package/out/_next/static/chunks/1j7e3qpjuj89a.js +1 -0
  99. package/out/_next/static/chunks/{2btqzk0tj0gz6.js → 1mrvp94tietcv.js} +1 -1
  100. package/out/_next/static/chunks/{3vxkkhs0vi_xa.js → 1mvadj46owrck.js} +1 -1
  101. package/out/_next/static/chunks/1n9ai-iuqh78m.js +1 -0
  102. package/out/_next/static/chunks/{1b2tkk7e_2o0k.js → 1n_gxvu31aofy.js} +2 -2
  103. package/out/_next/static/chunks/{0gblbgw7w7r9w.js → 1nasz7q3tvb53.js} +1 -1
  104. package/out/_next/static/chunks/{2_7dp91937mqi.js → 1ng-fqh2_n984.js} +1 -1
  105. package/out/_next/static/chunks/{0x4-zyy8pzmlq.js → 1nqojcig-0m3c.js} +1 -1
  106. package/out/_next/static/chunks/1o3ggu95lfu6i.js +1 -0
  107. package/out/_next/static/chunks/{2dolerz81xb52.js → 1og49_atcksim.js} +1 -1
  108. package/out/_next/static/chunks/{0c2k-gvwph4qs.js → 1oljzgz5jistn.js} +1 -1
  109. package/out/_next/static/chunks/1ozi46t8jajqh.js +1 -0
  110. package/out/_next/static/chunks/{1w9xu1qa9-wmv.js → 1ph0tfo-4hl-f.js} +1 -1
  111. package/out/_next/static/chunks/{17dmbt396_tyq.js → 1qjsgebn9m-0l.js} +1 -1
  112. package/out/_next/static/chunks/{168r9r65o9jnc.js → 1qsut_e3msg0l.js} +1 -1
  113. package/out/_next/static/chunks/{3efuvh_35yhes.js → 1qxhgauuomthl.js} +39 -39
  114. package/out/_next/static/chunks/{2w7yf7ouyrlkb.js → 1rb8wewjbdisv.js} +1 -1
  115. package/out/_next/static/chunks/1rr74xxjtckyv.js +1 -0
  116. package/out/_next/static/chunks/{1kl5xxohpr6-4.js → 1solqr18og2ot.js} +1 -1
  117. package/out/_next/static/chunks/{2rjc8yn50ducj.js → 1t2exh89lnazc.js} +34 -34
  118. package/out/_next/static/chunks/{0_ux41xcoea3u.js → 1t7nl8rx7mabd.js} +40 -40
  119. package/out/_next/static/chunks/{3fx3sriw1w3sa.js → 1tt1bbry-4f-6.js} +1 -1
  120. package/out/_next/static/chunks/{36waz9xq39n4t.js → 1upkv4ltuh3s5.js} +40 -40
  121. package/out/_next/static/chunks/{2npk7tr63h7rl.js → 1uu55ejvi7q5u.js} +1 -1
  122. package/out/_next/static/chunks/{2cvvxifoedn6j.js → 1ux1rpe-n1mai.js} +1 -1
  123. package/out/_next/static/chunks/{091ll-lp6spu3.js → 1vmpltnr0cyos.js} +1 -1
  124. package/out/_next/static/chunks/1x99m91nt1m3b.js +1 -0
  125. package/out/_next/static/chunks/1xbzxfeq9789f.js +1 -0
  126. package/out/_next/static/chunks/1xqv11mvnfa8n.js +1 -0
  127. package/out/_next/static/chunks/1ybiu-rkt50_1.js +1 -0
  128. package/out/_next/static/chunks/{3y9c26fv1poq_.js → 2-hdejef-mpka.js} +199 -199
  129. package/out/_next/static/chunks/{22qzld31fbhbv.js → 2-p206i_ihx09.js} +1 -1
  130. package/out/_next/static/chunks/{3rx1jhuop94-l.js → 20qelrstvz9_n.js} +1 -1
  131. package/out/_next/static/chunks/21at65obnoo8z.js +1 -0
  132. package/out/_next/static/chunks/21ko5mxfderw0.js +1 -0
  133. package/out/_next/static/chunks/21muzwu43o8xg.js +1 -0
  134. package/out/_next/static/chunks/{3he9bxsc67ivq.js → 22ja7c3gk0_ko.js} +1 -1
  135. package/out/_next/static/chunks/{0mqi0xn_c010j.js → 22rl_arnzs-ve.js} +1 -1
  136. package/out/_next/static/chunks/23d-hvrwpixpm.js +1 -0
  137. package/out/_next/static/chunks/{1f-2upk7uaxky.js → 255knovck7pv2.js} +4 -4
  138. package/out/_next/static/chunks/2569rrrffvm2w.js +31 -0
  139. package/out/_next/static/chunks/{229mkx-mtfcgf.js → 25gf6xn9u1c57.js} +1 -1
  140. package/out/_next/static/chunks/{2vmybybb3dvia.js → 267q_eg-c6f6m.js} +1 -1
  141. package/out/_next/static/chunks/{0e7xuupmrw4-e.js → 28ndw4nsw2t_4.js} +1 -1
  142. package/out/_next/static/chunks/{0m3yjobjg36ce.js → 29gv2swsp7tzu.js} +1 -1
  143. package/out/_next/static/chunks/29o74k0d6hkdf.js +1 -0
  144. package/out/_next/static/chunks/{0kr-bd6fuqc2s.js → 2bm95r0011asw.js} +1 -1
  145. package/out/_next/static/chunks/2btabnibkm0db.js +1 -0
  146. package/out/_next/static/chunks/2c--awgkdcikq.js +1 -0
  147. package/out/_next/static/chunks/{2ab-99frxpah-.js → 2c2dspoukng-5.js} +1 -1
  148. package/out/_next/static/chunks/{0zo4x1j8ug-kb.js → 2e46-2ubc90do.js} +5 -5
  149. package/out/_next/static/chunks/2ep7mjbaoeou0.js +1 -0
  150. package/out/_next/static/chunks/{1kq86iv41cet4.js → 2ezgqm7atphi6.js} +1 -1
  151. package/out/_next/static/chunks/{2owp-uukmhm4s.js → 2ftp5xmq_w23j.js} +35 -35
  152. package/out/_next/static/chunks/{38g9jpxjoxn2x.js → 2g_1ov-0j2kwd.js} +1 -1
  153. package/out/_next/static/chunks/2gfjzq_vjea4w.js +1 -0
  154. package/out/_next/static/chunks/{1tdg_eolxlcdl.js → 2h5hase6ewoyc.js} +1 -1
  155. package/out/_next/static/chunks/{0m0n7kjzscx0y.js → 2h5nvlgky7fpa.js} +1 -1
  156. package/out/_next/static/chunks/{17dabmbnkkplu.js → 2i82rmjta9ijs.js} +1 -1
  157. package/out/_next/static/chunks/2ies66gmou203.js +1 -0
  158. package/out/_next/static/chunks/2jenu2eek9viz.js +1 -0
  159. package/out/_next/static/chunks/{3043pprgv9ors.js → 2khh_pmm224k5.js} +23 -23
  160. package/out/_next/static/chunks/{0msckddycfy76.js → 2luaj_cf5f19-.js} +1 -1
  161. package/out/_next/static/chunks/2mgmvz66gh5ub.js +1 -0
  162. package/out/_next/static/chunks/2nwlqtv3vrzcv.js +1 -0
  163. package/out/_next/static/chunks/{18ss4ls60s31e.js → 2o8k8x5zcepfy.js} +1 -1
  164. package/out/_next/static/chunks/{1e1zozntzsx42.js → 2pbgsq7vvtk8_.js} +1 -1
  165. package/out/_next/static/chunks/{0b7-mrrg7ryj2.js → 2pcdnd4nzcw4c.js} +1 -1
  166. package/out/_next/static/chunks/2q0rz76kj6h5z.js +1 -0
  167. package/out/_next/static/chunks/{3w1a2o8nevap8.js → 2rjfrjhp4kjev.js} +18 -18
  168. package/out/_next/static/chunks/2si5cg3hl5dtf.js +4 -0
  169. package/out/_next/static/chunks/2uhrhq35bki6u.js +1 -0
  170. package/out/_next/static/chunks/2x83vs8ns4pww.js +74 -0
  171. package/out/_next/static/chunks/{1l12hkz1g7uhf.js → 2ymtumj-hfrjo.js} +1 -1
  172. package/out/_next/static/chunks/{2yr9wt421xdjr.js → 2z9mdtudj8crz.js} +17 -17
  173. package/out/_next/static/chunks/{1iaxzjly2pap1.js → 2zdzgmacaoor9.js} +1 -1
  174. package/out/_next/static/chunks/{0mk8tangq9equ.js → 2zpn7010iqgsy.js} +1 -1
  175. package/out/_next/static/chunks/2zyjw8g4tiu51.js +1 -0
  176. package/out/_next/static/chunks/{2kn_dqzbyabtn.js → 3-_08i4_7yhno.js} +1 -1
  177. package/out/_next/static/chunks/3-irhmtm1q5qw.js +1 -0
  178. package/out/_next/static/chunks/3-k74vn9exnb6.js +1 -0
  179. package/out/_next/static/chunks/{18avgwx9nlxp9.js → 3-x7522okdy-7.js} +1 -1
  180. package/out/_next/static/chunks/{39dscgnk4__gl.js → 309f81l5ucsb_.js} +16 -16
  181. package/out/_next/static/chunks/{1f1vq3goue1w4.js → 31ei992g8gqz9.js} +1 -1
  182. package/out/_next/static/chunks/{0i9oqg-xbq-a9.js → 32vaw89wdwv5_.js} +1 -1
  183. package/out/_next/static/chunks/{0yvei5e7uye4f.js → 34845aqksy1dl.js} +2 -2
  184. package/out/_next/static/chunks/34y7nx6qmat06.js +1 -0
  185. package/out/_next/static/chunks/{1f92k-xa0pl-3.js → 35aagg46wp139.js} +1 -1
  186. package/out/_next/static/chunks/36rqw8h6ildpl.js +1 -0
  187. package/out/_next/static/chunks/{0zwkmsojeuekb.js → 380ivzcfb4o_3.js} +4 -4
  188. package/out/_next/static/chunks/3_jmgj9glg_z2.css +3 -0
  189. package/out/_next/static/chunks/{10w513bgw-bgi.js → 3a_khw6q6pyh1.js} +1 -1
  190. package/out/_next/static/chunks/3c_31f20z4jrl.js +1 -0
  191. package/out/_next/static/chunks/3ckp70rgr63u9.js +1 -0
  192. package/out/_next/static/chunks/{08rk1dp1wb-gm.js → 3d76e_yd8l_0x.js} +38 -38
  193. package/out/_next/static/chunks/{2p8dbh81chhon.js → 3ed24zmt8qfys.js} +1 -1
  194. package/out/_next/static/chunks/3ez20hi1mxw0w.js +1 -0
  195. package/out/_next/static/chunks/3fdx-rnos5ft-.js +1 -0
  196. package/out/_next/static/chunks/3fgfbxxb-j_bn.js +4 -0
  197. package/out/_next/static/chunks/{03st_hmor6qju.js → 3go-mst7n3udd.js} +1 -1
  198. package/out/_next/static/chunks/{3d0ejsnhbzi-j.js → 3gyyjsot8mdav.js} +1 -1
  199. package/out/_next/static/chunks/{0rruvj1cyflrh.js → 3k-gz8qf-mj-p.js} +1 -1
  200. package/out/_next/static/chunks/{2enlv4yy0t-9j.js → 3kalvwsf11-ss.js} +12 -12
  201. package/out/_next/static/chunks/3lehc5pujwhsz.js +1 -0
  202. package/out/_next/static/chunks/{05l3dluxivcor.js → 3m0ytnc241yfz.js} +1 -1
  203. package/out/_next/static/chunks/3mpe7c3iyxn5h.js +1 -0
  204. package/out/_next/static/chunks/{0tl8j9f8lt0yf.js → 3mvaub8qjdyuc.js} +1 -1
  205. package/out/_next/static/chunks/{0k79ryqehst0b.js → 3n-7bcmfbh299.js} +48 -18
  206. package/out/_next/static/chunks/{38ea9kqlbxt86.js → 3nw7u4bie0-g6.js} +1 -1
  207. package/out/_next/static/chunks/3qatb38-tk_gd.js +1 -0
  208. package/out/_next/static/chunks/3tdcdi_utmoy_.js +1 -0
  209. package/out/_next/static/chunks/{3x6wpv_z5m6rz.js → 3tdzweqszru4y.js} +1 -1
  210. package/out/_next/static/chunks/3tt_ir_va6262.js +1 -0
  211. package/out/_next/static/chunks/{16hx9_epo71u-.js → 3w4qettzp7khe.js} +32 -32
  212. package/out/_next/static/chunks/{2op88btas-hl8.js → 3w_umk1xtj6to.js} +1 -1
  213. package/out/_next/static/chunks/{1kmsg9ef5djl3.js → 3y_51bmdnc0ey.js} +1 -1
  214. package/out/_next/static/chunks/{1ajmblsp0wj0_.js → 3yr66ufoli71t.js} +1 -1
  215. package/out/_next/static/chunks/{348hdbpkkcq_2.js → 3z4suna4kq4j5.js} +20 -20
  216. package/out/_next/static/chunks/{1y20bv6vl4ylk.js → 41qxc142snm22.js} +1 -1
  217. package/out/_next/static/chunks/{404f_93w2e8ty.js → 41yy4p3-rtyz1.js} +1 -1
  218. package/out/_next/static/chunks/{3fz7tc-4j13uv.js → 425epvuw3yy-n.js} +21 -21
  219. package/out/_next/static/chunks/{1t60cososq7b0.js → 43hwl25uke0l_.js} +1 -1
  220. package/out/_next/static/chunks/43qmngblcab8f.js +1 -0
  221. package/out/_next/static/chunks/{2bn9u9r0rfhvc.js → 442e2l3jzxd-_.js} +1 -1
  222. package/out/_next/static/chunks/{turbopack-16ab30_1p4vhq.js → turbopack-3r8yn0j92tqw_.js} +1 -1
  223. package/out/_not-found/__next._full.txt +9 -9
  224. package/out/_not-found/__next._head.txt +4 -4
  225. package/out/_not-found/__next._index.txt +4 -4
  226. package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
  227. package/out/_not-found/__next._not-found.txt +3 -3
  228. package/out/_not-found/__next._tree.txt +2 -2
  229. package/out/_not-found.html +1 -1
  230. package/out/_not-found.txt +9 -9
  231. package/out/index.html +1 -1
  232. package/out/index.txt +11 -11
  233. package/package.json +12 -11
  234. package/out/_next/static/chunks/0-29qf-q72olu.js +0 -1
  235. package/out/_next/static/chunks/0-tk5ptli--r0.js +0 -1
  236. package/out/_next/static/chunks/0296l8lzd69ns.js +0 -1
  237. package/out/_next/static/chunks/04pk6n3z75dcy.js +0 -1
  238. package/out/_next/static/chunks/0g6u34xkzrpjn.js +0 -1
  239. package/out/_next/static/chunks/0g7p8zp2kxve5.js +0 -1
  240. package/out/_next/static/chunks/0gwa154w_0wuh.js +0 -1
  241. package/out/_next/static/chunks/0h1o0cr3327tt.js +0 -1
  242. package/out/_next/static/chunks/0jf3n5n5yrr4o.js +0 -1
  243. package/out/_next/static/chunks/0jsh6juckq525.js +0 -1
  244. package/out/_next/static/chunks/0kcbdjbdxu_wa.js +0 -1
  245. package/out/_next/static/chunks/0l3wwyl93sqh9.js +0 -1
  246. package/out/_next/static/chunks/0n0thxa3jkour.js +0 -4
  247. package/out/_next/static/chunks/0ngiuj5k-or6g.js +0 -1
  248. package/out/_next/static/chunks/0nx_t8iq-324h.js +0 -1
  249. package/out/_next/static/chunks/0oap0o8a8a_cl.js +0 -1
  250. package/out/_next/static/chunks/0ostjlqtwkhqr.js +0 -1
  251. package/out/_next/static/chunks/0vddljjnmozzx.js +0 -1
  252. package/out/_next/static/chunks/0w0sx062qmcsh.js +0 -1
  253. package/out/_next/static/chunks/0x6i6e6863tir.js +0 -1
  254. package/out/_next/static/chunks/1--kelnig7pxx.js +0 -1
  255. package/out/_next/static/chunks/1-ud6hztxiazp.js +0 -1
  256. package/out/_next/static/chunks/10v4rskkrjgd_.js +0 -1
  257. package/out/_next/static/chunks/117ys3lltfmcu.js +0 -1
  258. package/out/_next/static/chunks/14klj_i6-l-10.js +0 -1
  259. package/out/_next/static/chunks/17ev44x54_jrd.js +0 -1
  260. package/out/_next/static/chunks/17svumd4o0qnc.js +0 -1
  261. package/out/_next/static/chunks/17v12p4sfraa0.js +0 -1
  262. package/out/_next/static/chunks/1a7cup181rjod.js +0 -1
  263. package/out/_next/static/chunks/1ek5rtpo6rxev.js +0 -1
  264. package/out/_next/static/chunks/1evp209qbr4cr.js +0 -5
  265. package/out/_next/static/chunks/1fa265388524p.js +0 -1
  266. package/out/_next/static/chunks/1g3z43o3h-024.js +0 -31
  267. package/out/_next/static/chunks/1g_27texazqcj.js +0 -1
  268. package/out/_next/static/chunks/1j--a56ji33_x.js +0 -1
  269. package/out/_next/static/chunks/1oara6fkfvgs3.js +0 -1
  270. package/out/_next/static/chunks/1par9m038tiov.js +0 -1
  271. package/out/_next/static/chunks/1q-gcxr6o4bx2.js +0 -1
  272. package/out/_next/static/chunks/1st81sc3owvku.js +0 -4
  273. package/out/_next/static/chunks/1vkww9l6lgqag.js +0 -1
  274. package/out/_next/static/chunks/1vpcaaf-0dn7q.js +0 -1
  275. package/out/_next/static/chunks/1vzmzrjhlm1q5.js +0 -1
  276. package/out/_next/static/chunks/245h82k-g1nxr.js +0 -1
  277. package/out/_next/static/chunks/24cqjhy669845.js +0 -1
  278. package/out/_next/static/chunks/25ctnyh7njp-d.js +0 -4
  279. package/out/_next/static/chunks/286ggpetqnwyo.js +0 -3
  280. package/out/_next/static/chunks/28f1onw3nywbz.js +0 -1
  281. package/out/_next/static/chunks/28ud4w7xswcir.js +0 -1
  282. package/out/_next/static/chunks/28ycc-1519hl2.js +0 -1
  283. package/out/_next/static/chunks/2dhv35o59yzao.js +0 -1
  284. package/out/_next/static/chunks/2ey30qeaob985.js +0 -1
  285. package/out/_next/static/chunks/2f0r-df7tb3pu.js +0 -1
  286. package/out/_next/static/chunks/2fle007r0cdnq.js +0 -1
  287. package/out/_next/static/chunks/2gh4z57fem0_v.js +0 -1
  288. package/out/_next/static/chunks/2h1uw3cluvmmo.js +0 -1
  289. package/out/_next/static/chunks/2kje_jvmwsvwo.js +0 -1
  290. package/out/_next/static/chunks/2l_oqx9idxcs8.js +0 -1
  291. package/out/_next/static/chunks/2pkoed609lf41.js +0 -1
  292. package/out/_next/static/chunks/2reukv9c7cq_9.js +0 -1
  293. package/out/_next/static/chunks/2vaoftqgc44cg.js +0 -1
  294. package/out/_next/static/chunks/2wdk-kbm-n-m5.js +0 -1
  295. package/out/_next/static/chunks/2y75diyxqlhzl.js +0 -1
  296. package/out/_next/static/chunks/2zljunurdji0q.js +0 -1
  297. package/out/_next/static/chunks/30_2jsjk52x2i.js +0 -1
  298. package/out/_next/static/chunks/34gp3hvr3j6um.js +0 -1
  299. package/out/_next/static/chunks/3ajhvedcs_lzb.js +0 -1
  300. package/out/_next/static/chunks/3ef6upwlgr4q-.css +0 -3
  301. package/out/_next/static/chunks/3g4e2txsrb2p2.js +0 -1
  302. package/out/_next/static/chunks/3g_h_00xs9u59.js +0 -1
  303. package/out/_next/static/chunks/3ghwe2mr2ig7e.js +0 -1
  304. package/out/_next/static/chunks/3hr-mlwi78nov.js +0 -1
  305. package/out/_next/static/chunks/3mcfjxvxo0o3e.js +0 -1
  306. package/out/_next/static/chunks/3mwoauxszd3mn.js +0 -1
  307. package/out/_next/static/chunks/3oj29s_tuqbkm.js +0 -1
  308. package/out/_next/static/chunks/3ovd8o_usay7j.js +0 -1
  309. package/out/_next/static/chunks/3pdpaqzwhhijn.js +0 -1
  310. package/out/_next/static/chunks/3r2hbpm4wju16.js +0 -1
  311. package/out/_next/static/chunks/3rl45k759wfi1.js +0 -1
  312. package/out/_next/static/chunks/3urd7r018nel4.js +0 -1
  313. package/out/_next/static/chunks/3vaho-xrtuchd.js +0 -2
  314. package/out/_next/static/chunks/3wqs57qehored.js +0 -1
  315. package/out/_next/static/chunks/40acif2eh_unv.js +0 -1
  316. package/out/_next/static/chunks/4227p7752rnny.js +0 -1
  317. /package/out/_next/static/{RC8D0Hg382TugUN5Syz31 → BzI7wE6hab7b0g-tucqKW}/_buildManifest.js +0 -0
  318. /package/out/_next/static/{RC8D0Hg382TugUN5Syz31 → BzI7wE6hab7b0g-tucqKW}/_clientMiddlewareManifest.js +0 -0
  319. /package/out/_next/static/{RC8D0Hg382TugUN5Syz31 → BzI7wE6hab7b0g-tucqKW}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55018,e=>{"use strict";e.s(["GetDOMTextContent",0,function(e){let t="",r=e.firstChild;for(;r;)3===r.nodeType&&(t+=r.textContent),r=r.nextSibling;return t},"IsDocumentAvailable",0,function(){return"u">typeof document},"IsNavigatorAvailable",0,function(){return"u">typeof navigator},"IsWindowObjectExist",0,function(){return"u">typeof window}])},44674,e=>{"use strict";class t{constructor(){this._xhr="u">typeof _native&&_native.XMLHttpRequest?new _native.XMLHttpRequest:new XMLHttpRequest,this._requestURL=""}static get IsCustomRequestAvailable(){return Object.keys(t.CustomRequestHeaders).length>0||t.CustomRequestModifiers.length>0}static _CleanUrl(e){return e=(e=e.replace("file:http:","http:")).replace("file:https:","https:")}static _ShouldSkipRequestModifications(e){return t.SkipRequestModificationForBabylonCDN&&(e.includes("preview.babylonjs.com")||e.includes("cdn.babylonjs.com"))}static _CollectCustomizations(e,r={}){let o={...r};if(t._ShouldSkipRequestModifications(e))return{url:e,headers:o};for(let e in t.CustomRequestHeaders){let r=t.CustomRequestHeaders[e];r&&(o[e]=r)}let a={setRequestHeader:(e,t)=>{o[e]=t}};for(let r of t.CustomRequestModifiers){if(t._ShouldSkipRequestModifications(e))break;let o=r(a,e);"string"==typeof o&&(e=o)}return{url:e,headers:o}}static async FetchAsync(e,r={}){let o=r.method??"GET";if("u">typeof fetch){let{url:a,headers:i}=t._CollectCustomizations(t._CleanUrl(e),r.headers??{});return await fetch(a,{method:o,headers:i,body:r.body??void 0})}return await new Promise((a,i)=>{let n=new t;n.responseType="arraybuffer",n.addEventListener("readystatechange",()=>{if(4===n.readyState)if(n.status>=200&&n.status<300){let e="u">typeof Headers?new Headers:void 0,t=n.getResponseHeader("Content-Type");t&&e&&e.set("Content-Type",t),"u">typeof Response?a(new Response(n.response,{status:n.status,statusText:n.statusText,headers:e})):a({ok:!0,status:n.status,statusText:n.statusText,headers:{get:e=>n.getResponseHeader(e)},arrayBuffer:async()=>await Promise.resolve(n.response)})}else i(Error(`HTTP ${n.status} loading '${n.requestURL}': ${n.statusText}`))}),n.open(o,e,r.headers),n.send(r.body??null)})}get requestURL(){return this._requestURL}get onprogress(){return this._xhr.onprogress}set onprogress(e){this._xhr.onprogress=e}get readyState(){return this._xhr.readyState}get status(){return this._xhr.status}get statusText(){return this._xhr.statusText}get response(){return this._xhr.response}get responseURL(){return this._xhr.responseURL}get responseText(){return this._xhr.responseText}get responseType(){return this._xhr.responseType}set responseType(e){this._xhr.responseType=e}get timeout(){return this._xhr.timeout}set timeout(e){this._xhr.timeout=e}addEventListener(e,t,r){this._xhr.addEventListener(e,t,r)}removeEventListener(e,t,r){this._xhr.removeEventListener(e,t,r)}abort(){this._xhr.abort()}send(e){this._xhr.send(e)}open(e,r,o){let{url:a,headers:i}=t._CollectCustomizations(r,o);for(let r in this._requestURL=t._CleanUrl(a),this._xhr.open(e,this._requestURL,!0),i)this._xhr.setRequestHeader(r,i[r])}setRequestHeader(e,t){this._xhr.setRequestHeader(e,t)}getResponseHeader(e){return this._xhr.getResponseHeader(e)}}t.CustomRequestHeaders={},t.CustomRequestModifiers=[],t.SkipRequestModificationForBabylonCDN=!0,e.s(["WebRequest",0,t])},6351,e=>{"use strict";let t=null;function r(){if(t)return t;let e=new ArrayBuffer(4),r=new Float32Array(e),o=new Uint32Array(e),a=new Uint32Array(512),i=new Uint32Array(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(a[e]=0,a[256|e]=32768,i[e]=24,i[256|e]=24):t<-14?(a[e]=1024>>-t-14,a[256|e]=1024>>-t-14|32768,i[e]=-t-1,i[256|e]=-t-1):t<=15?(a[e]=t+15<<10,a[256|e]=t+15<<10|32768,i[e]=13,i[256|e]=13):t<128?(a[e]=31744,a[256|e]=64512,i[e]=24,i[256|e]=24):(a[e]=31744,a[256|e]=64512,i[e]=13,i[256|e]=13)}let n=new Uint32Array(2048),s=new Uint32Array(64),l=new Uint32Array(64);for(let e=1;e<1024;++e){let t=e<<13,r=0;for(;(8388608&t)==0;)t<<=1,r-=8388608;t&=-8388609,r+=0x38800000,n[e]=t|r}for(let e=1024;e<2048;++e)n[e]=0x38000000+(e-1024<<13);for(let e=1;e<31;++e)s[e]=e<<23;s[31]=0x47800000,s[32]=0x80000000;for(let e=33;e<63;++e)s[e]=0x80000000+(e-32<<23);s[63]=0xc7800000;for(let e=1;e<64;++e)32!==e&&(l[e]=1024);return t={floatView:r,uint32View:o,baseTable:a,shiftTable:i,mantissaTable:n,exponentTable:s,offsetTable:l}}e.s(["FromHalfFloat",0,function(e){let t=r();return t.uint32View[0]=t.mantissaTable[t.offsetTable[e>>10]+(1023&e)]+t.exponentTable[e>>10],t.floatView[0]},"MaxHalfFloat",0,65504,"ToHalfFloat",0,function(e){let t=r();t.floatView[0]=e;let o=t.uint32View[0],a=o>>23&511;return t.baseTable[a]+((8388607&o)>>t.shiftTable[a])}])},87869,e=>{"use strict";var t=e.i(55018);e.s(["PrecisionDate",0,class{static get Now(){return(0,t.IsWindowObjectExist)()&&window.performance&&window.performance.now?window.performance.now():Date.now()}}])},40253,76532,51618,e=>{"use strict";class t{}t.FilesToLoad={},e.s(["FilesInputStore",0,t],40253),e.s(["RetryStrategy",0,class{static ExponentialBackoff(e=3,t=500){return(r,o,a)=>0!==o.status||a>=e||-1!==r.indexOf("file:")?-1:Math.pow(2,a)*t}}],76532);class r extends Error{}r._setPrototypeOf=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e));class o extends r{constructor(e,t,a){super(e),this.errorCode=t,this.innerError=a,this.name="RuntimeError",r._setPrototypeOf(this,o.prototype)}}e.s(["BaseError",0,r,"ErrorCodes",0,{MeshInvalidPositionsError:0,UnsupportedTextureError:1e3,GLTFLoaderUnexpectedMagicError:2e3,SceneLoaderError:3e3,LoadFileError:4e3,RequestFileError:4001,ReadFileError:4002},"RuntimeError",0,o],51618)},26225,e=>{"use strict";let t=e=>atob(e);e.s(["Decode",0,e=>{if("u">typeof TextDecoder)return new TextDecoder().decode(e);let t="";for(let r=0;r<e.byteLength;r++)t+=String.fromCharCode(e[r]);return t},"DecodeBase64ToBinary",0,e=>"function"==typeof Uint8Array.fromBase64?Uint8Array.fromBase64(e).buffer:function(e){let r=t(e),o=r.length,a=new Uint8Array(new ArrayBuffer(o));for(let e=0;e<o;e++)a[e]=r.charCodeAt(e);return a.buffer}(e),"DecodeBase64ToString",0,t,"EncodeArrayBufferToBase64",0,e=>{let t=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e);return"function"==typeof t.toBase64?t.toBase64():function(e){let t,r,o,a,i,n,s,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c="",u=0;for(;u<e.length;)t=e[u++],r=u<e.length?e[u++]:NaN,o=u<e.length?e[u++]:NaN,a=t>>2,i=(3&t)<<4|r>>4,n=(15&r)<<2|o>>6,s=63&o,isNaN(r)?n=s=64:isNaN(o)&&(s=64),c+=l.charAt(a)+l.charAt(i)+l.charAt(n)+l.charAt(s);return c}(t)}])},49097,e=>{"use strict";let t=[];function r(e,t,r){try{if(e())return t(),!0}catch(e){return r?.(e),!0}return!1}e.s(["TimingTools",0,class{static SetImmediate(e){0===t.length&&setTimeout(()=>{let e=t;for(let r of(t=[],e))r()},1),t.push(e)}},"_RetryWithInterval",0,(e,t,o,a=16,i=3e4,n=!0,s)=>{if(n&&r(e,t,o))return null;let l=setInterval(()=>{r(e,t,o)?clearInterval(l):(i-=a)<0&&(clearInterval(l),o?.(Error("Operation timed out after maximum retries. "+(s||"")),!0))},a);return()=>clearInterval(l)}])},28978,e=>{"use strict";var t=e.i(80434),r=e.i(6351);function o(e){switch(e){case 5120:case 5121:return 1;case 5122:case 5123:case 5131:return 2;case 5124:case 5125:case 5126:return 4;default:throw Error(`Invalid type '${e}'`)}}function a(e){switch(e){case 5120:return Int8Array;case 5121:return Uint8Array;case 5122:return Int16Array;case 5123:case 5131:return Uint16Array;case 5124:return Int32Array;case 5125:return Uint32Array;case 5126:return Float32Array;default:throw Error(`Invalid component type '${e}'`)}}function i(e,t,a,i,n,s,l,c){let u=Array(i),f=Array(i);if(e instanceof Array){let r=t/4,o=a/4;for(let t=0;t<s;t+=i){for(let t=0;t<i;t++)u[t]=f[t]=e[r+t];c(f,t);for(let t=0;t<i;t++)u[t]!==f[t]&&(e[r+t]=f[t]);r+=o}}else{let d=ArrayBuffer.isView(e)?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e),g=o(n);for(let e=0;e<s;e+=i){for(let e=0,o=t;e<i;e++,o+=g)u[e]=f[e]=function(e,t,o,a){switch(t){case 5120:{let t=e.getInt8(o);return a&&(t=Math.max(t/127,-1)),t}case 5121:{let t=e.getUint8(o);return a&&(t/=255),t}case 5122:{let t=e.getInt16(o,!0);return a&&(t=Math.max(t/32767,-1)),t}case 5123:{let t=e.getUint16(o,!0);return a&&(t/=65535),t}case 5131:return(0,r.FromHalfFloat)(e.getUint16(o,!0));case 5124:return e.getInt32(o,!0);case 5125:return e.getUint32(o,!0);case 5126:return e.getFloat32(o,!0);default:throw Error(`Invalid component type ${t}`)}}(d,n,o,l);c(f,e);for(let e=0,o=t;e<i;e++,o+=g)u[e]!==f[e]&&function(e,t,o,a,i){switch(t){case 5120:a&&(i=Math.round(127*i)),e.setInt8(o,i);break;case 5121:a&&(i=Math.round(255*i)),e.setUint8(o,i);break;case 5122:a&&(i=Math.round(32767*i)),e.setInt16(o,i,!0);break;case 5123:a&&(i=Math.round(65535*i)),e.setUint16(o,i,!0);break;case 5131:e.setUint16(o,(0,r.ToHalfFloat)(i),!0);break;case 5124:e.setInt32(o,i,!0);break;case 5125:e.setUint32(o,i,!0);break;case 5126:e.setFloat32(o,i,!0);break;default:throw Error(`Invalid component type ${t}`)}}(d,n,o,l,f[e]);t+=a}}}e.s(["CopyFloatData",0,function(e,r,a,n,s,l,c,u){let f=r*o(a),d=c*r;if(u.length!==d)throw Error("Output length is not valid");if(5126!==a||s!==f)return void i(e,n,s,r,a,d,l,(e,t)=>{for(let o=0;o<r;o++)u[t+o]=e[o]});if(e instanceof Array){let t=n/4;u.set(e,t)}else if(ArrayBuffer.isView(e)){let r=e.byteOffset+n;if((3&r)!=0){t.Logger.Warn("Float array must be aligned to 4-bytes border"),u.set(new Float32Array(e.buffer.slice(r,r+d*Float32Array.BYTES_PER_ELEMENT)));return}let o=new Float32Array(e.buffer,r,d);u.set(o)}else{let t=new Float32Array(e,n,d);u.set(t)}},"EnumerateFloatValues",0,i,"GetBlobBufferSource",0,function(e){let t=e.buffer;if(t instanceof ArrayBuffer)return e;let r=new ArrayBuffer(e.byteLength);return new Uint8Array(r).set(new Uint8Array(t,e.byteOffset,e.byteLength)),r},"GetFloatData",0,function(e,r,a,n,s,l,c,u){let f=r*o(a),d=c*r;if(5126!==a||s!==f){let t=new Float32Array(d);return i(e,n,s,r,a,d,l,(e,o)=>{for(let a=0;a<r;a++)t[o+a]=e[a]}),t}if(!(e instanceof Array||e instanceof Float32Array)||0!==n||e.length!==d)if(e instanceof Array){let t=n/4;return e.slice(t,t+d)}else{if(!ArrayBuffer.isView(e))return new Float32Array(e,n,d);let r=e.byteOffset+n;return((3&r)!=0&&(t.Logger.Warn("Float array must be aligned to 4-bytes border"),u=!0),u)?new Float32Array(e.buffer.slice(r,r+d*Float32Array.BYTES_PER_ELEMENT)):new Float32Array(e.buffer,r,d)}return u?e.slice():e},"GetTypeByteLength",0,o,"GetTypedArrayConstructor",0,a,"GetTypedArrayData",0,function(e,r,n,s,l,c,u){let f,d=o(n),g=a(n),p=c*r;if(Array.isArray(e)){if((3&s)!=0||(3&l)!=0)throw Error("byteOffset and byteStride must be a multiple of 4 for number[] data.");let t=s/4,o=l/4;if(t+(c-1)*o+r>e.length)throw Error("Last accessed index is out of bounds.");if(o<r)throw Error("Data stride cannot be smaller than the component size.");if(o!==r){let t=new g(p);return i(e,s,l,r,n,p,!1,(e,o)=>{for(let a=0;a<r;a++)t[o+a]=e[a]}),t}return new g(e.slice(t,t+p))}let h=s;if(ArrayBuffer.isView(e)?(f=e.buffer,h+=e.byteOffset):f=e,h+(c-1)*l+r*d>f.byteLength)throw Error("Last accessed byte is out of bounds.");let v=r*d;if(l<v)throw Error("Byte stride cannot be smaller than the component's byte size.");if(l!==v){let e=new g(p),t=new Uint8Array(f,h),o=new Uint8Array(e.buffer),a=r*d;for(let e=0,r=0,i=0;e<c;e++,r+=l,i+=a)o.set(t.subarray(r,r+a),i);return e}return(1!==d&&(h&d-1)!=0&&(t.Logger.Warn("Array must be aligned to border of element size. Data will be copied."),u=!0),u)?new g(f.slice(h,h+p*d)):new g(f,h,p)}])},6774,e=>{"use strict";var t=e.i(44674),r=e.i(55018),o=e.i(90176),a=e.i(40253),i=e.i(76532),n=e.i(51618),s=e.i(26225),l=e.i(70855),c=e.i(80434),u=e.i(49097),f=e.i(28978);let d=new RegExp(/^data:([^,]+\/[^,]+)?;base64,/i);class g extends n.RuntimeError{constructor(e,r){super(e,n.ErrorCodes.LoadFileError),this.name="LoadFileError",n.BaseError._setPrototypeOf(this,g.prototype),r instanceof t.WebRequest?this.request=r:this.file=r}}class p extends n.RuntimeError{constructor(e,t){super(e,n.ErrorCodes.RequestFileError),this.request=t,this.name="RequestFileError",n.BaseError._setPrototypeOf(this,p.prototype)}}class h extends n.RuntimeError{constructor(e,t){super(e,n.ErrorCodes.ReadFileError),this.file=t,this.name="ReadFileError",n.BaseError._setPrototypeOf(this,h.prototype)}}let v={DefaultRetryStrategy:i.RetryStrategy.ExponentialBackoff(),BaseUrl:"",CorsBehavior:"anonymous",PreprocessUrl:e=>e,ScriptBaseUrl:"",ScriptPreprocessUrl:e=>e,CleanUrl:e=>e=e.replace(/#/gm,"%23")},m=(e,t)=>{if((!e||0!==e.indexOf("data:"))&&v.CorsBehavior)if("string"==typeof v.CorsBehavior||v.CorsBehavior instanceof String)t.crossOrigin=v.CorsBehavior;else{let r=v.CorsBehavior(e);r&&(t.crossOrigin=r)}},K=(e,t,r,a,i)=>{let n=new FileReader,s={onCompleteObservable:new o.Observable,abort:()=>n.abort()};return n.onloadend=()=>s.onCompleteObservable.notifyObservers(s),i&&(n.onerror=()=>{i(new h(`Unable to read ${e.name}`,e))}),n.onload=e=>{t(e.target.result)},r&&(n.onprogress=r),a?n.readAsArrayBuffer(e):n.readAsText(e),s},b=(e,t,r,i,n,s,l)=>{if(e.name)return K(e,t,r,n,s?e=>{s(void 0,e)}:void 0);if(-1!==e.indexOf("file:")){let o=decodeURIComponent(e.substring(5).toLowerCase());0===o.indexOf("./")&&(o=o.substring(2));let i=a.FilesInputStore.FilesToLoad[o];if(i)return K(i,t,r,n,s?e=>s(void 0,new g(e.message,e.file)):void 0)}let{match:f,type:d}=U(e);if(f){let r={onCompleteObservable:new o.Observable,abort:()=>()=>{}};try{let r=n?P(e):C(e);t(r,void 0,d)}catch(e){s?s(void 0,e):c.Logger.Error(e.message||"Failed to parse the Data URL")}return u.TimingTools.SetImmediate(()=>{r.onCompleteObservable.notifyObservers(r)}),r}return y(e,(e,r)=>{t(e,r?.responseURL,r?.getResponseHeader("content-type"))},r,i,n,s?e=>{s(e.request,new g(e.message,e.request))}:void 0,l)},y=(e,a,i,n,s,u,f)=>{null!==n&&(n??(n=l.EngineStore.LastCreatedScene?.offlineProvider)),e=v.CleanUrl(e),e=v.PreprocessUrl(e);let d=v.BaseUrl+e,g=!1,h={onCompleteObservable:new o.Observable,abort:()=>g=!0},m=()=>{let e,o=new t.WebRequest,n=null,l=()=>{o&&(i&&o.removeEventListener("progress",i),e&&o.removeEventListener("readystatechange",e),o.removeEventListener("loadend",m))},m=()=>{l(),h.onCompleteObservable.notifyObservers(h),h.onCompleteObservable.clear(),i=void 0,e=null,m=null,u=void 0,f=void 0,a=void 0};h.abort=()=>{g=!0,m&&m(),o&&o.readyState!==(XMLHttpRequest.DONE||4)&&o.abort(),null!==n&&(clearTimeout(n),n=null),o=null};let K=e=>{let t=e.message||"Unknown error";u&&o?u(new p(t,o)):c.Logger.Error(t)},b=c=>{if(o){if(o.open("GET",d),f)try{f(o)}catch(e){K(e);return}s&&(o.responseType="arraybuffer"),i&&o.addEventListener("progress",i),m&&o.addEventListener("loadend",m),e=()=>{if(!g&&o&&o.readyState===(XMLHttpRequest.DONE||4)){if(e&&o.removeEventListener("readystatechange",e),o.status>=200&&o.status<300||0===o.status&&(!(0,r.IsWindowObjectExist)()||A())){let e=s?o.response:o.responseText;if(null!==e){try{a&&a(e,o)}catch(e){K(e)}return}}let i=v.DefaultRetryStrategy;if(i){let e=i(d,o,c);if(-1!==e){l(),o=new t.WebRequest,n=setTimeout(()=>b(c+1),e);return}}let f=new p("Error status: "+o.status+" "+o.statusText+" - Unable to load "+d,o);u&&u(f)}},o.addEventListener("readystatechange",e),o.send()}};b(0)};if(n&&n.enableSceneOffline&&!e.startsWith("blob:")){let t=e=>{e&&e.status>400?u&&u(e):m()};n.open(()=>{n&&n.loadFile(v.BaseUrl+e,e=>{!g&&a&&a(e),h.onCompleteObservable.notifyObservers(h)},i?e=>{!g&&i&&i(e)}:void 0,t,s)},t)}else m();return h},A=()=>"u">typeof location&&"file:"===location.protocol,U=e=>{let t=d.exec(e);return null===t||0===t.length?{match:!1,type:""}:{match:!0,type:t[0].replace("data:","").replace(";base64,","")}};function P(e){return(0,s.DecodeBase64ToBinary)(e.split(",")[1])}let C=e=>(0,s.DecodeBase64ToString)(e.split(",")[1]);e.s(["DecodeBase64UrlToBinary",0,P,"FileToolsOptions",0,v,"GetMimeType",0,e=>{let{match:t,type:r}=U(e);if(t)return r||void 0;let o=e.lastIndexOf(".");switch(e.substring(o+1).toLowerCase()){case"glb":return"model/gltf-binary";case"bin":return"application/octet-stream";case"gltf":return"model/gltf+json";case"jpg":case"jpeg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"ktx":return"image/ktx";case"ktx2":return"image/ktx2";case"avif":return"image/avif";default:return}},"IsBase64DataUrl",0,e=>d.test(e),"LoadFile",0,b,"LoadFileError",0,g,"LoadImage",0,(e,r,o,i,n="",c,u=l.EngineStore.LastCreatedEngine)=>{let d;if("u"<typeof HTMLImageElement&&!u?._features.forceBitmapOverHTMLImageElement)return o("LoadImage is only supported in web or BabylonNative environments."),null;let g=!1;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))if("u">typeof Blob&&"u">typeof URL){let t;t=e instanceof ArrayBuffer?e:(0,f.GetBlobBufferSource)(e),d=URL.createObjectURL(new Blob([t],{type:n})),g=!0}else d=`data:${n};base64,`+(0,s.EncodeArrayBufferToBase64)(e);else e instanceof Blob?(d=URL.createObjectURL(e),g=!0):(d=v.CleanUrl(e),d=v.PreprocessUrl(d));let p=t=>{if(o){let r=d||e.toString();o(`Error while trying to load image: ${0===r.indexOf("http")||r.length<=128?r:r.slice(0,128)+"..."}`,t)}};if(u?._features.forceBitmapOverHTMLImageElement)return b(d,t=>{u.createImageBitmap(new Blob([t],{type:n}),{premultiplyAlpha:"none",colorSpaceConversion:"none",...c}).then(e=>{r(e),g&&URL.revokeObjectURL(d)}).catch(t=>{o&&o("Error while trying to load image: "+e,t)})},void 0,i||void 0,!0,(e,t)=>{p(t)}),null;let h=new Image;!1;m(d,h);let K=[],y=()=>{for(let e of K)e.target.removeEventListener(e.name,e.handler);K.length=0};for(let e of(K.push({target:h,name:"load",handler:()=>{y(),r(h),g&&h.src&&URL.revokeObjectURL(h.src)}}),K.push({target:h,name:"error",handler:e=>{y(),p(e),g&&h.src&&URL.revokeObjectURL(h.src)}}),K.push({target:document,name:"securitypolicyviolation",handler:e=>{if(e.blockedURI!==h.src||"report"===e.disposition)return;y();let t=Error(`CSP violation of policy ${e.effectiveDirective} ${e.blockedURI}. Current policy is ${e.originalPolicy}`);l.EngineStore.UseFallbackTexture=!1,p(t),g&&h.src&&URL.revokeObjectURL(h.src),h.src=""}}),K))e.target.addEventListener(e.name,e.handler);let A="blob:"===d.substring(0,5),U="data:"===d.substring(0,5),P=()=>{A||U||!t.WebRequest.IsCustomRequestAvailable?h.src=d:b(d,(e,t,r)=>{let o=new Blob([e],{type:!n&&r?r:n}),a=URL.createObjectURL(o);g=!0,h.src=a},void 0,i||void 0,!0,(e,t)=>{p(t)})};if(!A&&!U&&i&&i.enableTexturesOffline)i.open(()=>{i&&i.loadImage(d,h)},P);else{if(-1!==d.indexOf("file:")){let e=decodeURIComponent(d.substring(5).toLowerCase());if(a.FilesInputStore.FilesToLoad[e]&&"u">typeof URL){try{let t;try{t=URL.createObjectURL(a.FilesInputStore.FilesToLoad[e])}catch(r){t=URL.createObjectURL(a.FilesInputStore.FilesToLoad[e])}h.src=t,g=!0}catch(e){h.src=""}return h}}P()}return h},"ReadFile",0,K,"RequestFile",0,y,"SetCorsBehavior",0,m])},98551,e=>{"use strict";function t(e){let t=r(e),a=o(e);return t-e>e-a?a:t}function r(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e}function o(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,(e|=e>>16)-(e>>1)}e.s(["FloorPOT",0,o,"GetExponentOfTwo",0,function(e,a,i=2){let n;switch(i){case 1:n=o(e);break;case 2:n=t(e);break;default:n=r(e)}return Math.min(n,a)},"IsExponentOfTwo",0,function(e){let t=1;do t*=2;while(t<e)return t===e},"Mix",0,function(e,t,r){return e*(1-r)+t*r},"NearestPOT",0,t])},79488,e=>{"use strict";var t=e.i(80434),r=e.i(38116);class o{static Instantiate(e){if(this.RegisteredExternalClasses&&this.RegisteredExternalClasses[e])return this.RegisteredExternalClasses[e];let o=(0,r.GetClass)(e);if(o)return o;t.Logger.Warn(e+" not found, you may have missed an import.");let a=e.split("."),i="u">typeof window?window:"u">typeof globalThis?globalThis:this;for(let e=0,t=a.length;e<t;e++)i=i[a[e]];return"function"!=typeof i?null:i}}o.RegisteredExternalClasses={},e.s(["InstantiationTools",0,o])},13856,67560,e=>{"use strict";var t,r=e.i(90176),o=e.i(55018),a=e.i(80434);let i=(e,t,r)=>!e||e.getClassName&&"Mesh"===e.getClassName()?null:e.getClassName&&("SubMesh"===e.getClassName()||"PhysicsBody"===e.getClassName())?e.clone(t):e.clone?e.clone():Array.isArray(e)?e.slice():r&&"object"==typeof e?{...e}:null;class n{static DeepCopy(e,t,r,o,n=!1){for(let s of function(e){let t=[];do for(let r of Object.getOwnPropertyNames(e))-1===t.indexOf(r)&&t.push(r);while(e=Object.getPrototypeOf(e))return t}(e)){if("_"===s[0]&&(!o||-1===o.indexOf(s))||s.endsWith("Observable")||r&&-1!==r.indexOf(s))continue;let l=e[s],c=typeof l;if("function"!==c)try{if("object"===c)if(l instanceof Uint8Array)t[s]=Uint8Array.from(l);else if(l instanceof Array){if(t[s]=[],l.length>0)if("object"==typeof l[0])for(let e=0;e<l.length;e++){let r=i(l[e],t,n);-1===t[s].indexOf(r)&&t[s].push(r)}else t[s]=l.slice(0)}else t[s]=i(l,t,n);else t[s]=l}catch(e){a.Logger.Warn(e.message)}}}}e.s(["DeepCopier",0,n],67560);var s=e.i(87869),l=e.i(33945),c=e.i(44674),u=e.i(70855),f=e.i(6774),d=e.i(49097),g=e.i(79488),p=e.i(31919),h=e.i(98551);class v{static get BaseUrl(){return f.FileToolsOptions.BaseUrl}static set BaseUrl(e){f.FileToolsOptions.BaseUrl=e}static get CleanUrl(){return f.FileToolsOptions.CleanUrl}static set CleanUrl(e){f.FileToolsOptions.CleanUrl=e}static IsAbsoluteUrl(e){return 0===e.indexOf("//")||!(-1===e.indexOf("://")||-1===e.indexOf(".")||-1===e.indexOf("/")||e.indexOf(":")>e.indexOf("/"))&&(!!(e.indexOf("://")<e.indexOf("."))||0===e.indexOf("data:")||0===e.indexOf("blob:"))}static set ScriptBaseUrl(e){f.FileToolsOptions.ScriptBaseUrl=e}static get ScriptBaseUrl(){return f.FileToolsOptions.ScriptBaseUrl}static set CDNBaseUrl(e){t.ScriptBaseUrl=e,t.AssetBaseUrl=e}static set ScriptPreprocessUrl(e){f.FileToolsOptions.ScriptPreprocessUrl=e}static get ScriptPreprocessUrl(){return f.FileToolsOptions.ScriptPreprocessUrl}static get DefaultRetryStrategy(){return f.FileToolsOptions.DefaultRetryStrategy}static set DefaultRetryStrategy(e){f.FileToolsOptions.DefaultRetryStrategy=e}static get CorsBehavior(){return f.FileToolsOptions.CorsBehavior}static set CorsBehavior(e){f.FileToolsOptions.CorsBehavior=e}static get UseFallbackTexture(){return u.EngineStore.UseFallbackTexture}static set UseFallbackTexture(e){u.EngineStore.UseFallbackTexture=e}static get RegisteredExternalClasses(){return g.InstantiationTools.RegisteredExternalClasses}static set RegisteredExternalClasses(e){g.InstantiationTools.RegisteredExternalClasses=e}static get fallbackTexture(){return u.EngineStore.FallbackTexture}static set fallbackTexture(e){u.EngineStore.FallbackTexture=e}static FetchToRef(e,t,r,o,a,i){let n=((Math.abs(e)*r%r|0)+(Math.abs(t)*o%o|0)*r)*4;i.r=a[n]/255,i.g=a[n+1]/255,i.b=a[n+2]/255,i.a=a[n+3]/255}static Mix(e,t,r){return 0}static Instantiate(e){return g.InstantiationTools.Instantiate(e)}static SetImmediate(e){d.TimingTools.SetImmediate(e)}static IsExponentOfTwo(e){return!0}static FloatRound(e){return Math.fround(e)}static GetFilename(e){let t=e.lastIndexOf("/");return t<0?e:e.substring(t+1)}static GetFolderPath(e,t=!1){let r=e.lastIndexOf("/");return r<0?t?e:"":e.substring(0,r+1)}static ToDegrees(e){return 180*e/Math.PI}static ToRadians(e){return e*Math.PI/180}static SmoothAngleChange(e,t,r=.9){let o=this.ToRadians(e),a=this.ToRadians(t);return this.ToDegrees(Math.atan2((1-r)*Math.sin(a)+r*Math.sin(o),(1-r)*Math.cos(a)+r*Math.cos(o)))}static MakeArray(e,t){return!0!==t&&(void 0===e||null==e)?null:Array.isArray(e)?e:[e]}static GetPointerPrefix(e){return(0,o.IsWindowObjectExist)()&&!window.PointerEvent?"mouse":"pointer"}static SetCorsBehavior(e,t){(0,f.SetCorsBehavior)(e,t)}static SetReferrerPolicyBehavior(e,t){t.referrerPolicy=e}static get PreprocessUrl(){return f.FileToolsOptions.PreprocessUrl}static set PreprocessUrl(e){f.FileToolsOptions.PreprocessUrl=e}static LoadImage(e,t,r,o,a,i){return(0,f.LoadImage)(e,t,r,o,a,i)}static LoadFile(e,t,r,o,a,i){return(0,f.LoadFile)(e,t,r,o,a,i)}static async LoadFileAsync(e,t=!0){return await new Promise((r,o)=>{(0,f.LoadFile)(e,e=>{r(e)},void 0,void 0,t,(e,t)=>{o(t)})})}static GetAssetUrl(e){if(!e)return"";if(t.AssetBaseUrl&&e.startsWith(t._DefaultAssetsUrl)){let r=t.AssetBaseUrl.endsWith("/")?t.AssetBaseUrl.slice(0,-1):t.AssetBaseUrl;return e.replace(t._DefaultAssetsUrl,r)}return e}static GetBabylonScriptURL(e,r){if(!e)return"";if(e.startsWith(t._DefaultCdnUrl)){if(t.ScriptBaseUrl){let r=t.ScriptBaseUrl.endsWith("/")?t.ScriptBaseUrl.slice(0,-1):t.ScriptBaseUrl;e=e.replace(t._DefaultCdnUrl,r)}else if(t._CdnVersion){let r=`${t._DefaultCdnUrl}/v${t._CdnVersion}`;e.startsWith(r)||(e=e.replace(t._DefaultCdnUrl,r))}}return e=t.ScriptPreprocessUrl(e),r&&!t.IsAbsoluteUrl(e)&&(e=t.GetAbsoluteUrl(e)),e}static LoadBabylonScript(e,r,o,a){e=t.GetBabylonScriptURL(e),t.LoadScript(e,r,o)}static async LoadBabylonScriptAsync(e){return e=t.GetBabylonScriptURL(e),await t.LoadScriptAsync(e)}static _LoadScriptNative(e,r,o){_native&&t.LoadFile(e,e=>{try{Function(e).apply(null),r&&r()}catch(e){o&&o("LoadScript Error",e)}},void 0,void 0,!1,(e,t)=>{o&&o("LoadScript Error",t)})}static _LoadScriptWeb(e,t,r,a,i=!1){if("function"==typeof importScripts){try{importScripts(e),t&&t()}catch(t){r?.(`Unable to load script '${e}' in worker`,t)}return}if(!(0,o.IsWindowObjectExist)())return void r?.(`Cannot load script '${e}' outside of a window or a worker`);let n=document.getElementsByTagName("head")[0],s=document.createElement("script");i?(s.setAttribute("type","module"),s.innerText=e):(s.setAttribute("type","text/javascript"),s.setAttribute("src",e)),a&&(s.id=a),s.onload=()=>{t&&t()},s.onerror=t=>{r&&r(`Unable to load script '${e}'`,t)},n.appendChild(s)}static async LoadScriptAsync(e,t){return await new Promise((r,o)=>{this.LoadScript(e,()=>{r()},(e,t)=>{o(t||Error(e))},t)})}static ReadFileAsDataURL(e,t,o){let a=new FileReader,i={onCompleteObservable:new r.Observable,abort:()=>a.abort()};return a.onloadend=()=>{i.onCompleteObservable.notifyObservers(i)},a.onload=e=>{t(e.target.result)},a.onprogress=o,a.readAsDataURL(e),i}static ReadFile(e,t,r,o,a){return(0,f.ReadFile)(e,t,r,o,a)}static FileAsURL(e){let t=new Blob([e]);return window.URL.createObjectURL(t)}static Format(e,t=2){return e.toFixed(t)}static DeepCopy(e,t,r,o){n.DeepCopy(e,t,r,o)}static IsEmpty(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}static RegisterTopRootEvents(e,t){for(let r=0;r<t.length;r++){let o=t[r];e.addEventListener(o.name,o.handler,!1);try{window.parent&&window.parent.addEventListener(o.name,o.handler,!1)}catch(e){}}}static UnregisterTopRootEvents(e,t){for(let r=0;r<t.length;r++){let o=t[r];e.removeEventListener(o.name,o.handler);try{e.parent&&e.parent.removeEventListener(o.name,o.handler)}catch(e){}}}static async DumpFramebuffer(e,t,r,o,a="image/png",i,n){throw(0,l._WarnImport)("DumpTools")}static DumpData(e,t,r,o,a="image/png",i,n=!1,s=!1,c){throw(0,l._WarnImport)("DumpTools")}static async DumpDataAsync(e,t,r,o="image/png",a,i=!1,n=!1,s){throw(0,l._WarnImport)("DumpTools")}static _IsOffScreenCanvas(e){return void 0!==e.convertToBlob}static ToBlob(e,r,o="image/png",a){t._IsOffScreenCanvas(e)||e.toBlob||(e.toBlob=function(e,t,r){setTimeout(()=>{let o=atob(this.toDataURL(t,r).split(",")[1]),a=o.length,i=new Uint8Array(a);for(let e=0;e<a;e++)i[e]=o.charCodeAt(e);e(new Blob([i]))})}),t._IsOffScreenCanvas(e)?e.convertToBlob({type:o,quality:a}).then(e=>r(e)):e.toBlob(function(e){r(e)},o,a)}static DownloadBlob(e,r){if("download"in document.createElement("a")){if(!r){let e=new Date;r="screenshot_"+((e.getFullYear()+"-"+(e.getMonth()+1)).slice(2)+"-"+e.getDate()+"_"+e.getHours()+"-")+("0"+e.getMinutes()).slice(-2)+".png"}t.Download(e,r)}else if(e&&"u">typeof URL){let t=URL.createObjectURL(e),r=window.open("");if(!r)return;let o=r.document.createElement("img");o.onload=function(){URL.revokeObjectURL(t)},o.src=t,r.document.body.appendChild(o)}}static EncodeScreenshotCanvasData(e,r,o="image/png",a,i){if("string"!=typeof a&&r){if(r){if(t._IsOffScreenCanvas(e))return void e.convertToBlob({type:o,quality:i}).then(e=>{let t=new FileReader;t.readAsDataURL(e),t.onloadend=()=>{r(t.result)}});r(e.toDataURL(o,i))}}else this.ToBlob(e,function(e){e&&t.DownloadBlob(e,a),r&&r("")},o,i)}static Download(e,t){if("u"<typeof URL)return;let r=window.URL.createObjectURL(e),o=document.createElement("a");document.body.appendChild(o),o.style.display="none",o.href=r,o.download=t,o.addEventListener("click",()=>{o.parentElement&&o.parentElement.removeChild(o)}),o.click(),window.URL.revokeObjectURL(r)}static BackCompatCameraNoPreventDefault(e){return"boolean"==typeof e[0]?e[0]:"boolean"==typeof e[1]&&e[1]}static CreateScreenshot(e,t,r,o,a="image/png",i=!1,n){throw(0,l._WarnImport)("ScreenshotTools")}static async CreateScreenshotAsync(e,t,r,o="image/png",a){throw(0,l._WarnImport)("ScreenshotTools")}static CreateScreenshotUsingRenderTarget(e,t,r,o,a="image/png",i=1,n=!1,s,c=!1,u=!1,f=!0,d,g){throw(0,l._WarnImport)("ScreenshotTools")}static async CreateScreenshotUsingRenderTargetAsync(e,t,r,o="image/png",a=1,i=!1,n,s=!1,c=!1,u=!0,f,d){throw(0,l._WarnImport)("ScreenshotTools")}static RandomId(){return(0,p.RandomGUID)()}static IsBase64(e){return(0,f.IsBase64DataUrl)(e)}static DecodeBase64(e){return(0,f.DecodeBase64UrlToBinary)(e)}static get errorsCount(){return a.Logger.errorsCount}static Log(e){a.Logger.Log(e)}static Warn(e){a.Logger.Warn(e)}static Error(e){a.Logger.Error(e)}static get LogCache(){return a.Logger.LogCache}static ClearLogCache(){a.Logger.ClearLogCache()}static set LogLevels(e){a.Logger.LogLevels=e}static set PerformanceLogLevel(e){(e&t.PerformanceUserMarkLogLevel)===t.PerformanceUserMarkLogLevel?_native?.enablePerformanceLogging?(_native.enablePerformanceLogging(1),t.StartPerformanceCounter=t._StartMarkNative,t.EndPerformanceCounter=t._EndMarkNative):(t.StartPerformanceCounter=t._StartUserMark,t.EndPerformanceCounter=t._EndUserMark):(e&t.PerformanceConsoleLogLevel)===t.PerformanceConsoleLogLevel?_native?.enablePerformanceLogging?(_native.enablePerformanceLogging(2),t.StartPerformanceCounter=t._StartMarkNative,t.EndPerformanceCounter=t._EndMarkNative):(t.StartPerformanceCounter=t._StartPerformanceConsole,t.EndPerformanceCounter=t._EndPerformanceConsole):(t.StartPerformanceCounter=t._StartPerformanceCounterDisabled,t.EndPerformanceCounter=t._EndPerformanceCounterDisabled,_native?.disablePerformanceLogging?.())}static _StartPerformanceCounterDisabled(e,t){}static _EndPerformanceCounterDisabled(e,t){}static _StartUserMark(e,r=!0){if(!t._Performance){if(!(0,o.IsWindowObjectExist)())return;t._Performance=window.performance}r&&t._Performance.mark&&t._Performance.mark(e+"-Begin")}static _EndUserMark(e,r=!0){r&&t._Performance.mark&&(t._Performance.mark(e+"-End"),t._Performance.measure(e,e+"-Begin",e+"-End"))}static _StartPerformanceConsole(e,r=!0){r&&(t._StartUserMark(e,r),console.time&&console.time(e))}static _EndPerformanceConsole(e,r=!0){r&&(t._EndUserMark(e,r),console.timeEnd(e))}static _StartMarkNative(e,r=!0){if(r&&_native?.startPerformanceCounter)if(t._NativePerformanceCounterHandles.has(e))t.Warn(`Performance counter with name ${e} is already started.`);else{let r=_native.startPerformanceCounter(e);t._NativePerformanceCounterHandles.set(e,r)}}static _EndMarkNative(e,r=!0){if(r&&_native?.endPerformanceCounter){let r=t._NativePerformanceCounterHandles.get(e);r?(_native.endPerformanceCounter(r),t._NativePerformanceCounterHandles.delete(e)):t.Warn(`Performance counter with name ${e} was not started.`)}}static get Now(){return s.PrecisionDate.Now}static GetClassName(e,t=!1){let r=null;return!t&&e.getClassName?r=e.getClassName():(e instanceof Object&&(r=(t?e:Object.getPrototypeOf(e)).constructor.__bjsclassName__),r||(r=typeof e)),r}static First(e,t){for(let r of e)if(t(r))return r;return null}static getFullClassName(e,t=!1){let r=null,o=null;if(!t&&e.getClassName)r=e.getClassName();else{if(e instanceof Object){let a=t?e:Object.getPrototypeOf(e);r=a.constructor.__bjsclassName__,o=a.constructor.__bjsmoduleName__}r||(r=typeof e)}return r?(null!=o?o+".":"")+r:null}static async DelayAsync(e){await new Promise(t=>{setTimeout(()=>{t()},e)})}static IsSafari(){return!!(0,o.IsNavigatorAvailable)()&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}}t=v,v.AssetBaseUrl="",v.UseCustomRequestHeaders=!1,v.CustomRequestHeaders=c.WebRequest.CustomRequestHeaders,v.GetDOMTextContent=o.GetDOMTextContent,v._DefaultCdnUrl="https://cdn.babylonjs.com",v._CdnVersion="9.15.0",v._DefaultAssetsUrl="https://assets.babylonjs.com/core",v.LoadScript="u"<typeof _native?t._LoadScriptWeb:t._LoadScriptNative,v.GetAbsoluteUrl="object"==typeof document?e=>{let t=document.createElement("a");return t.href=e,t.href}:"function"==typeof URL&&"object"==typeof location?e=>new URL(e,location.origin).href:()=>{throw Error("Unable to get absolute URL. Override BABYLON.Tools.GetAbsoluteUrl to a custom implementation for the current context.")},v.NoneLogLevel=a.Logger.NoneLogLevel,v.MessageLogLevel=a.Logger.MessageLogLevel,v.WarningLogLevel=a.Logger.WarningLogLevel,v.ErrorLogLevel=a.Logger.ErrorLogLevel,v.AllLogLevel=a.Logger.AllLogLevel,v.IsWindowObjectExist=o.IsWindowObjectExist,v.PerformanceNoneLogLevel=0,v.PerformanceUserMarkLogLevel=1,v.PerformanceConsoleLogLevel=2,v._NativePerformanceCounterHandles=new Map,v.StartPerformanceCounter=t._StartPerformanceCounterDisabled,v.EndPerformanceCounter=t._EndPerformanceCounterDisabled;class m{constructor(e,t,r,o=0){this.iterations=e,this.index=o-1,this._done=!1,this._fn=t,this._successCallback=r}executeNext(){this._done||(this.index+1<this.iterations?(++this.index,this._fn(this)):this.breakLoop())}breakLoop(){this._done=!0,this._successCallback()}static Run(e,t,r,o=0){let a=new m(e,t,r,o);return a.executeNext(),a}static SyncAsyncForLoop(e,t,r,o,a,i=0){return m.Run(Math.ceil(e/t),o=>{a&&a()?o.breakLoop():setTimeout(()=>{for(let i=0;i<t;++i){let n=o.index*t+i;if(n>=e)break;if(r(n),a&&a()){o.breakLoop();break}}o.executeNext()},i)},o)}}let K=!1;e.s(["AsyncLoop",0,m,"RegisterTools",0,function(){K||(K=!0,v.Mix=h.Mix,v.IsExponentOfTwo=h.IsExponentOfTwo,u.EngineStore.FallbackTexture="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z")},"Tools",0,v],13856)}]);
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70882,e=>{"use strict";var r=e.i(1719);let t="helperFunctions",a=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,73272,e=>{"use strict";var r=e.i(37875);let t="helperFunctions",a=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
2
2
  const LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}
3
3
  fn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}
4
4
  fn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}
@@ -16,9 +16,9 @@ b11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,
16
16
  b21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}
17
17
  #if USE_EXACT_SRGB_CONVERSIONS
18
18
  fn toLinearSpaceExact(color: vec3f)->vec3f
19
- {let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.04045)));}
19
+ {let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return select(remainingSection,nearZeroSection,color<=vec3f(0.04045));}
20
20
  fn toGammaSpaceExact(color: vec3f)->vec3f
21
- {let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3f(0.0031308)));}
21
+ {let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return select(remainingSection,nearZeroSection,color<=vec3f(0.0031308));}
22
22
  #endif
23
23
  fn toLinearSpace(color: f32)->f32
24
24
  {
@@ -84,7 +84,7 @@ fn max3(v: vec3f)->f32 {return max(v.x,max(v.y,v.z));}
84
84
  fn uint2float(i: u32)->f32 {return bitcast<f32>(0x3F800000u | (i>>9u))-1.0;}
85
85
  fn plasticSequence(rstate: u32)->vec2f {return vec2f(uint2float(rstate*3242174889u),
86
86
  uint2float(rstate*2447445414u));}
87
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["helperFunctionsWGSL",0,{name:t,shader:a}])},95611,e=>{"use strict";var r=e.i(1719);let t="sceneUboDeclaration",a=`struct Scene {viewProjection : mat4x4<f32>,
87
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["helperFunctionsWGSL",0,{name:t,shader:a}])},84327,e=>{"use strict";var r=e.i(37875);let t="sceneUboDeclaration",a=`struct Scene {viewProjection : mat4x4<f32>,
88
88
  #ifdef MULTIVIEW
89
89
  viewProjectionR : mat4x4<f32>,
90
90
  #endif
@@ -94,16 +94,16 @@ vEyePosition : vec4<f32>,
94
94
  inverseProjection : mat4x4<f32>,};
95
95
  #define SCENE_UBO
96
96
  var<uniform> scene : Scene;
97
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["sceneUboDeclarationWGSL",0,{name:t,shader:a}])},96024,58834,23681,e=>{"use strict";var r=e.i(1719);let t="meshUboDeclaration",a=`struct Mesh {world : mat4x4<f32>,
97
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["sceneUboDeclarationWGSL",0,{name:t,shader:a}])},2586,30368,95676,e=>{"use strict";var r=e.i(37875);let t="meshUboDeclaration",a=`struct Mesh {world : mat4x4<f32>,
98
98
  visibility : f32,};var<uniform> mesh : Mesh;
99
99
  #define WORLD_UBO
100
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["meshUboDeclarationWGSL",0,{name:t,shader:a}],96024);let o="mainUVVaryingDeclaration",f=`#ifdef MAINUV{X}
100
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["meshUboDeclarationWGSL",0,{name:t,shader:a}],2586);let o="mainUVVaryingDeclaration",f=`#ifdef MAINUV{X}
101
101
  varying vMainUV{X}: vec2f;
102
102
  #endif
103
- `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["mainUVVaryingDeclarationWGSL",0,{name:o,shader:f}],58834);let i="logDepthDeclaration",v=`#ifdef LOGARITHMICDEPTH
103
+ `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["mainUVVaryingDeclarationWGSL",0,{name:o,shader:f}],30368);let i="logDepthDeclaration",v=`#ifdef LOGARITHMICDEPTH
104
104
  uniform logarithmicDepthConstant: f32;varying vFragmentDepth: f32;
105
105
  #endif
106
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=v),e.s(["logDepthDeclarationWGSL",0,{name:i,shader:v}],23681)},92091,40422,e=>{"use strict";var r=e.i(1719);let t="clipPlaneFragmentDeclaration",a=`#ifdef CLIPPLANE
106
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=v),e.s(["logDepthDeclarationWGSL",0,{name:i,shader:v}],95676)},4294,71990,e=>{"use strict";var r=e.i(37875);let t="clipPlaneFragmentDeclaration",a=`#ifdef CLIPPLANE
107
107
  varying fClipDistance: f32;
108
108
  #endif
109
109
  #ifdef CLIPPLANE2
@@ -121,7 +121,7 @@ varying fClipDistance5: f32;
121
121
  #ifdef CLIPPLANE6
122
122
  varying fClipDistance6: f32;
123
123
  #endif
124
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["clipPlaneFragmentDeclarationWGSL",0,{name:t,shader:a}],92091);let o="clipPlaneFragment",f=`#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)
124
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["clipPlaneFragmentDeclarationWGSL",0,{name:t,shader:a}],4294);let o="clipPlaneFragment",f=`#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)
125
125
  if (false) {}
126
126
  #endif
127
127
  #ifdef CLIPPLANE
@@ -148,7 +148,7 @@ else if (fragmentInputs.fClipDistance5>0.0)
148
148
  else if (fragmentInputs.fClipDistance6>0.0)
149
149
  {discard;}
150
150
  #endif
151
- `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["clipPlaneFragmentWGSL",0,{name:o,shader:f}],40422)},86205,10292,e=>{"use strict";var r=e.i(1719);let t="fogFragmentDeclaration",a=`#ifdef FOG
151
+ `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["clipPlaneFragmentWGSL",0,{name:o,shader:f}],71990)},11557,18510,e=>{"use strict";var r=e.i(37875);let t="fogFragmentDeclaration",a=`#ifdef FOG
152
152
  #define FOGMODE_NONE 0.
153
153
  #define FOGMODE_EXP 1.
154
154
  #define FOGMODE_EXP2 2.
@@ -162,14 +162,14 @@ else if (FOGMODE_EXP2==uniforms.vFogInfos.x)
162
162
  {fogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);}
163
163
  return clamp(fogCoeff,0.0,1.0);}
164
164
  #endif
165
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["fogFragmentDeclarationWGSL",0,{name:t,shader:a}],86205);let o="fogFragment",f=`#ifdef FOG
165
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["fogFragmentDeclarationWGSL",0,{name:t,shader:a}],11557);let o="fogFragment",f=`#ifdef FOG
166
166
  var fog: f32=CalcFogFactor();
167
167
  #ifdef PBR
168
168
  fog=toLinearSpace(fog);
169
169
  #endif
170
170
  color= vec4f(mix(uniforms.vFogColor,color.rgb,fog),color.a);
171
171
  #endif
172
- `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["fogFragmentWGSL",0,{name:o,shader:f}],10292)},78828,95727,86589,e=>{"use strict";var r=e.i(1719);let t="prePassDeclaration",a=`#ifdef PREPASS
172
+ `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["fogFragmentWGSL",0,{name:o,shader:f}],18510)},35017,36028,83805,e=>{"use strict";var r=e.i(37875);let t="prePassDeclaration",a=`#ifdef PREPASS
173
173
  #ifdef PREPASS_LOCAL_POSITION
174
174
  varying vPosition : vec3f;
175
175
  #endif
@@ -183,11 +183,11 @@ varying vNormViewDepth: f32;
183
183
  varying vCurrentPosition: vec4f;varying vPreviousPosition: vec4f;
184
184
  #endif
185
185
  #endif
186
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["prePassDeclarationWGSL",0,{name:t,shader:a}],78828);let o="oitDeclaration",f=`#ifdef ORDER_INDEPENDENT_TRANSPARENCY
186
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["prePassDeclarationWGSL",0,{name:t,shader:a}],35017);let o="oitDeclaration",f=`#ifdef ORDER_INDEPENDENT_TRANSPARENCY
187
187
  #define MAX_DEPTH 99999.0
188
188
  var oitDepthSamplerSampler: sampler;var oitDepthSampler: texture_2d<f32>;var oitFrontColorSamplerSampler: sampler;var oitFrontColorSampler: texture_2d<f32>;
189
189
  #endif
190
- `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["oitDeclarationWGSL",0,{name:o,shader:f}],95727);let i="lightUboDeclaration",v=`#ifdef LIGHT{X}
190
+ `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["oitDeclarationWGSL",0,{name:o,shader:f}],36028);let i="lightUboDeclaration",v=`#ifdef LIGHT{X}
191
191
  struct Light{X}
192
192
  {vLightData: vec4f,
193
193
  vLightDiffuse: vec4f,
@@ -264,7 +264,7 @@ uniform lightMatrix{X}: mat4x4f;
264
264
  #endif
265
265
  #endif
266
266
  #endif
267
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=v),e.s(["lightUboDeclarationWGSL",0,{name:i,shader:v}],86589)},81006,69914,e=>{"use strict";var r=e.i(1719);let t="ltcHelperFunctions",a=`fn LTCUv(N: vec3f,V: vec3f,roughness: f32)->vec2f {var LUTSIZE: f32=64.0;var LUTSCALE: f32=( LUTSIZE-1.0 )/LUTSIZE;var LUTBIAS:f32=0.5/LUTSIZE;var dotNV:f32=saturate( dot( N,V ) );var uv:vec2f=vec2f( roughness,sqrt( 1.0-dotNV ) );uv=uv*LUTSCALE+LUTBIAS;return uv;}
267
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=v),e.s(["lightUboDeclarationWGSL",0,{name:i,shader:v}],83805)},50273,96429,e=>{"use strict";var r=e.i(37875);let t="ltcHelperFunctions",a=`fn LTCUv(N: vec3f,V: vec3f,roughness: f32)->vec2f {var LUTSIZE: f32=64.0;var LUTSCALE: f32=( LUTSIZE-1.0 )/LUTSIZE;var LUTBIAS:f32=0.5/LUTSIZE;var dotNV:f32=saturate( dot( N,V ) );var uv:vec2f=vec2f( roughness,sqrt( 1.0-dotNV ) );uv=uv*LUTSCALE+LUTBIAS;return uv;}
268
268
  fn LTCClippedSphereFormFactor( f:vec3f )->f32 {var l: f32=length( f );return max( ( l*l+f.z )/( l+1.0 ),0.0 );}
269
269
  fn LTCEdgeVectorFormFactor( v1:vec3f,v2:vec3f )->vec3f {var x:f32=dot( v1,v2 );var y:f32=abs( x );var a:f32=0.8543985+( 0.4965155+0.0145206*y )*y;var b:f32=3.4175940+( 4.1616724+y )*y;var v:f32=a/b;var thetaSintheta:f32=0.0;if( x>0.0 )
270
270
  {thetaSintheta=v;}
@@ -308,7 +308,7 @@ vec3f(1,0,0),
308
308
  vec3f(0,1,0),
309
309
  vec3f(0,0,1)
310
310
  );result.Diffuse=LTCEvaluateWithEmission(normal,viewDir,position,mInvEmpty,rectCoords0,rectCoords1,rectCoords2,rectCoords3,emissionTexture,emissionTextureSampler);return result;}
311
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["ltcHelperFunctionsWGSL",0,{name:t,shader:a}],81006);let o="clusteredLightingFunctions",f=`struct ClusteredLight {vLightData: vec4f,
311
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["ltcHelperFunctionsWGSL",0,{name:t,shader:a}],50273);let o="clusteredLightingFunctions",f=`struct ClusteredLight {vLightData: vec4f,
312
312
  vLightDiffuse: vec4f,
313
313
  vLightSpecular: vec4f,
314
314
  vLightDirection: vec4f,
@@ -321,7 +321,7 @@ textureLoad(lightDataTexture,vec2u(3,index),0),
321
321
  textureLoad(lightDataTexture,vec2u(4,index),0)
322
322
  );}
323
323
  fn getClusteredSliceIndex(sliceData: vec2f,viewDepth: f32)->i32 {return i32(log(viewDepth)*sliceData.x+sliceData.y);}
324
- `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["clusteredLightingFunctionsWGSL",0,{name:o,shader:f}],69914)},11213,e=>{"use strict";var r=e.i(1719);let t="shadowsFragmentFunctions",a=`#ifdef SHADOWS
324
+ `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["clusteredLightingFunctionsWGSL",0,{name:o,shader:f}],96429)},34458,e=>{"use strict";var r=e.i(37875);let t="shadowsFragmentFunctions",a=`#ifdef SHADOWS
325
325
  #ifndef SHADOWFLOAT
326
326
  fn unpack(color: vec4f)->f32
327
327
  {const bit_shift: vec4f= vec4f(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(color,bit_shift);}
@@ -613,7 +613,7 @@ fn computeShadowWithCSMPCSS32(layer: i32,vPositionFromLight: vec4f,depthMetric:
613
613
  fn computeShadowWithCSMPCSS64(layer: i32,vPositionFromLight: vec4f,depthMetric: f32,depthTexture: texture_2d_array<f32>,depthSampler: sampler,shadowTexture: texture_depth_2d_array,shadowSampler: sampler_comparison,shadowMapSizeInverse: f32,lightSizeUV: f32,darkness: f32,frustumEdgeFalloff: f32,lightSizeUVCorrection: vec2f,depthCorrection: f32,penumbraDarkness: f32)->f32
614
614
  {return computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthTexture,depthSampler,shadowTexture,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);}
615
615
  #endif
616
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["shadowsFragmentFunctionsWGSL",0,{name:t,shader:a}])},36971,e=>{"use strict";var r=e.i(1719);let t="imageProcessingDeclaration",a=`#ifdef EXPOSURE
616
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["shadowsFragmentFunctionsWGSL",0,{name:t,shader:a}])},73081,e=>{"use strict";var r=e.i(37875);let t="imageProcessingDeclaration",a=`#ifdef EXPOSURE
617
617
  uniform exposureLinear: f32;
618
618
  #endif
619
619
  #ifdef CONTRAST
@@ -639,7 +639,7 @@ uniform colorTransformSettings: vec4f;
639
639
  #ifdef DITHER
640
640
  uniform ditherIntensity: f32;
641
641
  #endif
642
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["imageProcessingDeclarationWGSL",0,{name:t,shader:a}])},50532,e=>{"use strict";var r=e.i(1719);let t="imageProcessingFunctions",a=`#if TONEMAPPING==3
642
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["imageProcessingDeclarationWGSL",0,{name:t,shader:a}])},40995,e=>{"use strict";var r=e.i(37875);let t="imageProcessingFunctions",a=`#if TONEMAPPING==3
643
643
  const PBRNeutralStartCompression: f32=0.8-0.04;const PBRNeutralDesaturation: f32=0.15;fn PBRNeutralToneMapping( color: vec3f )->vec3f {var x: f32=min(color.r,min(color.g,color.b));var offset: f32=select(0.04,x-6.25*x*x,x<0.08);var result=color;result-=offset;var peak: f32=max(result.r,max(result.g,result.b));if (peak<PBRNeutralStartCompression) {return result;}
644
644
  var d: f32=1.-PBRNeutralStartCompression;var newPeak: f32=1.-d*d/(peak+d-PBRNeutralStartCompression);result*=newPeak/peak;var g: f32=1.-1./(PBRNeutralDesaturation*(peak-newPeak)+1.);return mix(result,newPeak* vec3f(1,1,1),g);}
645
645
  #endif
@@ -701,7 +701,7 @@ var luma: f32=getLuminance(rgb);var curveMix: vec2f=clamp( vec2f(luma*3.0-1.5,lu
701
701
  var rand: f32=getRand(fragmentInputs.position.xy*uniforms.vInverseScreenSize);var dither: f32=mix(-uniforms.ditherIntensity,uniforms.ditherIntensity,rand);rgb=saturateVec3(rgb+ vec3f(dither));
702
702
  #endif
703
703
  #define CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND
704
- return vec4f(rgb,result.a);}`;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["imageProcessingFunctionsWGSL",0,{name:t,shader:a}])},79181,e=>{"use strict";var r=e.i(1719);let t="textureRepetitionFunctions",a=`#if TEXTURE_REPETITION_MODE>0
704
+ return vec4f(rgb,result.a);}`;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["imageProcessingFunctionsWGSL",0,{name:t,shader:a}])},15535,e=>{"use strict";var r=e.i(37875);let t="textureRepetitionFunctions",a=`#if TEXTURE_REPETITION_MODE>0
705
705
  fn _texRepHash4(p: vec2f)->vec4f {return fract(sin(vec4f(
706
706
  1.0+dot(p,vec2f(37.0,17.0)),
707
707
  2.0+dot(p,vec2f(11.0,47.0)),
@@ -742,16 +742,16 @@ fn TEXRD(t: texture_2d<f32>,ts: sampler,uv: vec2f)->vec4f {return _texRepSample(
742
742
  fn TEXRD(t: texture_2d<f32>,ts: sampler,uv: vec2f)->vec4f {return textureSample(t,ts,uv);}
743
743
  #endif
744
744
  #define TEXRD_DEFINED
745
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["textureRepetitionFunctionsWGSL",0,{name:t,shader:a}])},1002,88495,80196,e=>{"use strict";var r=e.i(1719);let t="depthPrePass",a=`#ifdef DEPTHPREPASS
745
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["textureRepetitionFunctionsWGSL",0,{name:t,shader:a}])},27305,8760,10238,e=>{"use strict";var r=e.i(37875);let t="depthPrePass",a=`#ifdef DEPTHPREPASS
746
746
  #if !defined(PREPASS) && !defined(ORDER_INDEPENDENT_TRANSPARENCY)
747
747
  fragmentOutputs.color= vec4f(0.,0.,0.,1.0);
748
748
  #endif
749
749
  return fragmentOutputs;
750
750
  #endif
751
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["depthPrePassWGSL",0,{name:t,shader:a}],1002);let o="logDepthFragment",f=`#ifdef LOGARITHMICDEPTH
751
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=a),e.s(["depthPrePassWGSL",0,{name:t,shader:a}],27305);let o="logDepthFragment",f=`#ifdef LOGARITHMICDEPTH
752
752
  fragmentOutputs.fragDepth=log2(fragmentInputs.vFragmentDepth)*uniforms.logarithmicDepthConstant*0.5;
753
753
  #endif
754
- `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["logDepthFragmentWGSL",0,{name:o,shader:f}],88495);let i="oitFragment",v=`#ifdef ORDER_INDEPENDENT_TRANSPARENCY
754
+ `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=f),e.s(["logDepthFragmentWGSL",0,{name:o,shader:f}],8760);let i="oitFragment",v=`#ifdef ORDER_INDEPENDENT_TRANSPARENCY
755
755
  var fragDepth: f32=fragmentInputs.position.z;
756
756
  #ifdef ORDER_INDEPENDENT_TRANSPARENCY_16BITS
757
757
  var halfFloat: u32=pack2x16float( vec2f(fragDepth));var full: vec2f=unpack2x16float(halfFloat);fragDepth=full.x;
@@ -776,4 +776,4 @@ if (fragDepth>nearestDepth && fragDepth<furthestDepth) {
776
776
  #endif
777
777
  fragmentOutputs.depth=vec2f(-fragDepth,fragDepth);return fragmentOutputs;}
778
778
  #endif
779
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=v),e.s(["oitFragmentWGSL",0,{name:i,shader:v}],80196)}]);
779
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=v),e.s(["oitFragmentWGSL",0,{name:i,shader:v}],10238)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,32602,t=>{"use strict";var e=t.i(90176),i=t.i(95410),n=t.i(45984);class a{get currentFrame(){return this._currentFrame}get weight(){return this._weight}get currentValue(){return this._currentValue}get targetPath(){return this._targetPath}get target(){return this._currentActiveTarget}get isAdditive(){return this._host&&this._host.isAdditive}constructor(t,e,a,s){if(this._events=[],this._currentFrame=0,this._originalValue=[],this._originalBlendValue=null,this._offsetsCache={},this._highLimitsCache={},this._stopped=!1,this._blendingFactor=0,this._currentValue=null,this._currentActiveTarget=null,this._directTarget=null,this._targetPath="",this._weight=1,this._absoluteFrameOffset=0,this._previousElapsedTime=0,this._yoyoDirection=1,this._previousAbsoluteFrame=0,this._targetIsArray=!1,this._coreRuntimeAnimation=null,this._animation=e,this._target=t,this._scene=a,this._host=s,this._activeTargets=[],e._runtimeAnimations.push(this),this._animationState={key:0,repeatCount:0,loopMode:this._getCorrectLoopMode()},this._animation.dataType===n.Animation.ANIMATIONTYPE_MATRIX&&(this._animationState.workValue=i.Matrix.Zero()),this._keys=this._animation.getKeys(),this._minFrame=this._keys[0].frame,this._maxFrame=this._keys[this._keys.length-1].frame,0!==this._minFrame){const t={frame:0,value:this._keys[0].value};this._keys.splice(0,0,t)}if(this._target instanceof Array){let t=0;for(const e of this._target)this._preparePath(e,t),this._getOriginalValues(t),t++;this._targetIsArray=!0}else this._preparePath(this._target),this._getOriginalValues(),this._targetIsArray=!1,this._directTarget=this._activeTargets[0];const o=e.getEvents();if(o&&o.length>0)for(const t of o)this._events.push(t._clone());this._enableBlending=t&&t.animationPropertiesOverride?t.animationPropertiesOverride.enableBlending:this._animation.enableBlending}_preparePath(t,e=0){let i=this._animation.targetPropertyPath;if(i.length>1){let n=t;for(let t=0;t<i.length-1;t++){let e=i[t];if(void 0===(n=n[e]))throw Error(`Invalid property (${e}) in property path (${i.join(".")})`)}this._targetPath=i[i.length-1],this._activeTargets[e]=n}else this._targetPath=i[0],this._activeTargets[e]=t;if(void 0===this._activeTargets[e][this._targetPath])throw Error(`Invalid property (${this._targetPath}) in property path (${i.join(".")})`)}get animation(){return this._animation}reset(t=!1){if(t)if(this._target instanceof Array){let t=0;for(let e of this._target)void 0!==this._originalValue[t]&&this._setValue(e,this._activeTargets[t],this._originalValue[t],-1,t),t++}else void 0!==this._originalValue[0]&&this._setValue(this._target,this._directTarget,this._originalValue[0],-1,0);this._offsetsCache={},this._highLimitsCache={},this._currentFrame=0,this._blendingFactor=0;for(let t=0;t<this._events.length;t++)this._events[t].isDone=!1}isStopped(){return this._stopped}dispose(){let t=this._animation.runtimeAnimations.indexOf(this);t>-1&&this._animation.runtimeAnimations.splice(t,1)}setValue(t,e){if(this._targetIsArray){for(let i=0;i<this._target.length;i++){let n=this._target[i];this._setValue(n,this._activeTargets[i],t,e,i)}return}this._setValue(this._target,this._directTarget,t,e,0)}_getOriginalValues(t=0){let e,i=this._activeTargets[t];if(n.Animation.InheritOriginalValueFromActiveAnimations){let e=this._scene._activeAnimatables;for(let n=0;n<e.length;n++){let a=e[n]._runtimeAnimations;for(let e=0;e<a.length;e++){let n=a[e];if(n!==this&&n._targetPath===this._targetPath){for(let e=0;e<n._activeTargets.length;e++)if(n._activeTargets[e]===i&&void 0!==n._originalValue[e])return void(n._originalValue[e]&&n._originalValue[e].clone?this._originalValue[t]=n._originalValue[e].clone():this._originalValue[t]=n._originalValue[e])}}}}(e=i.getLocalMatrix&&"_matrix"===this._targetPath?i.getLocalMatrix():i[this._targetPath])&&e.clone?this._originalValue[t]=e.clone():this._originalValue[t]=e}_registerTargetForLateAnimationBinding(t,e){let i=t.target;this._scene._registeredForLateAnimationBindings.pushNoDuplicate(i),i._lateAnimationHolders||(i._lateAnimationHolders={}),i._lateAnimationHolders[t.targetPath]||(i._lateAnimationHolders[t.targetPath]={totalWeight:0,totalAdditiveWeight:0,animations:[],additiveAnimations:[],originalValue:e}),t.isAdditive?(i._lateAnimationHolders[t.targetPath].additiveAnimations.push(t),i._lateAnimationHolders[t.targetPath].totalAdditiveWeight+=t.weight):(i._lateAnimationHolders[t.targetPath].animations.push(t),i._lateAnimationHolders[t.targetPath].totalWeight+=t.weight)}_setValue(t,e,a,s,o){if(this._currentActiveTarget=e,this._weight=s,this._enableBlending&&this._blendingFactor<=1){if(!this._originalBlendValue){let t=e[this._targetPath];t.clone?this._originalBlendValue=t.clone():this._originalBlendValue=t}this._originalBlendValue.m?n.Animation.AllowMatrixDecomposeForInterpolation?this._currentValue?i.Matrix.DecomposeLerpToRef(this._originalBlendValue,a,this._blendingFactor,this._currentValue):this._currentValue=i.Matrix.DecomposeLerp(this._originalBlendValue,a,this._blendingFactor):this._currentValue?i.Matrix.LerpToRef(this._originalBlendValue,a,this._blendingFactor,this._currentValue):this._currentValue=i.Matrix.Lerp(this._originalBlendValue,a,this._blendingFactor):this._currentValue=n.Animation._UniversalLerp(this._originalBlendValue,a,this._blendingFactor);let s=t&&t.animationPropertiesOverride?t.animationPropertiesOverride.blendingSpeed:this._animation.blendingSpeed;this._blendingFactor+=s}else this._currentValue?this._currentValue.copyFrom?this._currentValue.copyFrom(a):this._currentValue=a:a?.clone?this._currentValue=a.clone():this._currentValue=a;-1!==s?this._registerTargetForLateAnimationBinding(this,this._originalValue[o]):this._animationState.loopMode===n.Animation.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT?this._currentValue.addToRef?this._currentValue.addToRef(this._originalValue[o],e[this._targetPath]):e[this._targetPath]=this._originalValue[o]+this._currentValue:e[this._targetPath]=this._currentValue,t.markAsDirty&&t.markAsDirty(this._animation.targetProperty)}_getCorrectLoopMode(){return this._target&&this._target.animationPropertiesOverride?this._target.getClassName?.()==="MorphTarget"&&null==this._target._animationPropertiesOverride?this._animation.loopMode:this._target.animationPropertiesOverride.loopMode:this._animation.loopMode}goToFrame(t,e=-1){let i=this._animation.getKeys();t<i[0].frame?t=i[0].frame:t>i[i.length-1].frame&&(t=i[i.length-1].frame);let n=this._events;if(n.length)for(let e=0;e<n.length;e++)n[e].onlyOnce||(n[e].isDone=n[e].frame<t);this._currentFrame=t;let a=this._animation._interpolate(t,this._animationState);this.setValue(a,e)}_prepareForSpeedRatioChange(t){let e=this._previousElapsedTime*(this._animation.framePerSecond*t)/1e3;this._absoluteFrameOffset=this._previousAbsoluteFrame-e}animate(t,e,i,a,s,o=-1){let r,l,h=this._animation,m=h.targetPropertyPath;if(!m||m.length<1)return this._stopped=!0,!1;let _=!0,g=this._events;if(this._coreRuntimeAnimation)l=i-e,r=this._coreRuntimeAnimation.currentFrame,this._currentFrame=r,this._animationState.repeatCount=this._coreRuntimeAnimation._animationState.repeatCount,this._animationState.highLimitValue=this._coreRuntimeAnimation._animationState.highLimitValue,this._animationState.offsetValue=this._coreRuntimeAnimation._animationState.offsetValue;else{let o;(e<this._minFrame||e>this._maxFrame)&&(e=this._minFrame),(i<this._minFrame||i>this._maxFrame)&&(i=this._maxFrame),l=i-e;let m=t*(h.framePerSecond*s)/1e3+this._absoluteFrameOffset,u=0,d=!1,p=a&&this._animationState.loopMode===n.Animation.ANIMATIONLOOPMODE_YOYO;if(p){let t=Math.sin((m-e)/l*Math.PI);m=Math.abs(t)*l+e;let i=t>=0?1:-1;this._yoyoDirection!==i&&(d=!0),this._yoyoDirection=i}if(this._previousElapsedTime=t,this._previousAbsoluteFrame=m,!a&&i>=e&&(m>=l&&s>0||m<=0&&s<0))_=!1,u=h.evaluate(i);else if(!a&&e>=i&&(m<=l&&s<0||m>=0&&s>0))_=!1,u=h.evaluate(e);else if(this._animationState.loopMode!==n.Animation.ANIMATIONLOOPMODE_CYCLE){let t=i.toString()+e.toString();if(!this._offsetsCache[t]){this._animationState.repeatCount=0,this._animationState.loopMode=n.Animation.ANIMATIONLOOPMODE_CYCLE;let a=h._interpolate(e,this._animationState),s=h._interpolate(i,this._animationState);switch(this._animationState.loopMode=this._getCorrectLoopMode(),h.dataType){case n.Animation.ANIMATIONTYPE_FLOAT:this._offsetsCache[t]=s-a;break;case n.Animation.ANIMATIONTYPE_QUATERNION:case n.Animation.ANIMATIONTYPE_VECTOR3:case n.Animation.ANIMATIONTYPE_VECTOR2:case n.Animation.ANIMATIONTYPE_SIZE:case n.Animation.ANIMATIONTYPE_COLOR3:this._offsetsCache[t]=s.subtract(a)}this._highLimitsCache[t]=s}u=this._highLimitsCache[t],o=this._offsetsCache[t]}if(void 0===o)switch(h.dataType){case n.Animation.ANIMATIONTYPE_FLOAT:o=0;break;case n.Animation.ANIMATIONTYPE_QUATERNION:o=n._StaticOffsetValueQuaternion;break;case n.Animation.ANIMATIONTYPE_VECTOR3:o=n._StaticOffsetValueVector3;break;case n.Animation.ANIMATIONTYPE_VECTOR2:o=n._StaticOffsetValueVector2;break;case n.Animation.ANIMATIONTYPE_SIZE:o=n._StaticOffsetValueSize;break;case n.Animation.ANIMATIONTYPE_COLOR3:o=n._StaticOffsetValueColor3;break;case n.Animation.ANIMATIONTYPE_COLOR4:o=n._StaticOffsetValueColor4}if(this._host&&this._host.syncRoot){let t=this._host.syncRoot,i=(t.masterFrame-t.fromFrame)/(t.toFrame-t.fromFrame);r=e+l*i}else r=m>0&&e>i||m<0&&e<i?_&&0!==l?i+m%l:e:_&&0!==l?e+m%l:i;if(!p&&(s>0&&this.currentFrame>r||s<0&&this.currentFrame<r)||p&&d){this._onLoop();for(let t=0;t<g.length;t++)g[t].onlyOnce||(g[t].isDone=!1);this._animationState.key=s>0?0:h.getKeys().length-1}this._currentFrame=r,this._animationState.repeatCount=0===l?0:m/l|0,this._animationState.highLimitValue=u,this._animationState.offsetValue=o}let u=h._interpolate(r,this._animationState);if(this.setValue(u,o),g.length){for(let t=0;t<g.length;t++)if(l>=0&&r>=g[t].frame&&g[t].frame>=e||l<0&&r<=g[t].frame&&g[t].frame<=e){let e=g[t];e.isDone||(e.onlyOnce&&(g.splice(t,1),t--),e.isDone=!0,e.action(r))}}return _||(this._stopped=!0),_}}var s=t.i(87869);class o{get syncRoot(){return this._syncRoot}get masterFrame(){return 0===this._runtimeAnimations.length?0:this._runtimeAnimations[0].currentFrame}get weight(){return this._weight}set weight(t){if(-1===t){this._weight=-1;return}this._weight=Math.min(Math.max(t,0),1)}get speedRatio(){return this._speedRatio}set speedRatio(t){for(let e=0;e<this._runtimeAnimations.length;e++)this._runtimeAnimations[e]._prepareForSpeedRatioChange(t);this._speedRatio=t,null!==this._goToFrame&&this.goToFrame(this._goToFrame)}get elapsedTime(){return null===this._localDelayOffset?0:this._scene._animationTime-this._localDelayOffset}constructor(t,i,n=0,a=100,s=!1,o=1,r,l,h,m=!1,_=0){this.target=i,this.fromFrame=n,this.toFrame=a,this.loopAnimation=s,this.onAnimationEnd=r,this.onAnimationLoop=h,this.isAdditive=m,this.playOrder=_,this._localDelayOffset=null,this._pausedDelay=null,this._manualJumpDelay=null,this._runtimeAnimations=[],this._paused=!1,this._speedRatio=1,this._weight=-1,this._previousWeight=-1,this._syncRoot=null,this._frameToSyncFromJump=null,this._goToFrame=null,this.disposeOnEnd=!0,this.animationStarted=!1,this.onAnimationEndObservable=new e.Observable,this.onAnimationLoopObservable=new e.Observable,this._scene=t,l&&this.appendAnimations(i,l),this._speedRatio=o,t._activeAnimatables.push(this)}syncWith(t){if(this._syncRoot=t,t){let t=this._scene._activeAnimatables.indexOf(this);t>-1&&(this._scene._activeAnimatables.splice(t,1),this._scene._activeAnimatables.push(this))}return this}getAnimations(){return this._runtimeAnimations}appendAnimations(t,e){for(let i=0;i<e.length;i++){let n=new a(t,e[i],this._scene,this);n._onLoop=()=>{this.onAnimationLoopObservable.notifyObservers(this),this.onAnimationLoop&&this.onAnimationLoop()},this._runtimeAnimations.push(n)}}getAnimationByTargetProperty(t){let e=this._runtimeAnimations;for(let i=0;i<e.length;i++)if(e[i].animation.targetProperty===t)return e[i].animation;return null}getRuntimeAnimationByTargetProperty(t){let e=this._runtimeAnimations;for(let i=0;i<e.length;i++)if(e[i].animation.targetProperty===t)return e[i];return null}reset(){let t=this._runtimeAnimations;for(let e=0;e<t.length;e++)t[e].reset(!0);this._localDelayOffset=null,this._pausedDelay=null}enableBlending(t){let e=this._runtimeAnimations;for(let i=0;i<e.length;i++)e[i].animation.enableBlending=!0,e[i].animation.blendingSpeed=t}disableBlending(){let t=this._runtimeAnimations;for(let e=0;e<t.length;e++)t[e].animation.enableBlending=!1}goToFrame(t,e=!1){let i=this._runtimeAnimations;if(i[0]){let e=i[0].animation.framePerSecond;this._frameToSyncFromJump=this._frameToSyncFromJump??i[0].currentFrame;let n=0===this.speedRatio?0:(t-this._frameToSyncFromJump)/e*1e3/this.speedRatio;this._manualJumpDelay=-n}for(let n=0;n<i.length;n++)i[n].goToFrame(t,e?this._weight:-1);this._goToFrame=t}get paused(){return this._paused}pause(){this._paused||(this._paused=!0)}restart(){this._paused=!1}_raiseOnAnimationEnd(){this.onAnimationEnd&&this.onAnimationEnd(),this.onAnimationEndObservable.notifyObservers(this)}stop(t,e,i=!1,n=!1){if(t||e){let a=this._scene._activeAnimatables.indexOf(this);if(a>-1){let s=this._runtimeAnimations;for(let i=s.length-1;i>=0;i--){let n=s[i];(!t||n.animation.name==t)&&(!e||e(n.target))&&(n.dispose(),s.splice(i,1))}0==s.length&&(i||this._scene._activeAnimatables.splice(a,1),n||this._raiseOnAnimationEnd())}}else{let t=this._scene._activeAnimatables.indexOf(this);if(t>-1){i||this._scene._activeAnimatables.splice(t,1);let e=this._runtimeAnimations;for(let t=0;t<e.length;t++)e[t].dispose();this._runtimeAnimations.length=0,n||this._raiseOnAnimationEnd()}}}async waitAsync(){return await new Promise(t=>{this.onAnimationEndObservable.add(()=>{t(this)},void 0,void 0,this,!0)})}_animate(t){let e;if(this._paused)return this.animationStarted=!1,null===this._pausedDelay&&(this._pausedDelay=t),!0;if(null===this._localDelayOffset?(this._localDelayOffset=t,this._pausedDelay=null):null!==this._pausedDelay&&(this._localDelayOffset+=t-this._pausedDelay,this._pausedDelay=null),null!==this._manualJumpDelay&&(this._localDelayOffset+=this.speedRatio<0?-this._manualJumpDelay:this._manualJumpDelay,this._manualJumpDelay=null,this._frameToSyncFromJump=null),this._goToFrame=null,!o.ProcessPausedAnimatables&&0===this._weight&&0===this._previousWeight)return!0;this._previousWeight=this._weight;let i=!1,n=this._runtimeAnimations;for(e=0;e<n.length;e++){let a=n[e].animate(t-this._localDelayOffset,this.fromFrame,this.toFrame,this.loopAnimation,this._speedRatio,this._weight);i=i||a}if(this.animationStarted=i,!i){if(this.disposeOnEnd)for(e=this._scene._activeAnimatables.indexOf(this),this._scene._activeAnimatables.splice(e,1),e=0;e<n.length;e++)n[e].dispose();this._raiseOnAnimationEnd(),this.disposeOnEnd&&(this.onAnimationEnd=null,this.onAnimationLoop=null,this.onAnimationLoopObservable.clear(),this.onAnimationEndObservable.clear())}return i}}o.ProcessPausedAnimatables=!1;var r=t.i(91682),l=t.i(19990);let h=!1;var m=t.i(70855),_=t.i(12328),g=t.i(87278);class u{getClassName(){return"TargetedAnimation"}constructor(t){this.parent=t,this.uniqueId=g.UniqueIdGenerator.UniqueId}serialize(){let t={};return t.animation=this.animation.serialize(),t.targetId=this.target.id,t.targetUniqueId=this.target.uniqueId,t}}class d{get mask(){return this._mask}set mask(t){this._mask!==t&&(this._mask=t,this.syncWithMask(!0))}syncWithMask(t=!1){if(!this.mask&&!t){this._numActiveAnimatables=this._targetedAnimations.length;return}this._numActiveAnimatables=0;for(let t=0;t<this._animatables.length;++t){let e=this._animatables[t];!this.mask||this.mask.disabled||this.mask.retainsTarget(e.target.name)?(this._numActiveAnimatables++,e.paused&&e.restart()):e.paused||e.pause()}}removeUnmaskedAnimations(){if(this.mask&&!this.mask.disabled){for(let t=0;t<this._animatables.length;++t){let e=this._animatables[t];!this.mask.retainsTarget(e.target.name)&&(e.stop(),this._animatables.splice(t,1),--t)}for(let t=0;t<this._targetedAnimations.length;t++){let e=this._targetedAnimations[t];!this.mask.retainsTarget(e.target.name)&&(this._targetedAnimations.splice(t,1),--t)}}}get from(){return this._from}set from(t){if(this._from!==t){this._from=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].fromFrame=this._from}}get to(){return this._to}set to(t){if(this._to!==t){this._to=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].toFrame=this._to}}get isStarted(){return this._isStarted}get isPlaying(){return this._isStarted&&!this._isPaused}get speedRatio(){return this._speedRatio}set speedRatio(t){if(this._speedRatio!==t){this._speedRatio=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].speedRatio=this._speedRatio}}get loopAnimation(){return this._loopAnimation}set loopAnimation(t){if(this._loopAnimation!==t){this._loopAnimation=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].loopAnimation=this._loopAnimation}}get isAdditive(){return this._isAdditive}set isAdditive(t){if(this._isAdditive!==t){this._isAdditive=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].isAdditive=this._isAdditive}}get weight(){return this._weight}set weight(t){this._weight!==t&&(this._weight=t,this.setWeightForAllAnimatables(this._weight))}get targetedAnimations(){return this._targetedAnimations}get animatables(){return this._animatables}get children(){return this._targetedAnimations}get playOrder(){return this._playOrder}set playOrder(t){if(this._playOrder!==t&&(this._playOrder=t,this._animatables.length>0)){for(let t=0;t<this._animatables.length;t++)this._animatables[t].playOrder=this._playOrder;this._scene.sortActiveAnimatables()}}get enableBlending(){return this._enableBlending}set enableBlending(t){if(this._enableBlending!==t&&(this._enableBlending=t,null!==t))for(let e=0;e<this._targetedAnimations.length;++e)this._targetedAnimations[e].animation.enableBlending=t}get blendingSpeed(){return this._blendingSpeed}set blendingSpeed(t){if(this._blendingSpeed!==t&&(this._blendingSpeed=t,null!==t))for(let e=0;e<this._targetedAnimations.length;++e)this._targetedAnimations[e].animation.blendingSpeed=t}getLength(t,e){t=t??this._from,e=e??this._to;let i=this.targetedAnimations[0].animation.framePerSecond*this._speedRatio;return(e-t)/i}getScene(){return this._scene}constructor(t,a=null,_=-1,g=0){this.name=t,this._targetedAnimations=[],this._animatables=[],this._from=Number.MAX_VALUE,this._to=-Number.MAX_VALUE,this._speedRatio=1,this._loopAnimation=!1,this._isAdditive=!1,this._weight=-1,this._playOrder=0,this._enableBlending=null,this._blendingSpeed=null,this._numActiveAnimatables=0,this._shouldStart=!0,this._parentContainer=null,this.onAnimationEndObservable=new e.Observable,this.onAnimationLoopObservable=new e.Observable,this.onAnimationGroupLoopObservable=new e.Observable,this.onAnimationGroupEndObservable=new e.Observable,this.onAnimationGroupPauseObservable=new e.Observable,this.onAnimationGroupPlayObservable=new e.Observable,this.metadata=null,this._mask=null,this._animationLoopFlags=[],this._scene=a||m.EngineStore.LastCreatedScene,this._weight=_,this._playOrder=g,this.uniqueId=this._scene.getUniqueId(),function(){if(!h){var t,e;h=!0,t=l.Scene,(e=r.Bone)&&(e.prototype.copyAnimationRange=function(t,e,i,a=!1,s=null){let o,r,l;0===this.animations.length&&(this.animations.push(new n.Animation(this.name,"_matrix",t.animations[0].framePerSecond,n.Animation.ANIMATIONTYPE_MATRIX,0)),this.animations[0].setKeys([]));let h=t.animations[0].getRange(e);if(!h)return!1;let m=h.from,_=h.to,g=t.animations[0].getKeys(),u=t.length,d=t.getParent(),p=this.getParent(),A=a&&d&&u&&this.length&&u!==this.length,c=A&&p&&d?p.length/d.length:1,f=a&&!p&&s&&(1!==s.x||1!==s.y||1!==s.z),b=this.animations[0].getKeys();for(let t=0,e=g.length;t<e;t++)(o=g[t]).frame>=m&&o.frame<=_&&(a?(l=o.value.clone(),A?(r=l.getTranslation(),l.setTranslation(r.scaleInPlace(c))):f&&s?(r=l.getTranslation(),l.setTranslation(r.multiplyInPlace(s))):l=o.value):l=o.value,b.push({frame:o.frame+i,value:l}));return this.animations[0].createRange(e,m+i,_+i),!0}),t&&(t.prototype._animate=function(t){if(!this.animationsEnabled)return;let e=s.PrecisionDate.Now;if(!this._animationTimeLast){if(this._pendingData.length>0)return;this._animationTimeLast=e}this.deltaTime=void 0!==t?t:this.useConstantAnimationDeltaTime?16:(e-this._animationTimeLast)*this.animationTimeScale,this._animationTimeLast=e;let a=this._activeAnimatables;if(0===a.length)return;this._animationTime+=this.deltaTime;let o=this._animationTime;for(let t=0;t<a.length;t++){let e=a[t];!e._animate(o)&&e.disposeOnEnd&&t--}!function(t){if(t._registeredForLateAnimationBindings.length){for(let e=0;e<t._registeredForLateAnimationBindings.length;e++){let a=t._registeredForLateAnimationBindings.data[e];for(let t in a._lateAnimationHolders){let e=a._lateAnimationHolders[t],s=e.animations[0],o=e.originalValue;if(null==o)continue;let r=n.Animation.AllowMatrixDecomposeForInterpolation&&o.m,l=a[t];if(r)l=function(t){let e;if(0===t.totalWeight&&0===t.totalAdditiveWeight)return t.originalValue;let n=1,a=i.TmpVectors.Vector3[0],s=i.TmpVectors.Vector3[1],o=i.TmpVectors.Quaternion[0],r=0,l=t.animations[0],h=t.originalValue,m=!1;if(t.totalWeight<1)e=1-t.totalWeight,h.decompose(s,o,a);else{if(r=1,n=t.totalWeight,1==(e=l.weight/n))if(!t.totalAdditiveWeight)return l.currentValue;else m=!0;l.currentValue.decompose(s,o,a)}if(!m){s.scaleInPlace(e),a.scaleInPlace(e),o.scaleInPlace(e);for(let l=r;l<t.animations.length;l++){let r=t.animations[l];if(0===r.weight)continue;e=r.weight/n;let h=i.TmpVectors.Vector3[2],m=i.TmpVectors.Vector3[3],_=i.TmpVectors.Quaternion[1];r.currentValue.decompose(m,_,h),m.scaleAndAddToRef(e,s),_.scaleAndAddToRef(i.Quaternion.Dot(o,_)>0?e:-e,o),h.scaleAndAddToRef(e,a)}o.normalize()}for(let e=0;e<t.additiveAnimations.length;e++){let n=t.additiveAnimations[e];if(0===n.weight)continue;let r=i.TmpVectors.Vector3[2],l=i.TmpVectors.Vector3[3],h=i.TmpVectors.Quaternion[1];n.currentValue.decompose(l,h,r),l.multiplyToRef(s,l),i.Vector3.LerpToRef(s,l,n.weight,s),o.multiplyToRef(h,h),i.Quaternion.SlerpToRef(o,h,n.weight,o),r.scaleAndAddToRef(n.weight,a)}let _=l?l._animationState.workValue:i.TmpVectors.Matrix[0].clone();return i.Matrix.ComposeToRef(s,o,a,_),_}(e);else if(void 0!==o.w)l=function(t,e){if(0===t.totalWeight&&0===t.totalAdditiveWeight)return e;let n=t.animations[0],a=t.originalValue,s=e;if(0===t.totalWeight&&t.totalAdditiveWeight>0)s.copyFrom(a);else if(1===t.animations.length){if(i.Quaternion.SlerpToRef(a,n.currentValue,Math.min(1,t.totalWeight),s),0===t.totalAdditiveWeight)return s}else if(t.animations.length>1){let n,o,r=1;if(t.totalWeight<1){let e=1-t.totalWeight;o=[],(n=[]).push(a),o.push(e)}else{if(2===t.animations.length&&(i.Quaternion.SlerpToRef(t.animations[0].currentValue,t.animations[1].currentValue,t.animations[1].weight/t.totalWeight,e),0===t.totalAdditiveWeight))return e;n=[],o=[],r=t.totalWeight}for(let e=0;e<t.animations.length;e++){let i=t.animations[e];n.push(i.currentValue),o.push(i.weight/r)}let l=0;for(let t=0;t<n.length;){if(!t){i.Quaternion.SlerpToRef(n[t],n[t+1],o[t+1]/(o[t]+o[t+1]),e),s=e,l=o[t]+o[t+1],t+=2;continue}l+=o[t],i.Quaternion.SlerpToRef(s,n[t],o[t]/l,s),t++}}for(let e=0;e<t.additiveAnimations.length;e++){let n=t.additiveAnimations[e];0!==n.weight&&(s.multiplyToRef(n.currentValue,i.TmpVectors.Quaternion[0]),i.Quaternion.SlerpToRef(s,i.TmpVectors.Quaternion[0],n.weight,s))}return s}(e,l||i.Quaternion.Identity());else{let t=0,i=1,a=s&&s._animationState.loopMode===n.Animation.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT;if(e.totalWeight<1)l=a?o.clone?o.clone():o:s&&o.scale?o.scale(1-e.totalWeight):s?o*(1-e.totalWeight):o.clone?o.clone():o;else if(s){i=e.totalWeight;let n=s.weight/i;l=1!==n?s.currentValue.scale?s.currentValue.scale(n):s.currentValue*n:s.currentValue,a&&(l.addToRef?l.addToRef(o,l):l+=o),t=1}for(let n=t;n<e.animations.length;n++){let t=e.animations[n],a=t.weight/i;a&&(t.currentValue.scaleAndAddToRef?t.currentValue.scaleAndAddToRef(a,l):l+=t.currentValue*a)}for(let t=0;t<e.additiveAnimations.length;t++){let i=e.additiveAnimations[t],n=i.weight;n&&(i.currentValue.scaleAndAddToRef?i.currentValue.scaleAndAddToRef(n,l):l+=i.currentValue*n)}}a[t]=l}a._lateAnimationHolders={}}t._registeredForLateAnimationBindings.reset()}}(this)},t.prototype.sortActiveAnimatables=function(){this._activeAnimatables.sort((t,e)=>t.playOrder-e.playOrder)},t.prototype.beginWeightedAnimation=function(t,e,i,n=1,a,s=1,o,r,l,h,m=!1){let _=this.beginAnimation(t,e,i,a,s,o,r,!1,l,h,m);return _.weight=n,_},t.prototype.beginAnimation=function(t,e,i,n,a=1,s,r,l=!0,h,m,_=!1){if(a<0){let t=e;e=i,i=t,a=-a}e>i&&(a=-a),l&&this.stopAnimation(t,void 0,h),r||(r=new o(this,t,e,i,n,a,s,void 0,m,_));let g=!h||h(t);if(t.animations&&g&&r.appendAnimations(t,t.animations),t.getAnimatables){let o=t.getAnimatables();for(let t=0;t<o.length;t++)this.beginAnimation(o[t],e,i,n,a,s,r,l,h,m)}return r.reset(),r},t.prototype.beginHierarchyAnimation=function(t,e,i,n,a,s=1,o,r,l=!0,h,m,_=!1){let g=t.getDescendants(e),u=[];for(let e of(u.push(this.beginAnimation(t,i,n,a,s,o,r,l,h,void 0,_)),g))u.push(this.beginAnimation(e,i,n,a,s,o,r,l,h,void 0,_));return u},t.prototype.beginDirectAnimation=function(t,e,i,n,a,s=1,r,l,h=!1){if(s<0){let t=i;i=n,n=t,s=-s}return i>n&&(s=-s),new o(this,t,i,n,a,s,r,e,l,h)},t.prototype.beginDirectHierarchyAnimation=function(t,e,i,n,a,s,o,r,l,h=!1){let m=t.getDescendants(e),_=[];for(let e of(_.push(this.beginDirectAnimation(t,i,n,a,s,o,r,l,h)),m))_.push(this.beginDirectAnimation(e,i,n,a,s,o,r,l,h));return _},t.prototype.getAnimatableByTarget=function(t){for(let e=0;e<this._activeAnimatables.length;e++)if(this._activeAnimatables[e].target===t)return this._activeAnimatables[e];return null},t.prototype.getAllAnimatablesByTarget=function(t){let e=[];for(let i=0;i<this._activeAnimatables.length;i++)this._activeAnimatables[i].target===t&&e.push(this._activeAnimatables[i]);return e},t.prototype.stopAnimation=function(t,e,i){for(let n of this.getAllAnimatablesByTarget(t))n.stop(e,i)},t.prototype.stopAllAnimations=function(){if(this._activeAnimatables){for(let t=0;t<this._activeAnimatables.length;t++)this._activeAnimatables[t].stop(void 0,void 0,!0);this._activeAnimatables.length=0}for(let t of this.animationGroups)t.stop()})}}(),this._scene.addAnimationGroup(this)}addTargetedAnimation(t,e){let i=new u(this);i.animation=t,i.target=e;let n=t.getKeys();return this._from>n[0].frame&&(this._from=n[0].frame),this._to<n[n.length-1].frame&&(this._to=n[n.length-1].frame),null!==this._enableBlending&&(t.enableBlending=this._enableBlending),null!==this._blendingSpeed&&(t.blendingSpeed=this._blendingSpeed),this._targetedAnimations.push(i),this._shouldStart=!0,i}removeTargetedAnimation(t){for(let e=this._targetedAnimations.length-1;e>-1;e--)this._targetedAnimations[e].animation===t&&this._targetedAnimations.splice(e,1)}normalize(t=null,e=null){null==t&&(t=this._from),null==e&&(e=this._to);for(let i=0;i<this._targetedAnimations.length;i++){let n=this._targetedAnimations[i].animation.getKeys(),a=n[0],s=n[n.length-1];if(a.frame>t){let e={frame:t,value:a.value,inTangent:a.inTangent,outTangent:a.outTangent,interpolation:a.interpolation};n.splice(0,0,e)}if(s.frame<e){let t={frame:e,value:s.value,inTangent:s.inTangent,outTangent:s.outTangent,interpolation:s.interpolation};n.push(t)}}return this._from=t,this._to=e,this}_processLoop(t,e,i){t.onAnimationLoop=()=>{this.onAnimationLoopObservable.notifyObservers(e),this._animationLoopFlags[i]||(this._animationLoopFlags[i]=!0,this._animationLoopCount++,this._animationLoopCount===this._numActiveAnimatables&&(this.onAnimationGroupLoopObservable.notifyObservers(this),this._animationLoopCount=0,this._animationLoopFlags.length=0))}}start(t=!1,e=1,i,n,a){if(this._isStarted||0===this._targetedAnimations.length)return this;this._loopAnimation=t,this._shouldStart=!1,this._animationLoopCount=0,this._animationLoopFlags.length=0;for(let s=0;s<this._targetedAnimations.length;s++){let o=this._targetedAnimations[s],r=this._scene.beginDirectAnimation(o.target,[o.animation],void 0!==i?i:this._from,void 0!==n?n:this._to,t,e,void 0,void 0,void 0!==a?a:this._isAdditive);r.weight=this._weight,r.playOrder=this._playOrder,r.onAnimationEnd=()=>{this.onAnimationEndObservable.notifyObservers(o),this._checkAnimationGroupEnded(r)},this._processLoop(r,o,s),this._animatables.push(r)}return this.syncWithMask(),this._scene.sortActiveAnimatables(),this._speedRatio=e,this._isStarted=!0,this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}pause(){if(!this._isStarted)return this;this._isPaused=!0;for(let t=0;t<this._animatables.length;t++)this._animatables[t].pause();return this.onAnimationGroupPauseObservable.notifyObservers(this),this}play(t){return this.isStarted&&this._animatables.length&&!this._shouldStart?(void 0!==t&&(this.loopAnimation=t),this.restart()):(this.stop(),this.start(t,this._speedRatio)),this}reset(){if(!this._isStarted)return this.play(),this.goToFrame(0),this.stop(!0),this;for(let t=0;t<this._animatables.length;t++)this._animatables[t].reset();return this}restart(){if(!this._isStarted)return this;for(let t=0;t<this._animatables.length;t++)this._animatables[t].restart();return this.syncWithMask(),this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}stop(t=!1){if(!this._isStarted)return this;let e=this._animatables.slice();for(let i=0;i<e.length;i++)e[i].stop(void 0,void 0,!0,t);let i=0;for(let e=0;e<this._scene._activeAnimatables.length;e++){let n=this._scene._activeAnimatables[e];n._runtimeAnimations.length>0?this._scene._activeAnimatables[i++]=n:t&&this._checkAnimationGroupEnded(n,t)}return this._scene._activeAnimatables.length=i,this._isStarted=!1,this}setWeightForAllAnimatables(t){for(let e=0;e<this._animatables.length;e++)this._animatables[e].weight=t;return this}syncAllAnimationsWith(t){for(let e=0;e<this._animatables.length;e++)this._animatables[e].syncWith(t);return this}goToFrame(t,e=!1){if(!this._isStarted)return this;for(let i=0;i<this._animatables.length;i++)this._animatables[i].goToFrame(t,e);return this}getCurrentFrame(){return this.animatables[0]?.masterFrame||0}dispose(){if(this.isStarted&&this.stop(),this._targetedAnimations.length=0,this._animatables.length=0,this._scene.removeAnimationGroup(this),this._parentContainer){let t=this._parentContainer.animationGroups.indexOf(this);t>-1&&this._parentContainer.animationGroups.splice(t,1),this._parentContainer=null}this.onAnimationEndObservable.clear(),this.onAnimationGroupEndObservable.clear(),this.onAnimationGroupPauseObservable.clear(),this.onAnimationGroupPlayObservable.clear(),this.onAnimationLoopObservable.clear(),this.onAnimationGroupLoopObservable.clear()}_checkAnimationGroupEnded(t,e=!1){let i=this._animatables.indexOf(t);i>-1&&this._animatables.splice(i,1),this._animatables.length===this._targetedAnimations.length-this._numActiveAnimatables&&(this._isStarted=!1,e||this.onAnimationGroupEndObservable.notifyObservers(this),this._animatables.length=0)}clone(t,e,i=!1,n=!1){let a=new d(t||this.name,this._scene,this._weight,this._playOrder);for(let t of(a._from=this.from,a._to=this.to,a._speedRatio=this.speedRatio,a._loopAnimation=this.loopAnimation,a._isAdditive=this.isAdditive,a._enableBlending=this.enableBlending,a._blendingSpeed=this.blendingSpeed,a.metadata=this.metadata,a.mask=this.mask,this._targetedAnimations))a.addTargetedAnimation(i?t.animation.clone(n):t.animation,e?e(t.target):t.target);return a}serialize(){let t={};t.name=this.name,t.from=this.from,t.to=this.to,t.speedRatio=this.speedRatio,t.loopAnimation=this.loopAnimation,t.isAdditive=this.isAdditive,t.weight=this.weight,t.playOrder=this.playOrder,t.enableBlending=this.enableBlending,t.blendingSpeed=this.blendingSpeed,t.targetedAnimations=[];for(let e=0;e<this.targetedAnimations.length;e++){let i=this.targetedAnimations[e];t.targetedAnimations[e]=i.serialize()}return _.Tags&&_.Tags.HasTags(this)&&(t.tags=_.Tags.GetTags(this)),this.metadata&&(t.metadata=this.metadata),t}getClassName(){return"AnimationGroup"}toString(t){let e="Name: "+this.name;return e+=", type: "+this.getClassName(),t&&(e+=", from: "+this._from+", to: "+this._to+", isStarted: "+this._isStarted+", speedRatio: "+this._speedRatio+", targetedAnimations length: "+this._targetedAnimations.length+", animatables length: "+this._animatables.length),e}}function p(t,e=!0,i=!1,n){if(0===t.length)return null;n=n??t[0].weight;let a=Number.MAX_VALUE,s=-Number.MAX_VALUE;if(i)for(let e of t)e.from<a&&(a=e.from),e.to>s&&(s=e.to);let o=new d(t[0].name+"_merged",t[0].getScene(),n);for(let n of t){for(let t of(i&&n.normalize(a,s),n.targetedAnimations))o.addTargetedAnimation(t.animation,t.target);e&&n.dispose()}return o}function A(t,e,i){let a=new d(t.name,e,t.weight,t.playOrder);for(let s=0;s<t.targetedAnimations.length;s++){let o=t.targetedAnimations[s],r=(0,n.AnimationParse)(o.animation),l=i?i(o):"influence"===o.animation.property?e.getMorphTargetById(o.targetId):e.getNodeById(o.targetId);l&&a.addTargetedAnimation(r,l)}return _.Tags&&_.Tags.AddTagsTo(a,t.tags),null!==t.from&&null!==t.to&&a.normalize(t.from,t.to),void 0!==t.speedRatio&&(a._speedRatio=t.speedRatio),void 0!==t.loopAnimation&&(a._loopAnimation=t.loopAnimation),void 0!==t.isAdditive&&(a._isAdditive=t.isAdditive),void 0!==t.weight&&(a._weight=t.weight),void 0!==t.playOrder&&(a._playOrder=t.playOrder),void 0!==t.enableBlending&&(a._enableBlending=t.enableBlending),void 0!==t.blendingSpeed&&(a._blendingSpeed=t.blendingSpeed),void 0!==t.metadata&&(a.metadata=t.metadata),a}function c(t,e,i,a=!1,s){let o,r=t;(o="object"==typeof e?e:{referenceFrame:e,range:i,cloneOriginalAnimationGroup:a,clonedAnimationName:s}).cloneOriginalAnimationGroup&&(r=t.clone(o.clonedAnimationGroupName||r.name));let l=r.targetedAnimations;for(let t=0;t<l.length;t++){let e=l[t];e.animation=(0,n.AnimationMakeAnimationAdditive)(e.animation,o)}if(r.isAdditive=!0,o.clipKeys){let t=Number.MAX_VALUE,e=-Number.MAX_VALUE,i=r.targetedAnimations;for(let n=0;n<i.length;n++){let a=i[n].animation.getKeys();t>a[0].frame&&(t=a[0].frame),e<a[a.length-1].frame&&(e=a[a.length-1].frame)}let n=r;n._from=t,n._to=e}return r}function f(t,e,i,n,a){return b(t.clone(n||t.name),e,i,a)}function b(t,e,i,n){return y(t,e,i,n,!1)}function v(t,e,i,n,a){return T(t.clone(n||t.name),e,i,a)}function T(t,e,i,n){return y(t,e,i,n,!0)}function y(t,e,i,n,a=!1){let s=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=t.targetedAnimations;for(let t=0;t<r.length;t++){let l=r[t],h=n?l.animation:l.animation.clone();a&&(h.createKeyForFrame(e),h.createKeyForFrame(i));let m=h.getKeys(),_=[],g=Number.MAX_VALUE;for(let t=0;t<m.length;t++){let n=m[t];if(!a&&t>=e&&t<=i||a&&n.frame>=e&&n.frame<=i){let t={frame:n.frame,value:n.value.clone?n.value.clone():n.value,inTangent:n.inTangent,outTangent:n.outTangent,interpolation:n.interpolation,lockedTangent:n.lockedTangent};g===Number.MAX_VALUE&&(g=t.frame),t.frame-=g,_.push(t)}}if(0===_.length){r.splice(t,1),t--;continue}s>_[0].frame&&(s=_[0].frame),o<_[_.length-1].frame&&(o=_[_.length-1].frame),h.setKeys(_,!0),l.animation=h}return t._from=s,t._to=o,t}let O=!1;t.s(["AnimationGroup",0,d,"AnimationGroupClipFrames",0,v,"AnimationGroupClipFramesInPlace",0,T,"AnimationGroupClipInPlace",0,y,"AnimationGroupClipKeys",0,f,"AnimationGroupClipKeysInPlace",0,b,"AnimationGroupMakeAnimationAdditive",0,c,"AnimationGroupMergeAnimationGroups",0,p,"AnimationGroupParse",0,A,"RegisterAnimationGroup",0,function(){O||(O=!0,d.MergeAnimationGroups=p,d.Parse=A,d.MakeAnimationAdditive=c,d.ClipKeys=f,d.ClipKeysInPlace=b,d.ClipFrames=v,d.ClipFramesInPlace=T,d.ClipInPlace=y)},"TargetedAnimation",0,u],32602)},4623,t=>{"use strict";t.s([])},12305,t=>{"use strict";t.i(4623),(0,t.i(32602).RegisterAnimationGroup)(),t.s([])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20614,e=>{"use strict";var t,r,s,a,o,i,n=e.i(80434);class c{constructor(e,t){if(this.data=e,this.isInvalid=!1,!c.IsValid(e)){this.isInvalid=!0,n.Logger.Error("texture missing KTX identifier");return}const r=Uint32Array.BYTES_PER_ELEMENT,s=new DataView(this.data.buffer,this.data.byteOffset+12,13*r),a=0x4030201===s.getUint32(0,!0);if(this.glType=s.getUint32(+r,a),this.glTypeSize=s.getUint32(2*r,a),this.glFormat=s.getUint32(3*r,a),this.glInternalFormat=s.getUint32(4*r,a),this.glBaseInternalFormat=s.getUint32(5*r,a),this.pixelWidth=s.getUint32(6*r,a),this.pixelHeight=s.getUint32(7*r,a),this.pixelDepth=s.getUint32(8*r,a),this.numberOfArrayElements=s.getUint32(9*r,a),this.numberOfFaces=s.getUint32(10*r,a),this.numberOfMipmapLevels=s.getUint32(11*r,a),this.bytesOfKeyValueData=s.getUint32(12*r,a),0!==this.glType){n.Logger.Error("only compressed formats currently supported"),this.isInvalid=!0;return}if(this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels),0===this.pixelHeight||0!==this.pixelDepth){n.Logger.Error("only 2D textures currently supported"),this.isInvalid=!0;return}if(0!==this.numberOfArrayElements){n.Logger.Error("texture arrays not currently supported"),this.isInvalid=!0;return}if(this.numberOfFaces!==t){n.Logger.Error("number of faces expected"+t+", but found "+this.numberOfFaces),this.isInvalid=!0;return}this.loadType=c.COMPRESSED_2D}uploadLevels(e,t){switch(this.loadType){case c.COMPRESSED_2D:this._upload2DCompressedLevels(e,t);case c.TEX_2D:case c.COMPRESSED_3D:case c.TEX_3D:}}_upload2DCompressedLevels(e,t){let r=c.HEADER_LEN+this.bytesOfKeyValueData,s=this.pixelWidth,a=this.pixelHeight,o=t?this.numberOfMipmapLevels:1;for(let t=0;t<o;t++){let o=new Int32Array(this.data.buffer,this.data.byteOffset+r,1)[0];r+=4;for(let i=0;i<this.numberOfFaces;i++){let n=new Uint8Array(this.data.buffer,this.data.byteOffset+r,o);e.getEngine()._uploadCompressedDataToTextureDirectly(e,e.format,s,a,n,i,t),r+=o,r+=3-(o+3)%4}s=Math.max(1,.5*s),a=Math.max(1,.5*a)}}static IsValid(e){if(e.byteLength>=12){let t=new Uint8Array(e.buffer,e.byteOffset,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&49===t[5]&&49===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return!0}return!1}}c.HEADER_LEN=64,c.COMPRESSED_2D=0,c.COMPRESSED_3D=1,c.TEX_2D=2,c.TEX_3D=3;var d=e.i(40553),T=e.i(13856);function l(e,t){let r=t?.jsDecoderModule||KTX2DECODER;e&&(e.wasmBaseUrl&&(r.Transcoder.WasmBaseUrl=e.wasmBaseUrl),e.wasmUASTCToASTC&&(r.LiteTranscoder_UASTC_ASTC.WasmModuleURL=e.wasmUASTCToASTC),e.wasmUASTCToBC7&&(r.LiteTranscoder_UASTC_BC7.WasmModuleURL=e.wasmUASTCToBC7),e.wasmUASTCToRGBA_UNORM&&(r.LiteTranscoder_UASTC_RGBA_UNORM.WasmModuleURL=e.wasmUASTCToRGBA_UNORM),e.wasmUASTCToRGBA_SRGB&&(r.LiteTranscoder_UASTC_RGBA_SRGB.WasmModuleURL=e.wasmUASTCToRGBA_SRGB),e.wasmUASTCToR8_UNORM&&(r.LiteTranscoder_UASTC_R8_UNORM.WasmModuleURL=e.wasmUASTCToR8_UNORM),e.wasmUASTCToRG8_UNORM&&(r.LiteTranscoder_UASTC_RG8_UNORM.WasmModuleURL=e.wasmUASTCToRG8_UNORM),e.jsMSCTranscoder&&(r.MSCTranscoder.JSModuleURL=e.jsMSCTranscoder),e.wasmMSCTranscoder&&(r.MSCTranscoder.WasmModuleURL=e.wasmMSCTranscoder),e.wasmZSTDDecoder&&(r.ZSTDDecoder.WasmModuleURL=e.wasmZSTDDecoder)),t&&(t.wasmUASTCToASTC&&(r.LiteTranscoder_UASTC_ASTC.WasmBinary=t.wasmUASTCToASTC),t.wasmUASTCToBC7&&(r.LiteTranscoder_UASTC_BC7.WasmBinary=t.wasmUASTCToBC7),t.wasmUASTCToRGBA_UNORM&&(r.LiteTranscoder_UASTC_RGBA_UNORM.WasmBinary=t.wasmUASTCToRGBA_UNORM),t.wasmUASTCToRGBA_SRGB&&(r.LiteTranscoder_UASTC_RGBA_SRGB.WasmBinary=t.wasmUASTCToRGBA_SRGB),t.wasmUASTCToR8_UNORM&&(r.LiteTranscoder_UASTC_R8_UNORM.WasmBinary=t.wasmUASTCToR8_UNORM),t.wasmUASTCToRG8_UNORM&&(r.LiteTranscoder_UASTC_RG8_UNORM.WasmBinary=t.wasmUASTCToRG8_UNORM),t.jsMSCTranscoder&&(r.MSCTranscoder.JSModule=t.jsMSCTranscoder),t.wasmMSCTranscoder&&(r.MSCTranscoder.WasmBinary=t.wasmMSCTranscoder),t.wasmZSTDDecoder&&(r.ZSTDDecoder.WasmBinary=t.wasmZSTDDecoder))}function _(e){let t;void 0===e&&"u">typeof KTX2DECODER&&(e=KTX2DECODER),onmessage=r=>{if(r.data)switch(r.data.action){case"init":{let s=r.data.urls;s&&(s.jsDecoderModule&&void 0===e&&(importScripts(s.jsDecoderModule),e=KTX2DECODER),l(s)),r.data.wasmBinaries&&l(void 0,{...r.data.wasmBinaries,jsDecoderModule:e}),t=new e.KTX2Decoder,postMessage({action:"init"});break}case"setDefaultDecoderOptions":e.KTX2Decoder.DefaultDecoderOptions=r.data.options;break;case"decode":t.decode(r.data.data,r.data.caps,r.data.options).then(e=>{let t=[];for(let r=0;r<e.mipmaps.length;++r){let s=e.mipmaps[r];s&&s.data&&t.push(s.data.buffer)}postMessage({action:"decoded",success:!0,decodedData:e},t)}).catch(e=>{postMessage({action:"decoded",success:!1,msg:e})})}}}async function R(e,t,r){return await new Promise((s,a)=>{let o=t=>{e.removeEventListener("error",o),e.removeEventListener("message",i),a(t)},i=t=>{"init"===t.data.action&&(e.removeEventListener("error",o),e.removeEventListener("message",i),s(e))};e.addEventListener("error",o),e.addEventListener("message",i),e.postMessage({action:"init",urls:r,wasmBinaries:t})})}(t=a||(a={}))[t.ETC1S=0]="ETC1S",t[t.UASTC4x4=1]="UASTC4x4",(r=o||(o={}))[r.ASTC_4X4_RGBA=0]="ASTC_4X4_RGBA",r[r.ASTC_4x4_RGBA=0]="ASTC_4x4_RGBA",r[r.BC7_RGBA=1]="BC7_RGBA",r[r.BC3_RGBA=2]="BC3_RGBA",r[r.BC1_RGB=3]="BC1_RGB",r[r.PVRTC1_4_RGBA=4]="PVRTC1_4_RGBA",r[r.PVRTC1_4_RGB=5]="PVRTC1_4_RGB",r[r.ETC2_RGBA=6]="ETC2_RGBA",r[r.ETC1_RGB=7]="ETC1_RGB",r[r.RGBA32=8]="RGBA32",r[r.R8=9]="R8",r[r.RG8=10]="RG8",(s=i||(i={}))[s.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",s[s.COMPRESSED_RGBA_ASTC_4X4_KHR=37808]="COMPRESSED_RGBA_ASTC_4X4_KHR",s[s.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",s[s.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",s[s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",s[s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",s[s.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",s[s.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",s[s.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",s[s.RGBA8Format=32856]="RGBA8Format",s[s.R8Format=33321]="R8Format",s[s.RG8Format=33323]="RG8Format";class C{static GetDefaultNumWorkers(){return"object"==typeof navigator&&navigator.hardwareConcurrency?Math.min(Math.floor(.5*navigator.hardwareConcurrency),4):1}static _Initialize(e){if(C._WorkerPoolPromise||C._DecoderModulePromise)return;let t={wasmBaseUrl:T.Tools.ScriptBaseUrl,jsDecoderModule:T.Tools.GetBabylonScriptURL(this.URLConfig.jsDecoderModule,!0),wasmUASTCToASTC:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToASTC,!0),wasmUASTCToBC7:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToBC7,!0),wasmUASTCToRGBA_UNORM:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRGBA_UNORM,!0),wasmUASTCToRGBA_SRGB:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRGBA_SRGB,!0),wasmUASTCToR8_UNORM:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToR8_UNORM,!0),wasmUASTCToRG8_UNORM:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRG8_UNORM,!0),jsMSCTranscoder:T.Tools.GetBabylonScriptURL(this.URLConfig.jsMSCTranscoder,!0),wasmMSCTranscoder:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmMSCTranscoder,!0),wasmZSTDDecoder:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmZSTDDecoder,!0)};e&&"function"==typeof Worker&&"u">typeof URL?C._WorkerPoolPromise=new Promise(r=>{let s=`${l}(${_})()`,a=URL.createObjectURL(new Blob([s],{type:"application/javascript"}));r(new d.AutoReleaseWorkerPool(e,async()=>await R(new Worker(a),void 0,t)))}):void 0===C._KTX2DecoderModule?C._DecoderModulePromise=T.Tools.LoadBabylonScriptAsync(t.jsDecoderModule).then(()=>(C._KTX2DecoderModule=KTX2DECODER,C._KTX2DecoderModule.MSCTranscoder.UseFromWorkerThread=!1,C._KTX2DecoderModule.WASMMemoryManager.LoadBinariesFromCurrentThread=!0,l(t,C._KTX2DecoderModule),new C._KTX2DecoderModule.KTX2Decoder)):(C._KTX2DecoderModule.MSCTranscoder.UseFromWorkerThread=!1,C._KTX2DecoderModule.WASMMemoryManager.LoadBinariesFromCurrentThread=!0,C._DecoderModulePromise=Promise.resolve(new C._KTX2DecoderModule.KTX2Decoder))}constructor(e,t=C.DefaultNumWorkers){this._engine=e;const r="object"==typeof t&&t.workerPool||C.WorkerPool;if(r)C._WorkerPoolPromise=Promise.resolve(r);else{"object"==typeof t?C._KTX2DecoderModule=t?.binariesAndModulesContainer?.jsDecoderModule:"u">typeof KTX2DECODER&&(C._KTX2DecoderModule=KTX2DECODER);const e="number"==typeof t?t:t.numWorkers??C.DefaultNumWorkers;C._Initialize(e)}}async _uploadAsync(e,t,r){let s=this._engine.getCaps(),a={astc:!!s.astc,bptc:!!s.bptc,s3tc:!!s.s3tc,pvrtc:!!s.pvrtc,etc2:!!s.etc2,etc1:!!s.etc1};if(C._WorkerPoolPromise){let s=await C._WorkerPoolPromise;return await new Promise((o,i)=>{s.push((s,n)=>{let c=e=>{s.removeEventListener("error",c),s.removeEventListener("message",d),i(e),n()},d=e=>{if("decoded"===e.data.action){if(s.removeEventListener("error",c),s.removeEventListener("message",d),e.data.success)try{this._createTexture(e.data.decodedData,t,r),o()}catch(e){i({message:e})}else i({message:e.data.msg});n()}};s.addEventListener("error",c),s.addEventListener("message",d),s.postMessage({action:"setDefaultDecoderOptions",options:C.DefaultDecoderOptions._getKTX2DecoderOptions()});let T=new Uint8Array(e.byteLength);T.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),s.postMessage({action:"decode",data:T,caps:a,options:r},[T.buffer])})})}if(C._DecoderModulePromise){let r=await C._DecoderModulePromise;return C.DefaultDecoderOptions.isDirty&&(C._KTX2DecoderModule.KTX2Decoder.DefaultDecoderOptions=C.DefaultDecoderOptions._getKTX2DecoderOptions()),await new Promise((a,o)=>{r.decode(e,s).then(e=>{this._createTexture(e,t),a()}).catch(e=>{o({message:e})})})}throw Error("KTX2 decoder module is not available")}_createTexture(e,t,r){this._engine._bindTextureDirectly(3553,t),r&&(r.transcodedFormat=e.transcodedFormat,r.isInGammaSpace=e.isInGammaSpace,r.hasAlpha=e.hasAlpha,r.transcoderName=e.transcoderName);let s=!0;switch(e.transcodedFormat){case 32856:t.type=0,t.format=5;break;case 33321:t.type=0,t.format=6;break;case 33323:t.type=0,t.format=7;break;default:t.format=e.transcodedFormat,s=!1}if(t._gammaSpace=e.isInGammaSpace,t.generateMipMaps=e.mipmaps.length>1,t.width=e.mipmaps[0].width,t.height=e.mipmaps[0].height,e.errors)throw Error("KTX2 container - could not transcode the data. "+e.errors);for(let r=0;r<e.mipmaps.length;++r){let a=e.mipmaps[r];if(!a||!a.data)throw Error("KTX2 container - could not transcode one of the image");s?(t.width=a.width,t.height=a.height,this._engine._uploadDataToTextureDirectly(t,a.data,0,r,void 0,!0)):this._engine._uploadCompressedDataToTextureDirectly(t,e.transcodedFormat,a.width,a.height,a.data,0,r)}t._extension=".ktx2",t.isReady=!0,this._engine._bindTextureDirectly(3553,null)}static IsValid(e){if(e.byteLength>=12){let t=new Uint8Array(e.buffer,e.byteOffset,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&50===t[5]&&48===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return!0}return!1}}function u(e){switch(e){case 35916:return 33776;case 35918:return 33778;case 35919:return 33779;case 37493:return 37492;case 37497:return 37496;case 37495:return 37494;case 37840:return 37808;case 37841:return 37809;case 37842:return 37810;case 37843:return 37811;case 37844:return 37812;case 37845:return 37813;case 37846:return 37814;case 37847:return 37815;case 37848:return 37816;case 37849:return 37817;case 37850:return 37818;case 37851:return 37819;case 37852:return 37820;case 37853:return 37821;case 36493:return 36492}return null}C.URLConfig={jsDecoderModule:"https://cdn.babylonjs.com/babylon.ktx2Decoder.js",wasmUASTCToASTC:null,wasmUASTCToBC7:null,wasmUASTCToRGBA_UNORM:null,wasmUASTCToRGBA_SRGB:null,wasmUASTCToR8_UNORM:null,wasmUASTCToRG8_UNORM:null,jsMSCTranscoder:null,wasmMSCTranscoder:null,wasmZSTDDecoder:null},C.DefaultNumWorkers=C.GetDefaultNumWorkers(),C.DefaultDecoderOptions=new class{constructor(){this._isDirty=!0,this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC=!0,this._ktx2DecoderOptions={}}get isDirty(){return this._isDirty}get useRGBAIfASTCBC7NotAvailableWhenUASTC(){return this._useRGBAIfASTCBC7NotAvailableWhenUASTC}set useRGBAIfASTCBC7NotAvailableWhenUASTC(e){this._useRGBAIfASTCBC7NotAvailableWhenUASTC!==e&&(this._useRGBAIfASTCBC7NotAvailableWhenUASTC=e,this._isDirty=!0)}get useRGBAIfOnlyBC1BC3AvailableWhenUASTC(){return this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC}set useRGBAIfOnlyBC1BC3AvailableWhenUASTC(e){this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC!==e&&(this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC=e,this._isDirty=!0)}get forceRGBA(){return this._forceRGBA}set forceRGBA(e){this._forceRGBA!==e&&(this._forceRGBA=e,this._isDirty=!0)}get forceR8(){return this._forceR8}set forceR8(e){this._forceR8!==e&&(this._forceR8=e,this._isDirty=!0)}get forceRG8(){return this._forceRG8}set forceRG8(e){this._forceRG8!==e&&(this._forceRG8=e,this._isDirty=!0)}get bypassTranscoders(){return this._bypassTranscoders}set bypassTranscoders(e){this._bypassTranscoders!==e&&(this._bypassTranscoders=e,this._isDirty=!0)}_getKTX2DecoderOptions(){if(!this._isDirty)return this._ktx2DecoderOptions;this._isDirty=!1;let e={};return void 0!==this._useRGBAIfASTCBC7NotAvailableWhenUASTC&&(e.useRGBAIfASTCBC7NotAvailableWhenUASTC=this._useRGBAIfASTCBC7NotAvailableWhenUASTC),void 0!==this._forceRGBA&&(e.forceRGBA=this._forceRGBA),void 0!==this._forceR8&&(e.forceR8=this._forceR8),void 0!==this._forceRG8&&(e.forceRG8=this._forceRG8),void 0!==this._bypassTranscoders&&(e.bypassTranscoders=this._bypassTranscoders),this.useRGBAIfOnlyBC1BC3AvailableWhenUASTC&&(e.transcodeFormatDecisionTree={UASTC:{transcodeFormat:[o.BC1_RGB,o.BC3_RGBA],yes:{transcodeFormat:o.RGBA32,engineFormat:32856,roundToMultiple4:!1}}}),this._ktx2DecoderOptions=e,e}},e.s(["_KTXTextureLoader",0,class{constructor(){this.supportCascades=!1}loadCubeData(e,t,r,s){if(Array.isArray(e))return;t._invertVScale=!t.invertY;let a=t.getEngine(),o=new c(e,6),i=u(o.glInternalFormat);null!==i?(t.format=i,t._useSRGBBuffer=a._getUseSRGBBuffer(!0,!t.generateMipMaps),t._gammaSpace=!0):t.format=o.glInternalFormat;let n=o.numberOfMipmapLevels>1&&t.generateMipMaps;a._unpackFlipY(!0),o.uploadLevels(t,t.generateMipMaps),t.width=o.pixelWidth,t.height=o.pixelHeight,a._setCubeMapTextureParams(t,n,o.numberOfMipmapLevels-1),t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),s&&s()}loadData(e,t,r,s){if(c.IsValid(e)){t._invertVScale=!t.invertY;let s=new c(e,1),a=u(s.glInternalFormat);null!==a?(t.format=a,t._useSRGBBuffer=t.getEngine()._getUseSRGBBuffer(!0,!t.generateMipMaps),t._gammaSpace=!0):t.format=s.glInternalFormat,r(s.pixelWidth,s.pixelHeight,t.generateMipMaps,!0,()=>{s.uploadLevels(t,t.generateMipMaps)},s.isInvalid)}else C.IsValid(e)?new C(t.getEngine())._uploadAsync(e,t,s).then(()=>{r(t.width,t.height,t.generateMipMaps,!0,()=>{},!1)},e=>{n.Logger.Warn(`Failed to load KTX2 texture data: ${e.message}`),r(0,0,!1,!1,()=>{},!0)}):(n.Logger.Error("texture missing KTX identifier"),r(0,0,!1,!1,()=>{},!0))}}],20614)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2348,2413,e=>{"use strict";let t=1/1.2;e.s(["ZOOM_IN_FACTOR",0,t,"ZOOM_OUT_FACTOR",0,1.2,"attachDoubleClickFocus",0,function(e,t,n){let s=()=>{let t=e.pick(e.pointerX,e.pointerY);t?.hit&&t.pickedPoint&&n.setTarget(t.pickedPoint)};return t.addEventListener("dblclick",s),()=>t.removeEventListener("dblclick",s)},"disableWheelZoom",0,function(e){e.inputs.removeByType("ArcRotateCameraMouseWheelInput")},"resetFocus",0,function(e,t){e.setTarget(t.target),e.alpha=t.alpha,e.beta=t.beta,e.radius=t.radius},"stepZoom",0,function(e,t){let n=e.lowerRadiusLimit??.01,s=e.upperRadiusLimit??1/0;e.radius=Math.min(s,Math.max(n,e.radius*t))}],2348);var n=e.i(46369);e.s(["ZoomButtons",0,function({onZoom:e,onReset:s}){let a="grid h-8 w-8 place-items-center rounded-md border border-edge bg-ink/80 text-lg leading-none text-fg backdrop-blur transition hover:bg-ink hover:text-white";return(0,n.jsxs)("div",{className:"absolute right-3 top-3 flex flex-col gap-1",children:[(0,n.jsx)("button",{type:"button","aria-label":"Zoom in",className:a,onClick:()=>e(t),children:"+"}),(0,n.jsx)("button",{type:"button","aria-label":"Zoom out",className:a,onClick:()=>e(1.2),children:"−"}),s?(0,n.jsx)("button",{type:"button","aria-label":"Reset camera focus to center",title:"Reset focus to center",className:a,onClick:s,children:(0,n.jsxs)("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,n.jsx)("path",{d:"M8 1v2.5M8 12.5V15M1 8h2.5M12.5 8H15"})]})}):null]})}],2413)},87456,e=>{"use strict";e.s(["attachMeshHover",0,function(e,t,n){let s=0,a=null,i=t=>{let i=t.offsetX,l=t.offsetY;s||(s=requestAnimationFrame(()=>{var t,o;let r;s=0;let u=e.pick(i,l,e=>e.isPickable&&e.isEnabled()),c=u?.pickedMesh?(t=u.pickedMesh,o=u.thinInstanceIndex??-1,(r=t.metadata)?o>=0&&r.hoverLabels?r.hoverLabels[o]??null:r.hoverLabel??null:null):null;c?n({label:c,x:i,y:l}):null!==a&&n(null),a=c}))},l=()=>{s&&(cancelAnimationFrame(s),s=0),null!==a&&(a=null,n(null))};return t.addEventListener("pointermove",i),t.addEventListener("pointerleave",l),()=>{t.removeEventListener("pointermove",i),t.removeEventListener("pointerleave",l),s&&cancelAnimationFrame(s)}}])},19399,e=>{"use strict";var t=e.i(46369),n=e.i(19594);let s="__other_sp__",a="__other_mesh__";function i(e){return`${e[0]}|${e[1]}|${e[2]}`}function l(e,t){return t<=1?0:1.4-e/(t-1)*2.8}var o=e.i(56054),r=e.i(2348),u=e.i(87456),c=e.i(18637),h=e.i(2413);let d="__all__",m={maxStandpoints:6,maxMeshes:10,maxRibbons:70};function b(e,t){return`${e}|${t}`}function f(e){let t=e.aabb;return[(t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2]}function p(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Math.abs(t)}function g({label:e,value:n,onChange:s,allLabel:a,options:i}){return(0,t.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:[(0,t.jsx)("span",{className:"font-medium text-fg-muted",children:e}),(0,t.jsxs)("select",{className:"max-w-[12rem] bg-transparent text-white outline-none",value:n,onChange:e=>s(e.target.value),children:[(0,t.jsx)("option",{value:d,children:a}),i.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))]})]})}function x({active:e,onClick:n,children:s,disabled:a=!1,title:i}){return(0,t.jsx)("button",{type:"button",onClick:n,disabled:a,title:i,className:`rounded px-2 py-0.5 font-medium transition ${a?"cursor-not-allowed text-fg-muted/40":e?"bg-amber text-ink":"text-fg-muted hover:text-fg"}`,children:s})}function k({standpoints:e,proxyMeshes:s,selectedKey:a,onSelect:i}){let l=(0,n.useRef)(null),o=(0,n.useMemo)(()=>e.filter(e=>e.origin),[e]),r=(0,n.useMemo)(()=>{let e=1/0,t=-1/0,n=1/0,a=-1/0,i=(s,i)=>{e=Math.min(e,s),t=Math.max(t,s),n=Math.min(n,i),a=Math.max(a,i)};for(let e of s)i(e.aabb[0],e.aabb[2]),i(e.aabb[3],e.aabb[5]);for(let e of o)i(e.origin[0],e.origin[2]);return Number.isFinite(e)?(t-e<.001&&(e-=1,t+=1),a-n<.001&&(n-=1,a+=1),{minX:e,maxX:t,minZ:n,maxZ:a}):{minX:-1,maxX:1,minZ:-1,maxZ:1}},[s,o]),u=(0,n.useMemo)(()=>{let e=Math.min(134/(r.maxX-r.minX),94/(r.maxZ-r.minZ));return(t,n)=>[8+(t-r.minX)*e,8+(n-r.minZ)*e]},[r]),c=(0,n.useMemo)(()=>o.reduce((e,t)=>Math.max(e,t.count),1),[o]);return(0,n.useEffect)(()=>{let e=l.current,t=e?.getContext("2d");if(!t)return;let n=window.devicePixelRatio||1;for(let a of(e.width=150*n,e.height=110*n,t.setTransform(n,0,0,n,0,0),t.clearRect(0,0,150,110),t.fillStyle="rgba(8,10,14,0.85)",t.fillRect(0,0,150,110),t.strokeStyle="rgba(120,140,170,0.35)",t.lineWidth=1,s)){let[e,n]=u(a.aabb[0],a.aabb[2]),[s,i]=u(a.aabb[3],a.aabb[5]);t.strokeRect(Math.min(e,s),Math.min(n,i),Math.abs(s-e),Math.abs(i-n))}for(let e of o){let[n,s]=u(e.origin[0],e.origin[2]),i=2+e.count/c*4,l=e.key===a;t.beginPath(),t.arc(n,s,i,0,2*Math.PI),t.fillStyle=l?"rgba(242,115,242,1)":"rgba(242,115,242,0.55)",t.fill(),l&&(t.beginPath(),t.arc(n,s,i+2.5,0,2*Math.PI),t.strokeStyle="rgba(255,255,255,0.9)",t.lineWidth=1.5,t.stroke())}},[s,o,u,c,a]),(0,t.jsxs)("div",{className:"absolute right-3 top-3 rounded-md border border-edge bg-ink/80 p-1 backdrop-blur",children:[(0,t.jsx)("div",{className:"px-1 pb-0.5 text-[10px] font-medium text-fg-muted",children:"Standpoints (top view)"}),(0,t.jsx)("canvas",{ref:l,className:"h-27.5 w-37.5 cursor-pointer rounded",onClick:e=>{let t=l.current;if(!t||0===o.length)return;let n=t.getBoundingClientRect(),s=(e.clientX-n.left)/n.width*150,a=(e.clientY-n.top)/n.height*110,r=null,c=1/0;for(let e of o){let[t,n]=u(e.origin[0],e.origin[2]),i=(t-s)**2+(n-a)**2;i<c&&(c=i,r=e)}r&&c<=196&&i(r.key)}})]})}e.s(["FlowSankey3DView",0,function({links:v,gridSize:w,proxyMeshes:j=[],maxLinks:M=80,api:z,flowQuery:y,hasFirstPerson:_=!1}){let $=(0,n.useRef)(null),I=(0,n.useRef)(null),C=(0,n.useRef)(null),[P,B]=(0,n.useState)("loading"),[R,S]=(0,n.useState)(null),[L,N]=(0,n.useState)(d),[A,E]=(0,n.useState)(d),[O,q]=(0,n.useState)(d),[Z,T]=(0,n.useState)("aggregate"),[F,V]=(0,n.useState)(null),[W,X]=(0,n.useState)("all"),[H,D]=(0,n.useState)(v),U=!!(z&&y),K=(0,n.useMemo)(()=>y?JSON.stringify(y):"",[y]),Y=(0,n.useRef)(!1);(0,n.useEffect)(()=>{!Y.current&&_&&(X("first-person"),Y.current=!0)},[_]),(0,n.useEffect)(()=>{_&&"viewer"===W&&X("first-person")},[_,W]),(0,n.useEffect)(()=>{U||D(v)},[v,U]),(0,n.useEffect)(()=>{if(!z||!y)return;let e=!1,t="all"===W?void 0:W;return z.flowHeatmap({...y,bins:w,limit:400,groupByOrigin:!0,cameraMode:t}).then(t=>{e||D(t)}).catch(()=>{e||D([])}),()=>{e=!0}},[z,K,W,w]);let G=(0,n.useMemo)(()=>{let e=new Map;for(let t of H){if(!t.originVoxel)continue;let n=i(t.originVoxel),s=t.origin,a=e.get(n);a?(a.count+=t.count,s&&(a.ox+=s[0]*t.count,a.oy+=s[1]*t.count,a.oz+=s[2]*t.count,a.wsum+=t.count)):e.set(n,{key:n,voxel:t.originVoxel,count:t.count,ox:s?s[0]*t.count:0,oy:s?s[1]*t.count:0,oz:s?s[2]*t.count:0,wsum:s?t.count:0})}return[...e.values()].map(e=>({key:e.key,voxel:e.voxel,count:e.count,origin:e.wsum>0?[e.ox/e.wsum,e.oy/e.wsum,e.oz/e.wsum]:void 0})).sort((e,t)=>t.count-e.count)},[H]),J=G.length>0,Q=(0,n.useMemo)(()=>O===d?null:G.find(e=>e.key===O)??null,[G,O]),ee=(0,n.useMemo)(()=>(function(e,t,n,o){let r=e.filter(e=>e.originVoxel);if(0===r.length)return{standpoints:[],gazes:[],meshes:[],ribbons:[],maxCount:1};let u=t.slice(0,Math.max(1,o.maxStandpoints)),c=new Set(u.map(e=>e.key)),h=e=>{let t=e.originVoxel?i(e.originVoxel):s;return c.has(t)?t:s},d=new Map;for(let e of r)d.set(e.mesh,(d.get(e.mesh)??0)+e.count);let m=new Set([...d.entries()].sort((e,t)=>t[1]-e[1]).slice(0,Math.max(1,o.maxMeshes)).map(([e])=>e)),b=e=>m.has(e)?e:a,f=new Map;for(let e of r){let t=h(e),n=b(e.mesh),s=`${t}|${e.azimuth_bin}|${e.elevation_bin}|${n}`,a=f.get(s);a?a.count+=e.count:f.set(s,{standpointId:t,gazeId:`${t}|${e.azimuth_bin}|${e.elevation_bin}`,meshId:n,azimuthBin:e.azimuth_bin,elevationBin:e.elevation_bin,count:e.count})}let p=[...f.values()].sort((e,t)=>t.count-e.count),g=p.slice(0,Math.max(1,o.maxRibbons)),x=p.slice(Math.max(1,o.maxRibbons));if(x.length>0){let e=new Map(g.map(e=>[`${e.standpointId}|${e.azimuthBin}|${e.elevationBin}|${a}`,e]));for(let t of x){let n=`${t.standpointId}|${t.azimuthBin}|${t.elevationBin}|${a}`,s=e.get(n);if(s)s.count+=t.count;else{let s={standpointId:t.standpointId,gazeId:t.gazeId,meshId:a,azimuthBin:t.azimuthBin,elevationBin:t.elevationBin,count:t.count};e.set(n,s),g.push(s)}}}let k=new Set(g.map(e=>e.standpointId)),v=new Set(g.map(e=>e.meshId)),w=[...u.filter(e=>k.has(e.key)).map(e=>e.key),...k.has(s)?[s]:[]],j=w.map((e,t)=>{let n=u.find(t=>t.key===e),a=g.filter(t=>t.standpointId===e).reduce((e,t)=>e+t.count,0);return{id:e,kind:"standpoint",pos:[-2.6,l(t,w.length),0],count:a,label:n?`[${n.voxel[0]}, ${n.voxel[1]}, ${n.voxel[2]}]`:"Other standpoints",isOther:e===s}}),M=new Map(j.map(e=>[e.id,e.pos[1]])),z=new Map;for(let e of g)z.set(e.meshId,(z.get(e.meshId)??0)+e.count);let y=[...v].sort((e,t)=>(z.get(t)??0)-(z.get(e)??0));y.sort((e,t)=>(e===a)-(t===a));let _=y.map((e,t)=>({id:e,kind:"mesh",pos:[2.6,l(t,y.length),0],count:z.get(e)??0,label:e===a?"Other meshes":e,isOther:e===a})),$=new Map;for(let e of g){let t=$.get(e.gazeId);t?t.count+=e.count:$.set(e.gazeId,{az:e.azimuthBin,el:e.elevationBin,sp:e.standpointId,count:e.count})}let I=[...$.entries()].map(([e,t])=>{let s=M.get(t.sp)??0,a=(t.az+.5)/n-.5;return{id:e,kind:"gaze",pos:[0,s+((t.el+.5)/n-.5)*.85,1.6*a],count:t.count,label:`(${t.az}, ${t.el})`,isOther:!1}}),C=g.reduce((e,t)=>Math.max(e,t.count),1);return{standpoints:j,gazes:I,meshes:_,ribbons:g,maxCount:C}})(H,G,w,m),[H,G,w]),et="twostage"===Z&&J;(0,n.useEffect)(()=>{"twostage"!==Z||J||T("aggregate")},[Z,J]);let en=(0,n.useMemo)(()=>{if(O!==d&&J)return H.filter(e=>e.originVoxel&&i(e.originVoxel)===O);if(!J)return H;let e=new Map;for(let t of H){let n=`${t.azimuth_bin}|${t.elevation_bin}|${t.mesh}`,s=e.get(n);s?s.count+=t.count:e.set(n,{azimuth_bin:t.azimuth_bin,elevation_bin:t.elevation_bin,mesh:t.mesh,count:t.count})}return[...e.values()]},[H,O,J]),es=(0,n.useMemo)(()=>[...en].sort((e,t)=>t.count-e.count).slice(0,Math.max(1,M)),[en,M]),ea=(0,n.useMemo)(()=>{let e=new Map;for(let t of es)e.set(t.mesh,(e.get(t.mesh)??0)+t.count);return[...e.entries()].sort((e,t)=>t[1]-e[1])},[es]),ei=(0,n.useMemo)(()=>{let e=new Map;for(let t of es){let n=b(t.azimuth_bin,t.elevation_bin),s=e.get(n);s?s.count+=t.count:e.set(n,{azimuthBin:t.azimuth_bin,elevationBin:t.elevation_bin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count)},[es]);(0,n.useEffect)(()=>{!et&&L!==d&&(ea.some(([e])=>e===L)||N(d))},[et,L,ea]),(0,n.useEffect)(()=>{!et&&A!==d&&(ei.some(e=>b(e.azimuthBin,e.elevationBin)===A)||E(d))},[et,A,ei]),(0,n.useEffect)(()=>{!et&&O!==d&&(G.some(e=>e.key===O)||q(d))},[et,O,G]),(0,n.useEffect)(()=>{N(d),E(d),q(d)},[Z]);let el=(0,n.useMemo)(()=>et?ee.ribbons.filter(e=>{let t=O===d||e.standpointId===O,n=A===d||b(e.azimuthBin,e.elevationBin)===A,s=L===d||e.meshId===L;return t&&n&&s}).length:es.filter(e=>{let t=A===d||b(e.azimuth_bin,e.elevation_bin)===A,n=L===d||e.mesh===L;return t&&n}).length,[et,ee,es,L,A,O]),eo=et?ee.ribbons.length:es.length,er=(0,n.useMemo)(()=>et?ee.standpoints.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):G.slice(0,24).map(e=>({value:e.key,label:`[${e.voxel[0]}, ${e.voxel[1]}, ${e.voxel[2]}] \xb7 ${e.count}`})),[et,ee,G]),eu=(0,n.useMemo)(()=>{if(et){let e=new Map;for(let t of ee.ribbons){let n=b(t.azimuthBin,t.elevationBin),s=e.get(n);s?s.count+=t.count:e.set(n,{az:t.azimuthBin,el:t.elevationBin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count).map(e=>({value:b(e.az,e.el),label:`(${e.az}, ${e.el}) \xb7 ${e.count}`}))}return ei.map(e=>({value:b(e.azimuthBin,e.elevationBin),label:`(${e.azimuthBin}, ${e.elevationBin}) \xb7 ${e.count}`}))},[et,ee,ei]),ec=(0,n.useMemo)(()=>et?ee.meshes.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):ea.map(([e,t])=>({value:e,label:`${e} \xb7 ${t}`})),[et,ee,ea]),eh=(0,n.useRef)(es);eh.current=es;let ed=(0,n.useRef)(ee);ed.current=ee;let em=(0,n.useRef)(j);em.current=j;let eb=(0,n.useRef)(ea);eb.current=ea;let ef=(0,n.useRef)(L);ef.current=L;let ep=(0,n.useRef)(A);ep.current=A;let eg=(0,n.useRef)(O);eg.current=O;let ex=(0,n.useRef)(Q);ex.current=Q;let ek=(0,n.useRef)(null),ev=et?ee.ribbons.length>0:es.length>0;return(0,n.useEffect)(()=>{let t=$.current;if(!t)return;if(!ev)return void B("empty");let n=!1,s=null;return B("loading"),S(null),(async()=>{try{let a,[{Engine:i},{Scene:l},{ArcRotateCamera:c},{HemisphericLight:h},{Vector3:m,Color3:g,Color4:x},{MeshBuilder:k},{StandardMaterial:v}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(87961)]);if(n)return;let j=new i(t,!0,{preserveDrawingBuffer:!1}),M=new l(j);M.clearColor=new x(.04,.05,.07,1);let z=[],y=()=>{for(let e of z)e.dispose();z=[]};if(et){let e=m.Zero();(a=new c("ts-cam",Math.PI/2,Math.PI/2.4,8.5,e,M)).attachControl(t,!0),(0,r.disableWheelZoom)(a),I.current=a,C.current={target:e,alpha:a.alpha,beta:a.beta,radius:a.radius},new h("ts-light",new m(.3,1,.2),M);let n={standpoint:[.95,.45,.95],gaze:[.45,.75,1],mesh:[1,.82,.42]},s={standpoint:.26,gaze:.13,mesh:.22},i=(e,t,n)=>{let s=e[0],a=e[1],i=e[2],l=t[0],o=t[1],r=t[2],u=[(s+l)/2,(a+o)/2+n,(i+r)/2],c=[];for(let e=0;e<=12;e++){let t=e/12,n=1-t;c.push(new m(n*n*s+2*n*t*u[0]+t*t*l,n*n*a+2*n*t*u[1]+t*t*o,n*n*i+2*n*t*u[2]+t*t*r))}return c},l=()=>{y();let e=ed.current;if(0===e.ribbons.length)return;let t=eg.current,a=ep.current,l=ef.current,r=e=>{let n=t===d||e.standpointId===t,s=a===d||b(e.azimuthBin,e.elevationBin)===a,i=l===d||e.meshId===l;return n&&s&&i},u=t!==d||a!==d||l!==d,c=new Set;for(let t of e.ribbons)r(t)&&(c.add(t.standpointId),c.add(t.gazeId),c.add(t.meshId));let h=[...e.standpoints,...e.gazes,...e.meshes],f=new Map(h.map(e=>[e.id,e.pos])),p=new Map(h.map(e=>[e.id,e.label]));for(let e of h){let t=k.CreateSphere(`ts-node-${e.kind}-${e.id}`,{diameter:s[e.kind],segments:8},M);t.position=new m(e.pos[0],e.pos[1],e.pos[2]);let a=new v(`ts-node-mat-${e.kind}-${e.id}`,M);a.disableLighting=!0;let[i,l,o]=n[e.kind];a.emissiveColor=new g(i,l,o),a.alpha=!u||c.has(e.id)?1:.2,t.material=a,t.isPickable=!0,t.metadata={hoverLabel:e.label},z.push(t,a)}for(let t of e.ribbons){let n=f.get(t.standpointId),s=f.get(t.gazeId),a=f.get(t.meshId);if(!n||!s||!a)continue;let l=t.count/e.maxCount,c=.18+.5*l,h=[...i(n,s,c),...i(s,a,c).slice(1)],d=r(t),[m,b,x]=(0,o.heatRgb)(l),w=k.CreateTube(`ts-link-${t.standpointId}-${t.gazeId}-${t.meshId}`,{path:h,radius:(d?1:.4)*(.012+.04*l),tessellation:8,cap:0,sideOrientation:0},M),j=new v(`ts-link-mat-${t.standpointId}-${t.gazeId}-${t.meshId}`,M);j.disableLighting=!0,j.emissiveColor=new g(m,b,x),j.alpha=d?.35+.65*l:u?.06:.18,w.material=j,w.isPickable=!0,w.metadata={hoverLabel:p.get(t.meshId)??t.meshId},z.push(w,j)}};ek.current=l,l()}else{let e=new Map;for(let t of em.current)e.set(t.name,f(t));let n=new Map,s=eb.current.map(([e])=>e).filter(t=>!e.has(t));for(let e=0;e<s.length;e++){let t=s[e],a=p(t),i=e/Math.max(1,s.length)*Math.PI*2+a%100/100*.35;n.set(t,[2.2*Math.cos(i),-.35+(a%7-3)*.06,2.2*Math.sin(i)])}for(let[t,s]of e.entries())n.set(t,s);let i=0,l=0,u=0,x=0;for(let e of n.values())i+=e[0],l+=e[1],u+=e[2],x++;let j=new m(i/Math.max(1,x),l/Math.max(1,x),u/Math.max(1,x)),_=1.8;for(let e of n.values()){let t=e[0]-j.x,n=e[1]-j.y,s=e[2]-j.z;_=Math.max(_,Math.sqrt(t*t+n*n+s*s))}let $=.75*_+1,P=Math.max(1,_/1.8);(a=new c("flow-cam",Math.PI/4,Math.PI/3,3.4*_,j,M)).attachControl(t,!0),(0,r.disableWheelZoom)(a),I.current=a,C.current={target:j,alpha:a.alpha,beta:a.beta,radius:a.radius},new h("flow-light",new m(.3,1,.2),M);let B=k.CreateSphere("flow-source-dome",{diameter:2*$,segments:20},M);B.position=j;let R=new v("flow-source-dome-mat",M);R.wireframe=!0,R.disableLighting=!0,R.emissiveColor=new g(.16,.2,.28),R.alpha=.35,B.material=R,B.isPickable=!1;let S=()=>{y();let e=eh.current;if(0===e.length)return;let t=ef.current,n=ep.current,s=ex.current,a=new Map;for(let e of em.current)a.set(e.name,f(e));let i=new Map,l=eb.current.map(([e])=>e).filter(e=>!a.has(e));for(let e=0;e<l.length;e++){let t=l[e],n=p(t),s=e/Math.max(1,l.length)*Math.PI*2+n%100/100*.35;i.set(t,[2.2*Math.cos(s),-.35+(n%7-3)*.06,2.2*Math.sin(s)])}for(let[e,t]of a.entries())i.set(e,t);let r=e.reduce((e,t)=>Math.max(e,t.count),1),u=new v("flow-source-node",M);u.disableLighting=!0,u.emissiveColor=new g(.45,.75,1);let c=new v("flow-target-node",M);c.disableLighting=!0,c.emissiveColor=new g(1,.82,.42),z.push(u,c);let h=new Set,x=new Set,_=e=>{let s=n===d||b(e.azimuth_bin,e.elevation_bin)===n,a=t===d||e.mesh===t;return s&&a},I=new Set,C=new Set;for(let t of e)_(t)&&(I.add(b(t.azimuth_bin,t.elevation_bin)),C.add(t.mesh));for(let s of e){let e=`${s.azimuth_bin}|${s.elevation_bin}`,a=i.get(s.mesh);if(!a)continue;let l=_(s),b=(s.azimuth_bin+.5)/w*Math.PI*2-Math.PI,f=(s.elevation_bin+.5)/w*Math.PI-Math.PI/2,p=Math.cos(f),y=p*Math.cos(b),B=Math.sin(f),R=p*Math.sin(b),S=new m(j.x+y*$,j.y+B*$,j.z+R*$),L=new m(a[0],a[1],a[2]);if(!h.has(e)){let s=k.CreateSphere(`flow-src-${e}`,{diameter:.12*P,segments:6},M);s.position=S;let a=u.clone(`flow-src-mat-${e}`);a.alpha=I.has(e)||t===d&&n===d?1:.22,s.material=a,s.isPickable=!1,h.add(e),z.push(s,a)}if(!x.has(s.mesh)){let e=k.CreateSphere(`flow-target-${s.mesh}`,{diameter:.2*P,segments:7},M);e.position=L;let a=c.clone(`flow-target-mat-${s.mesh}`);a.alpha=C.has(s.mesh)||t===d&&n===d?1:.22,e.material=a,e.isPickable=!0,e.metadata={hoverLabel:s.mesh},x.add(s.mesh),z.push(e,a)}let N=S.add(L).scale(.5),A=N.subtract(j),E=Math.sqrt(A.x*A.x+A.y*A.y+A.z*A.z),O=E>1e-6?A.x/E:0,q=E>1e-6?A.y/E:1,Z=E>1e-6?A.z/E:0,T=(.35+s.count/r*.75)*P,F=new m(N.x+O*T,N.y+q*T+.12*P,N.z+Z*T),V=[];for(let e=0;e<=18;e++){let t=e/18,n=1-t;V.push(new m(n*n*S.x+2*n*t*F.x+t*t*L.x,n*n*S.y+2*n*t*F.y+t*t*L.y,n*n*S.z+2*n*t*F.z+t*t*L.z))}let W=s.count/r,[X,H,D]=(0,o.heatRgb)(W),U=k.CreateTube(`flow-link-${s.mesh}-${e}`,{path:V,radius:(l?1:.4)*(.012+.04*W)*P,tessellation:8,cap:0,sideOrientation:0},M),K=new v(`flow-link-mat-${s.mesh}-${e}`,M);K.disableLighting=!0,K.emissiveColor=new g(X,H,D),K.alpha=l?.35+.65*W:.08,U.material=K,U.isPickable=!0,U.metadata={hoverLabel:s.mesh},z.push(U,K)}let B=s?.origin;if(B){let e=new m(B[0],B[1],B[2]),t=k.CreateSphere("flow-standpoint",{diameter:.26*P,segments:10},M);t.position=e;let n=new v("flow-standpoint-mat",M);n.disableLighting=!0,n.emissiveColor=new g(.95,.45,.95),t.material=n,t.isPickable=!1;let s=k.CreateLines("flow-standpoint-stem",{points:[e,new m(e.x,j.y,e.z)]},M);s.color=new g(.95,.45,.95),s.isPickable=!1,z.push(t,n,s)}};ek.current=S,S()}j.runRenderLoop(()=>M.render());let _=()=>j.resize();window.addEventListener("resize",_);let $=(0,u.attachMeshHover)(M,t,V),P=(0,r.attachDoubleClickFocus)(M,t,a);B("ready"),s=()=>{window.removeEventListener("resize",_),$(),P(),V(null),ek.current=null,I.current=null,C.current=null,y(),M.dispose(),j.dispose()}}catch(e){if(n)return;B("error"),S(e instanceof Error?e.message:"Failed to render flow links.")}})(),()=>{n=!0,s?.()}},[et,w,ev]),(0,n.useEffect)(()=>{ek.current?.()},[es,ee,j,L,A,O,Q]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:$,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),F?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:F.x+12,top:F.y+12},children:F.label}):null,"ready"===P?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex flex-wrap gap-2",children:[J?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:!et,onClick:()=>T("aggregate"),children:"Aggregate"}),(0,t.jsx)(x,{active:et,onClick:()=>T("twostage"),children:"Two-stage"})]}):null,U?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:"first-person"===W,onClick:()=>X("first-person"),children:"Walk"}),(0,t.jsx)(x,{active:"viewer"===W,onClick:()=>X("viewer"),disabled:_,title:_?"Orbit (viewer) flow isn't available for walkable scenes":void 0,children:"Orbit"}),(0,t.jsx)(x,{active:"all"===W,onClick:()=>X("all"),children:"All"})]}):null,J?(0,t.jsx)(g,{label:"Standpoint",value:O,onChange:q,allLabel:"All standpoints",options:er}):null,(0,t.jsx)(g,{label:et?"Gaze":"Source",value:A,onChange:E,allLabel:et?"All gaze sectors":"All sources",options:eu}),(0,t.jsx)(g,{label:"Mesh",value:L,onChange:N,allLabel:"All meshes",options:ec})]}),et?(0,t.jsx)(k,{standpoints:G,proxyMeshes:j,selectedKey:O,onSelect:e=>q(t=>t===e?d:e)}):null,(0,t.jsxs)("div",{className:"pointer-events-none absolute bottom-3 right-3 flex max-w-[20rem] flex-col items-end gap-2",children:[U&&!_?(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg-muted backdrop-blur",children:["Orbit-dominated scene — viewer ",(0,t.jsx)("em",{children:"position"})," adds little here. Use the"," ",(0,t.jsx)("strong",{children:"View dome"})," (§7.5) above for where viewers looked."]}):null,(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:["Active links: ",el,"/",eo]})]}),(0,t.jsx)(h.ZoomButtons,{onZoom:e=>I.current&&(0,r.stepZoom)(I.current,e),onReset:()=>I.current&&C.current&&(0,r.resetFocus)(I.current,C.current)}),(0,t.jsx)(c.HeatLegend,{title:"Flow volume",lowLabel:"fewer links",highLabel:"dominant links",note:et?"Three columns: standpoint → gaze sector → mesh. Top standpoints/meshes are kept; the tail folds into an “Other” node. Pick a standpoint (or click the minimap), gaze sector, or mesh to emphasize matching ribbons.":"Each arc aggregates clicks from one camera-direction bin to a mesh. Pick a source or mesh to emphasize matching links and dim the rest."})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===P?"Rendering…":"empty"===P?"No aggregate flow links in range.":"error"===P?R??"Flow view unavailable.":null})]})}],19399)},95338,e=>{e.v(t=>Promise.all(["static/chunks/21at65obnoo8z.js","static/chunks/08m_4cihfmik8.js","static/chunks/2uhrhq35bki6u.js","static/chunks/1di5enkavl9vx.js","static/chunks/1gtj_l5ame5mw.js","static/chunks/0ti58h622yo-_.js","static/chunks/2btabnibkm0db.js"].map(t=>e.l(t))).then(()=>t(62619)))},79935,e=>{e.v(t=>Promise.all(["static/chunks/1dfwa563iciz3.js","static/chunks/00g5suuoa-_wn.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0ti58h622yo-_.js","static/chunks/0bgcaf2x51kms.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/0ubxyut5rr600.js"].map(t=>e.l(t))).then(()=>t(90189)))},49958,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/21at65obnoo8z.js","static/chunks/1xbzxfeq9789f.js","static/chunks/1i4f3n_2_3ery.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0u8yr4k1y6m2t.js"].map(t=>e.l(t))).then(()=>t(50734)))},7513,e=>{e.v(t=>Promise.all(["static/chunks/3ed24zmt8qfys.js","static/chunks/09ppu_k464q-n.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(67984)))},58532,e=>{e.v(t=>Promise.all(["static/chunks/3c_31f20z4jrl.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(29959)))},43302,e=>{e.v(t=>Promise.all(["static/chunks/3ckp70rgr63u9.js","static/chunks/00g5suuoa-_wn.js","static/chunks/026vw95s88gsy.js","static/chunks/20qelrstvz9_n.js","static/chunks/21at65obnoo8z.js","static/chunks/1_8acnu6_-qe-.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3a_khw6q6pyh1.js"].map(t=>e.l(t))).then(()=>t(16874)))},61027,e=>{e.v(t=>Promise.all(["static/chunks/2si5cg3hl5dtf.js","static/chunks/2h5hase6ewoyc.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1bmyq1b0by7ug.js","static/chunks/21at65obnoo8z.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0bgcaf2x51kms.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/1di5enkavl9vx.js"].map(t=>e.l(t))).then(()=>t(27455)))},87961,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3qatb38-tk_gd.js","static/chunks/1di5enkavl9vx.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js"].map(t=>e.l(t))).then(()=>t(87531)))}]);