@uptimizr/dashboard 0.4.5 → 0.4.7

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 (384) hide show
  1. package/out/404.html +1 -1
  2. package/out/__next.__PAGE__.txt +19 -5
  3. package/out/__next._full.txt +11 -11
  4. package/out/__next._tree.txt +2 -2
  5. package/out/_next/static/chunks/{3kalvwsf11-ss.js → 0-_j1khfoib6l.js} +119 -115
  6. package/out/_next/static/chunks/{0-tzsd_n-ywom.js → 005bbq_px7lke.js} +2 -2
  7. package/out/_next/static/chunks/00fbhtmui-yxg.js +1 -0
  8. package/out/_next/static/chunks/017pn-pen381_.js +1 -0
  9. package/out/_next/static/chunks/01vov6inx1zzt.js +1 -0
  10. package/out/_next/static/chunks/{3d76e_yd8l_0x.js → 02qk_wmkf9at-.js} +211 -211
  11. package/out/_next/static/chunks/03bd5plut08tg.js +1 -0
  12. package/out/_next/static/chunks/03dwfqmo73w_z.js +1 -0
  13. package/out/_next/static/chunks/03sn4419dam-h.js +5 -0
  14. package/out/_next/static/chunks/05ere0-228syf.js +1 -0
  15. package/out/_next/static/chunks/{2g_1ov-0j2kwd.js → 05h8u5lrypn5m.js} +1 -1
  16. package/out/_next/static/chunks/05s0t-besbvu1.css +3 -0
  17. package/out/_next/static/chunks/{3go-mst7n3udd.js → 05v-nubi896jg.js} +1 -1
  18. package/out/_next/static/chunks/05z79zh625ezu.js +1 -0
  19. package/out/_next/static/chunks/{1t2exh89lnazc.js → 060iult6f68_e.js} +504 -571
  20. package/out/_next/static/chunks/08lvtnv7b1cxp.js +1 -0
  21. package/out/_next/static/chunks/0_v2luu_qmeid.js +1 -0
  22. package/out/_next/static/chunks/0ai0zgbgjqb92.js +1 -0
  23. package/out/_next/static/chunks/0boov9mwycanf.js +1 -0
  24. package/out/_next/static/chunks/{0av6n_6q6kzo3.js → 0btmk0wmekl02.js} +2 -2
  25. package/out/_next/static/chunks/0d8x8m2x6ca_m.js +1 -0
  26. package/out/_next/static/chunks/0dmrdrwtd093b.js +1 -0
  27. package/out/_next/static/chunks/0e1jfrmioeuws.js +1 -0
  28. package/out/_next/static/chunks/0e7nlxmneb2j_.js +1 -0
  29. package/out/_next/static/chunks/0es97pusfxupl.js +1 -0
  30. package/out/_next/static/chunks/{05uqfgf-hh-p5.js → 0fd-0i1yt23kz.js} +1 -1
  31. package/out/_next/static/chunks/0fxdyvb1w23d1.js +1 -0
  32. package/out/_next/static/chunks/0fxhc24djjcgq.js +1 -0
  33. package/out/_next/static/chunks/0gf-ztg86zd80.js +1 -0
  34. package/out/_next/static/chunks/{380ivzcfb4o_3.js → 0grasqqf5dw7r.js} +2 -2
  35. package/out/_next/static/chunks/{0okbyggxe6mx5.js → 0hajwk2yd-rwr.js} +1 -1
  36. package/out/_next/static/chunks/0hk1wg7h4araz.js +1 -0
  37. package/out/_next/static/chunks/{1vmpltnr0cyos.js → 0j74ipw4fps-n.js} +1 -1
  38. package/out/_next/static/chunks/{03zip1uidm6x9.js → 0kj-vckdn7t5p.js} +1 -1
  39. package/out/_next/static/chunks/0lbs5xdyjuzuo.js +1 -0
  40. package/out/_next/static/chunks/0lep3_bqwfuin.js +1 -0
  41. package/out/_next/static/chunks/0mp0jh1gj7290.js +1 -0
  42. package/out/_next/static/chunks/0ngpoj2g5i4kz.js +1 -0
  43. package/out/_next/static/chunks/0nhljhguceh66.js +1 -0
  44. package/out/_next/static/chunks/0p6z73afb9dj2.js +1 -0
  45. package/out/_next/static/chunks/0p9zfmidzqkps.js +1 -0
  46. package/out/_next/static/chunks/0q75860p8u_ii.js +1 -0
  47. package/out/_next/static/chunks/{0-0hui1_v3h8b.js → 0rracz73p38mo.js} +26 -23
  48. package/out/_next/static/chunks/{3z4suna4kq4j5.js → 0sw-8gxbg4x0l.js} +568 -569
  49. package/out/_next/static/chunks/0sx-6rf3eteqn.js +1 -0
  50. package/out/_next/static/chunks/0thw099xk3_0p.js +3 -0
  51. package/out/_next/static/chunks/0u85f0dhb4i8e.js +1 -0
  52. package/out/_next/static/chunks/0uk7kigzm4vi2.js +31 -0
  53. package/out/_next/static/chunks/0ulufxnsrou61.js +1 -0
  54. package/out/_next/static/chunks/0xa9dyg6ezzyd.js +2 -0
  55. package/out/_next/static/chunks/0xvrfvur0p534.js +1 -0
  56. package/out/_next/static/chunks/{35aagg46wp139.js → 0ybs1u66q26su.js} +1 -1
  57. package/out/_next/static/chunks/0ydfhk-p6zvm0.js +1 -0
  58. package/out/_next/static/chunks/{29gv2swsp7tzu.js → 0z004fn14pbcu.js} +1 -1
  59. package/out/_next/static/chunks/{2z9mdtudj8crz.js → 0z9erbl3llr_b.js} +226 -224
  60. package/out/_next/static/chunks/0zcsxvcvog9ue.js +1 -0
  61. package/out/_next/static/chunks/0zqgq0lwtz9tn.js +1 -0
  62. package/out/_next/static/chunks/1-ogak5u00kwa.js +1 -0
  63. package/out/_next/static/chunks/{1ng-fqh2_n984.js → 10_5p5-xf2aoo.js} +1 -1
  64. package/out/_next/static/chunks/118qlrzdwpfmo.js +1 -0
  65. package/out/_next/static/chunks/11km5p4gd0ut4.js +1 -0
  66. package/out/_next/static/chunks/120rl4l29q9xs.js +1 -0
  67. package/out/_next/static/chunks/{1ho02fc091nj2.js → 129m5i93ltoym.js} +1 -1
  68. package/out/_next/static/chunks/12n73o884lyyl.js +1 -0
  69. package/out/_next/static/chunks/{3n-7bcmfbh299.js → 13zcn4lv0qj76.js} +11 -11
  70. package/out/_next/static/chunks/15jlgfcaeaki9.js +1 -0
  71. package/out/_next/static/chunks/{1ux1rpe-n1mai.js → 15o4_2t-l3rj5.js} +1 -1
  72. package/out/_next/static/chunks/{00o9hr_3hd0r8.js → 175st2ogkg_1o.js} +1 -1
  73. package/out/_next/static/chunks/19rsodtu91ja_.js +1 -0
  74. package/out/_next/static/chunks/1a2ouhup611bz.js +1 -0
  75. package/out/_next/static/chunks/{1solqr18og2ot.js → 1by60_b14x-3o.js} +1 -1
  76. package/out/_next/static/chunks/1cyq7i39885sl.js +1 -0
  77. package/out/_next/static/chunks/1d9it6yocgt54.js +1 -0
  78. package/out/_next/static/chunks/1dp1s1t-y7gal.js +1 -0
  79. package/out/_next/static/chunks/1dr7gh6xgypl8.js +1 -0
  80. package/out/_next/static/chunks/{32vaw89wdwv5_.js → 1dt30s_sp8415.js} +1 -1
  81. package/out/_next/static/chunks/{1t7nl8rx7mabd.js → 1e8_jl2cxd3rp.js} +576 -576
  82. package/out/_next/static/chunks/1f1rek_fxk3of.js +1 -0
  83. package/out/_next/static/chunks/1f2mna0k5efeq.js +1 -0
  84. package/out/_next/static/chunks/1gfz3sxwkkg3d.js +1 -0
  85. package/out/_next/static/chunks/1gr35qeguuws0.js +1 -0
  86. package/out/_next/static/chunks/{0g2wngc6oe7fd.js → 1gttu-n9am66k.js} +255 -253
  87. package/out/_next/static/chunks/1imi0xwi9hd99.js +1 -0
  88. package/out/_next/static/chunks/1ka5v5zu0cstt.js +1 -0
  89. package/out/_next/static/chunks/{17aahvhpls1l7.js → 1l_3oidssbhns.js} +298 -231
  90. package/out/_next/static/chunks/1m9zc5gm-327d.js +112 -0
  91. package/out/_next/static/chunks/1n9nhz-6azcp3.js +3 -0
  92. package/out/_next/static/chunks/1ncqwe81t_9_x.js +1 -0
  93. package/out/_next/static/chunks/1nix_lulkpklo.js +1 -0
  94. package/out/_next/static/chunks/{141tngxsk32hq.js → 1ntqovuz2c217.js} +1 -1
  95. package/out/_next/static/chunks/1pgs-98tfkq9_.js +1 -0
  96. package/out/_next/static/chunks/1q2z0aeopo8t8.js +1 -0
  97. package/out/_next/static/chunks/{2zpn7010iqgsy.js → 1q4lkgxfnqnew.js} +1 -1
  98. package/out/_next/static/chunks/{2khh_pmm224k5.js → 1qg1l7t00nyib.js} +97 -300
  99. package/out/_next/static/chunks/{1qxhgauuomthl.js → 1rcdimhu0qhlu.js} +407 -407
  100. package/out/_next/static/chunks/1rlfg62jxqj3z.js +1 -0
  101. package/out/_next/static/chunks/1ses023uud001.js +1 -0
  102. package/out/_next/static/chunks/1t5oynmttpfsw.js +1 -0
  103. package/out/_next/static/chunks/{25gf6xn9u1c57.js → 1t9i20i5-f8ze.js} +1 -1
  104. package/out/_next/static/chunks/{2h5nvlgky7fpa.js → 1tgj55b305g4h.js} +1 -1
  105. package/out/_next/static/chunks/{255knovck7pv2.js → 1u8snlm6a7uhi.js} +4 -4
  106. package/out/_next/static/chunks/{04_3ri5emyfcu.js → 1ug4k-1zhr63a.js} +1 -1
  107. package/out/_next/static/chunks/{3-_08i4_7yhno.js → 1uh9zgsy69g92.js} +1 -1
  108. package/out/_next/static/chunks/1vrpzlif-z_p0.js +1 -0
  109. package/out/_next/static/chunks/1vurgl6oz2qey.js +17 -0
  110. package/out/_next/static/chunks/1w-qc09n9ijtq.js +1 -0
  111. package/out/_next/static/chunks/1ycqxcht6x54p.js +1 -0
  112. package/out/_next/static/chunks/{2zyjw8g4tiu51.js → 1zj4307ugq0qz.js} +1 -1
  113. package/out/_next/static/chunks/{425epvuw3yy-n.js → 1zkd8v-qka--j.js} +169 -174
  114. package/out/_next/static/chunks/1zm52cjrfrq7c.js +1 -0
  115. package/out/_next/static/chunks/{267q_eg-c6f6m.js → 1zm6eo861i3c8.js} +1 -1
  116. package/out/_next/static/chunks/{1e_-_7biavwmb.js → 1zp9363yfhpom.js} +1 -1
  117. package/out/_next/static/chunks/1zt1xxovnjhkm.js +1 -0
  118. package/out/_next/static/chunks/2-3hk_db5fpok.js +1 -0
  119. package/out/_next/static/chunks/2-bv9a_0zgw1f.js +1 -0
  120. package/out/_next/static/chunks/209sxygecny37.js +1 -0
  121. package/out/_next/static/chunks/{1ccn725by19i1.js → 216uiih3_vdfd.js} +1 -1
  122. package/out/_next/static/chunks/21kfpd_bityxt.js +1 -0
  123. package/out/_next/static/chunks/22yqh0zlo_vwr.js +1 -0
  124. package/out/_next/static/chunks/24ecas0m9tao7.js +3 -0
  125. package/out/_next/static/chunks/24pq9210rng3f.js +1 -0
  126. package/out/_next/static/chunks/{0zf26k6juhlzo.js → 267prao6fyt22.js} +23 -20
  127. package/out/_next/static/chunks/26skkagvj1z96.js +1 -0
  128. package/out/_next/static/chunks/26y9sv8_-ykxf.js +1 -0
  129. package/out/_next/static/chunks/2701xfv_07wz_.js +1 -0
  130. package/out/_next/static/chunks/{1x99m91nt1m3b.js → 271333m8y3k0e.js} +1 -1
  131. package/out/_next/static/chunks/29rkmguzky-bp.js +1 -0
  132. package/out/_next/static/chunks/{077eo-0dhbxz-.js → 2a07so920b6aa.js} +1 -1
  133. package/out/_next/static/chunks/2a2oy8ryz2tsk.js +1 -0
  134. package/out/_next/static/chunks/2ao-3jzz7yw3p.js +532 -0
  135. package/out/_next/static/chunks/2apihn9ra2ufp.js +1 -0
  136. package/out/_next/static/chunks/2apnpj0-fs9ks.js +1 -0
  137. package/out/_next/static/chunks/2b481pitl4k85.js +1 -0
  138. package/out/_next/static/chunks/2bettxaqt3d2p.js +1 -0
  139. package/out/_next/static/chunks/{1fyh50hjt7hi_.js → 2c721vfva711t.js} +1 -1
  140. package/out/_next/static/chunks/{442e2l3jzxd-_.js → 2d2kl_m64j9cb.js} +1 -1
  141. package/out/_next/static/chunks/2droqjmvmgj13.js +1 -0
  142. package/out/_next/static/chunks/2dxbvwbbgpzoq.js +1 -0
  143. package/out/_next/static/chunks/2eqbsut829r5l.js +1 -0
  144. package/out/_next/static/chunks/2f3_mzxjh3gso.js +1 -0
  145. package/out/_next/static/chunks/2fsde0jwi5qtt.js +1 -0
  146. package/out/_next/static/chunks/2h249uvhh2sij.js +114 -0
  147. package/out/_next/static/chunks/{1gvdmbr65lpud.js → 2izok2otbk8-2.js} +505 -505
  148. package/out/_next/static/chunks/{0yvevihll7sz-.js → 2j120dkh7q3uf.js} +1 -1
  149. package/out/_next/static/chunks/2j2ynchpqh34-.js +1 -0
  150. package/out/_next/static/chunks/2kj6pzs_wap1v.js +1 -0
  151. package/out/_next/static/chunks/{2-p206i_ihx09.js → 2kok6zedeeltw.js} +1 -1
  152. package/out/_next/static/chunks/2lnj9jruy4nrv.js +1 -0
  153. package/out/_next/static/chunks/{41yy4p3-rtyz1.js → 2lsvk7xcfkarc.js} +1 -1
  154. package/out/_next/static/chunks/2n-pveub8b_5t.js +1 -0
  155. package/out/_next/static/chunks/{00xc-0pj7on2s.js → 2n3xu_wbvtj7h.js} +29 -29
  156. package/out/_next/static/chunks/{1oljzgz5jistn.js → 2of8q0kaeqpf0.js} +1 -1
  157. package/out/_next/static/chunks/2ofwtw6p08sfz.js +1 -0
  158. package/out/_next/static/chunks/2phl5ta4iim7l.js +12 -0
  159. package/out/_next/static/chunks/2q6l-xdqzgmpf.js +1 -0
  160. package/out/_next/static/chunks/2q8yg63br2jc9.js +1 -0
  161. package/out/_next/static/chunks/2r5qgieqldcd9.js +1 -0
  162. package/out/_next/static/chunks/2r7y401cvjc1s.js +1 -0
  163. package/out/_next/static/chunks/{22ja7c3gk0_ko.js → 2r96kyeehsji9.js} +1 -1
  164. package/out/_next/static/chunks/{3gyyjsot8mdav.js → 2rmc6ru7mc-kg.js} +1 -1
  165. package/out/_next/static/chunks/{1ephzzweysylq.js → 2s6kpclh6ie7o.js} +901 -973
  166. package/out/_next/static/chunks/{0vso09vdz38sr.js → 2sys9nj8lo3uk.js} +1 -1
  167. package/out/_next/static/chunks/{0w-hm7g7trtjg.js → 2tc3e-iqv71y_.js} +1 -1
  168. package/out/_next/static/chunks/2uo6vm7mfgrbf.js +1 -0
  169. package/out/_next/static/chunks/2urx6fow8c8c9.js +505 -0
  170. package/out/_next/static/chunks/2w2k1gveljyb7.js +1 -0
  171. package/out/_next/static/chunks/{22rl_arnzs-ve.js → 2w99knknr5i8c.js} +1 -1
  172. package/out/_next/static/chunks/2w_ptlw-ad8-9.js +4 -0
  173. package/out/_next/static/chunks/2ws1s9d52ayv8.js +1 -0
  174. package/out/_next/static/chunks/2x7enks3ydgai.js +1 -0
  175. package/out/_next/static/chunks/{2e46-2ubc90do.js → 2y8i7_nxm4r05.js} +5 -5
  176. package/out/_next/static/chunks/2ydub0t01728d.js +1 -0
  177. package/out/_next/static/chunks/{309f81l5ucsb_.js → 2z_iab7ozohhq.js} +60 -60
  178. package/out/_next/static/chunks/3-m_vzabs1uez.js +1 -0
  179. package/out/_next/static/chunks/{0t89-lfct-7m6.js → 302qk2fjdrthp.js} +5 -5
  180. package/out/_next/static/chunks/30bhz7czzs4mf.js +1 -0
  181. package/out/_next/static/chunks/{0tn-9w46cwydp.js → 30n4y_uu8chbh.js} +515 -514
  182. package/out/_next/static/chunks/{2-hdejef-mpka.js → 32_c4mbb6j1l6.js} +372 -169
  183. package/out/_next/static/chunks/33hp-khdfohdq.js +1 -0
  184. package/out/_next/static/chunks/{28ndw4nsw2t_4.js → 33i36o_l69sm5.js} +1 -1
  185. package/out/_next/static/chunks/3527r3jo5fj3i.js +1 -0
  186. package/out/_next/static/chunks/355dg8yaa94hr.js +1 -0
  187. package/out/_next/static/chunks/{11p92pnn5el0v.js → 35ntbr_c-yx44.js} +1 -1
  188. package/out/_next/static/chunks/{2rjfrjhp4kjev.js → 35sne1llxnc-m.js} +57 -57
  189. package/out/_next/static/chunks/36enkx1skkv2-.js +4 -0
  190. package/out/_next/static/chunks/{3-x7522okdy-7.js → 3772oce1n3t_g.js} +1 -1
  191. package/out/_next/static/chunks/{1rb8wewjbdisv.js → 37cnbm5ft1mqf.js} +1 -1
  192. package/out/_next/static/chunks/38xdo3cifphut.js +1 -0
  193. package/out/_next/static/chunks/{1tt1bbry-4f-6.js → 3_dgblylldcgb.js} +1 -1
  194. package/out/_next/static/chunks/3beawo-qwuk8k.js +1 -0
  195. package/out/_next/static/chunks/3cj_6sl9kr3e9.js +1 -0
  196. package/out/_next/static/chunks/3d-i_skta_wes.js +1 -0
  197. package/out/_next/static/chunks/3df_l2we755bb.js +1 -0
  198. package/out/_next/static/chunks/{43hwl25uke0l_.js → 3eve5y7fpzx2h.js} +1 -1
  199. package/out/_next/static/chunks/3ewgyb4y19w-3.js +1 -0
  200. package/out/_next/static/chunks/3f3789eh18_oy.js +1 -0
  201. package/out/_next/static/chunks/{1n_gxvu31aofy.js → 3f8qelpscqfym.js} +2 -2
  202. package/out/_next/static/chunks/3g3-e9m1en45q.js +1 -0
  203. package/out/_next/static/chunks/{0uxdbfa8gv6tk.js → 3h6akt2uu05ku.js} +29 -29
  204. package/out/_next/static/chunks/{3w4qettzp7khe.js → 3huu0tqmxwowu.js} +523 -522
  205. package/out/_next/static/chunks/3i239y-1hbkm-.js +1 -0
  206. package/out/_next/static/chunks/{1qsut_e3msg0l.js → 3ipx7xbxchsq9.js} +1 -1
  207. package/out/_next/static/chunks/{2ftp5xmq_w23j.js → 3j9xvdz55bi4p.js} +345 -345
  208. package/out/_next/static/chunks/3kp8qmhoi24oz.js +1 -0
  209. package/out/_next/static/chunks/3ksq69yq-40_r.js +1 -0
  210. package/out/_next/static/chunks/{2x83vs8ns4pww.js → 3njwfothmmg7u.js} +3 -3
  211. package/out/_next/static/chunks/{0bj_310rugcn1.js → 3oqxl46ukaojj.js} +11 -11
  212. package/out/_next/static/chunks/{1upkv4ltuh3s5.js → 3qn6r8-0u6dij.js} +352 -352
  213. package/out/_next/static/chunks/3qye1lytea2i8.js +1 -0
  214. package/out/_next/static/chunks/3rlp9yr75liz7.js +1 -0
  215. package/out/_next/static/chunks/{2i82rmjta9ijs.js → 3sa_hlx3konc7.js} +1 -1
  216. package/out/_next/static/chunks/3tyo643l62h3m.js +1 -0
  217. package/out/_next/static/chunks/3tz2tpqa9uvwm.js +1 -0
  218. package/out/_next/static/chunks/{2pbgsq7vvtk8_.js → 3utpc-fc6_y0f.js} +1 -1
  219. package/out/_next/static/chunks/3v-0c2aj6c0on.js +1 -0
  220. package/out/_next/static/chunks/3v6nxa28rxngq.js +1 -0
  221. package/out/_next/static/chunks/{1og49_atcksim.js → 3vbamaoiuk9yj.js} +1 -1
  222. package/out/_next/static/chunks/3vv99btjc-mky.js +1 -0
  223. package/out/_next/static/chunks/{1nqojcig-0m3c.js → 3w59kt5ztyvoq.js} +1 -1
  224. package/out/_next/static/chunks/3x02lxdo28u9i.js +1 -0
  225. package/out/_next/static/chunks/3xl-op0hwxytg.js +272 -0
  226. package/out/_next/static/chunks/3ydnxyc4rvad_.js +1 -0
  227. package/out/_next/static/chunks/3ylg4gfetwgxw.js +1 -0
  228. package/out/_next/static/chunks/{1-4v8oivkgnyl.js → 3zdtteq-r2fs5.js} +3 -3
  229. package/out/_next/static/chunks/3zkwt0gybqtgm.js +1 -0
  230. package/out/_next/static/chunks/{0wq_9f98weoe3.js → 3zs7l4362msjd.js} +1 -1
  231. package/out/_next/static/chunks/40etabvml_71y.js +1 -0
  232. package/out/_next/static/chunks/417jkzz0slv9m.js +1 -0
  233. package/out/_next/static/chunks/41b5gpyqbj58m.js +338 -0
  234. package/out/_next/static/chunks/41u2-5jayyajf.js +22 -0
  235. package/out/_next/static/chunks/42gcpy51w7lk1.js +1 -0
  236. package/out/_next/static/chunks/{1ph0tfo-4hl-f.js → 42ymanq326mo7.js} +1 -1
  237. package/out/_next/static/chunks/{3w_umk1xtj6to.js → 43fp64xnfy646.js} +1 -1
  238. package/out/_next/static/chunks/43v4y2gu5z9_h.js +1 -0
  239. package/out/_next/static/chunks/44cer242u-f8v.js +1 -0
  240. package/out/_next/static/chunks/{1ozi46t8jajqh.js → 44zi0gl0a6a8w.js} +1 -1
  241. package/out/_next/static/chunks/turbopack-0n2o5_bkskckx.js +1 -0
  242. package/out/_not-found/__next._full.txt +12 -12
  243. package/out/_not-found/__next._not-found.__PAGE__.txt +19 -2
  244. package/out/_not-found/__next._tree.txt +2 -2
  245. package/out/_not-found.html +1 -1
  246. package/out/_not-found.txt +12 -12
  247. package/out/index.html +1 -1
  248. package/out/index.txt +11 -11
  249. package/package.json +15 -15
  250. package/out/__next._head.txt +0 -6
  251. package/out/__next._index.txt +0 -5
  252. package/out/_next/static/chunks/00g5suuoa-_wn.js +0 -1
  253. package/out/_next/static/chunks/01fh3_bncbe5u.js +0 -1
  254. package/out/_next/static/chunks/01urdkl1j8o6l.js +0 -1
  255. package/out/_next/static/chunks/026vw95s88gsy.js +0 -1
  256. package/out/_next/static/chunks/02eui3ctddbd2.js +0 -1
  257. package/out/_next/static/chunks/04c4nksb5y9r-.js +0 -1
  258. package/out/_next/static/chunks/04g-l-_b4payc.js +0 -1
  259. package/out/_next/static/chunks/04j9pexbmysdy.js +0 -1
  260. package/out/_next/static/chunks/055baac5e-c2o.js +0 -1
  261. package/out/_next/static/chunks/05bdni_jrobq1.js +0 -1
  262. package/out/_next/static/chunks/05o0tb8l_htmw.js +0 -1
  263. package/out/_next/static/chunks/07z6p262h5hgl.js +0 -1
  264. package/out/_next/static/chunks/08m_4cihfmik8.js +0 -1
  265. package/out/_next/static/chunks/08obqw64faj8j.js +0 -1
  266. package/out/_next/static/chunks/099ilz3dmm1jw.js +0 -1
  267. package/out/_next/static/chunks/09ppu_k464q-n.js +0 -1
  268. package/out/_next/static/chunks/0bgcaf2x51kms.js +0 -1
  269. package/out/_next/static/chunks/0c5d3qn2mb3ew.js +0 -1
  270. package/out/_next/static/chunks/0dck67in84de0.js +0 -1
  271. package/out/_next/static/chunks/0dg4wxz-6u5lo.js +0 -1
  272. package/out/_next/static/chunks/0dva036n8ab62.js +0 -1
  273. package/out/_next/static/chunks/0erga_bzezbza.js +0 -1
  274. package/out/_next/static/chunks/0f0-i105odxqd.js +0 -1
  275. package/out/_next/static/chunks/0gyeqz9pagssf.js +0 -1
  276. package/out/_next/static/chunks/0i82k-t0fbn8f.js +0 -1
  277. package/out/_next/static/chunks/0kzw45f61wm3j.js +0 -1
  278. package/out/_next/static/chunks/0l8bfa2xewq69.js +0 -1
  279. package/out/_next/static/chunks/0n-zml1gn0o1u.js +0 -1
  280. package/out/_next/static/chunks/0n92hec_jb_-_.js +0 -1
  281. package/out/_next/static/chunks/0pv2wirx45e1m.js +0 -1
  282. package/out/_next/static/chunks/0qxd_8t3nca36.js +0 -1
  283. package/out/_next/static/chunks/0s1jghzw8jufz.js +0 -1
  284. package/out/_next/static/chunks/0s84ekz_f9ngx.js +0 -1
  285. package/out/_next/static/chunks/0ti58h622yo-_.js +0 -2
  286. package/out/_next/static/chunks/0u8yr4k1y6m2t.js +0 -1
  287. package/out/_next/static/chunks/0ubxyut5rr600.js +0 -1
  288. package/out/_next/static/chunks/0wbw9h7rsis2r.js +0 -1
  289. package/out/_next/static/chunks/0y4e49hpuucdi.js +0 -1
  290. package/out/_next/static/chunks/1-b44873bjsdw.js +0 -1
  291. package/out/_next/static/chunks/1-c3a1vnl8v1q.js +0 -1
  292. package/out/_next/static/chunks/1-xf86jgea22y.js +0 -1
  293. package/out/_next/static/chunks/10b0qqdnb_nox.js +0 -1
  294. package/out/_next/static/chunks/12kdmh0h_mboy.js +0 -1
  295. package/out/_next/static/chunks/14ijcpo72av4r.js +0 -1
  296. package/out/_next/static/chunks/16hdip1drt8o-.js +0 -1
  297. package/out/_next/static/chunks/18txc1wwwu9f9.js +0 -1
  298. package/out/_next/static/chunks/18wa83g0qfh-b.js +0 -1
  299. package/out/_next/static/chunks/19dp8nr4uygg2.js +0 -5
  300. package/out/_next/static/chunks/1_8acnu6_-qe-.js +0 -1
  301. package/out/_next/static/chunks/1__nujzr9e352.js +0 -3
  302. package/out/_next/static/chunks/1bmyq1b0by7ug.js +0 -1
  303. package/out/_next/static/chunks/1d1tpj9nm1nhf.js +0 -1
  304. package/out/_next/static/chunks/1dfwa563iciz3.js +0 -1
  305. package/out/_next/static/chunks/1di5enkavl9vx.js +0 -4
  306. package/out/_next/static/chunks/1fwsjnd1y-lx_.js +0 -1
  307. package/out/_next/static/chunks/1gaexq_suxai0.js +0 -1
  308. package/out/_next/static/chunks/1gnggc6370ji-.js +0 -1
  309. package/out/_next/static/chunks/1gtj_l5ame5mw.js +0 -1
  310. package/out/_next/static/chunks/1hsvckd0sgdgr.js +0 -1
  311. package/out/_next/static/chunks/1i4f3n_2_3ery.js +0 -1
  312. package/out/_next/static/chunks/1j7e3qpjuj89a.js +0 -1
  313. package/out/_next/static/chunks/1mrvp94tietcv.js +0 -1
  314. package/out/_next/static/chunks/1mvadj46owrck.js +0 -1
  315. package/out/_next/static/chunks/1nasz7q3tvb53.js +0 -1
  316. package/out/_next/static/chunks/1o3ggu95lfu6i.js +0 -1
  317. package/out/_next/static/chunks/1qjsgebn9m-0l.js +0 -1
  318. package/out/_next/static/chunks/1rr74xxjtckyv.js +0 -1
  319. package/out/_next/static/chunks/1uu55ejvi7q5u.js +0 -1
  320. package/out/_next/static/chunks/1xbzxfeq9789f.js +0 -1
  321. package/out/_next/static/chunks/1ybiu-rkt50_1.js +0 -1
  322. package/out/_next/static/chunks/20qelrstvz9_n.js +0 -1
  323. package/out/_next/static/chunks/21at65obnoo8z.js +0 -1
  324. package/out/_next/static/chunks/21ko5mxfderw0.js +0 -1
  325. package/out/_next/static/chunks/21muzwu43o8xg.js +0 -1
  326. package/out/_next/static/chunks/23d-hvrwpixpm.js +0 -1
  327. package/out/_next/static/chunks/2569rrrffvm2w.js +0 -31
  328. package/out/_next/static/chunks/29o74k0d6hkdf.js +0 -1
  329. package/out/_next/static/chunks/2bm95r0011asw.js +0 -1
  330. package/out/_next/static/chunks/2btabnibkm0db.js +0 -1
  331. package/out/_next/static/chunks/2c--awgkdcikq.js +0 -1
  332. package/out/_next/static/chunks/2c2dspoukng-5.js +0 -1
  333. package/out/_next/static/chunks/2ep7mjbaoeou0.js +0 -1
  334. package/out/_next/static/chunks/2ezgqm7atphi6.js +0 -1
  335. package/out/_next/static/chunks/2gfjzq_vjea4w.js +0 -1
  336. package/out/_next/static/chunks/2h5hase6ewoyc.js +0 -1
  337. package/out/_next/static/chunks/2hghi41nhdww2.css +0 -3
  338. package/out/_next/static/chunks/2ies66gmou203.js +0 -1
  339. package/out/_next/static/chunks/2jenu2eek9viz.js +0 -1
  340. package/out/_next/static/chunks/2luaj_cf5f19-.js +0 -1
  341. package/out/_next/static/chunks/2mgmvz66gh5ub.js +0 -1
  342. package/out/_next/static/chunks/2nwlqtv3vrzcv.js +0 -1
  343. package/out/_next/static/chunks/2o8k8x5zcepfy.js +0 -1
  344. package/out/_next/static/chunks/2pcdnd4nzcw4c.js +0 -1
  345. package/out/_next/static/chunks/2q0rz76kj6h5z.js +0 -1
  346. package/out/_next/static/chunks/2si5cg3hl5dtf.js +0 -4
  347. package/out/_next/static/chunks/2uhrhq35bki6u.js +0 -1
  348. package/out/_next/static/chunks/2wi7y3sfqyqdo.js +0 -3
  349. package/out/_next/static/chunks/2ymtumj-hfrjo.js +0 -1
  350. package/out/_next/static/chunks/2zdzgmacaoor9.js +0 -1
  351. package/out/_next/static/chunks/3-irhmtm1q5qw.js +0 -1
  352. package/out/_next/static/chunks/3-k74vn9exnb6.js +0 -1
  353. package/out/_next/static/chunks/31ei992g8gqz9.js +0 -1
  354. package/out/_next/static/chunks/34845aqksy1dl.js +0 -3
  355. package/out/_next/static/chunks/34y7nx6qmat06.js +0 -1
  356. package/out/_next/static/chunks/36rqw8h6ildpl.js +0 -1
  357. package/out/_next/static/chunks/3a_khw6q6pyh1.js +0 -1
  358. package/out/_next/static/chunks/3c_31f20z4jrl.js +0 -1
  359. package/out/_next/static/chunks/3ckp70rgr63u9.js +0 -1
  360. package/out/_next/static/chunks/3ed24zmt8qfys.js +0 -1
  361. package/out/_next/static/chunks/3ez20hi1mxw0w.js +0 -1
  362. package/out/_next/static/chunks/3fdx-rnos5ft-.js +0 -1
  363. package/out/_next/static/chunks/3fgfbxxb-j_bn.js +0 -4
  364. package/out/_next/static/chunks/3k-gz8qf-mj-p.js +0 -1
  365. package/out/_next/static/chunks/3lehc5pujwhsz.js +0 -1
  366. package/out/_next/static/chunks/3m0ytnc241yfz.js +0 -1
  367. package/out/_next/static/chunks/3mpe7c3iyxn5h.js +0 -1
  368. package/out/_next/static/chunks/3mvaub8qjdyuc.js +0 -1
  369. package/out/_next/static/chunks/3nw7u4bie0-g6.js +0 -1
  370. package/out/_next/static/chunks/3qatb38-tk_gd.js +0 -1
  371. package/out/_next/static/chunks/3tdcdi_utmoy_.js +0 -1
  372. package/out/_next/static/chunks/3tdzweqszru4y.js +0 -1
  373. package/out/_next/static/chunks/3tt_ir_va6262.js +0 -1
  374. package/out/_next/static/chunks/3y_51bmdnc0ey.js +0 -1
  375. package/out/_next/static/chunks/3yr66ufoli71t.js +0 -1
  376. package/out/_next/static/chunks/41qxc142snm22.js +0 -1
  377. package/out/_next/static/chunks/43qmngblcab8f.js +0 -1
  378. package/out/_next/static/chunks/turbopack-3r8yn0j92tqw_.js +0 -1
  379. package/out/_not-found/__next._head.txt +0 -6
  380. package/out/_not-found/__next._index.txt +0 -5
  381. package/out/_not-found/__next._not-found.txt +0 -5
  382. /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_buildManifest.js +0 -0
  383. /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_clientMiddlewareManifest.js +0 -0
  384. /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65229,e=>{"use strict";var t=e.i(57011),i=e.i(5573),s=e.i(97009),n=e.i(99493);class r extends t.FlowGraphEventBlock{constructor(e){super(e),this.type="PointerUp",this.targetMesh=this.registerDataInput("targetMesh",s.RichTypeAny,e?.targetMesh),this.pointerId=this.registerDataOutput("pointerId",s.RichTypeNumber),this.pickedMesh=this.registerDataOutput("pickedMesh",s.RichTypeAny),this.pickedPoint=this.registerDataOutput("pickedPoint",s.RichTypeAny)}_executeEvent(e,t){let s=this.targetMesh.getValue(e),n=t.pickInfo?.pickedMesh;return!(!s||n===s||n&&(0,i._IsDescendantOf)(n,s))||(this.pointerId.setValue(t.event.pointerId,e),this.pickedMesh.setValue(n??null,e),this.pickedPoint.setValue(t.pickInfo?.pickedPoint??null,e),this._execute(e),!this.config?.stopPropagation)}_preparePendingTasks(e){}_cancelPendingTasks(e){}getClassName(){return"FlowGraphPointerUpEventBlock"}}let p=!1;function o(){p||(p=!0,(0,n.RegisterClass)("FlowGraphPointerUpEventBlock",r))}e.s(["FlowGraphPointerUpEventBlock",0,r,"RegisterFlowGraphPointerUpEventBlock",0,o],79517),o(),e.s([],62167),e.i(62167),e.i(79517),e.s(["FlowGraphPointerUpEventBlock",0,r],65229)}]);
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35651,e=>{"use strict";function t(e){return{id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.arguments??{})}}}e.s(["parseOpenAiCompletion",0,function(e){let t=e.choices?.[0]?.message,s=t?.tool_calls??[],n=t?.content??"";return s.length>0?{kind:"tool_calls",toolCalls:s.map(e=>({id:e.id,name:e.function.name,arguments:function(e){if(!e)return{};try{let t=JSON.parse(e);return t&&"object"==typeof t?t:{}}catch{return{}}}(e.function.arguments)})),...n?{content:n}:{}}:{kind:"final",content:n}},"toOpenAiMessages",0,function(e){return e.map(e=>{switch(e.role){case"assistant":return{role:"assistant",content:e.content,...e.toolCalls&&e.toolCalls.length>0?{tool_calls:e.toolCalls.map(t)}:{}};case"tool":return{role:"tool",content:e.content,tool_call_id:e.toolCallId,name:e.name};default:return{role:e.role,content:e.content}}})},"toOpenAiTools",0,function(e){return e.map(e=>({type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}))}])},36542,92628,e=>{"use strict";let t="uptimizr.assistant.backend";function s(){try{return globalThis.localStorage}catch{return}}function n(e=globalThis.navigator){return!!(e&&"gpu"in e&&e.gpu)}e.s(["isWebGpuAvailable",0,n,"loadBackendConfig",0,function(e=s()){let n;if(!e)return null;try{n=e.getItem(t)}catch{return null}if(!n)return null;try{var a;let e=JSON.parse(n);if(!e||"object"!=typeof e||(a=e.backend,"local"!==a&&"hosted"!==a))return null;return e}catch{return null}},"saveBackendConfig",0,function(e,n=s()){if(n)try{n.setItem(t,JSON.stringify(e))}catch{}}],92628);var a=e.i(35651);let r=["Hermes-2-Pro-Llama-3-8B-q4f16_1-MLC","Hermes-2-Pro-Llama-3-8B-q4f32_1-MLC","Hermes-2-Pro-Mistral-7B-q4f16_1-MLC","Hermes-3-Llama-3.1-8B-q4f32_1-MLC","Hermes-3-Llama-3.1-8B-q4f16_1-MLC"],o=Math.round(0x20000000),i=[{id:"Hermes-3-Llama-3.1-8B-q4f16_1-MLC",label:"Hermes 3 (Llama 3.1 8B)",downloadSize:"~4.5 GB",downloadBytes:Math.round(0x120000000),vram:"~4.9 GB",description:"Highest quality; the default. Needs a capable GPU (~5 GB VRAM)."},{id:"Hermes-2-Pro-Llama-3-8B-q4f16_1-MLC",label:"Hermes 2 Pro (Llama 3 8B)",downloadSize:"~4.6 GB",downloadBytes:Math.round(4939212390.4),vram:"~5.0 GB",description:"Stronger Llama-3 base; needs a capable GPU."},{id:"Hermes-2-Pro-Mistral-7B-q4f16_1-MLC",label:"Hermes 2 Pro (Mistral 7B)",downloadSize:"~3.9 GB",downloadBytes:Math.round(4187593113.6),vram:"~4.0 GB",description:"Smallest tool-calling model; the least-VRAM fallback."}];class l extends Error{constructor(){super("WebGPU is not available in this browser; the local model cannot run."),this.name="WebGpuUnavailableError"}}class c extends Error{constructor(){super("Model download was not confirmed by the user."),this.name="WebLlmConsentError"}}class d extends Error{constructor(e){super(`${e} is not supported for tool-calling. The assistant requires function calling; WebLLM supports it only on these models: ${r.join(", ")}.`),this.name="UnsupportedToolCallingModelError"}}class u extends Error{constructor(e){super(e??"Your browser is out of storage for the local model (each model needs ~4 GB of cache). Free up disk space, clear this site's cached data, or switch to a hosted backend, then retry."),this.name="WebLlmStorageError"}}function p(e){return("u">typeof DOMException&&e instanceof DOMException?"QuotaExceededError"===e.name:"object"==typeof e&&null!==e&&"name"in e&&"QuotaExceededError"===e.name)?new u:e}async function m(e){let t,s=function(){let e="u">typeof navigator?navigator.storage:void 0;if(e&&"function"==typeof e.estimate)return e}();if(!s)return;try{t=await s.estimate()}catch{return}let n=t.quota,a=t.usage??0;if("number"==typeof n&&!(n<=0)&&n-a<e.downloadBytes+o){let t=(e.downloadBytes/0x40000000).toFixed(1);throw new u(`Not enough browser storage for ${e.label}: it needs about ${t} GB of free cache space. Free up disk space or clear this site's cached data, then retry — or switch to a hosted backend.`)}}let h=()=>e.A(688);e.s(["CURATED_MODELS",0,i,"createWebLlmProvider",0,function(e={}){var t;let s,o=((t=e.model)?i.find(e=>e.id===t):i[0])??{id:t??"",label:t??"",downloadSize:"?",downloadBytes:0,vram:"?",description:""};if(!r.includes(o.id))throw new d(o.id);let u=e.loadRuntime??h,g=e.hasWebGpu??(()=>n()),x=e.contextWindowSize??8192;async function f(){if(!g())throw new l;if(e.confirmDownload&&!await e.confirmDownload(o))throw new c;await m(o);let t=await u();try{return await t.CreateMLCEngine(o.id,{initProgressCallback:e.onInitProgress?t=>e.onInitProgress?.({progress:t.progress,text:t.text}):void 0},{context_window_size:x})}catch(e){throw p(e)}}return{async complete(e){let t=await (!s&&(s=f().catch(e=>{throw s=void 0,e})),s),n=e.tools.length>0,r=n?function(e){let t=[],s=[];for(let n of e)"system"===n.role?t.push(n.content):s.push(n);if(0===t.length)return[...e];let n=t.join("\n\n"),a=s.findIndex(e=>"user"===e.role);return -1===a?[{role:"user",content:n},...s]:s.map((e,t)=>t!==a?e:{role:"user",content:n+"\n\n"+e.content})}(e.messages):e.messages;try{let s=await t.chat.completions.create({messages:(0,a.toOpenAiMessages)(r),...n?{tools:(0,a.toOpenAiTools)(e.tools),tool_choice:"auto"}:{},stream:!1});return(0,a.parseOpenAiCompletion)(s)}catch(e){throw p(e)}},async unload(){let e=s;if(s=void 0,!e)return;let t=await e.catch(()=>void 0);await t?.unload?.()}}}],36542)},80760,e=>{"use strict";e.s([],1706),e.i(1706);var t=e.i(60951),s=e.i(17422);let n=e=>"number"==typeof e?e:void 0,a=e=>"string"==typeof e?e:void 0,r=s.z.number().int().optional().describe("Start of the time range, epoch milliseconds."),o=s.z.number().int().optional().describe("End of the time range, epoch milliseconds."),i=s.z.number().int().positive().max(500).optional().describe("Grid resolution per axis."),l=s.z.number().int().positive().max(1e3).optional().describe("Maximum rows to return."),c=s.z.string().optional().describe("Restrict to one developer-assigned scene id."),d=s.z.string().optional().describe("Scope the aggregate to a single session id."),u=s.z.number().positive().max(1e3).optional().describe("Voxel size in world units."),p=s.z.number().int().positive().optional().describe("Time-series bucket width, seconds."),m=s.z.string().optional().describe("Restrict to a single event type, e.g. pointer_click."),h=s.z.enum(["mouse","touch","stylus","pen","xr-controller","hand","gaze","transient","other"]).optional().describe("Restrict a pointer/world heatmap to one input source."),g=s.z.enum(["viewer","first-person"]).optional().describe("Camera navigation mode to scope to: 'viewer' (orbit) or 'first-person' (walkable)."),x=s.z.number().nonnegative().max(Math.PI).optional().describe("Rapid-turn threshold in radians (0..π); view turns above this flag motion-sickness risk."),f=s.z.string().min(1).describe('Funnel steps as a JSON-encoded array of ordered step predicates (ADR 0038). Required. Each step is `{ "type": <event_type>, ... }`; e.g. `[{"type":"scene_change","to":"lobby"},{"type":"mesh_interaction","mesh":"buy"}]`.');function b(e){return{since:n(e.since),until:n(e.until)}}let y=[{name:"list_sessions",title:"List recent sessions",description:"Recent sessions with id, visitor, event count, and start/end times.",inputSchema:{since:r,until:o,limit:l},buildRequest:e=>({path:"api/v1/sessions",params:{...b(e),limit:n(e.limit)}})},{name:"pointer_heatmap",title:"2D pointer heatmap",description:"Binned 2D pointer-position heatmap (screen-normalized).",inputSchema:{since:r,until:o,bins:i,scene:c,source:h,session:d},buildRequest:e=>({path:"api/v1/heatmaps/pointer",params:{...b(e),bins:n(e.bins),scene:a(e.scene),source:a(e.source),session:a(e.session)}})},{name:"world_heatmap",title:"3D world-space pointer heatmap",description:"Voxelized world-space pointer heatmap.",inputSchema:{since:r,until:o,cellSize:u,limit:l,scene:c,source:h},buildRequest:e=>({path:"api/v1/heatmaps/world",params:{...b(e),cellSize:n(e.cellSize),limit:n(e.limit),scene:a(e.scene),source:a(e.source)}})},{name:"camera_heatmap",title:"View-direction heatmap",description:"Camera view-direction distribution as spherical bins.",inputSchema:{since:r,until:o,bins:i,scene:c,session:d},buildRequest:e=>({path:"api/v1/heatmaps/camera",params:{...b(e),bins:n(e.bins),scene:a(e.scene),session:a(e.session)}})},{name:"click_rays",title:"View-gated click rays",description:"Clicks ASOF-joined to their nearest camera sample, per voxel and clicked mesh.",inputSchema:{since:r,until:o,cellSize:u,limit:l,scene:c,source:h,session:d},buildRequest:e=>({path:"api/v1/heatmaps/click-rays",params:{...b(e),cellSize:n(e.cellSize),limit:n(e.limit),scene:a(e.scene),source:a(e.source),session:a(e.session)}})},{name:"flow_links",title:"Gaze→mesh flow links",description:"Aggregate links from camera-direction bins to clicked meshes.",inputSchema:{since:r,until:o,bins:i,limit:l,scene:c,session:d},buildRequest:e=>({path:"api/v1/heatmaps/flow",params:{...b(e),bins:n(e.bins),limit:n(e.limit),scene:a(e.scene),session:a(e.session)}})},{name:"top_meshes",title:"Most-interacted meshes",description:"Meshes ranked by interaction count.",inputSchema:{since:r,until:o,limit:l,session:d},buildRequest:e=>({path:"api/v1/meshes/top",params:{...b(e),limit:n(e.limit),session:a(e.session)}})},{name:"perf_summary",title:"Rendering performance summary",description:"Sample count and avg/min/p50 FPS over the range.",inputSchema:{since:r,until:o,session:d},buildRequest:e=>({path:"api/v1/perf",params:{...b(e),session:a(e.session)}})},{name:"list_scenes",title:"List active scenes",description:"Distinct developer-assigned scenes with activity.",inputSchema:{since:r,until:o,limit:l},buildRequest:e=>({path:"api/v1/scenes",params:{...b(e),limit:n(e.limit)}})},{name:"timeseries",title:"Event-volume time series",description:"Event-volume buckets over time, with average FPS per bucket.",inputSchema:{since:r,until:o,interval:p,scene:c,type:m},buildRequest:e=>({path:"api/v1/timeseries",params:{...b(e),interval:n(e.interval),scene:a(e.scene),type:a(e.type)}})},{name:"event_counts",title:"Per-event-type counts",description:"Counts per event type over the range (scene-health panel).",inputSchema:{since:r,until:o,scene:c},buildRequest:e=>({path:"api/v1/event-counts",params:{...b(e),scene:a(e.scene)}})},{name:"session_meta",title:"Session descriptor",description:"Coarse descriptor for one session (device/scene/user). No raw event stream.",inputSchema:{sessionId:s.z.string().min(1).describe("The session id to describe.")},buildRequest:e=>({path:`api/v1/sessions/${encodeURIComponent(a(e.sessionId)??"")}/meta`,params:{}})},{name:"scene_representation",title:"Scene representation",description:"Registered proxy geometry (bounds/meshes) for one scene, if any.",inputSchema:{sceneId:s.z.string().min(1).describe("The scene id to fetch.")},buildRequest:e=>({path:`api/v1/scenes/${encodeURIComponent(a(e.sceneId)??"")}/representation`,params:{}})},{name:"funnel",title:"Conversion funnel",description:"Ordered, per-session conversion funnel (ADR 0038): how many sessions reach each caller-supplied step. Steps are a JSON array (see the `steps` argument).",inputSchema:{since:r,until:o,scene:c,cameraMode:g,steps:f},buildRequest:e=>({path:"api/v1/funnel",params:{...b(e),scene:a(e.scene),cameraMode:a(e.cameraMode),steps:a(e.steps)}})},{name:"aggregate_paths",title:"Aggregate desire-line paths",description:"Crowd-level movement routes (ADR 0037): every session's camera path binned onto the ground grid and returned as ordered, session-keyed points for an overlaid route map.",inputSchema:{since:r,until:o,cellSize:u,limit:l,scene:c,cameraMode:g},buildRequest:e=>({path:"api/v1/paths",params:{...b(e),cellSize:n(e.cellSize),limit:n(e.limit),scene:a(e.scene),cameraMode:a(e.cameraMode)}})},{name:"rendering_technology",title:"Rendering-technology breakdown",description:"Rendering-technology mix from session_start.graphics (ADR 0046): session count per (api, backend, api_version, shading_language) — WebGPU vs WebGL2 and shading language.",inputSchema:{since:r,until:o,scene:c,session:d},buildRequest:e=>({path:"api/v1/rendering-technology",params:{...b(e),scene:a(e.scene),session:a(e.session)}})},{name:"xr_rotation",title:"XR head-rotation rate",description:"XR head/view rotation rate (ADR 0048), a motion-sickness proxy: per-session rapid-turn counts over the camera pose stream.",inputSchema:{since:r,until:o,rapidTurn:x,limit:l,scene:c,session:d},buildRequest:e=>({path:"api/v1/xr/rotation",params:{...b(e),rapidTurn:n(e.rapidTurn),limit:n(e.limit),scene:a(e.scene),session:a(e.session)}})},{name:"xr_sources",title:"XR input-source usage",description:"XR input-source split (ADR 0048): hand vs. controller vs. gaze usage.",inputSchema:{since:r,until:o,limit:l,scene:c,session:d},buildRequest:e=>({path:"api/v1/xr/sources",params:{...b(e),limit:n(e.limit),scene:a(e.scene),session:a(e.session)}})},{name:"xr_abandonment",title:"XR session abandonment",description:"XR session abandonment (ADR 0048): per XR session, its time bounds and event/interaction counts; a short span signals headset drop-off.",inputSchema:{since:r,until:o,limit:l,scene:c,session:d},buildRequest:e=>({path:"api/v1/xr/abandonment",params:{...b(e),limit:n(e.limit),scene:a(e.scene),session:a(e.session)}})},{name:"xr_locomotion",title:"XR locomotion & comfort",description:"XR locomotion & comfort (ADR 0048): per XR session, its locomotion-style mix (fly / navigate / teleport + duration) and wall-clock span — a discomfort proxy.",inputSchema:{since:r,until:o,limit:l,scene:c,session:d},buildRequest:e=>({path:"api/v1/xr/locomotion",params:{...b(e),limit:n(e.limit),scene:a(e.scene),session:a(e.session)}})}],v=["list_sessions","list_scenes","top_meshes","perf_summary","event_counts","timeseries","camera_heatmap"],w=y.filter(e=>v.includes(e.name));async function k(e){let{provider:t,client:n,signal:a}=e,r=e.tools??y,o=e.maxSteps??8,i=e.forceFinalAnswer??!0,l=e.maxToolResultChars??8e3,c=new Map(r.map(e=>[e.name,e])),d=function(e=y){return e.map(e=>({name:e.name,description:e.description,parameters:s.z.toJSONSchema(s.z.object(e.inputSchema))}))}(r),u=[...e.messages],p=0,m=!1;async function h(){m=!0;let e=[...u,{role:"user",content:"Now answer the user's question directly in plain text, using the tool results already gathered above. Do not call any tools. If the data is insufficient, say so briefly."}],s=await t.complete({messages:e,tools:[],signal:a});return"final"===s.kind?s.content:s.content??""}for(;p<o;){p+=1;let e=await t.complete({messages:u,tools:d,signal:a});if("final"===e.kind){if(""===e.content.trim()&&i&&!m){let e=await h();if(""!==e.trim())return u.push({role:"assistant",content:e}),{content:e,messages:u,steps:p,stoppedOnMaxSteps:!1}}return u.push({role:"assistant",content:e.content}),{content:e.content,messages:u,steps:p,stoppedOnMaxSteps:!1}}for(let t of(u.push({role:"assistant",content:e.content??"",toolCalls:e.toolCalls}),e.toolCalls))u.push(await j(n,c.get(t.name),t,l))}if(i&&!m){let e=await h();if(""!==e.trim())return u.push({role:"assistant",content:e}),{content:e,messages:u,steps:p,stoppedOnMaxSteps:!0}}return{content:"",messages:u,steps:p,stoppedOnMaxSteps:!0}}async function j(e,t,n,a){let r=e=>({role:"tool",toolCallId:n.id,name:n.name,content:e});if(!t)return r(`Error: unknown tool "${n.name}".`);let o=s.z.object(t.inputSchema).safeParse(n.arguments??{});if(!o.success){let e=o.error.issues.map(e=>`${e.path.join(".")||"(root)"}: ${e.message}`).join("; ");return r(`Error: invalid arguments for "${n.name}": ${e}`)}try{let{path:s,params:n}=t.buildRequest(o.data),i=await e.get(s,n);return r(function(e,t){if(e.length<=t)return e;let s=e.length-t;return`${e.slice(0,t)}…[truncated ${s} chars]`}(JSON.stringify(i),a))}catch(t){let e=t instanceof Error?t.message:String(t);return r(`Error: ${e}`)}}var S=e.i(36542),N=e.i(92628),C=e.i(20880);let R=(0,t.createContext)(null),_='You are Uptimizr\'s in-browser analytics assistant. You help a developer understand\ntheir 3D-scene analytics by calling read-only tools against their own collector\'s\nquery API and summarising the results in clear, concise prose.\n\nGuidelines:\n- Use the provided tools to fetch data before answering; never invent numbers.\n- All data is aggregate and privacy-preserving — there are no raw per-session events,\n no PII, and no way to ingest or modify data. Do not claim otherwise.\n- Timestamps are epoch milliseconds. When the user gives a relative range\n ("this week", "last 24h"), convert it to `since`/`until` before calling a tool.\n- Prefer a short, direct answer with the key figures. Call out caveats (small sample\n sizes, missing scenes) when relevant.\n- If a tool returns an error, explain what went wrong and, if useful, try a corrected call.';function A(e=_,t=Date.now()){let s=new Date(t).toISOString(),n=`Current time: ${s} (epoch milliseconds: ${t}). Resolve any relative time range in the question against this — "today" is the current calendar day, "this week" the last 7 days, "last 24h" the preceding 24 hours — into concrete \`since\`/\`until\` epoch-ms arguments.`;return`${e}
2
+
3
+ ${n}`}function M(e){return"function"==typeof e.unload}function z(s={}){let{collectorUrl:n,apiKey:a,api:r,systemPrompt:o=_,maxSteps:i=12,confirmDownload:l,persistBackend:c=!0,now:d=()=>Date.now()}=s,u=(0,t.useContext)(R),p=(0,t.useMemo)(()=>r||(n&&a?new C.CollectorApi(n,a):u?.api??null),[r,n,a,u?.api]),[m]=(0,t.useState)(()=>(0,N.isWebGpuAvailable)()),[h,g]=(0,t.useState)(()=>s.backend?s.backend:(0,N.loadBackendConfig)()),[x,f]=(0,t.useState)([]),[b,v]=(0,t.useState)("idle"),[j,P]=(0,t.useState)(null),[q,E]=(0,t.useState)([]),[B,L]=(0,t.useState)(null),[I,D]=(0,t.useState)(null),O=(0,t.useRef)(x);O.current=x;let G=(0,t.useRef)(h);G.current=h;let T=(0,t.useRef)(d);T.current=d;let U=(0,t.useRef)(null),$=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{$.current?.abort();let e=U.current;U.current=null,e&&M(e.provider)&&e.provider.unload().catch(()=>{})},[]);let W=(0,t.useCallback)(e=>{g(e),c&&(0,N.saveBackendConfig)(e)},[c]),H=(0,t.useCallback)(async t=>{if("local"===t.backend){let{createWebLlmProvider:s}=await e.A(86354);return s({model:t.webllm?.model,confirmDownload:l,onInitProgress:e=>{L(e),v(e.progress>=1?"thinking":"initializing")}})}if(!t.hosted)throw Error("Hosted backend selected but not configured (endpoint, key, and model).");let{createHostedProvider:s}=await e.A(45697),{api:n,endpoint:a,apiKey:r,model:o}=t.hosted;return s({api:n,endpoint:a,apiKey:r,model:o})},[l]),F=(0,t.useCallback)(async e=>{let t=JSON.stringify(e),s=U.current;if(s&&s.key===t)return s.provider;s&&M(s.provider)&&s.provider.unload().catch(()=>{});let n=await H(e);return U.current={key:t,provider:n},n},[H]),V=(0,t.useCallback)(async e=>{let t=e.trim();if(!t)return;let s=G.current;if(!p){P(Error("No collector connection. Pass collectorUrl + apiKey or wrap in <UptimizrProvider>.")),v("error");return}if(!s){P(Error("No assistant backend selected. Choose a local or hosted backend first.")),v("error");return}let n={role:"user",content:t},a=O.current,r=0===a.length?[{role:"system",content:A(o,T.current())},n]:[...a,n];f(r),E([]),P(null),L(null),D(null),v("initializing");let l=new AbortController;$.current=l;let c=e=>E(t=>{let s=t.findIndex(e=>"running"===e.status),n=-1===s?void 0:t[s];if(!n)return t;let a=t.slice();return a[s]={...n,status:e},a});try{var d;let e=await F(s);v("thinking");let t=await k({provider:{async complete(t){let s=await e.complete(t);return"tool_calls"===s.kind&&E(e=>[...e,...s.toolCalls.map(e=>({id:e.id,name:e.name,status:"running"}))]),s}},client:{async get(e,t){try{let s=await p.read(e,t);return c("done"),s}catch(e){throw c("error"),e}}},messages:r,tools:(d="local"===s.backend?"core":"full","core"===d?w:y),maxSteps:i,signal:l.signal});f(t.messages),E(e=>e.map(e=>"running"===e.status?{...e,status:"done"}:e)),t.stoppedOnMaxSteps?D({kind:"stopped_on_max_steps",steps:t.steps}):0===t.content.trim().length&&D({kind:"no_answer"}),v("idle")}catch(e){if(l.signal.aborted)return void v("idle");P(e instanceof Error?e:Error(String(e))),v("error")}finally{L(null),$.current===l&&($.current=null)}},[p,o,i,F]),X=(0,t.useCallback)(()=>{$.current?.abort()},[]),J=(0,t.useCallback)(()=>{$.current?.abort(),f([]),E([]),P(null),L(null),D(null),v("idle")},[]);return{messages:x,status:b,error:j,toolActivity:q,initProgress:B,notice:I,backend:h,webGpuAvailable:m,models:S.CURATED_MODELS,isReady:!!p&&!!h,isBusy:"initializing"===b||"thinking"===b,send:V,setBackend:W,cancel:X,reset:J}}var P=e.i(61284);let q=["What are my top meshes this week?","How's my average FPS?","Which scenes had activity today?","How many events in the last 24 hours?","How many sessions this week?"];function E({webGpuAvailable:e,onPick:t}){return(0,P.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,P.jsx)("p",{className:"text-xs text-fg-muted",children:"Choose how the assistant runs. Nothing is loaded or downloaded until you pick — your choice is remembered next time."}),(0,P.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,P.jsxs)("div",{className:`flex flex-col gap-2 rounded-md border border-edge p-3 ${e?"":"opacity-60"}`,children:[(0,P.jsxs)("div",{className:"flex items-center gap-2",children:[(0,P.jsx)("h3",{className:"text-sm font-medium text-fg-hi",children:"Local (in-browser)"}),e&&(0,P.jsx)("span",{className:"rounded-full bg-emerald-500/20 px-1.5 py-0.5 text-[10px] uppercase tracking-wide text-emerald-300",children:"Recommended"})]}),(0,P.jsxs)("p",{className:"text-xs text-fg-muted",children:["Private — ",(0,P.jsx)("strong",{children:"nothing leaves your device"}),". Runs on your GPU. Requires a WebGPU browser with ~5 GB free VRAM and a one-time ~4 GB model download."]}),(0,P.jsx)("button",{type:"button",disabled:!e,onClick:()=>t("local"),className:"mt-auto self-start rounded-md bg-emerald-500/70 px-3 py-1 text-xs text-fg-hi disabled:opacity-50",children:"Use local"}),!e&&(0,P.jsx)("p",{className:"text-[11px] text-fg-muted",children:"Requires a WebGPU browser."})]}),(0,P.jsxs)("div",{className:"flex flex-col gap-2 rounded-md border border-edge p-3",children:[(0,P.jsx)("h3",{className:"text-sm font-medium text-fg-hi",children:"Bring your own hosted key"}),(0,P.jsxs)("p",{className:"text-xs text-fg-muted",children:["Lightweight — no download. You supply an OpenAI-compatible or Anthropic endpoint + key. Your questions and aggregated analytics context are"," ",(0,P.jsx)("strong",{children:"sent to that provider"})," (never raw events or PII)."]}),(0,P.jsx)("button",{type:"button",onClick:()=>t("hosted"),className:"mt-auto self-start rounded-md bg-emerald-500/70 px-3 py-1 text-xs text-fg-hi",children:"Use hosted key"})]})]})]})}function B({backend:e,webGpuAvailable:s,models:n,onChange:a,initialKind:r}){let[o,i]=(0,t.useState)(r??e?.backend??(s?"local":"hosted")),[l,c]=(0,t.useState)(e?.webllm?.model??n[0]?.id??""),[d,u]=(0,t.useState)(e?.hosted?.api??"openai"),[p,m]=(0,t.useState)(e?.hosted?.endpoint??""),[h,g]=(0,t.useState)(e?.hosted?.apiKey??""),[x,f]=(0,t.useState)(e?.hosted?.model??"");return(0,P.jsxs)("fieldset",{className:"flex flex-col gap-2 rounded-md border border-edge p-2 text-xs",children:[(0,P.jsx)("legend",{className:"px-1 text-fg-muted",children:"LLM backend"}),(0,P.jsxs)("label",{className:"flex items-center gap-2",children:[(0,P.jsx)("input",{type:"radio",name:"assistant-backend",checked:"local"===o,disabled:!s,onChange:()=>i("local")}),(0,P.jsxs)("span",{className:s?"text-fg":"text-fg-muted",children:["Local (WebLLM / WebGPU) — runs in your browser, zero egress",!s&&" (WebGPU unavailable)"]})]}),"local"===o&&s&&(0,P.jsxs)("div",{className:"ml-6 flex flex-col gap-1",children:[(0,P.jsxs)("label",{className:"flex items-center gap-2",children:[(0,P.jsx)("span",{className:"text-fg-muted",children:"Model"}),(0,P.jsx)("select",{"aria-label":"Local model",value:l,className:"rounded-sm border border-edge bg-ink/40 px-1 py-0.5 text-fg",onChange:e=>c(e.target.value),children:n.map(e=>(0,P.jsxs)("option",{value:e.id,children:[e.label," (",e.downloadSize,")"]},e.id))})]}),(0,P.jsx)("button",{type:"button",onClick:()=>a({backend:"local",webllm:{model:l}}),disabled:!l,className:"self-start rounded-md bg-emerald-500/70 px-2 py-0.5 text-fg-hi disabled:opacity-50",children:"Use this model locally"})]}),(0,P.jsxs)("label",{className:"flex items-center gap-2",children:[(0,P.jsx)("input",{type:"radio",name:"assistant-backend",checked:"hosted"===o,onChange:()=>i("hosted")}),(0,P.jsx)("span",{className:"text-fg",children:"Bring your own hosted provider (OpenAI-compatible or Anthropic)"})]}),"hosted"===o&&(0,P.jsxs)("div",{className:"ml-6 flex flex-col gap-1",children:[(0,P.jsxs)("label",{className:"flex items-center gap-2",children:[(0,P.jsx)("span",{className:"w-16 text-fg-muted",children:"API"}),(0,P.jsxs)("select",{"aria-label":"Hosted API",value:d,className:"rounded-sm border border-edge bg-ink/40 px-1 py-0.5 text-fg",onChange:e=>u(e.target.value),children:[(0,P.jsx)("option",{value:"openai",children:"OpenAI-compatible"}),(0,P.jsx)("option",{value:"anthropic",children:"Anthropic"})]})]}),(0,P.jsxs)("label",{className:"flex items-center gap-2",children:[(0,P.jsx)("span",{className:"w-16 text-fg-muted",children:"Endpoint"}),(0,P.jsx)("input",{type:"url","aria-label":"Endpoint",value:p,placeholder:"https://api.openai.com/v1",className:"flex-1 rounded-sm border border-edge bg-ink/40 px-1 py-0.5 text-fg",onChange:e=>m(e.target.value)})]}),(0,P.jsxs)("label",{className:"flex items-center gap-2",children:[(0,P.jsx)("span",{className:"w-16 text-fg-muted",children:"API key"}),(0,P.jsx)("input",{type:"password","aria-label":"API key",value:h,className:"flex-1 rounded-sm border border-edge bg-ink/40 px-1 py-0.5 text-fg",onChange:e=>g(e.target.value)})]}),(0,P.jsxs)("label",{className:"flex items-center gap-2",children:[(0,P.jsx)("span",{className:"w-16 text-fg-muted",children:"Model"}),(0,P.jsx)("input",{type:"text","aria-label":"Hosted model",value:x,placeholder:"gpt-4o-mini",className:"flex-1 rounded-sm border border-edge bg-ink/40 px-1 py-0.5 text-fg",onChange:e=>f(e.target.value)})]}),(0,P.jsx)("button",{type:"button",onClick:()=>a({backend:"hosted",hosted:{api:d,endpoint:p,apiKey:h,model:x}}),disabled:!p||!h||!x,className:"self-start rounded-md bg-emerald-500/70 px-2 py-0.5 text-fg-hi disabled:opacity-50",children:"Use this provider"})]})]})}function L({backend:e}){let t=e?.backend==="hosted"?"Your prompt and aggregated results are sent to your own provider — never raw events or PII.":"Runs 100% in your browser. Nothing — not your prompt nor your data — leaves this device.";return(0,P.jsx)("p",{className:"text-xs text-fg-muted",children:t})}function I({model:e,onDecision:t}){return(0,P.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Download model",className:"flex flex-col gap-2 rounded-md border border-edge bg-surface p-3 text-xs",children:[(0,P.jsxs)("p",{className:"text-fg",children:["Download ",(0,P.jsx)("strong",{children:e.label})," (",e.downloadSize,", needs ~",e.vram," VRAM)? It runs 100% locally in your browser and nothing leaves this device."]}),(0,P.jsx)("p",{className:"text-fg-muted",children:e.description}),(0,P.jsxs)("div",{className:"flex gap-2",children:[(0,P.jsx)("button",{type:"button",onClick:()=>t(!0),className:"rounded-md bg-emerald-500/70 px-3 py-1 text-fg-hi",children:"Download & run locally"}),(0,P.jsx)("button",{type:"button",onClick:()=>t(!1),className:"rounded-md border border-edge px-3 py-1 text-fg-muted hover:text-fg",children:"Cancel"})]})]})}e.s(["AssistantPanel",0,function({title:e="Analytics assistant",placeholder:s="Ask about your 3D analytics…",className:n,...a}){let[r,o]=(0,t.useState)(null),i=(0,t.useCallback)(e=>new Promise(t=>o({model:e,resolve:t})),[]),{messages:l,status:c,error:d,toolActivity:u,initProgress:p,notice:m,backend:h,webGpuAvailable:g,isBusy:x,isReady:f,send:b,cancel:y,setBackend:v,models:w}=z({...a,confirmDownload:a.confirmDownload??i}),[k,j]=(0,t.useState)(""),[S,N]=(0,t.useState)(!1),[C,R]=(0,t.useState)(null),_=(0,t.useCallback)(e=>{e.preventDefault(),k.trim()&&!x&&(j(""),b(k))},[k,x,b]),A=function(e){let t=[];for(let s of e)"user"===s.role?t.push({role:"user",content:s.content}):"assistant"===s.role&&s.content.trim()&&t.push({role:"assistant",content:s.content});return t}(l),M=null===h,D=(0,t.useRef)(null);(0,t.useEffect)(()=>{let e=D.current;e&&"function"==typeof e.scrollIntoView&&e.scrollIntoView({block:"end"})},[l,c,u,m]);let O=u.some(e=>"running"===e.status),G=!x||p?null:O?"Running analytics…":"initializing"===c?"Loading model…":"Thinking…",T=M||S,U=(0,t.useCallback)(()=>{R(null),N(!0)},[]),$=(0,t.useCallback)(()=>{R(null),N(!1)},[]),W=(0,t.useCallback)(e=>{v(e),R(null),N(!1)},[v]);return(0,P.jsxs)("div",{className:`flex flex-col gap-3 text-sm text-fg ${n??""}`,children:[(0,P.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,P.jsx)("h2",{className:"text-base font-medium text-fg-hi",children:e}),!T&&(0,P.jsx)("button",{type:"button",className:"rounded-md border border-edge px-2 py-1 text-xs text-fg-muted hover:text-fg",onClick:U,children:"Change backend"})]}),T?null===C?(0,P.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,P.jsx)(E,{webGpuAvailable:g,onPick:R}),!M&&(0,P.jsx)("button",{type:"button",onClick:$,className:"self-start text-xs text-fg-muted hover:text-fg",children:"← Back to chat"})]}):(0,P.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,P.jsx)("button",{type:"button",onClick:()=>R(null),className:"self-start text-xs text-fg-muted hover:text-fg",children:"← Choose a different backend"}),(0,P.jsx)(B,{backend:h,initialKind:C,webGpuAvailable:g,models:w,onChange:W})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(L,{backend:h}),(0,P.jsxs)("div",{className:"flex max-h-[24rem] flex-col gap-2 overflow-y-auto",children:[(0,P.jsxs)("ol",{className:"flex min-h-[8rem] shrink-0 flex-col gap-2","aria-label":"Conversation",children:[0===A.length&&(0,P.jsxs)("li",{className:"flex flex-col gap-2 text-xs text-fg-muted",children:[(0,P.jsx)("span",{children:"Ask a question to get started — or try one of these:"}),(0,P.jsx)("div",{className:"flex flex-wrap gap-1.5","aria-label":"Example questions",children:q.map(e=>(0,P.jsx)("button",{type:"button",disabled:x||!f,onClick:()=>void b(e),className:"rounded-full border border-edge px-2.5 py-1 text-left text-fg hover:bg-ink/40 disabled:opacity-50",children:e},e))}),h?.backend==="local"&&(0,P.jsx)("p",{"data-role":"capability-note",children:"The local model answers quick, single-metric questions well. For deeper, multi-step analysis, switch to a hosted backend with your own key via “Change backend”."})]}),A.map((e,t)=>(0,P.jsxs)("li",{className:"user"===e.role?"text-fg-hi":"text-fg","data-role":e.role,children:[(0,P.jsx)("span",{className:"mr-1 text-xs uppercase text-fg-muted",children:"user"===e.role?"You":"Assistant"}),(0,P.jsx)("div",{className:"whitespace-pre-wrap",children:e.content})]},t))]}),(0,P.jsx)("div",{role:"status","aria-live":"polite",className:"shrink-0",children:G&&(0,P.jsxs)("span",{className:"flex items-center gap-2 text-xs text-fg-muted",children:[(0,P.jsx)("span",{"aria-hidden":"true",className:"h-3 w-3 animate-spin rounded-full border-2 border-fg-muted border-t-transparent"}),G]})}),u.length>0&&(0,P.jsx)("ul",{className:"flex shrink-0 flex-col gap-1 text-xs text-fg-muted","aria-label":"Tool activity",children:(function(e){let t=[];for(let s of e){let e=t[t.length-1];e&&e.name===s.name&&e.status===s.status?e.count+=1:t.push({name:s.name,status:s.status,count:1})}return t})(u).map((e,t)=>(0,P.jsxs)("li",{"data-status":e.status,"data-count":e.count,children:["running"===e.status?"⏳":"error"===e.status?"⚠️":"✓"," ",e.name,e.count>1?` \xd7${e.count}`:""]},`${e.name}-${t}`))}),m&&!x&&"error"!==c&&(0,P.jsx)("p",{className:"shrink-0 text-xs text-fg-muted","data-role":"notice","data-kind":m.kind,children:"stopped_on_max_steps"===m.kind?`The model kept using tools and didn't produce a written answer (stopped after ${m.steps} steps). Try rephrasing, ask it to summarize the results, or switch to a hosted model for tougher questions.`:"The assistant finished without a text answer. Try rephrasing, or ask it to summarize the results."}),(0,P.jsx)("div",{ref:D,"aria-hidden":"true",className:"shrink-0"})]}),p&&(0,P.jsxs)("div",{className:"flex flex-col gap-1 text-xs text-fg-muted","aria-label":"Model download progress",children:[(0,P.jsx)("span",{children:p.text}),(0,P.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-ink/60",children:(0,P.jsx)("div",{className:"h-full bg-emerald-400",style:{width:`${Math.round(100*p.progress)}%`}})})]}),"error"===c&&d&&(0,P.jsx)("div",{className:"rounded-md bg-rose-500/20 px-2 py-1 text-xs text-rose-300",role:"alert",children:"WebLlmStorageError"===d.name?(0,P.jsxs)("div",{className:"flex flex-col gap-1","data-kind":"storage",children:[(0,P.jsx)("span",{className:"font-medium",children:"Your browser is out of storage for the local model."}),(0,P.jsx)("span",{children:"Each local model caches about 4 GB in this site's browser storage, and trying several models stacks them up. To fix it: free up disk space, clear this site's cached data (browser settings → clear site data / storage), or pick the smallest model — or switch to a hosted backend. Then retry."})]}):(0,P.jsx)("span",{children:d.message})}),(0,P.jsxs)("form",{onSubmit:_,className:"flex items-center gap-2",children:[(0,P.jsx)("input",{type:"text",value:k,onChange:e=>j(e.target.value),placeholder:s,disabled:x,"aria-label":"Message",className:"flex-1 rounded-md border border-edge bg-ink/40 px-2 py-1 text-fg placeholder:text-fg-muted"}),x?(0,P.jsx)("button",{type:"button",onClick:y,className:"rounded-md border border-edge px-3 py-1 text-xs text-fg-muted hover:text-fg",children:"Stop"}):(0,P.jsx)("button",{type:"submit",disabled:!k.trim()||!f,className:"rounded-md bg-emerald-500/70 px-3 py-1 text-xs text-fg-hi disabled:opacity-50",children:"Send"})]})]}),r&&(0,P.jsx)(I,{model:r.model,onDecision:e=>{r.resolve(e),o(null)}})]})},"DEFAULT_SYSTEM_PROMPT",0,_,"composeSystemPrompt",0,A,"useAssistant",0,z],80760)},55810,function(e){e.n(e.i(80760))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,3994,e=>{e.v(t=>Promise.all(["static/chunks/175st2ogkg_1o.js","static/chunks/3vv99btjc-mky.js","static/chunks/29rkmguzky-bp.js"].map(t=>e.l(t))).then(()=>t(27884)))},80539,e=>{e.v(t=>Promise.all(["static/chunks/2kj6pzs_wap1v.js"].map(t=>e.l(t))).then(()=>t(12530)))},40215,e=>{e.v(t=>Promise.all(["static/chunks/0zcsxvcvog9ue.js","static/chunks/29rkmguzky-bp.js","static/chunks/0ngpoj2g5i4kz.js","static/chunks/1a2ouhup611bz.js","static/chunks/40etabvml_71y.js","static/chunks/03bd5plut08tg.js","static/chunks/1w-qc09n9ijtq.js","static/chunks/3i239y-1hbkm-.js"].map(t=>e.l(t))).then(()=>t(41876)))},97437,e=>{e.v(t=>Promise.all(["static/chunks/3ewgyb4y19w-3.js","static/chunks/29rkmguzky-bp.js"].map(t=>e.l(t))).then(()=>t(60413)))},35808,e=>{e.v(t=>Promise.all(["static/chunks/26y9sv8_-ykxf.js"].map(t=>e.l(t))).then(()=>t(55834)))},17247,e=>{e.v(t=>Promise.all(["static/chunks/10_5p5-xf2aoo.js"].map(t=>e.l(t))).then(()=>t(31697)))},10289,e=>{e.v(t=>Promise.all(["static/chunks/1imi0xwi9hd99.js","static/chunks/29rkmguzky-bp.js"].map(t=>e.l(t))).then(()=>t(48329)))},2596,e=>{"use strict";var t=e.i(85789);let s=new Map;function a(e,a){var c;c=e,s.delete(c)&&t.Logger.Warn(`Extension with the name '${e}' already exists`),s.set(e,a)}e.s(["_GetCompatibleTextureLoader",0,function(t,c){("image/ktx"===c||"image/ktx2"===c)&&(t=".ktx"),!s.has(t)&&(t.endsWith(".ies")&&a(".ies",async()=>await e.A(17247).then(e=>new e._IESTextureLoader)),t.endsWith(".dds")&&a(".dds",async()=>await e.A(80539).then(e=>new e._DDSTextureLoader)),t.endsWith(".basis")&&a(".basis",async()=>await e.A(3994).then(e=>new e._BasisTextureLoader)),t.endsWith(".env")&&a(".env",async()=>await e.A(40215).then(e=>new e._ENVTextureLoader)),t.endsWith(".hdr")&&a(".hdr",async()=>await e.A(35808).then(e=>new e._HDRTextureLoader)),(t.endsWith(".ktx")||t.endsWith(".ktx2"))&&(a(".ktx",async()=>await e.A(10289).then(e=>new e._KTXTextureLoader)),a(".ktx2",async()=>await e.A(10289).then(e=>new e._KTXTextureLoader))),t.endsWith(".tga")&&a(".tga",async()=>await e.A(79329).then(e=>new e._TGATextureLoader)),t.endsWith(".exr")&&a(".exr",async()=>await e.A(97437).then(e=>new e._ExrTextureLoader)));let r=s.get(t);return r?Promise.resolve(r(c)):null}])},79329,e=>{e.v(t=>Promise.all(["static/chunks/2rmc6ru7mc-kg.js"].map(t=>e.l(t))).then(()=>t(80459)))},27952,e=>{"use strict";var t=e.i(72003);let s=[Math.sqrt(1/(4*Math.PI)),-Math.sqrt(3/(4*Math.PI)),Math.sqrt(3/(4*Math.PI)),-Math.sqrt(3/(4*Math.PI)),Math.sqrt(15/(4*Math.PI)),-Math.sqrt(15/(4*Math.PI)),Math.sqrt(5/(16*Math.PI)),-Math.sqrt(15/(4*Math.PI)),Math.sqrt(15/(16*Math.PI))],a=[()=>1,e=>e.y,e=>e.z,e=>e.x,e=>e.x*e.y,e=>e.y*e.z,e=>3*e.z*e.z-1,e=>e.x*e.z,e=>e.x*e.x-e.y*e.y],c=(e,t)=>s[e]*a[e](t),r=[Math.PI,2*Math.PI/3,2*Math.PI/3,2*Math.PI/3,Math.PI/4,Math.PI/4,Math.PI/4,Math.PI/4,Math.PI/4];class l{constructor(){this.preScaled=!1,this.l00=t.Vector3.Zero(),this.l1_1=t.Vector3.Zero(),this.l10=t.Vector3.Zero(),this.l11=t.Vector3.Zero(),this.l2_2=t.Vector3.Zero(),this.l2_1=t.Vector3.Zero(),this.l20=t.Vector3.Zero(),this.l21=t.Vector3.Zero(),this.l22=t.Vector3.Zero()}addLight(e,s,a){t.TmpVectors.Vector3[0].set(s.r,s.g,s.b);let r=t.TmpVectors.Vector3[0],l=t.TmpVectors.Vector3[1];r.scaleToRef(a,l),l.scaleToRef(c(0,e),t.TmpVectors.Vector3[2]),this.l00.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(1,e),t.TmpVectors.Vector3[2]),this.l1_1.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(2,e),t.TmpVectors.Vector3[2]),this.l10.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(3,e),t.TmpVectors.Vector3[2]),this.l11.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(4,e),t.TmpVectors.Vector3[2]),this.l2_2.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(5,e),t.TmpVectors.Vector3[2]),this.l2_1.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(6,e),t.TmpVectors.Vector3[2]),this.l20.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(7,e),t.TmpVectors.Vector3[2]),this.l21.addInPlace(t.TmpVectors.Vector3[2]),l.scaleToRef(c(8,e),t.TmpVectors.Vector3[2]),this.l22.addInPlace(t.TmpVectors.Vector3[2])}scaleInPlace(e){this.l00.scaleInPlace(e),this.l1_1.scaleInPlace(e),this.l10.scaleInPlace(e),this.l11.scaleInPlace(e),this.l2_2.scaleInPlace(e),this.l2_1.scaleInPlace(e),this.l20.scaleInPlace(e),this.l21.scaleInPlace(e),this.l22.scaleInPlace(e)}convertIncidentRadianceToIrradiance(){this.l00.scaleInPlace(r[0]),this.l1_1.scaleInPlace(r[1]),this.l10.scaleInPlace(r[2]),this.l11.scaleInPlace(r[3]),this.l2_2.scaleInPlace(r[4]),this.l2_1.scaleInPlace(r[5]),this.l20.scaleInPlace(r[6]),this.l21.scaleInPlace(r[7]),this.l22.scaleInPlace(r[8])}convertIrradianceToLambertianRadiance(){this.scaleInPlace(1/Math.PI)}preScaleForRendering(){this.preScaled=!0,this.l00.scaleInPlace(s[0]),this.l1_1.scaleInPlace(s[1]),this.l10.scaleInPlace(s[2]),this.l11.scaleInPlace(s[3]),this.l2_2.scaleInPlace(s[4]),this.l2_1.scaleInPlace(s[5]),this.l20.scaleInPlace(s[6]),this.l21.scaleInPlace(s[7]),this.l22.scaleInPlace(s[8])}updateFromArray(e){return t.Vector3.FromArrayToRef(e[0],0,this.l00),t.Vector3.FromArrayToRef(e[1],0,this.l1_1),t.Vector3.FromArrayToRef(e[2],0,this.l10),t.Vector3.FromArrayToRef(e[3],0,this.l11),t.Vector3.FromArrayToRef(e[4],0,this.l2_2),t.Vector3.FromArrayToRef(e[5],0,this.l2_1),t.Vector3.FromArrayToRef(e[6],0,this.l20),t.Vector3.FromArrayToRef(e[7],0,this.l21),t.Vector3.FromArrayToRef(e[8],0,this.l22),this}updateFromFloatsArray(e){return t.Vector3.FromFloatsToRef(e[0],e[1],e[2],this.l00),t.Vector3.FromFloatsToRef(e[3],e[4],e[5],this.l1_1),t.Vector3.FromFloatsToRef(e[6],e[7],e[8],this.l10),t.Vector3.FromFloatsToRef(e[9],e[10],e[11],this.l11),t.Vector3.FromFloatsToRef(e[12],e[13],e[14],this.l2_2),t.Vector3.FromFloatsToRef(e[15],e[16],e[17],this.l2_1),t.Vector3.FromFloatsToRef(e[18],e[19],e[20],this.l20),t.Vector3.FromFloatsToRef(e[21],e[22],e[23],this.l21),t.Vector3.FromFloatsToRef(e[24],e[25],e[26],this.l22),this}static FromArray(e){return new l().updateFromArray(e)}static FromPolynomial(e){let t=new l;return t.l00=e.xx.scale(.376127).add(e.yy.scale(.376127)).add(e.zz.scale(.376126)),t.l1_1=e.y.scale(.977204),t.l10=e.z.scale(.977204),t.l11=e.x.scale(.977204),t.l2_2=e.xy.scale(1.16538),t.l2_1=e.yz.scale(1.16538),t.l20=e.zz.scale(1.34567).subtract(e.xx.scale(.672834)).subtract(e.yy.scale(.672834)),t.l21=e.zx.scale(1.16538),t.l22=e.xx.scale(1.16538).subtract(e.yy.scale(1.16538)),t.l1_1.scaleInPlace(-1),t.l11.scaleInPlace(-1),t.l2_1.scaleInPlace(-1),t.l21.scaleInPlace(-1),t.scaleInPlace(Math.PI),t}}e.s(["SphericalHarmonics",0,l,"SphericalPolynomial",0,class e{constructor(){this.x=t.Vector3.Zero(),this.y=t.Vector3.Zero(),this.z=t.Vector3.Zero(),this.xx=t.Vector3.Zero(),this.yy=t.Vector3.Zero(),this.zz=t.Vector3.Zero(),this.xy=t.Vector3.Zero(),this.yz=t.Vector3.Zero(),this.zx=t.Vector3.Zero()}get preScaledHarmonics(){return this._harmonics||(this._harmonics=l.FromPolynomial(this)),this._harmonics.preScaled||this._harmonics.preScaleForRendering(),this._harmonics}addAmbient(e){t.TmpVectors.Vector3[0].copyFromFloats(e.r,e.g,e.b);let s=t.TmpVectors.Vector3[0];this.xx.addInPlace(s),this.yy.addInPlace(s),this.zz.addInPlace(s)}scaleInPlace(e){this.x.scaleInPlace(e),this.y.scaleInPlace(e),this.z.scaleInPlace(e),this.xx.scaleInPlace(e),this.yy.scaleInPlace(e),this.zz.scaleInPlace(e),this.yz.scaleInPlace(e),this.zx.scaleInPlace(e),this.xy.scaleInPlace(e)}updateFromHarmonics(e){return this._harmonics=e,this.x.copyFrom(e.l11),this.x.scaleInPlace(1.02333).scaleInPlace(-1),this.y.copyFrom(e.l1_1),this.y.scaleInPlace(1.02333).scaleInPlace(-1),this.z.copyFrom(e.l10),this.z.scaleInPlace(1.02333),this.xx.copyFrom(e.l00),t.TmpVectors.Vector3[0].copyFrom(e.l20).scaleInPlace(.247708),t.TmpVectors.Vector3[1].copyFrom(e.l22).scaleInPlace(.429043),this.xx.scaleInPlace(.886277).subtractInPlace(t.TmpVectors.Vector3[0]).addInPlace(t.TmpVectors.Vector3[1]),this.yy.copyFrom(e.l00),this.yy.scaleInPlace(.886277).subtractInPlace(t.TmpVectors.Vector3[0]).subtractInPlace(t.TmpVectors.Vector3[1]),this.zz.copyFrom(e.l00),t.TmpVectors.Vector3[0].copyFrom(e.l20).scaleInPlace(.495417),this.zz.scaleInPlace(.886277).addInPlace(t.TmpVectors.Vector3[0]),this.yz.copyFrom(e.l2_1),this.yz.scaleInPlace(.858086).scaleInPlace(-1),this.zx.copyFrom(e.l21),this.zx.scaleInPlace(.858086).scaleInPlace(-1),this.xy.copyFrom(e.l2_2),this.xy.scaleInPlace(.858086),this.scaleInPlace(1/Math.PI),this}static FromHarmonics(t){return new e().updateFromHarmonics(t)}static FromArray(s){let a=new e;return t.Vector3.FromArrayToRef(s[0],0,a.x),t.Vector3.FromArrayToRef(s[1],0,a.y),t.Vector3.FromArrayToRef(s[2],0,a.z),t.Vector3.FromArrayToRef(s[3],0,a.xx),t.Vector3.FromArrayToRef(s[4],0,a.yy),t.Vector3.FromArrayToRef(s[5],0,a.zz),t.Vector3.FromArrayToRef(s[6],0,a.yz),t.Vector3.FromArrayToRef(s[7],0,a.zx),t.Vector3.FromArrayToRef(s[8],0,a.xy),a}}])},72061,e=>{e.v(t=>Promise.all(["static/chunks/0mp0jh1gj7290.js"].map(t=>e.l(t))).then(()=>t(6668)))}]);
@@ -0,0 +1,31 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36437,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},28166,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={WarningIcon:function(){return a},errorStyles:function(){return u},errorThemeCss:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(36437);let i=e.r(61284);e.r(60951);let u={container:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},card:{marginTop:"-32px",maxWidth:"325px",padding:"32px 28px",textAlign:"left"},icon:{marginBottom:"24px"},title:{fontSize:"24px",fontWeight:500,letterSpacing:"-0.02em",lineHeight:"32px",margin:"0 0 12px 0",color:"var(--next-error-title)"},message:{fontSize:"14px",fontWeight:400,lineHeight:"21px",margin:"0 0 20px 0",color:"var(--next-error-message)"},form:{margin:0},buttonGroup:{display:"flex",gap:"8px",alignItems:"center"},button:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-text)",background:"var(--next-error-btn-bg)",border:"var(--next-error-btn-border)"},buttonSecondary:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-secondary-text)",background:"var(--next-error-btn-secondary-bg)",border:"var(--next-error-btn-secondary-border)"},digestFooter:{position:"fixed",bottom:"32px",left:"0",right:"0",textAlign:"center",fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace',fontSize:"12px",lineHeight:"18px",fontWeight:400,margin:"0",color:"var(--next-error-digest)"}},s=`
2
+ :root {
3
+ --next-error-bg: #fff;
4
+ --next-error-text: #171717;
5
+ --next-error-title: #171717;
6
+ --next-error-message: #171717;
7
+ --next-error-digest: #666666;
8
+ --next-error-btn-text: #fff;
9
+ --next-error-btn-bg: #171717;
10
+ --next-error-btn-border: none;
11
+ --next-error-btn-secondary-text: #171717;
12
+ --next-error-btn-secondary-bg: transparent;
13
+ --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);
14
+ }
15
+ @media (prefers-color-scheme: dark) {
16
+ :root {
17
+ --next-error-bg: #0a0a0a;
18
+ --next-error-text: #ededed;
19
+ --next-error-title: #ededed;
20
+ --next-error-message: #ededed;
21
+ --next-error-digest: #a0a0a0;
22
+ --next-error-btn-text: #0a0a0a;
23
+ --next-error-btn-bg: #ededed;
24
+ --next-error-btn-border: none;
25
+ --next-error-btn-secondary-text: #ededed;
26
+ --next-error-btn-secondary-bg: transparent;
27
+ --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);
28
+ }
29
+ }
30
+ body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }
31
+ `.replace(/\n\s*/g,"");function a(){return(0,i.jsx)("svg",{width:"32",height:"32",viewBox:"-0.2 -1.5 32 32",fill:"none",style:u.icon,children:(0,i.jsx)("path",{d:"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z",fill:"var(--next-error-title)"})})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},12623,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}}),e.r(36437);let n=e.r(61284);e.r(60951);let o=e.r(9330),i=e.r(28166),u=function({error:e}){let t=e?.digest,r=!!t;return(0,o.handleISRError)({error:e}),(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{children:(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:i.errorThemeCss}})}),(0,n.jsxs)("body",{children:[(0,n.jsx)("div",{style:i.errorStyles.container,children:(0,n.jsxs)("div",{style:i.errorStyles.card,children:[(0,n.jsx)(i.WarningIcon,{}),(0,n.jsx)("h1",{style:i.errorStyles.title,children:"This page couldn’t load"}),(0,n.jsx)("p",{style:i.errorStyles.message,children:r?"A server error occurred. Reload to try again.":"Reload to try again, or go back."}),(0,n.jsxs)("div",{style:i.errorStyles.buttonGroup,children:[(0,n.jsx)("form",{style:i.errorStyles.form,children:(0,n.jsx)("button",{type:"submit",style:i.errorStyles.button,children:"Reload"})}),!r&&(0,n.jsx)("button",{type:"button",style:i.errorStyles.buttonSecondary,onClick:()=>{window.history.length>1?window.history.back():window.location.href="/"},children:"Back"})]})]})}),t&&(0,n.jsxs)("p",{style:i.errorStyles.digestFooter,children:["ERROR ",t]})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},9330,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"handleISRError",{enumerable:!0,get:function(){return o}});let n=e.r(63297);function o({error:e}){if(n.workAsyncStorage){let t=n.workAsyncStorage.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},63297,(e,t,r)=>{"use strict";let n,o,i;Object.defineProperty(r,"__esModule",{value:!0});var u={actionAsyncStorage:function(){return n},workAsyncStorage:function(){return o},workUnitAsyncStorage:function(){return i}};for(var s in u)Object.defineProperty(r,s,{enumerable:!0,get:u[s]});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},35980,(e,t,r)=>{var n={156:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var a=[],c=!1,l=-1;function f(){c&&n&&(c=!1,n.length?a=n.concat(a):l=-1,a.length&&d())}function d(){if(!c){var e=s(f);c=!0;for(var t=a.length;t;){for(n=a,a=[];++l<t;)n&&n[l].run();l=-1,t=a.length}n=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===u||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function y(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];a.push(new p(e,t)),1!==a.length||c||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=y,o.addListener=y,o.once=y,o.off=y,o.removeListener=y,o.removeAllListeners=y,o.emit=y,o.prependListener=y,o.prependOnceListener=y,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},u=!0;try{n[e](r,r.exports,i),u=!1}finally{u&&delete o[e]}return r.exports}i.ab="/ROOT/node_modules/.pnpm/next@16.3.1_@playwright+test@1.62.1_@types+node@26.2.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/compiled/process/",t.exports=i(156)},54353,(e,t,r)=>{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35980)},28097,(e,t,r)=>{"use strict";var n=e.r(60951);function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var u={d:{f:i,r:function(){throw Error(o(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},s=Symbol.for("react.portal"),a=Symbol.for("react.recoverable"),c=Symbol.for("react.optimistic_key"),l=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function f(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=u,r.browser=function(){var e=Error(o(603));return Object.defineProperty(e,"$$typeof",{value:a}),e},r.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(o(299));return function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:s,key:null==n?null:n===c?c:""+n,children:e,containerInfo:t,implementation:r}}(e,t,null,r)},r.flushSync=function(e){var t=l.T,r=u.p;try{if(l.T=null,u.p=2,e)return e()}finally{l.T=t,u.p=r,u.d.f()}},r.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,u.d.C(e,t))},r.prefetchDNS=function(e){"string"==typeof e&&u.d.D(e)},r.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var r=t.as,n=f(r,t.crossOrigin),o="string"==typeof t.integrity?t.integrity:void 0,i="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===r?u.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:n,integrity:o,fetchPriority:i}):"script"===r&&u.d.X(e,{crossOrigin:n,integrity:o,fetchPriority:i,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},r.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var r=f(t.as,t.crossOrigin);u.d.M(e,{crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0})}}else null==t&&u.d.M(e)},r.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var r=t.as,n=f(r,t.crossOrigin);u.d.L(e,r,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},r.preloadModule=function(e,t){if("string"==typeof e)if(t){var r=f(t.as,t.crossOrigin);u.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0})}else u.d.m(e)},r.requestFormReset=function(e){u.d.r(e)},r.unstable_batchedUpdates=function(e,t){return e(t)},r.useFormState=function(e,t,r){return l.H.useFormState(e,t,r)},r.useFormStatus=function(){return l.H.useHostTransitionStatus()},r.version="19.3.0-canary-cbb046ab-20260731"},46663,(e,t,r)=>{"use strict";e.i(54353),!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(28097)},67735,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var i in r={},t)"key"!==i&&(r[i]=t[i]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},61284,(e,t,r)=>{"use strict";e.i(54353),t.exports=e.r(67735)},66634,(e,t,r)=>{"use strict";var n=e.i(54353),o=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),l=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),h=Symbol.for("react.view_transition"),v=Symbol.iterator,b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,_={};function x(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||b}function S(){}function O(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||b}x.prototype.isReactComponent={},x.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},S.prototype=x.prototype;var j=O.prototype=new S;j.constructor=O,m(j,x.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function T(){}var R={H:null,A:null,T:null,S:null},w=Object.prototype.hasOwnProperty;function C(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var k=/\/+/g;function H(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function A(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,s){var a,c,l,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case i:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,u,s)}}if(d)return s=s(t),d=""===u?"."+H(t,0):u,E(s)?(n="",null!=d&&(n=d.replace(k,"$&/")+"/"),e(s,r,n,"",function(e){return e})):null!=s&&(P(s)&&(a=s,c=n+(null==s.key||t&&t.key===s.key?"":(""+s.key).replace(k,"$&/")+"/")+d,s=C(a.type,c,a.props)),r.push(s)),1;d=0;var p=""===u?".":u+":";if(E(t))for(var g=0;g<t.length;g++)f=p+H(u=t[g],g),d+=e(u,r,n,f,s);else if("function"==typeof(g=null===(l=t)||"object"!=typeof l?null:"function"==typeof(l=v&&l[v]||l["@@iterator"])?l:null))for(t=g.call(t),g=0;!(u=t.next()).done;)f=p+H(u=u.value,g++),d+=e(u,r,n,f,s);else if("object"===f){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(T,T):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,n,u,s);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return d}(e,n,"","",function(e){return t.call(r,e,u++)}),n}function M(e){if(-1===e._status){var t=(0,e._result)();t.then(function(r){(0===e._status||-1===e._status)&&(e._status=1,e._result=r,void 0===t.status&&(t.status="fulfilled",t.value=r))},function(r){(0===e._status||-1===e._status)&&(e._status=2,e._result=r,void 0===t.status&&(t.status="rejected",t.reason=r))}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof n.default&&"function"==typeof n.default.emit)return void n.default.emit("uncaughtException",e);console.error(e)};function L(e){var t=R.T,r={};r.types=null!==t?t.types:null,R.T=r;try{var n=e(),o=R.S;null!==o&&o(r,n),"object"==typeof n&&null!==n&&"function"==typeof n.then&&n.then(T,I)}catch(e){I(e)}finally{null!==t&&null!==r.types&&(t.types=r.types),R.T=t}}function $(e){var t=R.T;if(null!==t){var r=t.types;null===r?t.types=[e]:-1===r.indexOf(e)&&r.push(e)}else L($.bind(null,e))}r.Activity=g,r.Children={map:A,forEach:function(e,t,r){A(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return A(e,function(){t++}),t},toArray:function(e){return A(e,function(e){return e})||[]},only:function(e){if(!P(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=x,r.Fragment=u,r.Profiler=a,r.PureComponent=O,r.StrictMode=s,r.Suspense=d,r.ViewTransition=h,r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=R,r.__COMPILER_RUNTIME={__proto__:null,c:function(e){return R.H.useMemoCache(e)}},r.addTransitionType=$,r.cache=function(e){return function(){return e.apply(null,arguments)}},r.cacheSignal=function(){return null},r.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var n=m({},e.props),o=e.key;if(null!=t)for(i in void 0!==t.key&&(o=""+t.key),t)w.call(t,i)&&"key"!==i&&"__self"!==i&&"__source"!==i&&("ref"!==i||void 0!==t.ref)&&(n[i]=t[i]);var i=arguments.length-2;if(1===i)n.children=r;else if(1<i){for(var u=Array(i),s=0;s<i;s++)u[s]=arguments[s+2];n.children=u}return C(e.type,o,n)},r.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:c,_context:e},e},r.createElement=function(e,t,r){var n,o={},i=null;if(null!=t)for(n in void 0!==t.key&&(i=""+t.key),t)w.call(t,n)&&"key"!==n&&"__self"!==n&&"__source"!==n&&(o[n]=t[n]);var u=arguments.length-2;if(1===u)o.children=r;else if(1<u){for(var s=Array(u),a=0;a<u;a++)s[a]=arguments[a+2];o.children=s}if(e&&e.defaultProps)for(n in u=e.defaultProps)void 0===o[n]&&(o[n]=u[n]);return C(e,i,o)},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:f,render:e}},r.isValidElement=P,r.lazy=function(e){return{$$typeof:y,_payload:{_status:-1,_result:e},_init:M}},r.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},r.startTransition=L,r.unstable_useCacheRefresh=function(){return R.H.useCacheRefresh()},r.use=function(e){return R.H.use(e)},r.useActionState=function(e,t,r){return R.H.useActionState(e,t,r)},r.useCallback=function(e,t){return R.H.useCallback(e,t)},r.useContext=function(e){return R.H.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e,t){return R.H.useDeferredValue(e,t)},r.useEffect=function(e,t){return R.H.useEffect(e,t)},r.useEffectEvent=function(e){return R.H.useEffectEvent(e)},r.useId=function(){return R.H.useId()},r.useImperativeHandle=function(e,t,r){return R.H.useImperativeHandle(e,t,r)},r.useInsertionEffect=function(e,t){return R.H.useInsertionEffect(e,t)},r.useLayoutEffect=function(e,t){return R.H.useLayoutEffect(e,t)},r.useMemo=function(e,t){return R.H.useMemo(e,t)},r.useOptimistic=function(e,t){return R.H.useOptimistic(e,t)},r.useReducer=function(e,t,r){return R.H.useReducer(e,t,r)},r.useRef=function(e){return R.H.useRef(e)},r.useState=function(e){return R.H.useState(e)},r.useSyncExternalStore=function(e,t,r){return R.H.useSyncExternalStore(e,t,r)},r.useTransition=function(){return R.H.useTransition()},r.version="19.3.0-canary-cbb046ab-20260731"},60951,(e,t,r)=>{"use strict";e.i(54353),t.exports=e.r(66634)},3121,(e,t,r)=>{"use strict";let n;e.i(54353),Object.defineProperty(r,"__esModule",{value:!0});var o={getAssetToken:function(){return a},getAssetTokenQuery:function(){return c},getDeploymentId:function(){return u},getDeploymentIdQuery:function(){return s}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});function u(){return n}function s(e=!1){let t=n;return t?`${e?"&":"?"}dpl=${t}`:""}function a(){return!1}function c(e=!1){return""}"u">typeof window?(n=document.documentElement.dataset.dplId,delete document.documentElement.dataset.dplId):n=void 0},22613,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return u},isBailoutToCSRError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i="BAILOUT_TO_CLIENT_SIDE_RENDERING";class u extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=i}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===i}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,25656,t=>{"use strict";t.i(70942),(0,t.i(44885).RegisterAnimationGroup)(),t.s([])},44885,t=>{"use strict";var e=t.i(42704),i=t.i(72003),n=t.i(6826);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(63391);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(40092),l=t.i(87710);let h=!1;var m=t.i(72986),_=t.i(80145),g=t.i(8228);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],44885)},70942,t=>{"use strict";t.s([])}]);
@@ -0,0 +1,2 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99429,6302,67863,80592,48404,e=>{"use strict";var t=e.i(42704),i=e.i(85789),s=e.i(2342),r=e.i(7484);class n{constructor(){this._valueCache={},this.vertexCompilationError=null,this.fragmentCompilationError=null,this.programLinkError=null,this.programValidationError=null,this._isDisposed=!1}get isAsync(){return this.isParallelCompiled}get isReady(){return!!this.program&&(!this.isParallelCompiled||this.engine._isRenderingStateCompiled(this))}_handlesSpectorRebuildCallback(e){e&&this.program&&e(this.program)}setEngine(e){this.engine=e}_fillEffectInformation(e,t,i,s,r,n,a,h){let l,o=this.engine;if(o.supportsUniformBuffers)for(let i in t)e.bindUniformBlock(i,t[i]);for(this.engine.getUniforms(this,i).forEach((e,t)=>{s[i[t]]=e}),this._uniforms=s,l=0;l<r.length;l++)null==e.getUniform(r[l])&&(r.splice(l,1),l--);for(let e of(r.forEach((e,t)=>{n[e]=t}),o.getAttributes(this,a)))h.push(e)}dispose(){this._uniforms={},this._isDisposed=!0}_cacheMatrix(e,t){let i=this._valueCache[e],s=t.updateFlag;return(void 0===i||i!==s)&&(this._valueCache[e]=s,!0)}_cacheFloat2(e,t,i){let s=this._valueCache[e];if(!s||2!==s.length)return s=[t,i],this._valueCache[e]=s,!0;let r=!1;return s[0]!==t&&(s[0]=t,r=!0),s[1]!==i&&(s[1]=i,r=!0),r}_cacheFloat3(e,t,i,s){let r=this._valueCache[e];if(!r||3!==r.length)return r=[t,i,s],this._valueCache[e]=r,!0;let n=!1;return r[0]!==t&&(r[0]=t,n=!0),r[1]!==i&&(r[1]=i,n=!0),r[2]!==s&&(r[2]=s,n=!0),n}_cacheFloat4(e,t,i,s,r){let n=this._valueCache[e];if(!n||4!==n.length)return n=[t,i,s,r],this._valueCache[e]=n,!0;let a=!1;return n[0]!==t&&(n[0]=t,a=!0),n[1]!==i&&(n[1]=i,a=!0),n[2]!==s&&(n[2]=s,a=!0),n[3]!==r&&(n[3]=r,a=!0),a}setInt(e,t){let i=this._valueCache[e];(void 0===i||i!==t)&&this.engine.setInt(this._uniforms[e],t)&&(this._valueCache[e]=t)}setInt2(e,t,i){this._cacheFloat2(e,t,i)&&!this.engine.setInt2(this._uniforms[e],t,i)&&(this._valueCache[e]=null)}setInt3(e,t,i,s){this._cacheFloat3(e,t,i,s)&&!this.engine.setInt3(this._uniforms[e],t,i,s)&&(this._valueCache[e]=null)}setInt4(e,t,i,s,r){this._cacheFloat4(e,t,i,s,r)&&!this.engine.setInt4(this._uniforms[e],t,i,s,r)&&(this._valueCache[e]=null)}setIntArray(e,t){this._valueCache[e]=null,this.engine.setIntArray(this._uniforms[e],t)}setIntArray2(e,t){this._valueCache[e]=null,this.engine.setIntArray2(this._uniforms[e],t)}setIntArray3(e,t){this._valueCache[e]=null,this.engine.setIntArray3(this._uniforms[e],t)}setIntArray4(e,t){this._valueCache[e]=null,this.engine.setIntArray4(this._uniforms[e],t)}setUInt(e,t){let i=this._valueCache[e];(void 0===i||i!==t)&&this.engine.setUInt(this._uniforms[e],t)&&(this._valueCache[e]=t)}setUInt2(e,t,i){this._cacheFloat2(e,t,i)&&!this.engine.setUInt2(this._uniforms[e],t,i)&&(this._valueCache[e]=null)}setUInt3(e,t,i,s){this._cacheFloat3(e,t,i,s)&&!this.engine.setUInt3(this._uniforms[e],t,i,s)&&(this._valueCache[e]=null)}setUInt4(e,t,i,s,r){this._cacheFloat4(e,t,i,s,r)&&!this.engine.setUInt4(this._uniforms[e],t,i,s,r)&&(this._valueCache[e]=null)}setUIntArray(e,t){this._valueCache[e]=null,this.engine.setUIntArray(this._uniforms[e],t)}setUIntArray2(e,t){this._valueCache[e]=null,this.engine.setUIntArray2(this._uniforms[e],t)}setUIntArray3(e,t){this._valueCache[e]=null,this.engine.setUIntArray3(this._uniforms[e],t)}setUIntArray4(e,t){this._valueCache[e]=null,this.engine.setUIntArray4(this._uniforms[e],t)}setArray(e,t){this._valueCache[e]=null,this.engine.setArray(this._uniforms[e],t)}setArray2(e,t){this._valueCache[e]=null,this.engine.setArray2(this._uniforms[e],t)}setArray3(e,t){this._valueCache[e]=null,this.engine.setArray3(this._uniforms[e],t)}setArray4(e,t){this._valueCache[e]=null,this.engine.setArray4(this._uniforms[e],t)}setMatrices(e,t){t&&(this._valueCache[e]=null,this.engine.setMatrices(this._uniforms[e],t))}setMatrix(e,t){this._cacheMatrix(e,t)&&!this.engine.setMatrices(this._uniforms[e],t.asArray())&&(this._valueCache[e]=null)}setMatrix3x3(e,t){this._valueCache[e]=null,this.engine.setMatrix3x3(this._uniforms[e],t)}setMatrix2x2(e,t){this._valueCache[e]=null,this.engine.setMatrix2x2(this._uniforms[e],t)}setFloat(e,t){let i=this._valueCache[e];(void 0===i||i!==t)&&this.engine.setFloat(this._uniforms[e],t)&&(this._valueCache[e]=t)}setVector2(e,t){this._cacheFloat2(e,t.x,t.y)&&!this.engine.setFloat2(this._uniforms[e],t.x,t.y)&&(this._valueCache[e]=null)}setFloat2(e,t,i){this._cacheFloat2(e,t,i)&&!this.engine.setFloat2(this._uniforms[e],t,i)&&(this._valueCache[e]=null)}setVector3(e,t){this._cacheFloat3(e,t.x,t.y,t.z)&&!this.engine.setFloat3(this._uniforms[e],t.x,t.y,t.z)&&(this._valueCache[e]=null)}setFloat3(e,t,i,s){this._cacheFloat3(e,t,i,s)&&!this.engine.setFloat3(this._uniforms[e],t,i,s)&&(this._valueCache[e]=null)}setVector4(e,t){this._cacheFloat4(e,t.x,t.y,t.z,t.w)&&!this.engine.setFloat4(this._uniforms[e],t.x,t.y,t.z,t.w)&&(this._valueCache[e]=null)}setQuaternion(e,t){this._cacheFloat4(e,t.x,t.y,t.z,t.w)&&!this.engine.setFloat4(this._uniforms[e],t.x,t.y,t.z,t.w)&&(this._valueCache[e]=null)}setFloat4(e,t,i,s,r){this._cacheFloat4(e,t,i,s,r)&&!this.engine.setFloat4(this._uniforms[e],t,i,s,r)&&(this._valueCache[e]=null)}setColor3(e,t){this._cacheFloat3(e,t.r,t.g,t.b)&&!this.engine.setFloat3(this._uniforms[e],t.r,t.g,t.b)&&(this._valueCache[e]=null)}setColor4(e,t,i){this._cacheFloat4(e,t.r,t.g,t.b,i)&&!this.engine.setFloat4(this._uniforms[e],t.r,t.g,t.b,i)&&(this._valueCache[e]=null)}setDirectColor4(e,t){this._cacheFloat4(e,t.r,t.g,t.b,t.a)&&!this.engine.setFloat4(this._uniforms[e],t.r,t.g,t.b,t.a)&&(this._valueCache[e]=null)}_getVertexShaderCode(){return this.vertexShader?this.engine._getShaderSource(this.vertexShader):null}_getFragmentShaderCode(){return this.fragmentShader?this.engine._getShaderSource(this.fragmentShader):null}}var a=e.i(4385);let h=new WeakMap,l={_webGLVersion:2,cachedPipelines:{}};function o(e){let t=h.get(e);if(!t){if(!e)return l;t={_webGLVersion:e.TEXTURE_BINDING_3D?2:1,_context:e,parallelShaderCompile:e.getExtension("KHR_parallel_shader_compile")||void 0,cachedPipelines:{}},h.set(e,t)}return t}function c(e,t,i,s,r,n){let a=o(s);return n||(n=a._createShaderProgramInjection??_),n(e,f(t,"vertex",s,a._contextWasLost),f(i,"fragment",s,a._contextWasLost),s,r,a.validateShaderPrograms)}function u(e,t,i,s,r,n=null,a){let h=o(r);a||(a=h._createShaderProgramInjection??_);let l=h._webGLVersion>1?"#version 300 es\n#define WEBGL2 \n":"";return a(e,p(t,"vertex",s,l,r,h._contextWasLost),p(i,"fragment",s,l,r,h._contextWasLost),r,n,h.validateShaderPrograms)}function _(e,t,i,s,r=null,n){let a=s.createProgram();if(e.program=a,!a)throw Error("Unable to create program");return s.attachShader(a,t),s.attachShader(a,i),s.linkProgram(a),e.context=s,e.vertexShader=t,e.fragmentShader=i,e.isParallelCompiled||d(e,s,n),a}function d(e,t,i){let s=e.context,r=e.vertexShader,n=e.fragmentShader,a=e.program;if(!s.getProgramParameter(a,s.LINK_STATUS)){if(!t.getShaderParameter(r,t.COMPILE_STATUS)){let i=t.getShaderInfoLog(r);if(i)throw e.vertexCompilationError=i,Error("VERTEX SHADER "+i)}if(!t.getShaderParameter(n,t.COMPILE_STATUS)){let i=t.getShaderInfoLog(n);if(i)throw e.fragmentCompilationError=i,Error("FRAGMENT SHADER "+i)}let i=s.getProgramInfoLog(a);if(i)throw e.programLinkError=i,Error(i)}if(i&&(s.validateProgram(a),!s.getProgramParameter(a,s.VALIDATE_STATUS))){let t=s.getProgramInfoLog(a);if(t)throw e.programValidationError=t,Error(t)}s.deleteShader(r),s.deleteShader(n),e.vertexShader=void 0,e.fragmentShader=void 0,e.onCompiled&&(e.onCompiled(),e.onCompiled=void 0)}function p(e,t,i,s,r,n){return f((0,a._ConcatenateShader)(e,i,s),t,r,n)}function f(e,t,i,s){let r=i.createShader("vertex"===t?i.VERTEX_SHADER:i.FRAGMENT_SHADER);if(!r){let e,r=i.NO_ERROR;for(;(e=i.getError())!==i.NO_ERROR;)r=e;throw Error(`Something went wrong while creating a gl ${t} shader object. gl error=${r}, gl isContextLost=${i.isContextLost()}, _contextWasLost=${s}`)}return i.shaderSource(r,e),i.compileShader(r),r}e.s(["_createShaderProgram",0,_,"_executeWhenRenderingStateIsCompiled",0,function(e,t){if(!e.isParallelCompiled)return void t(e);let i=e.onCompiled;e.onCompiled=()=>{i?.(),t(e)}},"_finalizePipelineContext",0,d,"_isRenderingStateCompiled",0,function(e,t,i){if(e._isDisposed)return!1;let s=o(t);return!!(s&&s.parallelShaderCompile&&s.parallelShaderCompile.COMPLETION_STATUS_KHR&&e.program&&t.getProgramParameter(e.program,s.parallelShaderCompile.COMPLETION_STATUS_KHR))&&(d(e,t,i),!0)},"_preparePipelineContext",0,function(e,t,i,s,r,n,a,h,l,_="",d,p,f){let m=o(e.context);p||(p=m.createRawShaderProgramInjection??c),f||(f=m.createShaderProgramInjection??u),s?e.program=p(e,t,i,e.context,l):e.program=f(e,t,i,h,e.context,l),e.program.__SPECTOR_rebuildProgram=a,d()},"_setProgram",0,function(e,t){t.useProgram(e)},"createPipelineContext",0,function(e,t){let i=new n,s=o(e);return s.parallelShaderCompile&&!s.disableParallelShaderCompile&&(i.isParallelCompiled=!0),i.context=s._context,i},"createRawShaderProgram",0,c,"createShaderProgram",0,u,"deleteStateObject",0,function(e){h.delete(e)},"getStateObject",0,o],6302);var m=e.i(94712);function g(e,t){return o(t).cachedPipelines[e]}function b(e){let t=e._name,i=e.context;if(t&&i){let e=o(i),s=e.cachedPipelines[t];s?.dispose(),delete e.cachedPipelines[t]}}function C(e,t,i,s,n,a,h){let l,o,c=(0,r.IsWindowObjectExist)()?a?.getHostDocument():null;l="string"==typeof t?t:"string"==typeof t.vertexSource?"source:"+t.vertexSource:"string"==typeof t.vertexElement?c?.getElementById(t.vertexElement)||t.vertexElement:t.vertex||t,o="string"==typeof t?t:"string"==typeof t.fragmentSource?"source:"+t.fragmentSource:"string"==typeof t.fragmentElement?c?.getElementById(t.fragmentElement)||t.fragmentElement:t.fragment||t;let u=[void 0,void 0],_=()=>{if(u[0]&&u[1]){let[r,l]=u;(0,m.Initialize)(e),(0,m.Process)(r,e,(r,o)=>{h&&(h._vertexSourceCodeBeforeMigration=o),i&&(r=i("vertex",r)),e.isFragment=!0,(0,m.Process)(l,e,(a,l)=>{var o,c,u,_;h&&(h._fragmentSourceCodeBeforeMigration=l),i&&(a=i("fragment",a));let d=(0,m.Finalize)(r,a,e);e=null;let p=(o=d.vertexCode,c=d.fragmentCode,u=t,_=n,u?{vertexSourceCode:(1===_?"//":"")+"#define SHADER_NAME vertex:"+(u.vertexElement||u.vertex||u.spectorName||u)+"\n"+o,fragmentSourceCode:(1===_?"//":"")+"#define SHADER_NAME fragment:"+(u.fragmentElement||u.fragment||u.spectorName||u)+"\n"+c}:{vertexSourceCode:o,fragmentSourceCode:c});s?.(p.vertexSourceCode,p.fragmentSourceCode)},a)},a)}};S(l,"Vertex","",e=>{h&&(h._rawVertexSourceCode=e),u[0]=e,_()},n),S(o,"Fragment","Pixel",e=>{h&&(h._rawFragmentSourceCode=e),u[1]=e,_()},n)}function S(e,t,i,n,h,l){let o;if("u">typeof HTMLElement&&e instanceof HTMLElement)return void n((0,r.GetDOMTextContent)(e));if("source:"===e.substring(0,7))return void n(e.substring(7));if("base64:"===e.substring(0,7))return void n(window.atob(e.substring(7)));let c=s.ShaderStore.GetShadersStore(h);if(c[e+t+"Shader"])return void n(c[e+t+"Shader"]);if(i&&c[e+i+"Shader"])return void n(c[e+i+"Shader"]);if(o="."===e[0]||"/"===e[0]||e.indexOf("http")>-1?e:s.ShaderStore.GetShadersRepository(h)+e,!(l=l||a._LoadFile))throw Error("loadFileInjection is not defined");l(o+"."+t.toLowerCase()+".fx",n)}let F=(e,t,s,r)=>{try{let i=e.context?o(e.context):null;i&&(i.disableParallelShaderCompile=e.disableParallelCompilation);let n=e.existingPipelineContext||t(e.shaderProcessingContext);return n._name=e.name,e.name&&i&&(i.cachedPipelines[e.name]=n),s(n,e.vertex,e.fragment,!!e.createAsRaw,"","",e.rebuildRebind,e.defines,e.transformFeedbackVaryings,"",()=>{r(n,()=>{e.onRenderingStateCompiled?.(n)})}),n}catch(e){throw i.Logger.Error("Error compiling effect"),e}};e.s(["_ProcessShaderCode",0,C,"createAndPreparePipelineContext",0,F,"getCachedPipeline",0,g,"resetCachedPipeline",0,b],67863);var x=e.i(32945);class v{static get ShadersRepository(){return s.ShaderStore.ShadersRepository}static set ShadersRepository(e){s.ShaderStore.ShadersRepository=e}get isDisposed(){return this._isDisposed}get onBindObservable(){return this._onBindObservable||(this._onBindObservable=new t.Observable),this._onBindObservable}get shaderLanguage(){return this._shaderLanguage}constructor(e,i,s,r=null,n,a=null,h=null,l=null,o=null,c,u="",_=0,d){let p;this.defines="",this.onCompiled=null,this.onError=null,this.onBind=null,this.uniqueId=0,this.onCompileObservable=new t.Observable,this.onErrorObservable=new t.Observable,this._onBindObservable=null,this._isDisposed=!1,this._refCount=1,this._bonesComputationForcedToCPU=!1,this._uniformBuffersNames={},this._multiTarget=!1,this._samplers={},this._isReady=!1,this._compilationError="",this._allFallbacksProcessed=!1,this._uniforms={},this._key="",this._fallbacks=null,this._vertexSourceCodeOverride="",this._fragmentSourceCodeOverride="",this._transformFeedbackVaryings=null,this._disableParallelShaderCompilation=!1,this._pipelineContext=null,this._vertexSourceCode="",this._fragmentSourceCode="",this._vertexSourceCodeBeforeMigration="",this._fragmentSourceCodeBeforeMigration="",this._rawVertexSourceCode="",this._rawFragmentSourceCode="",this._processCodeAfterIncludes=void 0,this._processFinalCode=null,this._onReleaseEffectsObserver=null,this.name=e,this._key=u;const f=this._key.replace(/\r/g,"").replace(/\n/g,"|");if(i.attributes){if(this._engine=s,this._attributesNames=i.attributes,this._uniformsNames=i.uniformsNames.concat(i.samplers),this._samplerList=i.samplers.slice(),this.defines=i.defines,this.onError=i.onError,this.onCompiled=i.onCompiled,this._fallbacks=i.fallbacks,this._indexParameters=i.indexParameters,this._transformFeedbackVaryings=i.transformFeedbackVaryings||null,this._multiTarget=!!i.multiTarget,this._shaderLanguage=i.shaderLanguage??0,this._disableParallelShaderCompilation=!!i.disableParallelShaderCompilation,i.uniformBuffersNames){this._uniformBuffersNamesList=i.uniformBuffersNames.slice();for(let e=0;e<i.uniformBuffersNames.length;e++)this._uniformBuffersNames[i.uniformBuffersNames[e]]=e}this._processFinalCode=i.processFinalCode??null,this._processCodeAfterIncludes=i.processCodeAfterIncludes??void 0,d=i.extraInitializationsAsync,p=i.existingPipelineContext}else this._engine=n,this.defines=null==a?"":a,this._uniformsNames=s.concat(r),this._samplerList=r?r.slice():[],this._attributesNames=i,this._uniformBuffersNamesList=[],this._shaderLanguage=_,this.onError=o,this.onCompiled=l,this._indexParameters=c,this._fallbacks=h;"WEBGL2"===this._engine.shaderPlatformName&&(p=g(f,this._engine._gl)??p),this._attributeLocationByName={},this.uniqueId=v._UniqueIdSeed++,p?(this._pipelineContext=p,this._pipelineContext.setEngine(this._engine),this._onRenderingStateCompiled(this._pipelineContext),this._pipelineContext.program&&(this._pipelineContext.program.__SPECTOR_rebuildProgram=this._rebuildProgram.bind(this))):this._processShaderCodeAsync(null,!1,null,d).catch(e=>{let t=e?.message??String(e),i=Error(`Effect async shader preparation failed for "${String(this.name)}": ${t}`);e&&"string"==typeof e.stack&&(i.stack=`${i.message}
2
+ Caused by: ${e.stack}`),this._processCompilationErrors(i)}),this._onReleaseEffectsObserver=this._engine.onReleaseEffectsObservable.addOnce(()=>{this._onReleaseEffectsObserver=null,this.isDisposed||this.dispose(!0)})}async _processShaderCodeAsync(e=null,t=!1,i=null,r){r&&await r(),this._processingContext=i||this._engine._getShaderProcessingContext(this._shaderLanguage,!1),C({defines:this.defines.split("\n"),indexParameters:this._indexParameters,isFragment:!1,shouldUseHighPrecisionShader:this._engine._shouldUseHighPrecisionShader,processor:e??this._engine._getShaderProcessor(this._shaderLanguage),supportsUniformBuffers:this._engine.supportsUniformBuffers,shadersRepository:s.ShaderStore.GetShadersRepository(this._shaderLanguage),includesShadersStore:s.ShaderStore.GetIncludesShadersStore(this._shaderLanguage),version:(100*this._engine.version).toString(),platformName:this._engine.shaderPlatformName,processingContext:this._processingContext,isNDCHalfZRange:this._engine.isNDCHalfZRange,useReverseDepthBuffer:this._engine.useReverseDepthBuffer,processCodeAfterIncludes:this._processCodeAfterIncludes},this.name,this._processFinalCode,(e,i)=>{this._vertexSourceCode=e,this._fragmentSourceCode=i,this._prepareEffect(t)},this._shaderLanguage,this._engine,this)}get key(){return this._key}isReady(){try{return this._isReadyInternal()}catch{return!1}}_isReadyInternal(){return!!this._engine.isDisposed||!!this._isReady||!!this._pipelineContext&&this._pipelineContext.isReady}getEngine(){return this._engine}getPipelineContext(){return this._pipelineContext}getAttributesNames(){return this._attributesNames}getAttributeLocation(e){return this._attributes[e]}getAttributeLocationByName(e){return this._attributeLocationByName[e]}getAttributesCount(){return this._attributes.length}getUniformIndex(e){return this._uniformsNames.indexOf(e)}getUniform(e){return this._uniforms[e]}getSamplers(){return this._samplerList}getUniformNames(){return this._uniformsNames}getUniformBuffersNames(){return this._uniformBuffersNamesList}getIndexParameters(){return this._indexParameters}getCompilationError(){return this._compilationError}allFallbacksProcessed(){return this._allFallbacksProcessed}async whenCompiledAsync(){return await new Promise(e=>{this.executeWhenCompiled(e)})}executeWhenCompiled(e){this.isReady()?e(this):(this.onCompileObservable.add(t=>{e(t)}),(!this._pipelineContext||this._pipelineContext.isAsync)&&this._checkIsReady(null))}_checkIsReady(e){(0,x._RetryWithInterval)(()=>this._isReadyInternal()||this._isDisposed,()=>{},t=>{this._processCompilationErrors(t,e)},16,12e4,!0,` - Effect: ${"string"==typeof this.name?this.name:this.key}`)}get vertexSourceCode(){return this._vertexSourceCodeOverride&&this._fragmentSourceCodeOverride?this._vertexSourceCodeOverride:this._pipelineContext?._getVertexShaderCode()??this._vertexSourceCode}get fragmentSourceCode(){return this._vertexSourceCodeOverride&&this._fragmentSourceCodeOverride?this._fragmentSourceCodeOverride:this._pipelineContext?._getFragmentShaderCode()??this._fragmentSourceCode}get vertexSourceCodeBeforeMigration(){return this._vertexSourceCodeBeforeMigration}get fragmentSourceCodeBeforeMigration(){return this._fragmentSourceCodeBeforeMigration}get rawVertexSourceCode(){return this._rawVertexSourceCode}get rawFragmentSourceCode(){return this._rawFragmentSourceCode}getPipelineGenerationOptions(){return{platformName:this._engine.shaderPlatformName,shaderLanguage:this._shaderLanguage,shaderNameOrContent:this.name,key:this._key,defines:this.defines.split("\n"),addGlobalDefines:!1,extendedProcessingOptions:{indexParameters:this._indexParameters,isNDCHalfZRange:this._engine.isNDCHalfZRange,useReverseDepthBuffer:this._engine.useReverseDepthBuffer,supportsUniformBuffers:this._engine.supportsUniformBuffers},extendedCreatePipelineOptions:{transformFeedbackVaryings:this._transformFeedbackVaryings,createAsRaw:!!(this._vertexSourceCodeOverride&&this._fragmentSourceCodeOverride)}}}_rebuildProgram(e,t,i,s){this._isReady=!1,this._vertexSourceCodeOverride=e,this._fragmentSourceCodeOverride=t,this.onError=(e,t)=>{s&&s(t)},this.onCompiled=()=>{let e=this.getEngine().scenes;if(e)for(let t=0;t<e.length;t++)e[t].markAllMaterialsAsDirty(127);this._pipelineContext._handlesSpectorRebuildCallback?.(i)},this._fallbacks=null,this._prepareEffect()}_onRenderingStateCompiled(e){if(this._pipelineContext=e,this._pipelineContext.setEngine(this._engine),this._attributes=[],this._pipelineContext._fillEffectInformation(this,this._uniformBuffersNames,this._uniformsNames,this._uniforms,this._samplerList,this._samplers,this._attributesNames,this._attributes),this._attributesNames)for(let e=0;e<this._attributesNames.length;e++){let t=this._attributesNames[e];this._attributeLocationByName[t]=this._attributes[e]}this._engine.bindSamplers(this),this._compilationError="",this._isReady=!0,this.onCompiled&&this.onCompiled(this),this.onCompileObservable.notifyObservers(this),this.onCompileObservable.clear(),this._fallbacks&&this._fallbacks.unBindMesh(),v.AutomaticallyClearCodeCache&&this.clearCodeCache()}_prepareEffect(e=!1){let t=this._pipelineContext;this._isReady=!1;try{let i=!!(this._vertexSourceCodeOverride&&this._fragmentSourceCodeOverride),s=i?null:this.defines,r=i?this._vertexSourceCodeOverride:this._vertexSourceCode,n=i?this._fragmentSourceCodeOverride:this._fragmentSourceCode,a=this._engine;this._pipelineContext=F({existingPipelineContext:e?t:null,vertex:r,fragment:n,context:"WEBGL2"===a.shaderPlatformName||"WEBGL1"===a.shaderPlatformName?a._gl:void 0,rebuildRebind:(e,t,i,s)=>this._rebuildProgram(e,t,i,s),defines:s,transformFeedbackVaryings:this._transformFeedbackVaryings,name:this._key.replace(/\r/g,"").replace(/\n/g,"|"),createAsRaw:i,disableParallelCompilation:this._disableParallelShaderCompilation,shaderProcessingContext:this._processingContext,onRenderingStateCompiled:i=>{t&&!e&&this._engine._deletePipelineContext(t),i&&this._onRenderingStateCompiled(i)}},this._engine.createPipelineContext.bind(this._engine),this._engine._preparePipelineContextAsync.bind(this._engine),this._engine._executeWhenRenderingStateIsCompiled.bind(this._engine)),this._pipelineContext.isAsync&&this._checkIsReady(t)}catch(e){this._processCompilationErrors(e,t)}}_getShaderCodeAndErrorLine(e,t,i){let s=null;if(t&&e){let r=t.match(i?/FRAGMENT SHADER ERROR: 0:(\d+?):/:/VERTEX SHADER ERROR: 0:(\d+?):/);if(r&&2===r.length){let t=parseInt(r[1]),n=e.split("\n",-1);n.length>=t&&(s=`Offending line [${t}] in ${i?"fragment":"vertex"} code: ${n[t-1]}`)}}return[e,s]}_processCompilationErrors(e,t=null){this._compilationError="string"==typeof e?.stack?e.stack:e?.message??String(e);let s=this._attributesNames,r=this._fallbacks;if(i.Logger.Error("Unable to compile effect:"),i.Logger.Error(`Uniforms: ${this._uniformsNames.join(" ")}`),i.Logger.Error(`Attributes: ${s.join(" ")}`),i.Logger.Error("Defines:\n"+this.defines),v.LogShaderCodeOnCompilationError){let e,t=null,s=null;this._pipelineContext?._getVertexShaderCode()&&([e,t]=this._getShaderCodeAndErrorLine(this._pipelineContext._getVertexShaderCode(),this._compilationError,!1),e&&(i.Logger.Error("Vertex code:"),i.Logger.Error(e))),this._pipelineContext?._getFragmentShaderCode()&&([e,s]=this._getShaderCodeAndErrorLine(this._pipelineContext?._getFragmentShaderCode(),this._compilationError,!0),e&&(i.Logger.Error("Fragment code:"),i.Logger.Error(e))),t&&i.Logger.Error(t),s&&i.Logger.Error(s)}i.Logger.Error("Error: "+this._compilationError);let n=()=>{this.onError&&this.onError(this,this._compilationError),this.onErrorObservable.notifyObservers(this),this._engine.onEffectErrorObservable.notifyObservers({effect:this,errors:this._compilationError})};t&&(this._pipelineContext=t,this._isReady=!0,n()),r?(this._pipelineContext=null,r.hasMoreFallbacks?(this._allFallbacksProcessed=!1,i.Logger.Error("Trying next fallback."),this.defines=r.reduce(this.defines,this),this._prepareEffect()):(this._allFallbacksProcessed=!0,n(),this.onErrorObservable.clear(),this._fallbacks&&this._fallbacks.unBindMesh())):(this._allFallbacksProcessed=!0,t||n())}get isSupported(){return""===this._compilationError}_bindTexture(e,t){this._engine._bindTexture(this._samplers[e],t,e)}setTexture(e,t){this._engine.setTexture(this._samplers[e],this._uniforms[e],t,e)}setTextureArray(e,t){let i=e+"Ex";if(-1===this._samplerList.indexOf(i+"0")){let s=this._samplerList.indexOf(e);for(let e=1;e<t.length;e++){let t=i+(e-1).toString();this._samplerList.splice(s+e,0,t)}let r=0;for(let e of this._samplerList)this._samplers[e]=r,r+=1}this._engine.setTextureArray(this._samplers[e],this._uniforms[e],t,e)}bindUniformBuffer(e,t){let i=this._uniformBuffersNames[t];void 0===i||v._BaseCache[i]===e&&this._engine._features.useUBOBindingCache||(v._BaseCache[i]=e,this._engine.bindUniformBufferBase(e,i,t))}bindUniformBlock(e,t){this._engine.bindUniformBlock(this._pipelineContext,e,t)}setInt(e,t){return this._pipelineContext.setInt(e,t),this}setInt2(e,t,i){return this._pipelineContext.setInt2(e,t,i),this}setInt3(e,t,i,s){return this._pipelineContext.setInt3(e,t,i,s),this}setInt4(e,t,i,s,r){return this._pipelineContext.setInt4(e,t,i,s,r),this}setIntArray(e,t){return this._pipelineContext.setIntArray(e,t),this}setIntArray2(e,t){return this._pipelineContext.setIntArray2(e,t),this}setIntArray3(e,t){return this._pipelineContext.setIntArray3(e,t),this}setIntArray4(e,t){return this._pipelineContext.setIntArray4(e,t),this}setUInt(e,t){return this._pipelineContext.setUInt(e,t),this}setUInt2(e,t,i){return this._pipelineContext.setUInt2(e,t,i),this}setUInt3(e,t,i,s){return this._pipelineContext.setUInt3(e,t,i,s),this}setUInt4(e,t,i,s,r){return this._pipelineContext.setUInt4(e,t,i,s,r),this}setUIntArray(e,t){return this._pipelineContext.setUIntArray(e,t),this}setUIntArray2(e,t){return this._pipelineContext.setUIntArray2(e,t),this}setUIntArray3(e,t){return this._pipelineContext.setUIntArray3(e,t),this}setUIntArray4(e,t){return this._pipelineContext.setUIntArray4(e,t),this}setFloatArray(e,t){return this._pipelineContext.setArray(e,t),this}setFloatArray2(e,t){return this._pipelineContext.setArray2(e,t),this}setFloatArray3(e,t){return this._pipelineContext.setArray3(e,t),this}setFloatArray4(e,t){return this._pipelineContext.setArray4(e,t),this}setArray(e,t){return this._pipelineContext.setArray(e,t),this}setArray2(e,t){return this._pipelineContext.setArray2(e,t),this}setArray3(e,t){return this._pipelineContext.setArray3(e,t),this}setArray4(e,t){return this._pipelineContext.setArray4(e,t),this}setMatrices(e,t){return this._pipelineContext.setMatrices(e,t),this}setMatrix(e,t){return this._pipelineContext.setMatrix(e,t),this}setMatrix3x3(e,t){return this._pipelineContext.setMatrix3x3(e,t),this}setMatrix2x2(e,t){return this._pipelineContext.setMatrix2x2(e,t),this}setFloat(e,t){return this._pipelineContext.setFloat(e,t),this}setBool(e,t){return this._pipelineContext.setInt(e,+!!t),this}setVector2(e,t){return this._pipelineContext.setVector2(e,t),this}setFloat2(e,t,i){return this._pipelineContext.setFloat2(e,t,i),this}setVector3(e,t){return this._pipelineContext.setVector3(e,t),this}setFloat3(e,t,i,s){return this._pipelineContext.setFloat3(e,t,i,s),this}setVector4(e,t){return this._pipelineContext.setVector4(e,t),this}setQuaternion(e,t){return this._pipelineContext.setQuaternion(e,t),this}setFloat4(e,t,i,s,r){return this._pipelineContext.setFloat4(e,t,i,s,r),this}setColor3(e,t){return this._pipelineContext.setColor3(e,t),this}setColor4(e,t,i){return this._pipelineContext.setColor4(e,t,i),this}setDirectColor4(e,t){return this._pipelineContext.setDirectColor4(e,t),this}clearCodeCache(){this._vertexSourceCode="",this._fragmentSourceCode="",this._fragmentSourceCodeBeforeMigration="",this._vertexSourceCodeBeforeMigration=""}dispose(e=!1){if(e)this._refCount=0;else{if(v.PersistentMode)return;this._refCount--}this._refCount>0||this._isDisposed||(this._onReleaseEffectsObserver&&(this._engine.onReleaseEffectsObservable.remove(this._onReleaseEffectsObserver),this._onReleaseEffectsObserver=null),this._pipelineContext&&b(this._pipelineContext),this._engine._releaseEffect(this),this.clearCodeCache(),this._isDisposed=!0)}static RegisterShader(e,t,i,r=0){t&&(s.ShaderStore.GetShadersStore(r)[`${e}PixelShader`]=t),i&&(s.ShaderStore.GetShadersStore(r)[`${e}VertexShader`]=i)}static ResetCache(){v._BaseCache={}}}v.LogShaderCodeOnCompilationError=!0,v.PersistentMode=!1,v.AutomaticallyClearCodeCache=!1,v._UniqueIdSeed=0,v._BaseCache={},v.ShadersStore=s.ShaderStore.ShadersStore,v.IncludesShadersStore=s.ShaderStore.IncludesShadersStore,e.s(["Effect",0,v],80592);var y=e.i(72986),D=e.i(32413),E=e.i(63391);class O{constructor(e=!0){this._isDepthTestDirty=!1,this._isDepthMaskDirty=!1,this._isDepthFuncDirty=!1,this._isCullFaceDirty=!1,this._isCullDirty=!1,this._isZOffsetDirty=!1,this._isFrontFaceDirty=!1,e&&this.reset()}get isDirty(){return this._isDepthFuncDirty||this._isDepthTestDirty||this._isDepthMaskDirty||this._isCullFaceDirty||this._isCullDirty||this._isZOffsetDirty||this._isFrontFaceDirty}get zOffset(){return this._zOffset}set zOffset(e){this._zOffset!==e&&(this._zOffset=e,this._isZOffsetDirty=!0)}get zOffsetUnits(){return this._zOffsetUnits}set zOffsetUnits(e){this._zOffsetUnits!==e&&(this._zOffsetUnits=e,this._isZOffsetDirty=!0)}get cullFace(){return this._cullFace}set cullFace(e){this._cullFace!==e&&(this._cullFace=e,this._isCullFaceDirty=!0)}get cull(){return this._cull}set cull(e){this._cull!==e&&(this._cull=e,this._isCullDirty=!0)}get depthFunc(){return this._depthFunc}set depthFunc(e){this._depthFunc!==e&&(this._depthFunc=e,this._isDepthFuncDirty=!0)}get depthMask(){return this._depthMask}set depthMask(e){this._depthMask!==e&&(this._depthMask=e,this._isDepthMaskDirty=!0)}get depthTest(){return this._depthTest}set depthTest(e){this._depthTest!==e&&(this._depthTest=e,this._isDepthTestDirty=!0)}get frontFace(){return this._frontFace}set frontFace(e){this._frontFace!==e&&(this._frontFace=e,this._isFrontFaceDirty=!0)}reset(){this._depthMask=!0,this._depthTest=!0,this._depthFunc=null,this._cullFace=null,this._cull=null,this._zOffset=0,this._zOffsetUnits=0,this._frontFace=null,this._isDepthTestDirty=!0,this._isDepthMaskDirty=!0,this._isDepthFuncDirty=!1,this._isCullFaceDirty=!1,this._isCullDirty=!1,this._isZOffsetDirty=!0,this._isFrontFaceDirty=!1}apply(e){this.isDirty&&(this._isCullDirty&&(this.cull?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this._isCullDirty=!1),this._isCullFaceDirty&&(e.cullFace(this.cullFace),this._isCullFaceDirty=!1),this._isDepthMaskDirty&&(e.depthMask(this.depthMask),this._isDepthMaskDirty=!1),this._isDepthTestDirty&&(this.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this._isDepthTestDirty=!1),this._isDepthFuncDirty&&(e.depthFunc(this.depthFunc),this._isDepthFuncDirty=!1),this._isZOffsetDirty&&(this.zOffset||this.zOffsetUnits?(e.enable(e.POLYGON_OFFSET_FILL),e.polygonOffset(this.zOffset,this.zOffsetUnits)):e.disable(e.POLYGON_OFFSET_FILL),this._isZOffsetDirty=!1),this._isFrontFaceDirty&&(e.frontFace(this.frontFace),this._isFrontFaceDirty=!1))}}class P{get isDirty(){return this._isStencilTestDirty||this._isStencilMaskDirty||this._isStencilFuncDirty||this._isStencilOpDirty}get func(){return this._func}set func(e){this._func!==e&&(this._func=e,this._isStencilFuncDirty=!0)}get backFunc(){return this._func}set backFunc(e){this._backFunc!==e&&(this._backFunc=e,this._isStencilFuncDirty=!0)}get funcRef(){return this._funcRef}set funcRef(e){this._funcRef!==e&&(this._funcRef=e,this._isStencilFuncDirty=!0)}get funcMask(){return this._funcMask}set funcMask(e){this._funcMask!==e&&(this._funcMask=e,this._isStencilFuncDirty=!0)}get opStencilFail(){return this._opStencilFail}set opStencilFail(e){this._opStencilFail!==e&&(this._opStencilFail=e,this._isStencilOpDirty=!0)}get opDepthFail(){return this._opDepthFail}set opDepthFail(e){this._opDepthFail!==e&&(this._opDepthFail=e,this._isStencilOpDirty=!0)}get opStencilDepthPass(){return this._opStencilDepthPass}set opStencilDepthPass(e){this._opStencilDepthPass!==e&&(this._opStencilDepthPass=e,this._isStencilOpDirty=!0)}get backOpStencilFail(){return this._backOpStencilFail}set backOpStencilFail(e){this._backOpStencilFail!==e&&(this._backOpStencilFail=e,this._isStencilOpDirty=!0)}get backOpDepthFail(){return this._backOpDepthFail}set backOpDepthFail(e){this._backOpDepthFail!==e&&(this._backOpDepthFail=e,this._isStencilOpDirty=!0)}get backOpStencilDepthPass(){return this._backOpStencilDepthPass}set backOpStencilDepthPass(e){this._backOpStencilDepthPass!==e&&(this._backOpStencilDepthPass=e,this._isStencilOpDirty=!0)}get mask(){return this._mask}set mask(e){this._mask!==e&&(this._mask=e,this._isStencilMaskDirty=!0)}get enabled(){return this._enabled}set enabled(e){this._enabled!==e&&(this._enabled=e,this._isStencilTestDirty=!0)}constructor(e=!0){this._isStencilTestDirty=!1,this._isStencilMaskDirty=!1,this._isStencilFuncDirty=!1,this._isStencilOpDirty=!1,this.useStencilGlobalOnly=!1,e&&this.reset()}reset(){this.stencilMaterial=void 0,this.stencilGlobal?.reset(),this._isStencilTestDirty=!0,this._isStencilMaskDirty=!0,this._isStencilFuncDirty=!0,this._isStencilOpDirty=!0}apply(e){if(!e)return;let t=!this.useStencilGlobalOnly&&!!this.stencilMaterial?.enabled;this.enabled=t?this.stencilMaterial.enabled:this.stencilGlobal.enabled,this.func=t?this.stencilMaterial.func:this.stencilGlobal.func,this.backFunc=t?this.stencilMaterial.backFunc:this.stencilGlobal.backFunc,this.funcRef=t?this.stencilMaterial.funcRef:this.stencilGlobal.funcRef,this.funcMask=t?this.stencilMaterial.funcMask:this.stencilGlobal.funcMask,this.opStencilFail=t?this.stencilMaterial.opStencilFail:this.stencilGlobal.opStencilFail,this.opDepthFail=t?this.stencilMaterial.opDepthFail:this.stencilGlobal.opDepthFail,this.opStencilDepthPass=t?this.stencilMaterial.opStencilDepthPass:this.stencilGlobal.opStencilDepthPass,this.backOpStencilFail=t?this.stencilMaterial.backOpStencilFail:this.stencilGlobal.backOpStencilFail,this.backOpDepthFail=t?this.stencilMaterial.backOpDepthFail:this.stencilGlobal.backOpDepthFail,this.backOpStencilDepthPass=t?this.stencilMaterial.backOpStencilDepthPass:this.stencilGlobal.backOpStencilDepthPass,this.mask=t?this.stencilMaterial.mask:this.stencilGlobal.mask,this.isDirty&&(this._isStencilTestDirty&&(this.enabled?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this._isStencilTestDirty=!1),this._isStencilMaskDirty&&(e.stencilMask(this.mask),this._isStencilMaskDirty=!1),this._isStencilFuncDirty&&(e.stencilFuncSeparate(e.FRONT,this.func,this.funcRef,this.funcMask),e.stencilFuncSeparate(e.BACK,this.backFunc,this.funcRef,this.funcMask),this._isStencilFuncDirty=!1),this._isStencilOpDirty&&(e.stencilOpSeparate(e.FRONT,this.opStencilFail,this.opDepthFail,this.opStencilDepthPass),e.stencilOpSeparate(e.BACK,this.backOpStencilFail,this.backOpDepthFail,this.backOpStencilDepthPass),this._isStencilOpDirty=!1))}}class A{constructor(){this.reset()}reset(){this.enabled=!1,this.mask=255,this.funcRef=1,this.funcMask=255,this.func=A.ALWAYS,this.opStencilFail=A.KEEP,this.opDepthFail=A.KEEP,this.opStencilDepthPass=A.REPLACE,this.backFunc=A.ALWAYS,this.backOpStencilFail=A.KEEP,this.backOpDepthFail=A.KEEP,this.backOpStencilDepthPass=A.REPLACE}get stencilFunc(){return this.func}set stencilFunc(e){this.func=e}get stencilBackFunc(){return this.backFunc}set stencilBackFunc(e){this.backFunc=e}get stencilFuncRef(){return this.funcRef}set stencilFuncRef(e){this.funcRef=e}get stencilFuncMask(){return this.funcMask}set stencilFuncMask(e){this.funcMask=e}get stencilOpStencilFail(){return this.opStencilFail}set stencilOpStencilFail(e){this.opStencilFail=e}get stencilOpDepthFail(){return this.opDepthFail}set stencilOpDepthFail(e){this.opDepthFail=e}get stencilOpStencilDepthPass(){return this.opStencilDepthPass}set stencilOpStencilDepthPass(e){this.opStencilDepthPass=e}get stencilBackOpStencilFail(){return this.backOpStencilFail}set stencilBackOpStencilFail(e){this.backOpStencilFail=e}get stencilBackOpDepthFail(){return this.backOpDepthFail}set stencilBackOpDepthFail(e){this.backOpDepthFail=e}get stencilBackOpStencilDepthPass(){return this.backOpStencilDepthPass}set stencilBackOpStencilDepthPass(e){this.backOpStencilDepthPass=e}get stencilMask(){return this.mask}set stencilMask(e){this.mask=e}get stencilTest(){return this.enabled}set stencilTest(e){this.enabled=e}}A.ALWAYS=519,A.KEEP=7680,A.REPLACE=7681;class R{constructor(e){this._supportBlendParametersPerTarget=e,this._blendFunctionParameters=Array(32),this._blendEquationParameters=Array(16),this._blendConstants=[,,,,],this._isBlendConstantsDirty=!1,this._alphaBlend=Array(8).fill(!1),this._numTargetEnabled=0,this._isAlphaBlendDirty=!1,this._isBlendFunctionParametersDirty=!1,this._isBlendEquationParametersDirty=!1,this.reset()}get isDirty(){return this._isAlphaBlendDirty||this._isBlendFunctionParametersDirty||this._isBlendEquationParametersDirty}get alphaBlend(){return this._numTargetEnabled>0}set alphaBlend(e){this.setAlphaBlend(e)}setAlphaBlend(e,t=0){this._alphaBlend[t]!==e&&(e?this._numTargetEnabled++:this._numTargetEnabled--,this._alphaBlend[t]=e,this._isAlphaBlendDirty=!0)}setAlphaBlendConstants(e,t,i,s){(this._blendConstants[0]!==e||this._blendConstants[1]!==t||this._blendConstants[2]!==i||this._blendConstants[3]!==s)&&(this._blendConstants[0]=e,this._blendConstants[1]=t,this._blendConstants[2]=i,this._blendConstants[3]=s,this._isBlendConstantsDirty=!0)}setAlphaBlendFunctionParameters(e,t,i,s,r=0){let n=4*r;(this._blendFunctionParameters[n+0]!==e||this._blendFunctionParameters[n+1]!==t||this._blendFunctionParameters[n+2]!==i||this._blendFunctionParameters[n+3]!==s)&&(this._blendFunctionParameters[n+0]=e,this._blendFunctionParameters[n+1]=t,this._blendFunctionParameters[n+2]=i,this._blendFunctionParameters[n+3]=s,this._isBlendFunctionParametersDirty=!0)}setAlphaEquationParameters(e,t,i=0){let s=2*i;(this._blendEquationParameters[s+0]!==e||this._blendEquationParameters[s+1]!==t)&&(this._blendEquationParameters[s+0]=e,this._blendEquationParameters[s+1]=t,this._isBlendEquationParametersDirty=!0)}reset(){this._alphaBlend.fill(!1),this._numTargetEnabled=0,this._blendFunctionParameters.fill(null),this._blendEquationParameters.fill(null),this._blendConstants[0]=null,this._blendConstants[1]=null,this._blendConstants[2]=null,this._blendConstants[3]=null,this._isAlphaBlendDirty=!0,this._isBlendFunctionParametersDirty=!1,this._isBlendEquationParametersDirty=!1,this._isBlendConstantsDirty=!1}apply(e,t=1){if(this.isDirty){if(this._isBlendConstantsDirty&&(e.blendColor(this._blendConstants[0],this._blendConstants[1],this._blendConstants[2],this._blendConstants[3]),this._isBlendConstantsDirty=!1),1===t||!this._supportBlendParametersPerTarget){this._isAlphaBlendDirty&&(this._alphaBlend[0]?e.enable(e.BLEND):e.disable(e.BLEND),this._isAlphaBlendDirty=!1),this._isBlendFunctionParametersDirty&&(e.blendFuncSeparate(this._blendFunctionParameters[0],this._blendFunctionParameters[1],this._blendFunctionParameters[2],this._blendFunctionParameters[3]),this._isBlendFunctionParametersDirty=!1),this._isBlendEquationParametersDirty&&(e.blendEquationSeparate(this._blendEquationParameters[0],this._blendEquationParameters[1]),this._isBlendEquationParametersDirty=!1);return}if(this._isAlphaBlendDirty){for(let i=0;i<t;i++){let t=i<this._numTargetEnabled?i:0;this._alphaBlend[t]?e.enableIndexed(e.BLEND,i):e.disableIndexed(e.BLEND,i)}this._isAlphaBlendDirty=!1}if(this._isBlendFunctionParametersDirty){for(let i=0;i<t;i++){let t=i<this._numTargetEnabled?4*i:0;e.blendFuncSeparateIndexed(i,this._blendFunctionParameters[t+0],this._blendFunctionParameters[t+1],this._blendFunctionParameters[t+2],this._blendFunctionParameters[t+3])}this._isBlendFunctionParametersDirty=!1}if(this._isBlendEquationParametersDirty){for(let i=0;i<t;i++){let t=i<this._numTargetEnabled?2*i:0;e.blendEquationSeparateIndexed(i,this._blendEquationParameters[t+0],this._blendEquationParameters[t+1])}this._isBlendEquationParametersDirty=!1}}}setAlphaMode(e,t){let i=32774;switch(e){case 0:break;case 7:this.setAlphaBlendFunctionParameters(1,771,1,1,t);break;case 8:case 14:this.setAlphaBlendFunctionParameters(1,771,1,771,t);break;case 2:this.setAlphaBlendFunctionParameters(770,771,1,1,t);break;case 6:this.setAlphaBlendFunctionParameters(1,1,0,1,t);break;case 1:this.setAlphaBlendFunctionParameters(770,1,0,1,t);break;case 3:this.setAlphaBlendFunctionParameters(0,769,1,1,t);break;case 4:this.setAlphaBlendFunctionParameters(774,0,1,1,t);break;case 5:this.setAlphaBlendFunctionParameters(770,769,1,1,t);break;case 9:this.setAlphaBlendFunctionParameters(32769,32770,32771,32772,t);break;case 10:this.setAlphaBlendFunctionParameters(1,769,1,771,t);break;case 11:this.setAlphaBlendFunctionParameters(1,1,1,1,t);break;case 12:this.setAlphaBlendFunctionParameters(772,1,0,0,t);break;case 13:this.setAlphaBlendFunctionParameters(775,769,773,771,t);break;case 15:this.setAlphaBlendFunctionParameters(1,1,1,0,t);break;case 16:this.setAlphaBlendFunctionParameters(775,769,0,1,t);break;case 17:this.setAlphaBlendFunctionParameters(770,771,1,771,t);break;case 18:this.setAlphaBlendFunctionParameters(1,1,1,1,t),i=32775;break;case 19:this.setAlphaBlendFunctionParameters(1,1,1,1,t),i=32776;break;case 20:this.setAlphaBlendFunctionParameters(1,35065,0,1,t);break;case 21:this.setAlphaBlendFunctionParameters(1,0,1,771,t)}this.setAlphaEquationParameters(i,i,t)}}e.s(["AlphaState",0,R],48404);var T=e.i(43880),k=e.i(55080);function B(e,t){if(t){let{requestAnimationFrame:i}=t;if("function"==typeof i)return i(e)}if((0,r.IsWindowObjectExist)()){let{requestAnimationFrame:i}=t||window;if("function"==typeof i)return i(e)}else if("function"==typeof requestAnimationFrame)return requestAnimationFrame(e);return setTimeout(e,16)}class I{get frameId(){return this._frameId}get isWebGPU(){return this._isWebGPU}_getShaderProcessor(e){return this._shaderProcessor}_resetAlphaMode(){this._alphaMode.fill(-1),this._alphaEquation.fill(-1)}get shaderPlatformName(){return this._shaderPlatformName}_clearEmptyResources(){this._emptyTexture=null,this._emptyCubeTexture=null,this._emptyTexture3D=null,this._emptyTexture2DArray=null}get useReverseDepthBuffer(){return this._useReverseDepthBuffer}set useReverseDepthBuffer(e){e!==this._useReverseDepthBuffer&&(this._useReverseDepthBuffer=e,e?this._depthCullingState.depthFunc=518:this._depthCullingState.depthFunc=515)}setColorWrite(e){e!==this._colorWrite&&(this._colorWriteChanged=!0,this._colorWrite=e)}getColorWrite(){return this._colorWrite}get depthCullingState(){return this._depthCullingState}get alphaState(){return this._alphaState}get stencilState(){return this._stencilState}get stencilStateComposer(){return this._stencilStateComposer}_getGlobalDefines(e){if(e){this.isNDCHalfZRange?e.IS_NDC_HALF_ZRANGE="":delete e.IS_NDC_HALF_ZRANGE,this.useReverseDepthBuffer?e.USE_REVERSE_DEPTHBUFFER="":delete e.USE_REVERSE_DEPTHBUFFER,this.useExactSrgbConversions?e.USE_EXACT_SRGB_CONVERSIONS="":delete e.USE_EXACT_SRGB_CONVERSIONS;return}{let e="";return this.isNDCHalfZRange&&(e+="#define IS_NDC_HALF_ZRANGE"),this.useReverseDepthBuffer&&(e&&(e+="\n"),e+="#define USE_REVERSE_DEPTHBUFFER"),this.useExactSrgbConversions&&(e&&(e+="\n"),e+="#define USE_EXACT_SRGB_CONVERSIONS"),e}}_rebuildInternalTextures(){for(let e of this._internalTexturesCache.slice())e._rebuild()}_rebuildRenderTargetWrappers(){for(let e of this._renderTargetWrapperCache.slice())e.textures?.some(e=>15===e.source)||e._rebuild()}_rebuildEffects(){for(let e in this._compiledEffects){let t=this._compiledEffects[e];t._pipelineContext=null,t._prepareEffect()}v.ResetCache()}_rebuildGraphicsResources(){this.wipeCaches(!0),this._rebuildEffects(),this._rebuildComputeEffects?.(),this._rebuildBuffers(),this._rebuildInternalTextures(),this._rebuildTextures(),this._rebuildRenderTargetWrappers(),this.wipeCaches(!0)}_flagContextRestored(){i.Logger.Warn(this.name+" context successfully restored."),this.onContextRestoredObservable.notifyObservers(this),this._contextWasLost=!1}_restoreEngineAfterContextLost(e){setTimeout(()=>{this._clearEmptyResources();let t=this._depthCullingState.depthTest,i=this._depthCullingState.depthFunc,s=this._depthCullingState.depthMask,r=this._stencilState.stencilTest;e(),this._rebuildGraphicsResources(),this._depthCullingState.depthTest=t,this._depthCullingState.depthFunc=i,this._depthCullingState.depthMask=s,this._stencilState.stencilTest=r,this._flagContextRestored()},0)}get isDisposed(){return this._isDisposed}get snapshotRendering(){return!1}set snapshotRendering(e){}get snapshotRenderingMode(){return 0}set snapshotRenderingMode(e){}getClassName(){return"AbstractEngine"}get emptyTexture(){return this._emptyTexture||(this._emptyTexture=this.createRawTexture(new Uint8Array(4),1,1,5,!1,!1,1)),this._emptyTexture}get emptyTexture3D(){return this._emptyTexture3D||(this._emptyTexture3D=this.createRawTexture3D(new Uint8Array(4),1,1,1,5,!1,!1,1)),this._emptyTexture3D}get emptyTexture2DArray(){return this._emptyTexture2DArray||(this._emptyTexture2DArray=this.createRawTexture2DArray(new Uint8Array(4),1,1,1,5,!1,!1,1)),this._emptyTexture2DArray}get emptyCubeTexture(){if(!this._emptyCubeTexture){let e=new Uint8Array(4);this._emptyCubeTexture=this.createRawCubeTexture([e,e,e,e,e,e],1,5,0,!1,!1,1)}return this._emptyCubeTexture}set framebufferDimensionsObject(e){this._framebufferDimensionsObject=e}get activeRenderLoops(){return this._activeRenderLoops}stopRenderLoop(e){if(!e){this._activeRenderLoops.length=0,this._cancelFrame();return}let t=this._activeRenderLoops.indexOf(e);t>=0&&(this._activeRenderLoops.splice(t,1),0==this._activeRenderLoops.length&&this._cancelFrame())}_cancelFrame(){if(this.customAnimationFrameRequester){if(0!==this._frameHandler){this._frameHandler=0;let{cancelAnimationFrame:e}=this.customAnimationFrameRequester;e&&e(this.customAnimationFrameRequester.requestID),delete this.customAnimationFrameRequester.requestID}return}if(0!==this._frameHandler){let e=this._frameHandler;if(this._frameHandler=0,(0,r.IsWindowObjectExist)()){let{cancelAnimationFrame:t}=this.getHostWindow()||window;if("function"==typeof t)return t(e)}else if("function"==typeof cancelAnimationFrame)return cancelAnimationFrame(e);return clearTimeout(e)}}beginFrame(){this.onBeginFrameObservable.notifyObservers(this)}endFrame(){this._frameId++,this.onEndFrameObservable.notifyObservers(this)}get maxFPS(){return this._maxFPS}set maxFPS(e){if(this._maxFPS=e,void 0!==e){if(e<=0){this._minFrameTime=Number.MAX_VALUE;return}this._minFrameTime=1e3/e}}_isOverFrameTime(e){if(!e||void 0===this._maxFPS)return!1;let t=e-this._lastFrameTime;return this._lastFrameTime=e,this._renderAccumulator+=t,this._renderAccumulator<this._minFrameTime||(this._renderAccumulator-=this._minFrameTime,this._renderAccumulator>this._minFrameTime&&(this._renderAccumulator=this._minFrameTime),!1)}_processFrame(e){if(this._frameHandler=0,!this._contextWasLost&&!this._isOverFrameTime(e)){let e=!0;(this.isDisposed||!this.renderEvenInBackground&&this._windowIsBackground)&&(e=!1),e&&(this.beginFrame(),this.skipFrameRender||this._renderViews()||this._renderFrame(),this.endFrame())}}_renderLoop(e){this._processFrame(e),this._activeRenderLoops.length>0&&0===this._frameHandler&&this._queueNewFrameForRenderLoop()}_renderFrame(){for(let e=0;e<this._activeRenderLoops.length;e++)(0,this._activeRenderLoops[e])()}_renderViews(){return!1}_queueNewFrame(e,t){return B(e,t)}_queueNewFrameForRenderLoop(){this.customAnimationFrameRequester?(this.customAnimationFrameRequester.requestID=this._queueNewFrame(this.customAnimationFrameRequester.renderFunction||this._boundRenderFunction,this.customAnimationFrameRequester),this._frameHandler=this.customAnimationFrameRequester.requestID):this._frameHandler=this._queueNewFrame(this._boundRenderFunction,this.getHostWindow())}runRenderLoop(e){-1===this._activeRenderLoops.indexOf(e)&&(this._activeRenderLoops.push(e),1===this._activeRenderLoops.length&&0===this._frameHandler&&this._queueNewFrameForRenderLoop())}getDepthBuffer(){return this._depthCullingState.depthTest}setDepthBuffer(e){this._depthCullingState.depthTest=e}setZOffset(e){this._depthCullingState.zOffset=this.useReverseDepthBuffer?-e:e}getZOffset(){let e=this._depthCullingState.zOffset;return this.useReverseDepthBuffer?-e:e}setZOffsetUnits(e){this._depthCullingState.zOffsetUnits=this.useReverseDepthBuffer?-e:e}getZOffsetUnits(){let e=this._depthCullingState.zOffsetUnits;return this.useReverseDepthBuffer?-e:e}getHostWindow(){return(0,r.IsWindowObjectExist)()?this._renderingCanvas&&this._renderingCanvas.ownerDocument&&this._renderingCanvas.ownerDocument.defaultView?this._renderingCanvas.ownerDocument.defaultView:window:null}get compatibilityMode(){return this._compatibilityMode}set compatibilityMode(e){this._compatibilityMode=!0}_rebuildTextures(){for(let e of this.scenes)e._rebuildTextures();for(let e of this._virtualScenes)e._rebuildTextures()}_releaseRenderTargetWrapper(e){let t=this._renderTargetWrapperCache.indexOf(e);-1!==t&&this._renderTargetWrapperCache.splice(t,1)}get currentViewport(){return this._cachedViewport}setViewport(e,t,i){let s=t||this.getRenderWidth(),r=i||this.getRenderHeight(),n=e.x||0,a=e.y||0;this._cachedViewport=e,this._viewport(n*s,a*r,s*e.width,r*e.height)}createCanvasImage(){return document.createElement("img")}createCanvasPath2D(e){return new Path2D(e)}get description(){let e=this.name+this.version;return this._caps.parallelShaderCompile&&(e+=" - Parallel shader compilation"),e}_createTextureBase(e,t,s,r,n=3,a=null,h=null,l,o,c=null,u=null,_=null,d=null,p,f,m){let g="data:"===(e=e||"").substring(0,5),b="blob:"===e.substring(0,5),C=g&&-1!==e.indexOf(";base64,"),S=u||new k.InternalTexture(this,1);S!==u&&(S.label=e.substring(0,60));let F=e;!this._transformTextureUrl||C||u||c||(e=this._transformTextureUrl(e)),F!==e&&(S._originalUrl=F);let x=e.lastIndexOf("."),v=d||(x>-1?e.substring(x).toLowerCase():"");v.indexOf("?")>-1&&(v=v.split("?")[0]);let D=I.GetCompatibleTextureLoader(v,p);r&&r.addPendingData(S),S.url=e,S.generateMipMaps=!t,S.samplingMode=n,S.invertY=s,S._useSRGBBuffer=this._getUseSRGBBuffer(!!m,t),this._doNotHandleContextLost||(S._buffer=c);let E=null;a&&!u&&(E=S.onLoadedObservable.add(a)),u||this._internalTexturesCache.push(S);let O=(s,u)=>{r&&r.removePendingData(S),e===F?(E&&S.onLoadedObservable.remove(E),y.EngineStore.UseFallbackTexture&&e!==y.EngineStore.FallbackTexture&&this._createTextureBase(y.EngineStore.FallbackTexture,t,S.invertY,r,n,null,h,l,o,c,S),s=(s||"Unknown error")+(y.EngineStore.UseFallbackTexture?" - Fallback texture was used":""),S.onErrorObservable.notifyObservers({message:s,exception:u}),h&&h(s,u)):(i.Logger.Warn(`Failed to load ${e}, falling back to ${F}`),this._createTextureBase(F,t,S.invertY,r,n,a,h,l,o,c,S,_,d,p,f,m))};if(D){let t=async e=>{(await D).loadData(e,S,(e,t,i,s,a,h)=>{h?O("TextureLoader failed to load data"):l(S,v,r,{width:e,height:t},S.invertY,!i,s,()=>(a(),!1),n)},f)};if(c){let e=async e=>{try{await t(e)}catch(e){O("Failed to parse texture data",e)}};c instanceof ArrayBuffer?e(new Uint8Array(c)):ArrayBuffer.isView(c)?e(c):h&&h("Unable to load: only ArrayBuffer or ArrayBufferView is supported",null)}else this._loadFile(e,async e=>{try{await t(new Uint8Array(e))}catch(e){O("Failed to parse texture data",e)}},void 0,r?r.offlineProvider:void 0,!0,(e,t)=>{O("Unable to load "+(e&&e.responseURL,t))})}else{let i=e=>{b&&!this._doNotHandleContextLost&&(S._buffer=e),l(S,v,r,e,S.invertY,t,!1,o,n)};!g||C?c&&("string"==typeof c.decoding||c.close)?i(c):I._FileToolsLoadImage(e||"",i,O,r?r.offlineProvider:null,p,S.invertY&&this._features.needsInvertingBitmap?{imageOrientation:"flipY"}:void 0,this):"string"==typeof c||c instanceof ArrayBuffer||ArrayBuffer.isView(c)||c instanceof Blob?I._FileToolsLoadImage(c,i,O,r?r.offlineProvider:null,p,S.invertY&&this._features.needsInvertingBitmap?{imageOrientation:"flipY"}:void 0,this):c&&i(c)}return S}_rebuildBuffers(){for(let e of this._uniformBuffers)e._rebuildAfterContextLost()}get _shouldUseHighPrecisionShader(){return!!(this._caps.highPrecisionShaderSupported&&this._highPrecisionShadersAllowed)}getHostDocument(){return this._renderingCanvas&&this._renderingCanvas.ownerDocument?this._renderingCanvas.ownerDocument:(0,r.IsDocumentAvailable)()?document:null}getLoadedTexturesCache(){return this._internalTexturesCache}clearInternalTexturesCache(){this._internalTexturesCache.length=0}getCaps(){return this._caps}resetTextureCache(){for(let e in this._boundTexturesCache)Object.prototype.hasOwnProperty.call(this._boundTexturesCache,e)&&(this._boundTexturesCache[e]=null);this._currentTextureChannel=-1}get name(){return this._name}set name(e){this._name=e}static get NpmPackage(){return"babylonjs@9.21.2"}static get Version(){return"9.21.2"}getRenderingCanvas(){return this._renderingCanvas}getAudioContext(){return this._audioContext}getAudioDestination(){return this._audioDestination}setHardwareScalingLevel(e){this._hardwareScalingLevel=e,this.resize()}getHardwareScalingLevel(){return this._hardwareScalingLevel}get doNotHandleContextLost(){return this._doNotHandleContextLost}set doNotHandleContextLost(e){this._doNotHandleContextLost=e}get isStencilEnable(){return this._isStencilEnable}getCreationOptions(){return this._creationOptions}constructor(e,i,s){this._colorWrite=!0,this._colorWriteChanged=!0,this._depthCullingState=new O,this._stencilStateComposer=new P,this._stencilState=new A,this._alphaState=new R(!1),this._alphaMode=Array(8).fill(-1),this._alphaEquation=Array(8).fill(-1),this._activeRequests=[],this._badOS=!1,this._badDesktopOS=!1,this._compatibilityMode=!0,this._internalTexturesCache=[],this._currentRenderTarget=null,this._boundTexturesCache={},this._activeChannel=0,this._currentTextureChannel=-1,this._viewportCached={x:0,y:0,z:0,w:0},this._isWebGPU=!1,this._enableGPUDebugMarkers=!1,this.onCanvasBlurObservable=new t.Observable,this.onCanvasFocusObservable=new t.Observable,this.onNewSceneAddedObservable=new t.Observable,this.onResizeObservable=new t.Observable,this.onCanvasPointerOutObservable=new t.Observable,this.onEffectErrorObservable=new t.Observable,this.disablePerformanceMonitorInBackground=!1,this.disableVertexArrayObjects=!1,this._frameId=0,this.hostInformation={isMobile:!1},this.isFullscreen=!1,this.enableOfflineSupport=!1,this.disableManifestCheck=!1,this.disableContextMenu=!0,this.currentRenderPassId=0,this.isPointerLock=!1,this.postProcesses=[],this.canvasTabIndex=1,this._contextWasLost=!1,this._useReverseDepthBuffer=!1,this.isNDCHalfZRange=!1,this.hasOriginBottomLeft=!0,this._renderTargetWrapperCache=[],this._compiledEffects={},this._isDisposed=!1,this.scenes=[],this._virtualScenes=[],this.onBeforeTextureInitObservable=new t.Observable,this.renderEvenInBackground=!0,this.preventCacheWipeBetweenFrames=!1,this._frameHandler=0,this._activeRenderLoops=[],this.customAnimationFrameRequester=null,this._windowIsBackground=!1,this._boundRenderFunction=e=>this._renderLoop(e),this._lastFrameTime=0,this._renderAccumulator=0,this.skipFrameRender=!1,this.onBeforeShaderCompilationObservable=new t.Observable,this.onAfterShaderCompilationObservable=new t.Observable,this.onBeginFrameObservable=new t.Observable,this.onEndFrameObservable=new t.Observable,this._transformTextureUrl=null,this._uniformBuffers=[],this._storageBuffers=[],this._highPrecisionShadersAllowed=!0,this.onContextLostObservable=new t.Observable,this.onContextRestoredObservable=new t.Observable,this._name="",this.premultipliedAlpha=!0,this.adaptToDeviceRatio=!1,this._lastDevicePixelRatio=1,this._doNotHandleContextLost=!1,this.cullBackFaces=null,this._renderPassNames=["main"],this._fps=60,this._deltaTime=0,this._deterministicLockstep=!1,this._lockstepMaxSteps=4,this._timeStep=1/60,this.onDisposeObservable=new t.Observable,this.onReleaseEffectsObservable=new t.Observable,y.EngineStore.Instances.push(this),this.startTime=E.PrecisionDate.Now,this._stencilStateComposer.stencilGlobal=this._stencilState,D.PerformanceConfigurator.SetMatrixPrecision(!!i.useLargeWorldRendering||!!i.useHighPrecisionMatrix),(0,r.IsNavigatorAvailable)()&&navigator.userAgent&&(this._badOS=/iPad/i.test(navigator.userAgent)||/iPhone/i.test(navigator.userAgent),this._badDesktopOS=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)),i.antialias=e??i.antialias,i.deterministicLockstep=i.deterministicLockstep??!1,i.lockstepMaxSteps=i.lockstepMaxSteps??4,i.timeStep=i.timeStep??1/60,i.stencil=i.stencil??!0,this._audioContext=i.audioEngineOptions?.audioContext??null,this._audioDestination=i.audioEngineOptions?.audioDestination??null,this.premultipliedAlpha=i.premultipliedAlpha??!0,this._doNotHandleContextLost=!!i.doNotHandleContextLost,this._isStencilEnable=!!i.stencil,this.useExactSrgbConversions=i.useExactSrgbConversions??!1,this.canvasTabIndex=i.canvasTabIndex??this.canvasTabIndex;const n=(0,r.IsWindowObjectExist)()&&window.devicePixelRatio||1,a=i.limitDeviceRatio||n;s=s||i.adaptToDeviceRatio||!1,this.adaptToDeviceRatio=s,this._hardwareScalingLevel=s?1/Math.min(a,n):1,this._lastDevicePixelRatio=n,this._creationOptions=i}resize(e=!1){let t,i;if(this.adaptToDeviceRatio){let e=(0,r.IsWindowObjectExist)()&&window.devicePixelRatio||1,t=this._lastDevicePixelRatio/e;this._lastDevicePixelRatio=e,this._hardwareScalingLevel*=t}if((0,r.IsWindowObjectExist)()&&(0,r.IsDocumentAvailable)())if(this._renderingCanvas){let e=this._renderingCanvas.getBoundingClientRect?.();t=this._renderingCanvas.clientWidth||e?.width||this._renderingCanvas.width*this._hardwareScalingLevel||100,i=this._renderingCanvas.clientHeight||e?.height||this._renderingCanvas.height*this._hardwareScalingLevel||100}else t=window.innerWidth,i=window.innerHeight;else t=this._renderingCanvas?this._renderingCanvas.width:100,i=this._renderingCanvas?this._renderingCanvas.height:100;this.setSize(t/this._hardwareScalingLevel,i/this._hardwareScalingLevel,e)}setSize(e,t,i=!1){if(!this._renderingCanvas||(e|=0,t|=0,!i&&this._renderingCanvas.width===e&&this._renderingCanvas.height===t))return!1;if(this._renderingCanvas.width=e,this._renderingCanvas.height=t,this.scenes){for(let e=0;e<this.scenes.length;e++){let t=this.scenes[e];for(let e=0;e<t.cameras.length;e++)t.cameras[e]._currentRenderId=0}this.onResizeObservable.hasObservers()&&this.onResizeObservable.notifyObservers(this)}return!0}createRawTexture(e,t,i,s,r,n,a,h,l,o,c,u){throw(0,T._WarnImport)("engine.rawTexture")}createRawCubeTexture(e,t,i,s,r,n,a,h){throw(0,T._WarnImport)("engine.rawTexture")}createRawTexture3D(e,t,i,s,r,n,a,h,l,o,c){throw(0,T._WarnImport)("engine.rawTexture")}createRawTexture2DArray(e,t,i,s,r,n,a,h,l,o,c,u){throw(0,T._WarnImport)("engine.rawTexture")}_sharedInit(e){this._renderingCanvas=e}_setupMobileChecks(){navigator&&navigator.userAgent&&(this._checkForMobile=()=>{let e=navigator.userAgent;this.hostInformation.isMobile=-1!==e.indexOf("Mobile")||-1!==e.indexOf("Mac")&&(0,r.IsDocumentAvailable)()&&"ontouchend"in document},this._checkForMobile(),(0,r.IsWindowObjectExist)()&&window.addEventListener("resize",this._checkForMobile))}createVideoElement(e){return document.createElement("video")}_reportDrawCall(e=1){this._drawCalls?.addCount(e,!1)}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}isDeterministicLockStep(){return this._deterministicLockstep}getLockstepMaxSteps(){return this._lockstepMaxSteps}getTimeStep(){return 1e3*this._timeStep}_createImageBitmapFromSource(e,t){throw Error("createImageBitmapFromSource is not implemented")}createImageBitmap(e,t){return createImageBitmap(e,t)}resizeImageBitmap(e,t,i){throw Error("resizeImageBitmap is not implemented")}getFontOffset(e){throw Error("getFontOffset is not implemented")}static _CreateCanvas(e,t){if("u"<typeof document)return new OffscreenCanvas(e,t);let i=document.createElement("canvas");return i.width=e,i.height=t,i}createCanvas(e,t){return I._CreateCanvas(e,t)}static _FileToolsLoadImage(e,t,i,s,r,n,h){if(!a.EngineFunctionContext.loadImage)throw(0,T._WarnImport)("FileTools");return a.EngineFunctionContext.loadImage(e,t,i,s,r,n,h)}_loadFile(e,t,i,s,r,n){let h=(0,a._LoadFile)(e,t,i,s,r,n);return this._activeRequests.push(h),h.onCompleteObservable.add(()=>{let e=this._activeRequests.indexOf(h);-1!==e&&this._activeRequests.splice(e,1)}),h}static _FileToolsLoadFile(e,t,i,s,r,n){if(a.EngineFunctionContext.loadFile)return a.EngineFunctionContext.loadFile(e,t,i,s,r,n);throw(0,T._WarnImport)("FileTools")}dispose(){for(this.releaseEffects(),this._isDisposed=!0,this.stopRenderLoop(),this._emptyTexture&&(this._releaseTexture(this._emptyTexture),this._emptyTexture=null),this._emptyCubeTexture&&(this._releaseTexture(this._emptyCubeTexture),this._emptyCubeTexture=null),this._renderingCanvas=null,this.onBeforeTextureInitObservable&&this.onBeforeTextureInitObservable.clear();this.postProcesses.length;)this.postProcesses[0].dispose();for(;this.scenes.length;)this.scenes[0].dispose();for(;this._virtualScenes.length;)this._virtualScenes[0].dispose();for(let e of(this.releaseComputeEffects?.(),v.ResetCache(),this._activeRequests))e.abort();this._boundRenderFunction=null,this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear(),this.onResizeObservable.clear(),this.onCanvasBlurObservable.clear(),this.onCanvasFocusObservable.clear(),this.onCanvasPointerOutObservable.clear(),this.onNewSceneAddedObservable.clear(),this.onEffectErrorObservable.clear(),(0,r.IsWindowObjectExist)()&&window.removeEventListener("resize",this._checkForMobile);let e=y.EngineStore.Instances.indexOf(this);e>=0&&y.EngineStore.Instances.splice(e,1),y.EngineStore.Instances.length||(y.EngineStore.OnEnginesDisposedObservable.notifyObservers(this),y.EngineStore.OnEnginesDisposedObservable.clear()),this.onBeginFrameObservable.clear(),this.onEndFrameObservable.clear()}static DefaultLoadingScreenFactory(e){throw(0,T._WarnImport)("LoadingScreen")}static MarkAllMaterialsAsDirty(e,t){for(let i=0;i<y.EngineStore.Instances.length;i++){let s=y.EngineStore.Instances[i];for(let i=0;i<s.scenes.length;i++)s.scenes[i].markAllMaterialsAsDirty(e,t)}}static GetCompatibleTextureLoader(e,t){return null}}I._RenderPassIdCounter=0,I._RescalePostProcessFactory=null,I.CollisionsEpsilon=.001,I.QueueNewFrame=B,e.s(["AbstractEngine",0,I],99429)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40974,t=>{"use strict";var e,s,r=t.i(46202),i=t.i(72003),n=t.i(26747);(e=s||(s={}))[e.CW=0]="CW",e[e.CCW=1]="CCW";class a{constructor(t){this._radians=t,this._radians<0&&(this._radians+=2*Math.PI)}degrees(){return 180*this._radians/Math.PI}radians(){return this._radians}static BetweenTwoPoints(t,e){let s=e.subtract(t);return new a(Math.atan2(s.y,s.x))}static BetweenTwoVectors(t,e){let s=t.lengthSquared()*e.lengthSquared();if(0===s)return new a(Math.PI/2);s=Math.sqrt(s);let i=t.dot(e)/s;return new a(Math.acos(i=(0,r.Clamp)(i,-1,1)))}static FromRadians(t){return new a(t)}static FromDegrees(t){return new a(t*Math.PI/180)}}class o{constructor(t,e,s){this.startPoint=t,this.midPoint=e,this.endPoint=s;const r=Math.pow(e.x,2)+Math.pow(e.y,2),n=(Math.pow(t.x,2)+Math.pow(t.y,2)-r)/2,o=(r-Math.pow(s.x,2)-Math.pow(s.y,2))/2,h=(t.x-e.x)*(e.y-s.y)-(e.x-s.x)*(t.y-e.y);this.centerPoint=new i.Vector2((n*(e.y-s.y)-o*(t.y-e.y))/h,((t.x-e.x)*o-(e.x-s.x)*n)/h),this.radius=this.centerPoint.subtract(this.startPoint).length(),this.startAngle=a.BetweenTwoPoints(this.centerPoint,this.startPoint);const u=this.startAngle.degrees();let c=a.BetweenTwoPoints(this.centerPoint,this.midPoint).degrees(),l=a.BetweenTwoPoints(this.centerPoint,this.endPoint).degrees();c-u>180&&(c-=360),c-u<-180&&(c+=360),l-c>180&&(l-=360),l-c<-180&&(l+=360),this.orientation=c-u<0?0:1,this.angle=a.FromDegrees(0===this.orientation?u-l:l-u)}}t.s(["Angle",0,a,"Arc2",0,o,"BezierCurve",0,class{static Interpolate(t,e,s,r,i){if(0===t)return 0;let n=1-3*r+3*e,a=3*r-6*e,o=3*e,h=t;for(let e=0;e<5;e++){let e=h*h,s=e*h*n+a*e+o*h,r=1/(3*n*e+2*a*h+o);h-=(s-t)*r,h=Math.min(1,Math.max(0,h))}return 3*Math.pow(1-h,2)*h*s+3*(1-h)*Math.pow(h,2)*i+Math.pow(h,3)}},"Curve3",0,class t{static CreateQuadraticBezier(e,s,r,n){n=n>2?n:3;let a=[],o=(t,e,s,r)=>(1-t)*(1-t)*e+2*t*(1-t)*s+t*t*r;for(let t=0;t<=n;t++)a.push(new i.Vector3(o(t/n,e.x,s.x,r.x),o(t/n,e.y,s.y,r.y),o(t/n,e.z,s.z,r.z)));return new t(a)}static CreateCubicBezier(e,s,r,n,a){a=a>3?a:4;let o=[],h=(t,e,s,r,i)=>(1-t)*(1-t)*(1-t)*e+3*t*(1-t)*(1-t)*s+3*t*t*(1-t)*r+t*t*t*i;for(let t=0;t<=a;t++)o.push(new i.Vector3(h(t/a,e.x,s.x,r.x,n.x),h(t/a,e.y,s.y,r.y,n.y),h(t/a,e.z,s.z,r.z,n.z)));return new t(o)}static CreateHermiteSpline(e,s,r,n,a){let o=[],h=1/a;for(let t=0;t<=a;t++)o.push(i.Vector3.Hermite(e,s,r,n,t*h));return new t(o)}static CreateCatmullRomSpline(e,s,r){let n=[],a=1/s,o=0;if(r){let t=e.length;for(let r=0;r<t;r++){o=0;for(let h=0;h<s;h++)n.push(i.Vector3.CatmullRom(e[r%t],e[(r+1)%t],e[(r+2)%t],e[(r+3)%t],o)),o+=a}n.push(n[0])}else{let t=[];t.push(e[0].clone()),t.push(...e),t.push(e[e.length-1].clone());let r=0;for(;r<t.length-3;r++){o=0;for(let e=0;e<s;e++)n.push(i.Vector3.CatmullRom(t[r],t[r+1],t[r+2],t[r+3],o)),o+=a}r--,n.push(i.Vector3.CatmullRom(t[r],t[r+1],t[r+2],t[r+3],o))}return new t(n)}static ArcThru3Points(e,s,r,n=32,a=!1,o=!1){let h=[],u=s.subtract(e),c=r.subtract(s),l=e.subtract(r),_=i.Vector3.Cross(u,c),d=_.length();if(d<1e-8)return new t(h);let g=u.lengthSquared(),f=c.lengthSquared(),p=l.lengthSquared(),M=_.lengthSquared(),m=.5*u.length()*c.length()*l.length()/d,I=i.Vector3.Dot(u,l),y=i.Vector3.Dot(u,c),x=i.Vector3.Dot(c,l),A=e.scale(-.5*f*I/M).add(s.scale(-.5*p*y/M)).add(r.scale(-.5*g*x/M)),D=e.subtract(A).normalize(),b=i.Vector3.Cross(_,D).normalize();if(o){let t=2*Math.PI/n;for(let e=0;e<=2*Math.PI;e+=t)h.push(A.add(D.scale(m*Math.cos(e)).add(b.scale(m*Math.sin(e)))));h.push(e)}else{let t,s=1/n,i=0;do t=A.add(D.scale(m*Math.cos(i)).add(b.scale(m*Math.sin(i)))),h.push(t),i+=s;while(!t.equalsWithEpsilon(r,m*s*1.1))h.push(r),a&&h.push(e)}return new t(h)}constructor(t){this._length=0,this._points=t,this._length=this._computeLength(t)}getPoints(){return this._points}length(){return this._length}continue(e){let s=this._points[this._points.length-1],r=this._points.slice(),i=e.getPoints();for(let t=1;t<i.length;t++)r.push(i[t].subtract(i[0]).add(s));return new t(r)}_computeLength(t){let e=0;for(let s=1;s<t.length;s++)e+=t[s].subtract(t[s-1]).length();return e}},"Orientation",0,s,"Path2",0,class t{constructor(t,e){this._points=[],this._length=0,this.closed=!1,this._points.push(new i.Vector2(t,e))}addLineTo(t,e){if(this.closed)return this;let s=new i.Vector2(t,e),r=this._points[this._points.length-1];return this._points.push(s),this._length+=s.subtract(r).length(),this}addArcTo(t,e,s,r,n=36){if(this.closed)return this;let a=new o(this._points[this._points.length-1],new i.Vector2(t,e),new i.Vector2(s,r)),h=a.angle.radians()/n;0===a.orientation&&(h*=-1);let u=a.startAngle.radians()+h;for(let t=0;t<n;t++){let t=Math.cos(u)*a.radius+a.centerPoint.x,e=Math.sin(u)*a.radius+a.centerPoint.y;this.addLineTo(t,e),u+=h}return this}addQuadraticCurveTo(t,e,s,r,i=36){if(this.closed)return this;let n=(t,e,s,r)=>(1-t)*(1-t)*e+2*t*(1-t)*s+t*t*r,a=this._points[this._points.length-1];for(let o=0;o<=i;o++){let h=o/i,u=n(h,a.x,t,s),c=n(h,a.y,e,r);this.addLineTo(u,c)}return this}addBezierCurveTo(t,e,s,r,i,n,a=36){if(this.closed)return this;let o=(t,e,s,r,i)=>(1-t)*(1-t)*(1-t)*e+3*t*(1-t)*(1-t)*s+3*t*t*(1-t)*r+t*t*t*i,h=this._points[this._points.length-1];for(let u=0;u<=a;u++){let c=u/a,l=o(c,h.x,t,s,i),_=o(c,h.y,e,r,n);this.addLineTo(l,_)}return this}isPointInside(t){let e=!1,s=this._points.length;for(let r=s-1,i=0;i<s;r=i++){let s=this._points[r],n=this._points[i],a=n.x-s.x,o=n.y-s.y;if(Math.abs(o)>Number.EPSILON){if(o<0&&(s=this._points[i],a=-a,n=this._points[r],o=-o),t.y<s.y||t.y>n.y)continue;if(t.y===s.y&&t.x===s.x)return!0;{let r=o*(t.x-s.x)-a*(t.y-s.y);if(0===r)return!0;if(r<0)continue;e=!e}}else{if(t.y!==s.y)continue;if(n.x<=t.x&&t.x<=s.x||s.x<=t.x&&t.x<=n.x)return!0}}return e}close(){return this.closed=!0,this}length(){let t=this._length;if(this.closed){let e=this._points[this._points.length-1];t+=this._points[0].subtract(e).length()}return t}area(){let t=this._points.length,e=0;for(let s=t-1,r=0;r<t;s=r++)e+=this._points[s].x*this._points[r].y-this._points[r].x*this._points[s].y;return .5*e}getPoints(){return this._points}getPointAtLengthPosition(t){if(t<0||t>1)return i.Vector2.Zero();let e=t*this.length(),s=0;for(let t=0;t<this._points.length;t++){let r=(t+1)%this._points.length,n=this._points[t],a=this._points[r].subtract(n),o=a.length()+s;if(e>=s&&e<=o){let t=a.normalize(),r=e-s;return new i.Vector2(n.x+t.x*r,n.y+t.y*r)}s=o}return i.Vector2.Zero()}static StartingAt(e,s){return new t(e,s)}},"Path3D",0,class t{constructor(t,e=null,s,r=!1){this.path=t,this._curve=[],this._distances=[],this._tangents=[],this._normals=[],this._binormals=[],this._pointAtData={id:0,point:i.Vector3.Zero(),previousPointArrayIndex:0,position:0,subPosition:0,interpolateReady:!1,interpolationMatrix:i.Matrix.Identity()};for(let e=0;e<t.length;e++)this._curve[e]=t[e].clone();this._raw=s||!1,this._alignTangentsWithPath=r,this._compute(e,r)}getCurve(){return this._curve}getPoints(){return this._curve}length(){return this._distances[this._distances.length-1]}getTangents(){return this._tangents}getNormals(){return this._normals}getBinormals(){return this._binormals}getDistances(){return this._distances}getPointAt(t){return this._updatePointAtData(t).point}getTangentAt(t,e=!1){return this._updatePointAtData(t,e),e?i.Vector3.TransformCoordinates(i.Vector3.Forward(),this._pointAtData.interpolationMatrix):this._tangents[this._pointAtData.previousPointArrayIndex]}getNormalAt(t,e=!1){return this._updatePointAtData(t,e),e?i.Vector3.TransformCoordinates(i.Vector3.Right(),this._pointAtData.interpolationMatrix):this._normals[this._pointAtData.previousPointArrayIndex]}getBinormalAt(t,e=!1){return this._updatePointAtData(t,e),e?i.Vector3.TransformCoordinates(i.Vector3.UpReadOnly,this._pointAtData.interpolationMatrix):this._binormals[this._pointAtData.previousPointArrayIndex]}getDistanceAt(t){return this.length()*t}getPreviousPointIndexAt(t){return this._updatePointAtData(t),this._pointAtData.previousPointArrayIndex}getSubPositionAt(t){return this._updatePointAtData(t),this._pointAtData.subPosition}getClosestPositionTo(t){let e=Number.MAX_VALUE,s=0;for(let r=0;r<this._curve.length-1;r++){let n=this._curve[r+0],a=this._curve[r+1].subtract(n).normalize(),o=this._distances[r+1]-this._distances[r+0],h=Math.min(Math.max(i.Vector3.Dot(a,t.subtract(n).normalize()),0)*i.Vector3.Distance(n,t)/o,1),u=i.Vector3.Distance(n.add(a.scale(h*o)),t);u<e&&(e=u,s=(this._distances[r+0]+o*h)/this.length())}return s}slice(e=0,s=1){if(e<0&&(e=1- -1*e%1),s<0&&(s=1- -1*s%1),e>s){let t=e;e=s,s=t}let r=this.getCurve(),i=this.getPointAt(e),n=this.getPreviousPointIndexAt(e),a=this.getPointAt(s),o=this.getPreviousPointIndexAt(s)+1,h=[];return 0!==e&&(n++,h.push(i)),h.push(...r.slice(n,o)),(1!==s||1===e)&&h.push(a),new t(h,this.getNormalAt(e),this._raw,this._alignTangentsWithPath)}update(t,e=null,s=!1){for(let e=0;e<t.length;e++)this._curve[e].x=t[e].x,this._curve[e].y=t[e].y,this._curve[e].z=t[e].z;return this._compute(e,s),this}_compute(t,e=!1){let s,r,n,a,o,h=this._curve.length;if(h<2)return;this._tangents[0]=this._getFirstNonNullVector(0),this._raw||this._tangents[0].normalize(),this._tangents[h-1]=this._curve[h-1].subtract(this._curve[h-2]),this._raw||this._tangents[h-1].normalize();let u=this._tangents[0],c=this._normalVector(u,t);this._normals[0]=c,this._raw||this._normals[0].normalize(),this._binormals[0]=i.Vector3.Cross(u,this._normals[0]),this._raw||this._binormals[0].normalize(),this._distances[0]=0;for(let t=1;t<h;t++)s=this._getLastNonNullVector(t),t<h-1&&(r=this._getFirstNonNullVector(t),this._tangents[t]=e?r:s.add(r),this._tangents[t].normalize()),this._distances[t]=this._distances[t-1]+this._curve[t].subtract(this._curve[t-1]).length(),n=this._tangents[t],o=this._binormals[t-1],this._normals[t]=i.Vector3.Cross(o,n),this._raw||(0===this._normals[t].length()?(a=this._normals[t-1],this._normals[t]=a.clone()):this._normals[t].normalize()),this._binormals[t]=i.Vector3.Cross(n,this._normals[t]),this._raw||this._binormals[t].normalize();this._pointAtData.id=NaN}_getFirstNonNullVector(t){let e=1,s=this._curve[t+e].subtract(this._curve[t]);for(;0===s.length()&&t+e+1<this._curve.length;)e++,s=this._curve[t+e].subtract(this._curve[t]);return s}_getLastNonNullVector(t){let e=1,s=this._curve[t].subtract(this._curve[t-e]);for(;0===s.length()&&t>e+1;)e++,s=this._curve[t].subtract(this._curve[t-e]);return s}_normalVector(t,e){let s,a=t.length();if(0===a&&(a=1),null==e){let e;e=(0,r.WithinEpsilon)(Math.abs(t.y)/a,1,n.Epsilon)?(0,r.WithinEpsilon)(Math.abs(t.x)/a,1,n.Epsilon)?(0,r.WithinEpsilon)(Math.abs(t.z)/a,1,n.Epsilon)?i.Vector3.Zero():new i.Vector3(0,0,1):new i.Vector3(1,0,0):new i.Vector3(0,-1,0),s=i.Vector3.Cross(t,e)}else s=i.Vector3.Cross(t,e),i.Vector3.CrossToRef(s,t,s);return s.normalize(),s}_updatePointAtData(t,e=!1){let s;if(this._pointAtData.id===t)return this._pointAtData.interpolateReady||this._updateInterpolationMatrix(),this._pointAtData;this._pointAtData.id=t;let r=this.getPoints();if(t<=0)return this._setPointAtData(0,0,r[0],0,e);if(t>=1)return this._setPointAtData(1,1,r[r.length-1],r.length-1,e);let n=r[0],a=0,o=t*this.length();for(let h=1;h<r.length;h++){s=r[h];let u=i.Vector3.Distance(n,s);if((a+=u)===o)return this._setPointAtData(t,1,s,h,e);if(a>o){let r=(a-o)/u,i=n.subtract(s),c=s.add(i.scaleInPlace(r));return this._setPointAtData(t,1-r,c,h-1,e)}n=s}return this._pointAtData}_setPointAtData(t,e,s,r,i){return this._pointAtData.point=s,this._pointAtData.position=t,this._pointAtData.subPosition=e,this._pointAtData.previousPointArrayIndex=r,this._pointAtData.interpolateReady=i,i&&this._updateInterpolationMatrix(),this._pointAtData}_updateInterpolationMatrix(){this._pointAtData.interpolationMatrix=i.Matrix.Identity();let t=this._pointAtData.previousPointArrayIndex;if(t!==this._tangents.length-1){let e=t+1,s=this._tangents[t].clone(),r=this._normals[t].clone(),n=this._binormals[t].clone(),a=this._tangents[e].clone(),o=this._normals[e].clone(),h=this._binormals[e].clone(),u=i.Quaternion.RotationQuaternionFromAxis(r,n,s),c=i.Quaternion.RotationQuaternionFromAxis(o,h,a);i.Quaternion.Slerp(u,c,this._pointAtData.subPosition).toRotationMatrix(this._pointAtData.interpolationMatrix)}}}])},45930,t=>{"use strict";var e=t.i(72003),s=t.i(85789),r=t.i(87659),i=t.i(55206),n=t.i(13645),a=t.i(17462),o=t.i(56145),h=t.i(99493);class u extends r.AbstractMesh{constructor(t,e){for(const s of(super(t,e.getScene()),this._indexInSourceMeshInstanceArray=-1,this._distanceToCamera=0,e.addInstance(this),this._sourceMesh=e,this._unIndexed=e._unIndexed,this.position.copyFrom(e.position),this.rotation.copyFrom(e.rotation),this.scaling.copyFrom(e.scaling),e.rotationQuaternion&&(this.rotationQuaternion=e.rotationQuaternion.clone()),this.animations=e.animations.slice(),e.getAnimationRanges()))null!=s&&this.createAnimationRange(s.name,s.from,s.to);if(this.infiniteDistance=e.infiniteDistance,this.setPivotMatrix(e.getPivotMatrix()),e.skeleton||e.morphTargetManager||!e.hasBoundingInfo)this.refreshBoundingInfo(!0,!0);else{const t=e.getBoundingInfo();this.buildBoundingInfo(t.minimum,t.maximum)}this._syncSubMeshes()}getClassName(){return"InstancedMesh"}get lightSources(){return this._sourceMesh._lightSources}_resyncLightSources(){}_resyncLightSource(){}_removeLightSource(){}get receiveShadows(){return this._sourceMesh.receiveShadows}set receiveShadows(t){this._sourceMesh?.receiveShadows!==t&&s.Logger.Warn("Setting receiveShadows on an instanced mesh has no effect")}get material(){return this._sourceMesh.material}set material(t){this._sourceMesh?.material!==t&&s.Logger.Warn("Setting material on an instanced mesh has no effect")}get visibility(){return this._sourceMesh.visibility}set visibility(t){this._sourceMesh?.visibility!==t&&s.Logger.Warn("Setting visibility on an instanced mesh has no effect")}get skeleton(){return this._sourceMesh.skeleton}set skeleton(t){this._sourceMesh?.skeleton!==t&&s.Logger.Warn("Setting skeleton on an instanced mesh has no effect")}get renderingGroupId(){return this._sourceMesh.renderingGroupId}set renderingGroupId(t){this._sourceMesh&&t!==this._sourceMesh.renderingGroupId&&s.Logger.Warn("Note - setting renderingGroupId of an instanced mesh has no effect on the scene")}getTotalVertices(){return this._sourceMesh?this._sourceMesh.getTotalVertices():0}getTotalIndices(){return this._sourceMesh.getTotalIndices()}get sourceMesh(){return this._sourceMesh}get geometry(){return this._sourceMesh._geometry}createInstance(t){return this._sourceMesh.createInstance(t)}isReady(t=!1){return this._sourceMesh.isReady(t,!0)}getVerticesData(t,e,s){return this._sourceMesh.getVerticesData(t,e,s)}copyVerticesData(t,e){this._sourceMesh.copyVerticesData(t,e)}getVertexBuffer(t,e){return this._sourceMesh.getVertexBuffer(t,e)}setVerticesData(t,e,s,r){return this.sourceMesh&&this.sourceMesh.setVerticesData(t,e,s,r),this.sourceMesh}updateVerticesData(t,e,s,r){return this.sourceMesh&&this.sourceMesh.updateVerticesData(t,e,s,r),this.sourceMesh}setIndices(t,e=null){return this.sourceMesh&&this.sourceMesh.setIndices(t,e),this.sourceMesh}isVerticesDataPresent(t){return this._sourceMesh.isVerticesDataPresent(t)}getIndices(){return this._sourceMesh.getIndices()}get _positions(){return this._sourceMesh._positions}refreshBoundingInfo(t=!1,e=!1){if(this.hasBoundingInfo&&this.getBoundingInfo().isLocked)return this;let s=this._sourceMesh.geometry?this._sourceMesh.geometry.boundingBias:null;return this._refreshBoundingInfo(this._sourceMesh._getData("object"==typeof t?t:{applySkeleton:t,applyMorph:e},null,o.VertexBuffer.PositionKind),s),this}_preActivate(){return this._currentLOD&&this._currentLOD._preActivate(),this}_activate(t,e){if(super._activate(t,e),this._sourceMesh.subMeshes||s.Logger.Warn("Instances should only be created for meshes with geometry."),this._currentLOD){if(this._currentLOD._getWorldMatrixDeterminant()>=0!=this._getWorldMatrixDeterminant()>=0)return this._internalAbstractMeshDataInfo._actAsRegularMesh=!0,!0;if(this._internalAbstractMeshDataInfo._actAsRegularMesh=!1,this._currentLOD._registerInstanceForRenderId(this,t),e){if(!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate=!0,!0}else if(!this._currentLOD._internalAbstractMeshDataInfo._isActive)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances=!0,!0}return!1}_postActivate(){this._sourceMesh.edgesShareWithInstances&&this._sourceMesh._edgesRenderer&&this._sourceMesh._edgesRenderer.isEnabled&&this._sourceMesh._renderingGroup?(this._sourceMesh._renderingGroup._edgesRenderers.pushNoDuplicate(this._sourceMesh._edgesRenderer),this._sourceMesh._edgesRenderer.customInstances.push(this.getWorldMatrix())):this._edgesRenderer&&this._edgesRenderer.isEnabled&&this._sourceMesh._renderingGroup&&this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer)}getWorldMatrix(){if(this._currentLOD&&this._currentLOD!==this._sourceMesh&&this._currentLOD.billboardMode!==a.TransformNode.BILLBOARDMODE_NONE&&this._currentLOD._masterMesh!==this){this._billboardWorldMatrix||(this._billboardWorldMatrix=new e.Matrix);let t=this._currentLOD._masterMesh;return this._currentLOD._masterMesh=this,e.TmpVectors.Vector3[7].copyFrom(this._currentLOD.position),this._currentLOD.position.set(0,0,0),this._billboardWorldMatrix.copyFrom(this._currentLOD.computeWorldMatrix(!0)),this._currentLOD.position.copyFrom(e.TmpVectors.Vector3[7]),this._currentLOD._masterMesh=t,this._billboardWorldMatrix}return super.getWorldMatrix()}get isAnInstance(){return!0}getLOD(t){if(!t)return this;let e=this.sourceMesh.getLODLevels();if(e&&0!==e.length){let e=this.getBoundingInfo();this._currentLOD=this.sourceMesh.getLOD(t,e.boundingSphere)}else this._currentLOD=this.sourceMesh;return this._currentLOD}_preActivateForIntermediateRendering(t){return this.sourceMesh._preActivateForIntermediateRendering(t)}_syncSubMeshes(){if(this.releaseSubMeshes(),this._sourceMesh.subMeshes)for(let t=0;t<this._sourceMesh.subMeshes.length;t++)this._sourceMesh.subMeshes[t].clone(this,this._sourceMesh);return this}_generatePointsArray(){return this._sourceMesh._generatePointsArray()}_updateBoundingInfo(){return this.hasBoundingInfo?this.getBoundingInfo().update(this.worldMatrixFromCache):this.buildBoundingInfo(this.absolutePosition,this.absolutePosition,this.worldMatrixFromCache),this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache),this}clone(t,e=null,s,r){let i=(r||this._sourceMesh).createInstance(t);if(n.DeepCopier.DeepCopy(this,i,["name","subMeshes","uniqueId","parent","lightSources","receiveShadows","material","visibility","skeleton","sourceMesh","isAnInstance","facetNb","isFacetDataEnabled","isBlocked","useBones","hasInstances","collider","edgesRenderer","forward","up","right","absolutePosition","absoluteScaling","absoluteRotationQuaternion","isWorldMatrixFrozen","nonUniformScaling","behaviors","worldMatrixFromCache","hasThinInstances","hasBoundingInfo","geometry"],[]),e&&(i.parent=e),!s)for(let t=0;t<this.getScene().meshes.length;t++){let e=this.getScene().meshes[t];e.parent===this&&e.clone(e.name,i)}return i.computeWorldMatrix(!0),this.onClonedObservable.notifyObservers(i),i}dispose(t,e=!1){this._sourceMesh.removeInstance(this),super.dispose(t,e)}_serializeAsParent(t){super._serializeAsParent(t),t.parentId=this._sourceMesh.uniqueId,t.parentInstanceIndex=this._indexInSourceMeshInstanceArray}instantiateHierarchy(t=null,e,s){let r=this.clone("Clone of "+(this.name||this.id),t||this.parent,!0,e&&e.newSourcedMesh);for(let t of(r&&s&&s(this,r),this.getChildTransformNodes(!0)))t.instantiateHierarchy(r,e,s);return r}}let c=!1;t.s(["InstancedMesh",0,u,"RegisterInstancedMesh",0,function(){c||(c=!0,i.Mesh._instancedMeshFactory=(t,e)=>{let s=new u(t,e);if(e.instancedBuffers)for(let t in s.instancedBuffers={},e.instancedBuffers)s.instancedBuffers[t]=e.instancedBuffers[t];return s},i.Mesh.prototype.registerInstancedBuffer=function(t,e){if(this._userInstancedBuffersStorage?.vertexBuffers[t]?.dispose(),this._userInstancedBuffersStorage?.renderPasses)for(let e in this._userInstancedBuffersStorage.renderPasses){let s=this._userInstancedBuffersStorage.renderPasses[e];s[t]?.dispose(),delete s[t]}if(!this.instancedBuffers)for(let t of(this.instancedBuffers={},this.instances))t.instancedBuffers={};for(let s of(this._userInstancedBuffersStorage||(this._userInstancedBuffersStorage={data:{},vertexBuffers:{},strides:{},sizes:{},vertexArrayObjects:this.getEngine().getCaps().vertexArrayObject?{}:void 0}),this.instancedBuffers[t]=null,this._userInstancedBuffersStorage.strides[t]=e,this._userInstancedBuffersStorage.sizes[t]=32*e,this._userInstancedBuffersStorage.data[t]=new Float32Array(this._userInstancedBuffersStorage.sizes[t]),this._userInstancedBuffersStorage.vertexBuffers[t]=this._instanceDataStorage.useMonoDataStorageRenderPass?new o.VertexBuffer(this.getEngine(),this._userInstancedBuffersStorage.data[t],t,!0,!1,e,!0):null,this.instances))s.instancedBuffers[t]=null;this._invalidateInstanceVertexArrayObject(),this._markSubMeshesAsAttributesDirty()},i.Mesh.prototype._processInstancedBuffers=function(t,e){let s,r=t?t.length:0,i=!this._instanceDataStorage.useMonoDataStorageRenderPass;if(i){let t=this._instanceDataStorage.engine.currentRenderPassId;this._userInstancedBuffersStorage.renderPasses||(this._userInstancedBuffersStorage.renderPasses={}),this._userInstancedBuffersStorage.renderPasses[t]||(this._userInstancedBuffersStorage.renderPasses[t]={}),s=this._userInstancedBuffersStorage.renderPasses[t]}for(let n in this.instancedBuffers){let a=this._userInstancedBuffersStorage.sizes[n],h=this._userInstancedBuffersStorage.strides[n],u=(r+1)*h;for(;a<u;)a*=2;this._userInstancedBuffersStorage.data[n].length!=a&&(this._userInstancedBuffersStorage.data[n]=new Float32Array(a),this._userInstancedBuffersStorage.sizes[n]=a,i?s[n]&&(s[n].dispose(),s[n]=null):this._userInstancedBuffersStorage.vertexBuffers[n]&&(this._userInstancedBuffersStorage.vertexBuffers[n].dispose(),this._userInstancedBuffersStorage.vertexBuffers[n]=null));let c=this._userInstancedBuffersStorage.data[n],l=0;if(e){let t=this.instancedBuffers[n]??0;t.toArray?t.toArray(c,l):t.copyToArray?t.copyToArray(c,l):c[l]=t,l+=h}for(let e=0;e<r;e++){let s=t[e].instancedBuffers[n]??0;s.toArray?s.toArray(c,l):s.copyToArray?s.copyToArray(c,l):c[l]=s,l+=h}i?s[n]?s[n].updateDirectly(c,0):(s[n]=new o.VertexBuffer(this.getEngine(),this._userInstancedBuffersStorage.data[n],n,!0,!1,h,!0),this._invalidateInstanceVertexArrayObject()):this._userInstancedBuffersStorage.vertexBuffers[n]?this._userInstancedBuffersStorage.vertexBuffers[n].updateDirectly(c,0):(this._userInstancedBuffersStorage.vertexBuffers[n]=new o.VertexBuffer(this.getEngine(),this._userInstancedBuffersStorage.data[n],n,!0,!1,h,!0),this._invalidateInstanceVertexArrayObject())}},i.Mesh.prototype._invalidateInstanceVertexArrayObject=function(){if(this._userInstancedBuffersStorage&&void 0!==this._userInstancedBuffersStorage.vertexArrayObjects){for(let t in this._userInstancedBuffersStorage.vertexArrayObjects)this.getEngine().releaseVertexArrayObject(this._userInstancedBuffersStorage.vertexArrayObjects[t]);this._userInstancedBuffersStorage.vertexArrayObjects={}}},i.Mesh.prototype._disposeInstanceSpecificData=function(){for(let t in this._instanceDataStorage.renderPasses)this._instanceDataStorage.renderPasses[t].instancesBuffer?.dispose();for(this._instanceDataStorage.renderPasses={},this._instanceDataStorage.dataStorageRenderPass?.instancesBuffer?.dispose();this.instances.length;)this.instances[0].dispose();for(let t in this.instancedBuffers)this._userInstancedBuffersStorage.vertexBuffers[t]&&this._userInstancedBuffersStorage.vertexBuffers[t].dispose();this._invalidateInstanceVertexArrayObject(),this.instancedBuffers={}},(0,h.RegisterClass)("BABYLON.InstancedMesh",u))}])}]);
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70994,e=>{"use strict";var t=e.i(37875);let r="postprocessVertexShader",s=`attribute position: vec2<f32>;uniform scale: vec2<f32>;varying vUV: vec2<f32>;const madd=vec2(0.5,0.5);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,6967,e=>{"use strict";var t=e.i(2342);let r="postprocessVertexShader",s=`attribute position: vec2<f32>;uniform scale: vec2<f32>;varying vUV: vec2<f32>;const madd=vec2(0.5,0.5);
2
2
  #define CUSTOM_VERTEX_DEFINITIONS
3
3
  @vertex
4
4
  fn main(input : VertexInputs)->FragmentInputs {
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59143,t=>{"use strict";var e=t.i(97009),i=t.i(17484),l=t.i(72003),a=t.i(99493);class s extends i.FlowGraphCachedOperationBlock{constructor(t){super(e.RichTypeVector3,t),this.body=this.registerDataInput("body",e.RichTypeAny)}_doOperation(t){let e=this.body.getValue(t);if(!e)return;let i=t._getExecutionVariable(this,"_cachedVelocity",null);return i||(i=new l.Vector3,t._setExecutionVariable(this,"_cachedVelocity",i)),e.getAngularVelocityToRef(i),i}getClassName(){return"FlowGraphGetAngularVelocityBlock"}}let u=!1;function o(){u||(u=!0,(0,a.RegisterClass)("FlowGraphGetAngularVelocityBlock",s))}t.s(["FlowGraphGetAngularVelocityBlock",0,s,"RegisterFlowGraphGetAngularVelocityBlock",0,o],94964),o(),t.s([],75737),t.i(75737),t.i(94964),t.s(["FlowGraphGetAngularVelocityBlock",0,s],59143)},17484,t=>{"use strict";var e=t.i(37096),i=t.i(97009);let l="cachedOperationValue",a="cachedExecutionId";class s extends e.FlowGraphBlock{constructor(t,e){super(e),this._outputRichType=t,this.value=this.registerDataOutput("value",t),this.isValid=this.registerDataOutput("isValid",i.RichTypeBoolean)}_getInvalidOutputValue(t){let e=this._outputRichType.defaultValue,i=e?.clone;return"function"==typeof i?i.call(e):e}_updateOutputs(t){let e=t._getExecutionVariable(this,a,-1),i=t._getExecutionVariable(this,l,null);if(null!=i&&e===t.executionId)this.isValid.setValue(!0,t),this.value.setValue(i,t);else try{let e=this._doOperation(t);if(null==e)return void this._setInvalid(t);t._setExecutionVariable(this,l,e),t._setExecutionVariable(this,a,t.executionId),this.value.setValue(e,t),this.isValid.setValue(!0,t)}catch(e){this._setInvalid(t)}}_setInvalid(t){this.isValid.setValue(!1,t),this.value.setValue(this._getInvalidOutputValue(t),t)}}t.s(["FlowGraphCachedOperationBlock",0,s])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94565,t=>{"use strict";var e=t.i(38759),o=t.i(19434),i=t.i(38116);class r extends e.FlowGraphExecutionBlockWithOutSignal{constructor(t){super(t),this.body=this.registerDataInput("body",o.RichTypeAny),this.force=this.registerDataInput("force",o.RichTypeVector3),this.location=this.registerDataInput("location",o.RichTypeVector3)}_execute(t,e){let o=this.body.getValue(t);if(!o){this._reportError(t,"No physics body provided"),this.out._activateSignal(t);return}let i=this.force.getValue(t),r=this.location.getValue(t);o.applyForce(i,r),this.out._activateSignal(t)}getClassName(){return"FlowGraphApplyForceBlock"}}let c=!1;function l(){c||(c=!0,(0,i.RegisterClass)("FlowGraphApplyForceBlock",r))}t.s(["FlowGraphApplyForceBlock",0,r,"RegisterFlowGraphApplyForceBlock",0,l],98329),l(),t.s([],54583),t.i(54583),t.i(98329),t.s(["FlowGraphApplyForceBlock",0,r],94565)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,42821,t=>{"use strict";var e=t.i(20552),o=t.i(97009),i=t.i(99493);class r extends e.FlowGraphExecutionBlockWithOutSignal{constructor(t){super(t),this.body=this.registerDataInput("body",o.RichTypeAny),this.force=this.registerDataInput("force",o.RichTypeVector3),this.location=this.registerDataInput("location",o.RichTypeVector3)}_execute(t,e){let o=this.body.getValue(t);if(!o){this._reportError(t,"No physics body provided"),this.out._activateSignal(t);return}let i=this.force.getValue(t),r=this.location.getValue(t);o.applyForce(i,r),this.out._activateSignal(t)}getClassName(){return"FlowGraphApplyForceBlock"}}let c=!1;function l(){c||(c=!0,(0,i.RegisterClass)("FlowGraphApplyForceBlock",r))}t.s(["FlowGraphApplyForceBlock",0,r,"RegisterFlowGraphApplyForceBlock",0,l],25349),l(),t.s([],35214),t.i(35214),t.i(25349),t.s(["FlowGraphApplyForceBlock",0,r],42821)}]);