@openlist-frontend/openlist-frontend 4.1.5 → 4.1.6

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 (361) hide show
  1. package/dist/VERSION +1 -1
  2. package/dist/assets/{2fa-DnO7OW8r.js → 2fa-BJVil-dC.js} +1 -1
  3. package/dist/{lite/assets/2fa-legacy-CDlu5-tX.js → assets/2fa-legacy-Bw8Fg-RU.js} +1 -1
  4. package/dist/{lite/assets/About-BiIG6v0o.js → assets/About-CnXjBkhx.js} +1 -1
  5. package/dist/{lite/assets/About-legacy-Nom7wMbp.js → assets/About-legacy-CIA6NTBg.js} +1 -1
  6. package/dist/assets/{AddOrEdit-BXKVJ8uY.js → AddOrEdit-BXOIaAj7.js} +1 -1
  7. package/dist/assets/{AddOrEdit-26ruvLmM.js → AddOrEdit-DMhiYWmY.js} +1 -1
  8. package/dist/assets/{AddOrEdit-74laTJ2-.js → AddOrEdit-DV9zR-VG.js} +1 -1
  9. package/dist/{lite/assets/AddOrEdit-P9_440Uh.js → assets/AddOrEdit-DfvkZvQ_.js} +1 -1
  10. package/dist/assets/{AddOrEdit-legacy-DO3xzVrb.js → AddOrEdit-legacy-Bm8Jc1O2.js} +1 -1
  11. package/dist/assets/{AddOrEdit-legacy-D6h5RN8T.js → AddOrEdit-legacy-CNjlMGPH.js} +1 -1
  12. package/dist/assets/{AddOrEdit-legacy-DxDq8HJ6.js → AddOrEdit-legacy-DZ2UzYRy.js} +1 -1
  13. package/dist/assets/{AddOrEdit-legacy-DQ2LG7sl.js → AddOrEdit-legacy-HNROxq55.js} +1 -1
  14. package/dist/assets/{Common-mJXEpduw.js → Common-C3Hm1pgD.js} +1 -1
  15. package/dist/assets/{Common-legacy-CWb8wL9W.js → Common-legacy-D5iZnNPf.js} +1 -1
  16. package/dist/assets/{Copy-CO7Z8yWm.js → Copy-CAZPfxm1.js} +1 -1
  17. package/dist/assets/{Copy-legacy-Dj2lhlcL.js → Copy-legacy-C3xF5xpb.js} +1 -1
  18. package/dist/assets/Decompress-BZxxcpr8.js +1 -0
  19. package/dist/assets/{Decompress-legacy-DvzgUTRr.js → Decompress-legacy-BjgMEhtL.js} +1 -1
  20. package/dist/assets/{DeletePopover-legacy-CD4d4LSF.js → DeletePopover-legacy-d6yfrPM6.js} +1 -1
  21. package/dist/assets/{DeletePopover-CAP4EK2m.js → DeletePopover-ugc-SP_6.js} +1 -1
  22. package/dist/assets/{File-DUSRp2wv.js → File-DY_G_1ki.js} +2 -2
  23. package/dist/assets/{File-legacy-C2mqSJAb.js → File-legacy-DSaZq227.js} +1 -1
  24. package/dist/assets/Folder-BRAFqPGV.css +1 -0
  25. package/dist/assets/{Folder-legacy-BEVN1MLr.js → Folder-legacy-DiqUCtMB.js} +2 -2
  26. package/dist/assets/{Folder-CTz3fIPw.js → Folder-v7NzTKcu.js} +3 -3
  27. package/dist/assets/{FolderTree-B-JVhW12.js → FolderTree-DcOlUCyE.js} +1 -1
  28. package/dist/{lite/assets/FolderTree-legacy-BoxZZ-Bl.js → assets/FolderTree-legacy-w3Os0aYi.js} +1 -1
  29. package/dist/assets/Grid-DU6GL7YL.js +1 -0
  30. package/dist/assets/Grid-legacy-Di_O9Oj6.js +1 -0
  31. package/dist/assets/{GridItem-BTuMpend.js → GridItem-C1lvrZmi.js} +1 -1
  32. package/dist/assets/{GridItem-legacy-JihU9ieU.js → GridItem-legacy-BtTOG8bz.js} +1 -1
  33. package/dist/assets/{ImageWithError-CVjfpGck.js → ImageWithError-DjyCUlQr.js} +1 -1
  34. package/dist/assets/{ImageWithError-legacy-BeC68avU.js → ImageWithError-legacy-xnZ_ki_l.js} +1 -1
  35. package/dist/{lite/assets/Images-MD_JglgI.js → assets/Images-gM3opRaX.js} +1 -1
  36. package/dist/{lite/assets/Images-legacy-B8gsymQh.js → assets/Images-legacy-B5Y4iFH9.js} +1 -1
  37. package/dist/assets/{Layout-B1rGA3nZ.js → Layout-CHQYv-s9.js} +3 -3
  38. package/dist/assets/{Layout-legacy-C0kGGd08.js → Layout-legacy-BTpEMOLd.js} +2 -2
  39. package/dist/assets/{List-Coh-6NJA.js → List-D2_NKRGG.js} +1 -1
  40. package/dist/{lite/assets/List-legacy-jZhqGE6J.js → assets/List-legacy-Phrrrc0Z.js} +1 -1
  41. package/dist/assets/{Messenger-CnV47Bze.js → Messenger-DJRwDBUr.js} +1 -1
  42. package/dist/assets/{Messenger-legacy-DFlWZQR1.js → Messenger-legacy-C9CFQIHh.js} +1 -1
  43. package/dist/assets/{Metas-DE61Jy7q.js → Metas-CMyA2rI1.js} +1 -1
  44. package/dist/assets/{Metas-legacy-BoOLwhTp.js → Metas-legacy-Dw6cXDTO.js} +1 -1
  45. package/dist/assets/{Move-DtTvDViD.js → Move-BHrZLSox.js} +1 -1
  46. package/dist/assets/{Move-legacy-CaSSrfNz.js → Move-legacy-C0qa3mef.js} +1 -1
  47. package/dist/assets/{Other-CLxXY7Yv.js → Other-BoYV3kWc.js} +1 -1
  48. package/dist/{lite/assets/Other-legacy-BhvWSmNK.js → assets/Other-legacy-BgBir4vA.js} +1 -1
  49. package/dist/assets/{PackageDownload-DoqlhmWi.js → PackageDownload-Dv71rcCs.js} +1 -1
  50. package/dist/assets/{PackageDownload-legacy-C-DmBp0b.js → PackageDownload-legacy-BhCemg9s.js} +1 -1
  51. package/dist/assets/{Paginator-CcvouZsH.js → Paginator-B0_xXcT4.js} +1 -1
  52. package/dist/assets/{Paginator-legacy-Dl1wmpdf.js → Paginator-legacy-W8T_jsrU.js} +1 -1
  53. package/dist/assets/{Password-BJH0O-Ee.js → Password-ZZtluIx4.js} +1 -1
  54. package/dist/assets/{Password-legacy-aLr5CPaC.js → Password-legacy-CwjBujYn.js} +1 -1
  55. package/dist/{lite/assets/Profile-BnHDknJp.js → assets/Profile-ZyQ71D1Q.js} +1 -1
  56. package/dist/{lite/assets/Profile-legacy-Ck3FIwT0.js → assets/Profile-legacy-C7Ps7r_N.js} +1 -1
  57. package/dist/assets/{PublicKeys-GmxW9slb.js → PublicKeys-BFgc_kDK.js} +1 -1
  58. package/dist/assets/{PublicKeys-legacy-Dpy2OKO7.js → PublicKeys-legacy-BsMnYp3C.js} +1 -1
  59. package/dist/assets/{ResponsiveGrid-B-Gtx7hU.js → ResponsiveGrid-BY1PpDqt.js} +1 -1
  60. package/dist/assets/{ResponsiveGrid-legacy-C98rjzv4.js → ResponsiveGrid-legacy-coTQBkSd.js} +1 -1
  61. package/dist/assets/{S3-B2QEPRxz.js → S3-B-FnCrvy.js} +1 -1
  62. package/dist/assets/{S3-legacy-D0oGQXX7.js → S3-legacy-BCmey8-S.js} +1 -1
  63. package/dist/assets/{SettingItem-BKq_8Tgg.js → SettingItem-BVKrw6oi.js} +1 -1
  64. package/dist/assets/{SettingItem-legacy-B-daHqNK.js → SettingItem-legacy-EhKd1HsI.js} +1 -1
  65. package/dist/assets/{Shares-CIpBRvjh.js → Shares-Bh-WUsT1.js} +1 -1
  66. package/dist/{lite/assets/Shares-legacy-A-yOhTjr.js → assets/Shares-legacy-CF3RYXL4.js} +1 -1
  67. package/dist/{lite/assets/Storages-DPJKHeYT.js → assets/Storages-D2nbEkD7.js} +1 -1
  68. package/dist/{lite/assets/Storages-legacy-B1hawBl6.js → assets/Storages-legacy-BmjFIHIO.js} +1 -1
  69. package/dist/assets/{Upload-CAJUVnYz.js → Upload-5WeDfv-D.js} +1 -1
  70. package/dist/{lite/assets/Upload-Dn9Zt2ir.js → assets/Upload-BPAa3cZD.js} +1 -1
  71. package/dist/assets/{Upload-legacy-DonEbWL7.js → Upload-legacy-Csap8ypu.js} +1 -1
  72. package/dist/assets/{Upload-legacy-CqzGbhWy.js → Upload-legacy-_hl29_KK.js} +1 -1
  73. package/dist/assets/{Users-Dov8BVlG.js → Users-C8n9CcJ0.js} +1 -1
  74. package/dist/assets/{Users-legacy-BvP21aaZ.js → Users-legacy-BlXbXvFA.js} +1 -1
  75. package/dist/assets/{Wether-DnkqeggH.js → Wether-EEfiGtDc.js} +1 -1
  76. package/dist/assets/{Wether-legacy-CAaj_TCP.js → Wether-legacy-KeApe-Mn.js} +1 -1
  77. package/dist/assets/aliyun_video-legacy-Cqfn9kP8.js +1 -0
  78. package/dist/assets/aliyun_video-oPJCKMmx.js +1 -0
  79. package/dist/assets/{archive-legacy-BRdlrV0m.js → archive-legacy-CxkHyofE.js} +1 -1
  80. package/dist/{lite/assets/archive-BmYGyL-D.js → assets/archive-zOoxI2IC.js} +1 -1
  81. package/dist/assets/{artplayer-Dx_o8qbL.js → artplayer-Bk4d3YYS.js} +1 -1
  82. package/dist/assets/artplayer-DSxWZ0vo.css +1 -0
  83. package/dist/assets/artplayer-legacy-Dks4J682.js +1 -0
  84. package/dist/{lite/assets/asciinema-CnVNqzQ3.js → assets/asciinema-DeyZWcfv.js} +1 -1
  85. package/dist/{lite/assets/asciinema-legacy-CR_8G7YK.js → assets/asciinema-legacy-CkeFuF8Y.js} +1 -1
  86. package/dist/{lite/assets/audio-BzrVqsI7.js → assets/audio-WpdpXMFe.js} +1 -1
  87. package/dist/assets/{audio-legacy-CqodcquN.js → audio-legacy-Oi5s3GAs.js} +1 -1
  88. package/dist/{lite/assets/backup-restore-DzEeR52o.js → assets/backup-restore-CPpMsvSr.js} +1 -1
  89. package/dist/{lite/assets/backup-restore-legacy-Bca-CDdx.js → assets/backup-restore-legacy-XU3KmwfH.js} +1 -1
  90. package/dist/assets/entry-Cg-kAnDf.js +1 -0
  91. package/dist/assets/entry-D9WNpjpS.js +1 -0
  92. package/dist/assets/entry-legacy-BO12mGwm.js +1 -0
  93. package/dist/assets/entry-legacy-Dz2dwh9k.js +1 -0
  94. package/dist/assets/{flash-BujtDaR2.js → flash-Bg8NYyO5.js} +1 -1
  95. package/dist/assets/{flash-legacy-TufwamJ4.js → flash-legacy-Dnu9NPOy.js} +1 -1
  96. package/dist/assets/{heic-YcL882lE.js → heic-BMPdTz0j.js} +1 -1
  97. package/dist/assets/{heic-legacy-C9V8QWlr.js → heic-legacy-DnP2sPTJ.js} +1 -1
  98. package/dist/{lite/assets/helper-Y6Ih7bVv.js → assets/helper-CwCPHbkW.js} +1 -1
  99. package/dist/assets/{helper-CK1xm1ZU.js → helper-auECfvPB.js} +1 -1
  100. package/dist/{lite/assets/helper-legacy-DGYPOWF1.js → assets/helper-legacy-DDiqYkNY.js} +1 -1
  101. package/dist/assets/{helper-legacy-D5fWMl8g.js → helper-legacy-QhL9-ezg.js} +1 -1
  102. package/dist/assets/{html-zAnEIQrt.js → html-CZy8RvgS.js} +1 -1
  103. package/dist/assets/{html-legacy-ZLUETlal.js → html-legacy-DnGt2F7Z.js} +1 -1
  104. package/dist/{lite/assets/icon-99T2NcXn.js → assets/icon-CBFBl7Gf.js} +1 -1
  105. package/dist/assets/{icon-legacy-ae4Og5ve.js → icon-legacy-CreVXYBX.js} +1 -1
  106. package/dist/assets/{image-D8Y9vFpL.js → image-BbwP1dNU.js} +1 -1
  107. package/dist/assets/{image-legacy-BeKvZVUJ.js → image-legacy-CTsPicJg.js} +1 -1
  108. package/dist/{lite/assets/index-CE2qbwV4.js → assets/index-BFKEZhfe.js} +1 -1
  109. package/dist/assets/{index-CCprj32B.js → index-CDnqKB0t.js} +1 -1
  110. package/dist/assets/{index-BMdLk_D8.js → index-CK55JMSF.js} +1 -1
  111. package/dist/{lite/assets/index-DmEGoYU0.js → assets/index-CZfGM2Mq.js} +1 -1
  112. package/dist/assets/{index-CKG1ZNQZ.js → index-CfPMzp_a.js} +1 -1
  113. package/dist/{lite/assets/index-DiQ5fKYa.js → assets/index-D-vIWUdH.js} +2 -2
  114. package/dist/assets/{index-vDZfREFO.js → index-DEexeHu6.js} +1 -1
  115. package/dist/{lite/assets/index-DGG3tImp.js → assets/index-DUiB0Klj.js} +1 -1
  116. package/dist/assets/{index-Djf5AcBv.js → index-DcqR4SwO.js} +1 -1
  117. package/dist/assets/{index-Bm6_Y9sI.js → index-OgGZRkvk.js} +5 -5
  118. package/dist/assets/{index-legacy-BnW9yB9Z.js → index-legacy-BF9MUSf8.js} +3 -3
  119. package/dist/{lite/assets/index-legacy-B18blw0h.js → assets/index-legacy-BniLU_cV.js} +1 -1
  120. package/dist/assets/{index-legacy-Cqf4u7Tk.js → index-legacy-BvsizJsl.js} +1 -1
  121. package/dist/{lite/assets/index-legacy-t_wcdI0_.js → assets/index-legacy-Bvu2RNwR.js} +1 -1
  122. package/dist/{lite/assets/index-legacy-Bv1gPy8D.js → assets/index-legacy-C0ErUpkd.js} +1 -1
  123. package/dist/assets/{index-legacy-DHebV9rT.js → index-legacy-Cz4zau9w.js} +1 -1
  124. package/dist/{lite/assets/index-legacy-DFmoAcdO.js → assets/index-legacy-Djep-mKd.js} +1 -1
  125. package/dist/assets/{index-legacy-MsXPuGSt.js → index-legacy-G7ghBgUb.js} +1 -1
  126. package/dist/assets/{index-legacy-WntVcU0W.js → index-legacy-mkZIROBU.js} +1 -1
  127. package/dist/{lite/assets/index-legacy-_1Jar6t1.js → assets/index-legacy-nQvxfT-V.js} +1 -1
  128. package/dist/{lite/assets/indexes-B_xpZUtC.js → assets/indexes-B6dbrpO7.js} +1 -1
  129. package/dist/{lite/assets/indexes-legacy-C4cOsGQP.js → assets/indexes-legacy-Ctq-OGob.js} +1 -1
  130. package/dist/assets/{ipa-D4SZWz_c.js → ipa-BxAuZRWZ.js} +1 -1
  131. package/dist/assets/{ipa-legacy-Cmz2KaOW.js → ipa-legacy-BNvWiB55.js} +1 -1
  132. package/dist/assets/{markdown-BViStt17.js → markdown-BZdNzjRv.js} +1 -1
  133. package/dist/assets/{markdown-legacy-D-o2A_ax.js → markdown-legacy-DHB4jpdc.js} +1 -1
  134. package/dist/assets/{markdown_with_word_wrap-acH_y5MB.js → markdown_with_word_wrap-Bjv9OBFH.js} +1 -1
  135. package/dist/assets/{markdown_with_word_wrap-legacy-D49mE1wT.js → markdown_with_word_wrap-legacy-CVK10hoS.js} +1 -1
  136. package/dist/assets/offline_download-BtsG-Ll_.js +1 -0
  137. package/dist/assets/{offline_download-legacy-Bw24ZKyO.js → offline_download-legacy-CHPsXD-u.js} +1 -1
  138. package/dist/assets/pdf-BI9TDflB.css +1 -0
  139. package/dist/assets/{pdf-CI1MrVa4.js → pdf-CSaBqFYo.js} +1 -1
  140. package/dist/assets/{pdf-legacy-DZbYLbtj.js → pdf-legacy-CbdL7cLy.js} +1 -1
  141. package/dist/assets/plist-l6kmmZxe.js +1 -0
  142. package/dist/assets/{plist-legacy-FwdYdIRS.js → plist-legacy-zhq_aaJq.js} +1 -1
  143. package/dist/assets/{share-Dr-UV3DI.js → share-BzFGsIS2.js} +1 -1
  144. package/dist/assets/{share-legacy-BeIGs_Ll.js → share-legacy-B1WUl-rg.js} +1 -1
  145. package/dist/{lite/assets/style-D8eAFLLT.js → assets/style-BKK3aRI7.js} +1 -1
  146. package/dist/assets/{style-legacy-BjKlv_jM.js → style-legacy-CIzHj0Cx.js} +1 -1
  147. package/dist/{lite/assets/text-editor-CN5RpNem.js → assets/text-editor-BsKJ4CVj.js} +1 -1
  148. package/dist/assets/{text-editor-legacy-wswMIqoG.js → text-editor-legacy-D471H1nT.js} +1 -1
  149. package/dist/{lite/assets/url-Cqo_0H5O.js → assets/url-DbjlqFMk.js} +1 -1
  150. package/dist/assets/{url-legacy-CO37P29p.js → url-legacy-CDQ20hn7.js} +1 -1
  151. package/dist/assets/{useTitle-legacy-Dz_oGTmz.js → useTitle-legacy-C3iesTdT.js} +1 -1
  152. package/dist/assets/{useTitle-Bvvany__.js → useTitle-z4F6G2xs.js} +1 -1
  153. package/dist/assets/video--IFDqiib.js +7 -0
  154. package/dist/assets/video-legacy-DKBw2x9z.js +9 -0
  155. package/dist/{lite/assets/video360-CSrjtpy_.js → assets/video360-Db3j2PPs.js} +2 -2
  156. package/dist/assets/video360-legacy-Wcr9J8G1.js +16 -0
  157. package/dist/assets/video_box-B5bzqqE4.js +6 -0
  158. package/dist/assets/video_box-legacy-C5jgNJ6Y.js +1 -0
  159. package/dist/i18n.tar.gz +0 -0
  160. package/dist/index.html +2 -2
  161. package/dist/lite/VERSION +1 -1
  162. package/dist/lite/assets/{2fa-Cp8GV6f2.js → 2fa-Cba3iGah.js} +1 -1
  163. package/dist/{assets/2fa-legacy-CW-gE4u7.js → lite/assets/2fa-legacy-Mmfq41Nz.js} +1 -1
  164. package/dist/{assets/About-DbBVzhe0.js → lite/assets/About-BnYVkKHd.js} +1 -1
  165. package/dist/{assets/About-legacy-DenzJhZP.js → lite/assets/About-legacy-Cxx9nW_c.js} +1 -1
  166. package/dist/lite/assets/{AddOrEdit-DUSORWWH.js → AddOrEdit-Bk71zgZx.js} +1 -1
  167. package/dist/{assets/AddOrEdit-BDKD_Z4F.js → lite/assets/AddOrEdit-C_TsW-qu.js} +1 -1
  168. package/dist/lite/assets/{AddOrEdit-BL1BeyoJ.js → AddOrEdit-Ciai_Mva.js} +1 -1
  169. package/dist/lite/assets/{AddOrEdit-DDTliQC9.js → AddOrEdit-Ubcz_IR3.js} +1 -1
  170. package/dist/lite/assets/{AddOrEdit-legacy-64dp_VVE.js → AddOrEdit-legacy-BTVAZW7-.js} +1 -1
  171. package/dist/lite/assets/{AddOrEdit-legacy-CU0tx0-k.js → AddOrEdit-legacy-Bc0yDiZe.js} +1 -1
  172. package/dist/lite/assets/{AddOrEdit-legacy-Cxs3ZD9l.js → AddOrEdit-legacy-Ds-LXZsN.js} +1 -1
  173. package/dist/lite/assets/{AddOrEdit-legacy-CYqNrxMH.js → AddOrEdit-legacy-Yn6zY9DI.js} +1 -1
  174. package/dist/lite/assets/{Common-DUYM0qhl.js → Common-BhYFHB5L.js} +1 -1
  175. package/dist/lite/assets/{Common-legacy-Bykd7dpj.js → Common-legacy-nMz2JaBU.js} +1 -1
  176. package/dist/lite/assets/{Copy-CSUzrb-x.js → Copy-DEdnRz5a.js} +1 -1
  177. package/dist/lite/assets/{Copy-legacy-e0bet9IK.js → Copy-legacy-CSfXZeUW.js} +1 -1
  178. package/dist/lite/assets/Decompress-DRdYXC3J.js +1 -0
  179. package/dist/lite/assets/{Decompress-legacy-DKQqLfdo.js → Decompress-legacy-CQSQWCUS.js} +1 -1
  180. package/dist/lite/assets/{DeletePopover-LagDx2W3.js → DeletePopover-BcrxiTQu.js} +1 -1
  181. package/dist/lite/assets/{DeletePopover-legacy-B-ceofN8.js → DeletePopover-legacy-TaZbLUXa.js} +1 -1
  182. package/dist/lite/assets/{File-BWWtKrhV.js → File-BXtiGZHq.js} +2 -2
  183. package/dist/lite/assets/{File-legacy-DiivbtlC.js → File-legacy-Bgvg4d4t.js} +1 -1
  184. package/dist/lite/assets/Folder-BRAFqPGV.css +1 -0
  185. package/dist/lite/assets/{Folder-LDL2MQIm.js → Folder-CnHlrOow.js} +3 -3
  186. package/dist/lite/assets/{Folder-legacy-COJG8Q2p.js → Folder-legacy-s2c7YI5y.js} +2 -2
  187. package/dist/lite/assets/{FolderTree-B_M4MmTX.js → FolderTree-DryWScYm.js} +1 -1
  188. package/dist/{assets/FolderTree-legacy-Buo0bWMI.js → lite/assets/FolderTree-legacy-C4KDuDoD.js} +1 -1
  189. package/dist/lite/assets/Grid-DrCwvRCm.js +1 -0
  190. package/dist/lite/assets/Grid-legacy-DoVKYGQf.js +1 -0
  191. package/dist/lite/assets/{GridItem-VL-h_0bJ.js → GridItem-ZhXO1CMD.js} +1 -1
  192. package/dist/lite/assets/{GridItem-legacy-Dub6K9FE.js → GridItem-legacy-klB0if9N.js} +1 -1
  193. package/dist/lite/assets/{ImageWithError-DCqtD_dx.js → ImageWithError-BAooxdmp.js} +1 -1
  194. package/dist/lite/assets/{ImageWithError-legacy-Dr3Dnm7P.js → ImageWithError-legacy-BmJJtewR.js} +1 -1
  195. package/dist/{assets/Images-DK4UYmZg.js → lite/assets/Images-C1Sp945b.js} +1 -1
  196. package/dist/{assets/Images-legacy-D5Ne1SS5.js → lite/assets/Images-legacy-Bz2HW1ab.js} +1 -1
  197. package/dist/lite/assets/{Layout-CHsCOBH4.js → Layout-ByAw048Z.js} +3 -3
  198. package/dist/lite/assets/{Layout-legacy-7VJRCJRu.js → Layout-legacy-C9uKRIFK.js} +2 -2
  199. package/dist/lite/assets/{List-PPAUqQL3.js → List-VkiqQ513.js} +1 -1
  200. package/dist/{assets/List-legacy-CSkvZQ4q.js → lite/assets/List-legacy-BhGyj__z.js} +1 -1
  201. package/dist/lite/assets/{Messenger-CI3Fj4WR.js → Messenger-DchzaRhO.js} +1 -1
  202. package/dist/lite/assets/{Messenger-legacy-DBaggPFZ.js → Messenger-legacy-CdYap43s.js} +1 -1
  203. package/dist/lite/assets/{Metas-CnKzOOqI.js → Metas-DA2cKyVZ.js} +1 -1
  204. package/dist/lite/assets/{Metas-legacy-DiWc9jH2.js → Metas-legacy-BHxj5pr4.js} +1 -1
  205. package/dist/lite/assets/{Move-DR4A37IE.js → Move-PiBI1msn.js} +1 -1
  206. package/dist/lite/assets/{Move-legacy-Dq4vhjoq.js → Move-legacy-CJ7VDIli.js} +1 -1
  207. package/dist/lite/assets/{Other-C10g6L1D.js → Other-CukUGucd.js} +1 -1
  208. package/dist/{assets/Other-legacy-2aFOBKcP.js → lite/assets/Other-legacy-BU-paaTj.js} +1 -1
  209. package/dist/lite/assets/{PackageDownload-legacy-_LSavf1q.js → PackageDownload-legacy-CmewbRPt.js} +1 -1
  210. package/dist/lite/assets/{PackageDownload-Sb8Gf-bN.js → PackageDownload-sXZIZrqN.js} +1 -1
  211. package/dist/lite/assets/{Paginator-Bk9q62IB.js → Paginator-WUqdFRuE.js} +1 -1
  212. package/dist/lite/assets/{Paginator-legacy-TGxD05Bb.js → Paginator-legacy-BFlDB2Qj.js} +1 -1
  213. package/dist/lite/assets/{Password-gfBOG-Vm.js → Password-bjwg7m97.js} +1 -1
  214. package/dist/lite/assets/{Password-legacy-BhjtN2vr.js → Password-legacy-CV1oGsA9.js} +1 -1
  215. package/dist/{assets/Profile-A8BTUzP1.js → lite/assets/Profile-BuZocIEQ.js} +1 -1
  216. package/dist/{assets/Profile-legacy-DlLHgHcg.js → lite/assets/Profile-legacy-DLmyva4H.js} +1 -1
  217. package/dist/lite/assets/{PublicKeys-CJnfquth.js → PublicKeys-DsinJzcu.js} +1 -1
  218. package/dist/lite/assets/{PublicKeys-legacy-DPeF0ipr.js → PublicKeys-legacy-BV80Hp7t.js} +1 -1
  219. package/dist/lite/assets/{ResponsiveGrid-BSvFaM_t.js → ResponsiveGrid-k9zp_F5K.js} +1 -1
  220. package/dist/lite/assets/{ResponsiveGrid-legacy-Cvd5QSxb.js → ResponsiveGrid-legacy-DOEiXYnn.js} +1 -1
  221. package/dist/lite/assets/{S3-C4v6mepu.js → S3-B8LI7bn7.js} +1 -1
  222. package/dist/lite/assets/{S3-legacy-Ddi1mULM.js → S3-legacy-D8Hn7S48.js} +1 -1
  223. package/dist/lite/assets/{SettingItem-legacy-X-mebGDm.js → SettingItem-legacy-DrYFPhaD.js} +1 -1
  224. package/dist/lite/assets/{SettingItem-DfDTdGVz.js → SettingItem-mJ7800Cw.js} +1 -1
  225. package/dist/lite/assets/{Shares-eOXygW7q.js → Shares-BsiAD0hp.js} +1 -1
  226. package/dist/{assets/Shares-legacy-Czt75hUx.js → lite/assets/Shares-legacy-D89Dt4T7.js} +1 -1
  227. package/dist/{assets/Storages-3NxbdTsR.js → lite/assets/Storages-DqN4fbAt.js} +1 -1
  228. package/dist/{assets/Storages-legacy--XB7c9Lu.js → lite/assets/Storages-legacy-CcEdTw_w.js} +1 -1
  229. package/dist/lite/assets/{Upload-BgCWW1ZP.js → Upload-8WXooshT.js} +1 -1
  230. package/dist/{assets/Upload-BrafIJK3.js → lite/assets/Upload-Bt31tGGI.js} +1 -1
  231. package/dist/lite/assets/{Upload-legacy-BNsTSvqL.js → Upload-legacy-B6Ge_4m7.js} +1 -1
  232. package/dist/lite/assets/{Upload-legacy-BjZkHgze.js → Upload-legacy-Q3qHqKWR.js} +1 -1
  233. package/dist/lite/assets/{Users-CRwlRJki.js → Users-C889AsI_.js} +1 -1
  234. package/dist/lite/assets/{Users-legacy-tSqLQ1MC.js → Users-legacy-C--9B1cg.js} +1 -1
  235. package/dist/lite/assets/{Wether-DIIDvqtz.js → Wether-DafRqBaR.js} +1 -1
  236. package/dist/lite/assets/{Wether-legacy-DnY7xir2.js → Wether-legacy-DBLY7Y5z.js} +1 -1
  237. package/dist/lite/assets/aliyun_video-IRI6KWGL.js +1 -0
  238. package/dist/lite/assets/aliyun_video-legacy-3_Tzr5qG.js +1 -0
  239. package/dist/{assets/archive-Wwf_kxPh.js → lite/assets/archive-DdhlxpBG.js} +1 -1
  240. package/dist/lite/assets/{archive-legacy-13D70yLk.js → archive-legacy-CzU8yskw.js} +1 -1
  241. package/dist/lite/assets/{artplayer-CPzgtlP-.js → artplayer-Ci6JwE8b.js} +1 -1
  242. package/dist/lite/assets/artplayer-DSxWZ0vo.css +1 -0
  243. package/dist/lite/assets/artplayer-legacy-Cz_wj3S1.js +1 -0
  244. package/dist/{assets/asciinema-gyesvthN.js → lite/assets/asciinema-CsuvSflZ.js} +1 -1
  245. package/dist/{assets/asciinema-legacy-BcfykwUM.js → lite/assets/asciinema-legacy-CnsVFqLm.js} +1 -1
  246. package/dist/{assets/audio-CkAeZoI5.js → lite/assets/audio-47ZH8_NT.js} +1 -1
  247. package/dist/lite/assets/{audio-legacy-C9duowev.js → audio-legacy-DuQsNnmg.js} +1 -1
  248. package/dist/{assets/backup-restore-DSurV-LF.js → lite/assets/backup-restore-BW56ytoz.js} +1 -1
  249. package/dist/{assets/backup-restore-legacy-Bul7Mx1E.js → lite/assets/backup-restore-legacy-BPR8W15W.js} +1 -1
  250. package/dist/lite/assets/entry-CYhVH-F8.js +1 -0
  251. package/dist/lite/assets/entry-DvZ1aEqN.js +1 -0
  252. package/dist/lite/assets/entry-legacy-DLE0ehHZ.js +1 -0
  253. package/dist/lite/assets/entry-legacy-kWgrufdH.js +1 -0
  254. package/dist/lite/assets/{flash-n-Uerf3G.js → flash-Cnr6Msx0.js} +1 -1
  255. package/dist/lite/assets/{flash-legacy-CcDa5_zU.js → flash-legacy-Y4ONOIzl.js} +1 -1
  256. package/dist/lite/assets/{heic-DJsGgSth.js → heic-BiDyCK6z.js} +1 -1
  257. package/dist/lite/assets/{heic-legacy-5E4avPOJ.js → heic-legacy-Dcth179r.js} +1 -1
  258. package/dist/{assets/helper-D19WhGE8.js → lite/assets/helper-CGJh4Mcd.js} +1 -1
  259. package/dist/lite/assets/{helper-BRT5m-UO.js → helper-DPWWAL9b.js} +1 -1
  260. package/dist/lite/assets/{helper-legacy-CupJzs18.js → helper-legacy-BZ58xgsS.js} +1 -1
  261. package/dist/{assets/helper-legacy-DnsNXh5c.js → lite/assets/helper-legacy-DyNhd7xS.js} +1 -1
  262. package/dist/lite/assets/{html-B_RN4qHU.js → html-Bj2Ur23K.js} +1 -1
  263. package/dist/lite/assets/{html-legacy-CTmoSLMG.js → html-legacy-DY_NIdCf.js} +1 -1
  264. package/dist/{assets/icon-1UxJ_z4h.js → lite/assets/icon-CnO0EiiQ.js} +1 -1
  265. package/dist/lite/assets/{icon-legacy--imLLEN3.js → icon-legacy-Bwj15SZL.js} +1 -1
  266. package/dist/lite/assets/{image-D7ssBu4O.js → image-QD1sWBW3.js} +1 -1
  267. package/dist/lite/assets/{image-legacy-B7RjwG2e.js → image-legacy-i-bQu2H7.js} +1 -1
  268. package/dist/lite/assets/{index-DVeSrIjH.js → index-B4mGOydU.js} +5 -5
  269. package/dist/lite/assets/{index-CHbFa2Qi.js → index-BQjkrYRg.js} +1 -1
  270. package/dist/{assets/index-CTnHW0Hg.js → lite/assets/index-BZhNKIgz.js} +1 -1
  271. package/dist/lite/assets/{index-DfK_oJ0a.js → index-CqsLhPkQ.js} +1 -1
  272. package/dist/{assets/index-eLRQQlhw.js → lite/assets/index-DJ_twS_n.js} +1 -1
  273. package/dist/lite/assets/{index-B3PN_rL5.js → index-De5GjDdQ.js} +1 -1
  274. package/dist/{assets/index-C4xpIx4V.js → lite/assets/index-DqdmJqKm.js} +2 -2
  275. package/dist/{assets/index-C7ZV98_F.js → lite/assets/index-PuaXxP6_.js} +1 -1
  276. package/dist/lite/assets/{index-B7j55Lx_.js → index-ZDcFYxCa.js} +1 -1
  277. package/dist/lite/assets/{index-BN93XOUQ.js → index-jgZCXURn.js} +1 -1
  278. package/dist/lite/assets/{index-legacy-DKh3ofD4.js → index-legacy-B4Rc_sNV.js} +1 -1
  279. package/dist/lite/assets/{index-legacy-AYHOnsIL.js → index-legacy-BPE9jVPL.js} +3 -3
  280. package/dist/lite/assets/{index-legacy-kM70Lk7B.js → index-legacy-Bn5BYG-b.js} +1 -1
  281. package/dist/{assets/index-legacy-C7KH6YWX.js → lite/assets/index-legacy-CWa3pn1E.js} +1 -1
  282. package/dist/{assets/index-legacy-QzbBOX-x.js → lite/assets/index-legacy-CcEfQpAq.js} +1 -1
  283. package/dist/{assets/index-legacy-CKgx1aTJ.js → lite/assets/index-legacy-CcdOrUAP.js} +1 -1
  284. package/dist/{assets/index-legacy-8kNL0jTf.js → lite/assets/index-legacy-CefL9m_g.js} +1 -1
  285. package/dist/{assets/index-legacy-CYPFt7al.js → lite/assets/index-legacy-DKm3mvik.js} +1 -1
  286. package/dist/lite/assets/{index-legacy-BQG1O82M.js → index-legacy-DeZ6im5p.js} +1 -1
  287. package/dist/lite/assets/{index-legacy-DIGekq4N.js → index-legacy-KJVoMD-L.js} +1 -1
  288. package/dist/{assets/indexes-4GSYOl-x.js → lite/assets/indexes-BT_rM9-5.js} +1 -1
  289. package/dist/{assets/indexes-legacy-D5AvV5rv.js → lite/assets/indexes-legacy-MthuzrFM.js} +1 -1
  290. package/dist/lite/assets/{ipa-DnoFGq1x.js → ipa-CeNh_DXu.js} +1 -1
  291. package/dist/lite/assets/{ipa-legacy-CIXCx8B2.js → ipa-legacy-COLKmhkZ.js} +1 -1
  292. package/dist/lite/assets/{markdown-TJH7xmNb.js → markdown-D0-Jmp61.js} +1 -1
  293. package/dist/lite/assets/{markdown-legacy-c4Ay76yC.js → markdown-legacy-jtL_AIJQ.js} +1 -1
  294. package/dist/lite/assets/{markdown_with_word_wrap-D2xfCDFO.js → markdown_with_word_wrap-akXkxjua.js} +1 -1
  295. package/dist/lite/assets/{markdown_with_word_wrap-legacy-l4PIXAK-.js → markdown_with_word_wrap-legacy-BoT9L9jw.js} +1 -1
  296. package/dist/lite/assets/offline_download-Bpll4jZx.js +1 -0
  297. package/dist/lite/assets/{offline_download-legacy-C475ejHE.js → offline_download-legacy-ssHow0Ql.js} +1 -1
  298. package/dist/lite/assets/pdf-BI9TDflB.css +1 -0
  299. package/dist/lite/assets/{pdf-DTj5WiGP.js → pdf-LraFt-rk.js} +1 -1
  300. package/dist/lite/assets/{pdf-legacy-1NJiUq5K.js → pdf-legacy-CabuEWpk.js} +1 -1
  301. package/dist/lite/assets/plist-Bq6g6Icu.js +1 -0
  302. package/dist/lite/assets/{plist-legacy-BvRa_WzA.js → plist-legacy-CUWIyXR5.js} +1 -1
  303. package/dist/lite/assets/{share-BhTXOLp-.js → share-c4npe0_u.js} +1 -1
  304. package/dist/lite/assets/{share-legacy-DhBXeLhn.js → share-legacy-9qOdxdlu.js} +1 -1
  305. package/dist/{assets/style-BGlJarg-.js → lite/assets/style-CWzMz4CL.js} +1 -1
  306. package/dist/lite/assets/{style-legacy-DZQRbjrI.js → style-legacy-VhxGdD6E.js} +1 -1
  307. package/dist/{assets/text-editor-D8z8lZYG.js → lite/assets/text-editor-Rn63Y-IP.js} +1 -1
  308. package/dist/lite/assets/{text-editor-legacy-BNyX3UlY.js → text-editor-legacy-fjLy7uC8.js} +1 -1
  309. package/dist/{assets/url-D1DZG2PN.js → lite/assets/url-DAQuVl3k.js} +1 -1
  310. package/dist/lite/assets/{url-legacy--KYBfjIe.js → url-legacy-C6ISDgNu.js} +1 -1
  311. package/dist/lite/assets/{useTitle-Du1KlcYm.js → useTitle-CcYT32cL.js} +1 -1
  312. package/dist/lite/assets/{useTitle-legacy-Be3LvOiw.js → useTitle-legacy-BPqqG4Bh.js} +1 -1
  313. package/dist/lite/assets/video-lSp_ixZV.js +7 -0
  314. package/dist/lite/assets/video-legacy-Cf17LwO0.js +9 -0
  315. package/dist/{assets/video360-DpnUmoag.js → lite/assets/video360-Bbfqtusc.js} +2 -2
  316. package/dist/lite/assets/video360-legacy-DkfPTRIN.js +16 -0
  317. package/dist/lite/assets/video_box-legacy-Ne1nwlae.js +1 -0
  318. package/dist/lite/assets/video_box-uXHN1VZw.js +6 -0
  319. package/dist/lite/i18n.tar.gz +0 -0
  320. package/dist/lite/index.html +2 -2
  321. package/package.json +1 -1
  322. package/dist/assets/Decompress-BEkrwzIu.js +0 -1
  323. package/dist/assets/Folder-pZUjROFs.css +0 -1
  324. package/dist/assets/Grid-CZuK8hT5.js +0 -1
  325. package/dist/assets/Grid-legacy-D59EQdlr.js +0 -1
  326. package/dist/assets/aliyun_video-BUZEYb1M.js +0 -1
  327. package/dist/assets/aliyun_video-legacy-CZCG3ZE7.js +0 -1
  328. package/dist/assets/artplayer-Du7zVVz_.css +0 -1
  329. package/dist/assets/artplayer-legacy-qu5LeyCY.js +0 -1
  330. package/dist/assets/entry-CVdmt6wo.js +0 -1
  331. package/dist/assets/entry-legacy-Bwsa0639.js +0 -1
  332. package/dist/assets/entry-legacy-CEj-WSrU.js +0 -1
  333. package/dist/assets/entry-u0ydTOPw.js +0 -1
  334. package/dist/assets/offline_download-Fbk9MS4a.js +0 -1
  335. package/dist/assets/pdf-ClWVlnx_.css +0 -1
  336. package/dist/assets/plist-FjwosD2N.js +0 -1
  337. package/dist/assets/video-Bswyf4az.js +0 -7
  338. package/dist/assets/video-legacy-Bmvq5B8Q.js +0 -9
  339. package/dist/assets/video360-legacy-Dl3uFXTd.js +0 -16
  340. package/dist/assets/video_box-legacy-BC8nOfW8.js +0 -1
  341. package/dist/assets/video_box-uTixsfAb.js +0 -6
  342. package/dist/lite/assets/Decompress-D0dRPg6l.js +0 -1
  343. package/dist/lite/assets/Folder-pZUjROFs.css +0 -1
  344. package/dist/lite/assets/Grid-legacy-CHqUQbNG.js +0 -1
  345. package/dist/lite/assets/Grid-t0zQLjKi.js +0 -1
  346. package/dist/lite/assets/aliyun_video-Dcfhim5l.js +0 -1
  347. package/dist/lite/assets/aliyun_video-legacy-fKInvsIp.js +0 -1
  348. package/dist/lite/assets/artplayer-Du7zVVz_.css +0 -1
  349. package/dist/lite/assets/artplayer-legacy-D7Kq1v6U.js +0 -1
  350. package/dist/lite/assets/entry-BTx4NjL7.js +0 -1
  351. package/dist/lite/assets/entry-BoTU0nG3.js +0 -1
  352. package/dist/lite/assets/entry-legacy-DqV9qT0k.js +0 -1
  353. package/dist/lite/assets/entry-legacy-nMsdLwMv.js +0 -1
  354. package/dist/lite/assets/offline_download-CmjIF9vB.js +0 -1
  355. package/dist/lite/assets/pdf-ClWVlnx_.css +0 -1
  356. package/dist/lite/assets/plist-CPm1wlhL.js +0 -1
  357. package/dist/lite/assets/video-BBuQ14R0.js +0 -7
  358. package/dist/lite/assets/video-legacy-B7NepIr7.js +0 -9
  359. package/dist/lite/assets/video360-legacy-COCOSzJK.js +0 -16
  360. package/dist/lite/assets/video_box-DLwxRedp.js +0 -6
  361. package/dist/lite/assets/video_box-legacy-BdtBVjqO.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a4 as St,au as Ge,N as He,B as ke,D as Nt,an as qt,ax as oe,cp as We,cq as Ye,aq as Xe}from"./index-DVeSrIjH.js";import{V as Ke}from"./video_box-DLwxRedp.js";import{O as je}from"./icon-99T2NcXn.js";import"./index-CE2qbwV4.js";import"./Layout-CHsCOBH4.js";import"./useTitle-Du1KlcYm.js";import"./FolderTree-B_M4MmTX.js";import"./index-DmEGoYU0.js";import"./index-B7j55Lx_.js";import"./share-BhTXOLp-.js";import"./index-BN93XOUQ.js";/*! *****************************************************************************
1
+ import{au as ze,N as Ge,B as He,D as St,an as jt,ax as re,cp as ke,cq as We,a4 as Ye,aq as Xe}from"./index-OgGZRkvk.js";import{V as Ke}from"./video_box-B5bzqqE4.js";import"./icon-CBFBl7Gf.js";import"./index-BFKEZhfe.js";import"./Layout-CHQYv-s9.js";import"./useTitle-z4F6G2xs.js";import"./FolderTree-DcOlUCyE.js";import"./index-CZfGM2Mq.js";import"./index-CfPMzp_a.js";import"./share-BzFGsIS2.js";import"./index-CK55JMSF.js";/*! *****************************************************************************
2
2
  Copyright (c) Microsoft Corporation.
3
3
 
4
4
  Permission to use, copy, modify, and/or distribute this software for any
@@ -11,4 +11,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
11
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
12
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
- ***************************************************************************** */function qe(n){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&n[t],s=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&s>=n.length&&(n=void 0),{value:n&&n[s++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function $e(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var s=e.call(n),i,r=[],o;try{for(;(t===void 0||t-- >0)&&!(i=s.next()).done;)r.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(e=s.return)&&e.call(s)}finally{if(o)throw o.error}}return r}function wt(){for(var n=[],t=0;t<arguments.length;t++)n=n.concat($e(arguments[t]));return n}var lt=function(n){return typeof n>"u"},Ut=(function(){function n(e,s){var i,r;if(this._canceled=!1,s)try{for(var o=qe(Object.keys(s)),a=o.next();!a.done;a=o.next()){var h=a.value;this[h]=s[h]}}catch(l){i={error:l}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}this.eventType=e}var t=n.prototype;return t.stop=function(){this._canceled=!0},t.isCanceled=function(){return this._canceled},n})(),x=(function(){function n(){this._eventHandler={}}var t=n.prototype;return t.trigger=function(e){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];var r=e instanceof Ut?e.eventType:e,o=wt(this._eventHandler[r]||[]);return o.length<=0?this:(e instanceof Ut?(e.currentTarget=this,o.forEach(function(a){a(e)})):o.forEach(function(a){a.apply(void 0,wt(s))}),this)},t.once=function(e,s){var i=this;if(typeof e=="object"&&lt(s)){var r=e;for(var o in r)this.once(o,r[o]);return this}else if(typeof e=="string"&&typeof s=="function"){var a=function(){for(var h=[],l=0;l<arguments.length;l++)h[l]=arguments[l];s.apply(void 0,wt(h)),i.off(e,a)};this.on(e,a)}return this},t.hasOn=function(e){return!!this._eventHandler[e]},t.on=function(e,s){if(typeof e=="object"&&lt(s)){var i=e;for(var r in i)this.on(r,i[r]);return this}else if(typeof e=="string"&&typeof s=="function"){var o=this._eventHandler[e];lt(o)&&(this._eventHandler[e]=[],o=this._eventHandler[e]),o.push(s)}return this},t.off=function(e,s){if(lt(e))return this._eventHandler={},this;if(lt(s)){if(typeof e=="string")return delete this._eventHandler[e],this;var i=e;for(var r in i)this.off(r,i[r]);return this}var o=this._eventHandler[e];if(o){for(var a=o.length,h=0;h<a;++h)if(o[h]===s){o.splice(h,1),a<=1&&delete this._eventHandler[e];break}}return this},n.VERSION="3.0.5",n})(),ct=Ut,Y=1e-6,w=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var n=0,t=arguments.length;t--;)n+=arguments[t]*arguments[t];return Math.sqrt(n)});function Ze(){var n=new w(9);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n}function ft(){var n=new w(16);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0),n[0]=1,n[5]=1,n[10]=1,n[15]=1,n}function Je(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function ae(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=t[4],h=t[5],l=t[6],c=t[7],_=t[8],E=t[9],f=t[10],v=t[11],T=t[12],p=t[13],b=t[14],C=t[15],y=e[0],g=e[1],m=e[2],R=e[3];return n[0]=y*s+g*a+m*_+R*T,n[1]=y*i+g*h+m*E+R*p,n[2]=y*r+g*l+m*f+R*b,n[3]=y*o+g*c+m*v+R*C,y=e[4],g=e[5],m=e[6],R=e[7],n[4]=y*s+g*a+m*_+R*T,n[5]=y*i+g*h+m*E+R*p,n[6]=y*r+g*l+m*f+R*b,n[7]=y*o+g*c+m*v+R*C,y=e[8],g=e[9],m=e[10],R=e[11],n[8]=y*s+g*a+m*_+R*T,n[9]=y*i+g*h+m*E+R*p,n[10]=y*r+g*l+m*f+R*b,n[11]=y*o+g*c+m*v+R*C,y=e[12],g=e[13],m=e[14],R=e[15],n[12]=y*s+g*a+m*_+R*T,n[13]=y*i+g*h+m*E+R*p,n[14]=y*r+g*l+m*f+R*b,n[15]=y*o+g*c+m*v+R*C,n}function Qe(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=i+i,l=r+r,c=o+o,_=i*h,E=i*l,f=i*c,v=r*l,T=r*c,p=o*c,b=a*h,C=a*l,y=a*c,g=s[0],m=s[1],R=s[2];return n[0]=(1-(v+p))*g,n[1]=(E+y)*g,n[2]=(f-C)*g,n[3]=0,n[4]=(E-y)*m,n[5]=(1-(_+p))*m,n[6]=(T+b)*m,n[7]=0,n[8]=(f+C)*R,n[9]=(T-b)*R,n[10]=(1-(_+v))*R,n[11]=0,n[12]=e[0],n[13]=e[1],n[14]=e[2],n[15]=1,n}function ts(n,t,e,s,i){var r=1/Math.tan(t/2),o;return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,i!=null&&i!==1/0?(o=1/(s-i),n[10]=(i+s)*o,n[14]=2*i*s*o):(n[10]=-1,n[14]=-2*s),n}var es=ts;function ss(n,t,e,s){var i,r,o,a,h,l,c,_,E,f,v=t[0],T=t[1],p=t[2],b=s[0],C=s[1],y=s[2],g=e[0],m=e[1],R=e[2];return Math.abs(v-g)<Y&&Math.abs(T-m)<Y&&Math.abs(p-R)<Y?Je(n):(c=v-g,_=T-m,E=p-R,f=1/Math.hypot(c,_,E),c*=f,_*=f,E*=f,i=C*E-y*_,r=y*c-b*E,o=b*_-C*c,f=Math.hypot(i,r,o),f?(f=1/f,i*=f,r*=f,o*=f):(i=0,r=0,o=0),a=_*o-E*r,h=E*i-c*o,l=c*r-_*i,f=Math.hypot(a,h,l),f?(f=1/f,a*=f,h*=f,l*=f):(a=0,h=0,l=0),n[0]=i,n[1]=a,n[2]=c,n[3]=0,n[4]=r,n[5]=h,n[6]=_,n[7]=0,n[8]=o,n[9]=l,n[10]=E,n[11]=0,n[12]=-(i*v+r*T+o*p),n[13]=-(a*v+h*T+l*p),n[14]=-(c*v+_*T+E*p),n[15]=1,n)}function B(){var n=new w(3);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function Ft(n){var t=n[0],e=n[1],s=n[2];return Math.hypot(t,e,s)}function L(n,t,e){var s=new w(3);return s[0]=n,s[1]=t,s[2]=e,s}function is(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n}function ns(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n}function rs(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n}function he(n,t){var e=t[0],s=t[1],i=t[2],r=e*e+s*s+i*i;return r>0&&(r=1/Math.sqrt(r)),n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n}function le(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Q(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[0],a=e[1],h=e[2];return n[0]=i*h-r*a,n[1]=r*o-s*h,n[2]=s*a-i*o,n}function $t(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[3]*s+e[7]*i+e[11]*r+e[15];return o=o||1,n[0]=(e[0]*s+e[4]*i+e[8]*r+e[12])/o,n[1]=(e[1]*s+e[5]*i+e[9]*r+e[13])/o,n[2]=(e[2]*s+e[6]*i+e[10]*r+e[14])/o,n}function F(n,t,e){var s=e[0],i=e[1],r=e[2],o=e[3],a=t[0],h=t[1],l=t[2],c=i*l-r*h,_=r*a-s*l,E=s*h-i*a,f=i*E-r*_,v=r*c-s*E,T=s*_-i*c,p=o*2;return c*=p,_*=p,E*=p,f*=2,v*=2,T*=2,n[0]=a+c+f,n[1]=h+_+v,n[2]=l+E+T,n}var os=Ft;(function(){var n=B();return function(t,e,s,i,r,o){var a,h;for(e||(e=3),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2];return t}})();function as(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0),n}function hs(n){var t=new w(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function ls(n,t,e,s){var i=new w(4);return i[0]=n,i[1]=t,i[2]=e,i[3]=s,i}function cs(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n}function us(n,t,e,s,i){return n[0]=t,n[1]=e,n[2]=s,n[3]=i,n}function _s(n,t){var e=t[0],s=t[1],i=t[2],r=t[3],o=e*e+s*s+i*i+r*r;return o>0&&(o=1/Math.sqrt(o)),n[0]=e*o,n[1]=s*o,n[2]=i*o,n[3]=r*o,n}function ds(n,t){var e=n[0],s=n[1],i=n[2],r=n[3],o=t[0],a=t[1],h=t[2],l=t[3];return Math.abs(e-o)<=Y*Math.max(1,Math.abs(e),Math.abs(o))&&Math.abs(s-a)<=Y*Math.max(1,Math.abs(s),Math.abs(a))&&Math.abs(i-h)<=Y*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(r-l)<=Y*Math.max(1,Math.abs(r),Math.abs(l))}(function(){var n=as();return function(t,e,s,i,r,o){var a,h;for(e||(e=4),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],n[3]=t[a+3],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2],t[a+3]=n[3];return t}})();function G(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function ce(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function fs(n,t,e){e=e*.5;var s=Math.sin(e);return n[0]=s*t[0],n[1]=s*t[1],n[2]=s*t[2],n[3]=Math.cos(e),n}function Zt(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=e[0],h=e[1],l=e[2],c=e[3];return n[0]=s*c+o*a+i*l-r*h,n[1]=i*c+o*h+r*a-s*l,n[2]=r*c+o*l+s*h-i*a,n[3]=o*c-s*a-i*h-r*l,n}function ue(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+o*a,n[1]=i*h+r*a,n[2]=r*h-i*a,n[3]=o*h-s*a,n}function _e(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h-r*a,n[1]=i*h+o*a,n[2]=r*h+s*a,n[3]=o*h-i*a,n}function de(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+i*a,n[1]=i*h-s*a,n[2]=r*h+o*a,n[3]=o*h-r*a,n}function vt(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=e[0],l=e[1],c=e[2],_=e[3],E,f,v,T,p;return f=i*h+r*l+o*c+a*_,f<0&&(f=-f,h=-h,l=-l,c=-c,_=-_),1-f>Y?(E=Math.acos(f),v=Math.sin(E),T=Math.sin((1-s)*E)/v,p=Math.sin(s*E)/v):(T=1-s,p=s),n[0]=T*i+p*h,n[1]=T*r+p*l,n[2]=T*o+p*c,n[3]=T*a+p*_,n}function Es(n,t){var e=t[0]+t[4]+t[8],s;if(e>0)s=Math.sqrt(e+1),n[3]=.5*s,s=.5/s,n[0]=(t[5]-t[7])*s,n[1]=(t[6]-t[2])*s,n[2]=(t[1]-t[3])*s;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var r=(i+1)%3,o=(i+2)%3;s=Math.sqrt(t[i*3+i]-t[r*3+r]-t[o*3+o]+1),n[i]=.5*s,s=.5/s,n[3]=(t[r*3+o]-t[o*3+r])*s,n[r]=(t[r*3+i]+t[i*3+r])*s,n[o]=(t[o*3+i]+t[i*3+o])*s}return n}var ut=hs,ms=ls,ps=cs,gs=us,tt=_s,Jt=ds;(function(){var n=B(),t=L(1,0,0),e=L(0,1,0);return function(s,i,r){var o=le(i,r);return o<-.999999?(Q(n,t,i),os(n)<1e-6&&Q(n,e,i),he(n,n),fs(s,n,Math.PI),s):o>.999999?(s[0]=0,s[1]=0,s[2]=0,s[3]=1,s):(Q(n,i,r),s[0]=n[0],s[1]=n[1],s[2]=n[2],s[3]=1+o,tt(s,s))}})();(function(){var n=G(),t=G();return function(e,s,i,r,o,a){return vt(n,s,o,a),vt(t,i,r,a),vt(e,n,t,2*a*(1-a)),e}})();(function(){var n=Ze();return function(t,e,s,i){return n[0]=s[0],n[3]=s[1],n[6]=s[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],tt(t,Es(t,n))}})();function vs(){var n=new w(2);return w!=Float32Array&&(n[0]=0,n[1]=0),n}function Ts(n,t){var e=new w(2);return e[0]=n,e[1]=t,e}(function(){var n=vs();return function(t,e,s,i,r,o){var a,h;for(e||(e=2),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],r(n,n,o),t[a]=n[0],t[a+1]=n[1];return t}})();var Bt=function(n,t){return Bt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,s){e.__proto__=s}||function(e,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(e[i]=s[i])},Bt(n,t)};function nt(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Bt(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var st=function(){return st=Object.assign||function(t){for(var e,s=1,i=arguments.length;s<i;s++){e=arguments[s];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},st.apply(this,arguments)};function ys(){for(var n=0,t=0,e=arguments.length;t<e;t++)n+=arguments[t].length;for(var s=Array(n),i=0,t=0;t<e;t++)for(var r=arguments[t],o=0,a=r.length;o<a;o++,i++)s[i]=r[o];return s}var Gt=typeof window<"u",bs=Gt?window.navigator.userAgent:"",Rs=Gt?"getComputedStyle"in window:!1,Cs=/MSIE|Trident|Windows Phone|Edge/.test(bs),Os=Gt?"addEventListener"in document:!1,Vt="width",_t="height";function Tt(n,t){return n.getAttribute(t)||""}function bt(n){return[].slice.call(n)}function Ls(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"width")}function fe(n,t){return t===void 0&&(t="data-"),"loading"in n&&n.getAttribute("loading")==="lazy"||!!n.getAttribute(t+"lazy")}function Is(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"skip")}function Ee(n,t,e){Os?n.addEventListener(t,e,!1):n.attachEvent?n.attachEvent("on"+t,e):n["on"+t]=e}function me(n,t,e){n.removeEventListener?n.removeEventListener(t,e,!1):n.detachEvent?n.detachEvent("on"+t,e):n["on"+t]=null}function As(n){return pe(n,"Width")}function Ss(n){return pe(n,"Height")}function Ns(n){return(Rs?window.getComputedStyle(n):n.currentStyle)||{}}function pe(n,t){var e=n["client"+t]||n["offset"+t];return parseFloat(e||Ns(n)[t.toLowerCase()])||0}function ws(n,t,e){var s=bt(n.querySelectorAll(ys(["["+e+"skip] ["+e+"width]"],t.map(function(i){return["["+e+"skip] "+i,i+"["+e+"skip]","["+e+"width] "+i].join(", ")})).join(", ")));return bt(n.querySelectorAll("["+e+"width], "+t.join(", "))).filter(function(i){return s.indexOf(i)===-1})}var et=[];function ge(n,t){!et.length&&Ee(window,"resize",Te),n.__PREFIX__=t,et.push(n),ve(n)}function xs(n,t){var e=et.indexOf(n);if(!(e<0)){var s=Tt(n,t+"fixed");delete n.__PREFIX__,n.style[s===_t?Vt:_t]="",et.splice(e,1),!et.length&&me(window,"resize",Te)}}function ve(n,t){t===void 0&&(t="data-");var e=n.__PREFIX__||t,s=parseInt(Tt(n,""+e+Vt),10)||0,i=parseInt(Tt(n,""+e+_t),10)||0,r=Tt(n,e+"fixed");if(r===_t){var o=Ss(n)||i;n.style[Vt]=s/i*o+"px"}else{var o=As(n)||s;n.style[_t]=i/s*o+"px"}}function Te(){et.forEach(function(n){ve(n)})}var Ht=(function(n){nt(t,n);function t(s,i){i===void 0&&(i={});var r=n.call(this)||this;r.isReady=!1,r.isPreReady=!1,r.hasDataSize=!1,r.hasLoading=!1,r.isSkip=!1,r.onCheck=function(a){r.clear(),a&&a.type==="error"&&r.onError(r.element),!(r.hasLoading&&r.checkElement())&&r.onReady()},r.options=st({prefix:"data-"},i),r.element=s;var o=r.options.prefix;return r.hasDataSize=Ls(s,o),r.isSkip=Is(s,o),r.hasLoading=fe(s,o),r}var e=t.prototype;return e.check=function(){return this.isSkip||!this.checkElement()?(this.onAlreadyReady(),!1):(this.hasDataSize&&ge(this.element,this.options.prefix),(this.hasDataSize||this.hasLoading)&&this.onAlreadyPreReady(),!0)},e.addEvents=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){Ee(i,r,s.onCheck)})},e.clear=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){me(i,r,s.onCheck)}),this.removeAutoSizer()},e.destroy=function(){this.clear(),this.off()},e.removeAutoSizer=function(){if(this.hasDataSize){var s=this.options.prefix;xs(this.element,s)}},e.onError=function(s){this.trigger("error",{element:this.element,target:s})},e.onPreReady=function(){this.isPreReady||(this.isPreReady=!0,this.trigger("preReady",{element:this.element,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onReady=function(){var s=this.isPreReady;this.isPreReady=!0,!this.isReady&&(this.removeAutoSizer(),this.isReady=!0,this.trigger("ready",{element:this.element,withPreReady:!s,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onAlreadyError=function(s){var i=this;setTimeout(function(){i.onError(s)})},e.onAlreadyPreReady=function(){var s=this;setTimeout(function(){s.onPreReady()})},e.onAlreadyReady=function(){var s=this;setTimeout(function(){s.onReady()})},t.EVENTS=[],t})(x),Ps=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.setHasLoading=function(s){this.hasLoading=s},e.check=function(){return this.isSkip?(this.onAlreadyReady(),!1):(this.hasDataSize?(ge(this.element,this.options.prefix),this.onAlreadyPreReady()):this.trigger("requestChildren"),!0)},e.checkElement=function(){return!0},e.destroy=function(){this.clear(),this.trigger("requestDestroy"),this.off()},e.onAlreadyPreReady=function(){n.prototype.onAlreadyPreReady.call(this),this.trigger("reqeustReadyChildren")},t.EVENTS=[],t})(Ht),Ds=(function(n){nt(t,n);function t(s){s===void 0&&(s={});var i=n.call(this)||this;return i.readyCount=0,i.preReadyCount=0,i.totalCount=0,i.totalErrorCount=0,i.isPreReadyOver=!0,i.elementInfos=[],i.options=st({loaders:{},prefix:"data-"},s),i}var e=t.prototype;return e.check=function(s){var i=this,r=this.options.prefix;this.clear(),this.elementInfos=bt(s).map(function(a,h){var l=i.getLoader(a,{prefix:r});return l.check(),l.on("error",function(c){i.onError(h,c.target)}).on("preReady",function(c){var _=i.elementInfos[h];_.hasLoading=c.hasLoading,_.isSkip=c.isSkip;var E=i.checkPreReady(h);i.onPreReadyElement(h),E&&i.onPreReady()}).on("ready",function(c){var _=c.withPreReady,E=c.hasLoading,f=c.isSkip,v=i.elementInfos[h];v.hasLoading=E,v.isSkip=f;var T=_&&i.checkPreReady(h),p=i.checkReady(h);_&&i.onPreReadyElement(h),i.onReadyElement(h),T&&i.onPreReady(),p&&i.onReady()}),{loader:l,element:a,hasLoading:!1,hasError:!1,isPreReady:!1,isReady:!1,isSkip:!1}});var o=this.elementInfos.length;return this.totalCount=o,o||setTimeout(function(){i.onPreReady(),i.onReady()}),this},e.getTotalCount=function(){return this.totalCount},e.isPreReady=function(){return this.elementInfos.every(function(s){return s.isPreReady})},e.isReady=function(){return this.elementInfos.every(function(s){return s.isReady})},e.hasError=function(){return this.totalErrorCount>0},e.clear=function(){this.isPreReadyOver=!1,this.totalCount=0,this.preReadyCount=0,this.readyCount=0,this.totalErrorCount=0,this.elementInfos.forEach(function(s){s.loader&&s.loader.destroy()}),this.elementInfos=[]},e.destroy=function(){this.clear(),this.off()},e.getLoader=function(s,i){var r=this,o=s.tagName.toLowerCase(),a=this.options.loaders,h=i.prefix,l=Object.keys(a);if(a[o])return new a[o](s,i);var c=new Ps(s,i),_=bt(s.querySelectorAll(l.join(", ")));c.setHasLoading(_.some(function(f){return fe(f,h)}));var E=this.clone().on("error",function(f){c.onError(f.target)}).on("ready",function(){c.onReady()});return c.on("requestChildren",function(){var f=ws(s,l,r.options.prefix);E.check(f).on("preReady",function(v){v.isReady||c.onPreReady()})}).on("reqeustReadyChildren",function(){E.check(_)}).on("requestDestroy",function(){E.destroy()}),c},e.clone=function(){return new t(st({},this.options))},e.checkPreReady=function(s){return this.elementInfos[s].isPreReady=!0,++this.preReadyCount,!(this.preReadyCount<this.totalCount)},e.checkReady=function(s){return this.elementInfos[s].isReady=!0,++this.readyCount,!(this.readyCount<this.totalCount)},e.onError=function(s,i){var r=this.elementInfos[s];r.hasError=!0,this.trigger(new ct("error",{element:r.element,index:s,target:i,errorCount:this.getErrorCount(),totalErrorCount:++this.totalErrorCount}))},e.onPreReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("preReadyElement",{element:i.element,index:s,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isSkip:i.isSkip}))},e.onPreReady=function(){this.isPreReadyOver=!0,this.trigger(new ct("preReady",{readyCount:this.readyCount,totalCount:this.totalCount,isReady:this.isReady(),hasLoading:this.hasLoading()}))},e.onReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("readyElement",{index:s,element:i.element,hasError:i.hasError,errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isPreReadyOver:this.isPreReadyOver,isSkip:i.isSkip}))},e.onReady=function(){this.trigger(new ct("ready",{errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,totalCount:this.totalCount}))},e.getErrorCount=function(){return this.elementInfos.filter(function(s){return s.hasError}).length},e.hasLoading=function(){return this.elementInfos.some(function(s){return s.hasLoading})},t})(x),Ms=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element,i=s.getAttribute("src");if(s.complete){if(i)return s.naturalWidth||this.onAlreadyError(s),!1;this.onAlreadyPreReady()}return this.addEvents(),Cs&&s.setAttribute("src",i),!0},t.EVENTS=["load","error"],t})(Ht),Us=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element;return s.readyState>=1?!1:s.error?(this.onAlreadyError(s),!1):(this.addEvents(),!0)},t.EVENTS=["loadedmetadata","error"],t})(Ht),Fs=(function(n){nt(t,n);function t(e){return e===void 0&&(e={}),n.call(this,st({loaders:{img:Ms,video:Us}},e))||this}return t})(Ds);function M(n,t,e,s){function i(r){return r instanceof e?r:new e(function(o){o(r)})}return new(e||(e=Promise))(function(r,o){function a(c){try{l(s.next(c))}catch(_){o(_)}}function h(c){try{l(s.throw(c))}catch(_){o(_)}}function l(c){c.done?r(c.value):i(c.value).then(a,h)}l((s=s.apply(n,[])).next())})}class H extends Error{constructor(t,e){super(t),Object.setPrototypeOf(this,H.prototype),this.name="View360Error",this.code=e}}const Bs={WRONG_TYPE:0,ELEMENT_NOT_FOUND:2,CANVAS_NOT_FOUND:3,WEBGL_NOT_SUPPORTED:4,PROVIDE_PROJECTION_FIRST:6,FAILED_LINKING_PROGRAM:7,INSUFFICIENT_ARGS:8},Vs={WRONG_TYPE:(n,t)=>"".concat(typeof n," is not a ").concat(t.map(e=>'"'.concat(e,'"')).join(" or "),"."),WRONG_OPTION:(n,t)=>'Bad option: given "'.concat(n,'" for option "').concat(t,'".'),ELEMENT_NOT_FOUND:n=>'Element with selector "'.concat(n,'" not found.'),CANVAS_NOT_FOUND:"The canvas element was not found inside the given root element.",WEBGL_NOT_SUPPORTED:"WebGL is not supported on this browser.",FAILED_CREATE_CONTEXT_2D:"Failed to create canvas 2D context",PROVIDE_PROJECTION_FIRST:'"projection" should be provided before initialization.',FAILED_LINKING_PROGRAM:(n,t)=>'Failed linking WebGL program - "'.concat(n,"\nShader compile Log: ").concat(t),INSUFFICIENT_ARGS:(n,t)=>'Insufficient arguments: given "'.concat(n,'" for "').concat(t,'".')};var U={CODES:Bs,MESSAGES:Vs};const u={MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_UP:"mouseup",TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",WHEEL:"wheel",RESIZE:"resize",CONTEXT_MENU:"contextmenu",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",KEY_DOWN:"keydown",KEY_UP:"keyup",CLICK:"click",CONTEXT_CREATE_ERROR:"webglcontextcreationerror",CONTEXT_LOST:"webglcontextlost",CONTEXT_RESTORED:"webglcontextrestored",DEVICE_ORIENTATION:"deviceorientation",DEVICE_MOTION:"devicemotion",ORIENTATION_CHANGE:"orientationchange",VIDEO_PLAY:"play",VIDEO_PAUSE:"pause",VIDEO_LOADED_DATA:"loadeddata",VIDEO_VOLUME_CHANGE:"volumechange",VIDEO_TIME_UPDATE:"timeupdate",VIDEO_DURATION_CHANGE:"durationchange",VIDEO_CAN_PLAYTHROUGH:"canplaythrough",TRANSITION_END:"transitionend",XR_END:"end"},z="div",Ot="button";var zt;(function(n){n[n.LEFT=0]="LEFT",n[n.MIDDLE=1]="MIDDLE",n[n.RIGHT=2]="RIGHT"})(zt||(zt={}));const W={GRAB:"grab",GRABBING:"grabbing",NONE:""},Qt=["LEFT","UP","RIGHT","DOWN"];var Rt;(function(n){n[n.LEFT=37]="LEFT",n[n.UP=38]="UP",n[n.RIGHT=39]="RIGHT",n[n.DOWN=40]="DOWN"})(Rt||(Rt={}));const zs=32,ye={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"},Gs=" ",te=["requestFullscreen","webkitRequestFullscreen","webkitRequestFullScreen","webkitCancelFullScreen","mozRequestFullScreen","msRequestFullscreen"],Hs=["fullscreenElement","webkitFullscreenElement","webkitCurrentFullScreenElement","mozFullScreenElement","msFullscreenElement"],ks=["exitFullscreen","webkitExitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"],Ct=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],X={CTX_LOST:"view360-ctx-lost",IN_VR:"view360-vr-presenting",HOTSPOT_CONTAINER:"view360-hotspots",HOTSPOT:"view360-hotspot",HOTSPOT_VISIBLE:"view360-hotspot-visible"},O={READY:"ready",LOAD_START:"loadStart",LOAD:"load",PROJECTION_CHANGE:"projectionChange",RESIZE:"resize",BEFORE_RENDER:"beforeRender",RENDER:"render",VIEW_CHANGE:"viewChange",STATIC_CLICK:"staticClick",VR_START:"vrStart",VR_END:"vrEnd"},Ws={EASE_OUT_CUBIC:n=>1-Math.pow(1-n,3)};var xt;const be={ANIMATION_END:"animationEnd"},Ys={UPDATE:"update"},d={INPUT_START:"inputStart",CHANGE:"change",INPUT_END:"inputEnd",ENABLE:"enable",DISABLE:"disable",STATIC_CLICK:"staticClick"},S=Math.PI/180,Z=180/Math.PI,pt=Ws.EASE_OUT_CUBIC,gt=300,Lt={min:-1/0,max:1/0},Re={min:-90,max:90},Xs={min:.6,max:10};var ee;(function(n){n[n.ZERO=0]="ZERO",n[n.CW_90=1]="CW_90",n[n.CCW_90=2]="CCW_90",n[n.CW_180=3]="CW_180"})(ee||(ee={}));const $="view360videotimechange",Pt="http://www.w3.org/2000/svg",se="immersive-vr",ie="local",ne=(xt=Number.EPSILON)!==null&&xt!==void 0?xt:2220446049250313e-31,kt=n=>typeof n=="string",Ks=n=>!!n&&n.nodeType===Node.ELEMENT_NODE,V=(n,t=z)=>{const e=document.createElement(t);return e.classList.add(n),e},Ce=(n,t)=>{let e=null;if(kt(n)){const i=(t||document).querySelector(n);if(!i)return null;e=i}else Ks(n)&&(e=n);return e},js=(n,t)=>{const e=Ce(n,t);if(!e)throw kt(n)?new H(U.MESSAGES.ELEMENT_NOT_FOUND(n),U.CODES.ELEMENT_NOT_FOUND):new H(U.MESSAGES.WRONG_TYPE(n,["HTMLElement","string"]),U.CODES.WRONG_TYPE);return e},qs=(n,t)=>{const e=n.querySelector(t);if(!e)throw new H(U.MESSAGES.CANVAS_NOT_FOUND,U.CODES.CANVAS_NOT_FOUND);return e},N=(n,t,e)=>Math.max(Math.min(n,e),t),Oe=(n,t,e)=>n*(1-e)+t*e,it=(n,t,e)=>{const s=Math.abs(e-t);if(n<t){const i=(t-n)%s;n=e-i}else if(n>e){const i=(n-e)%s;n=t+i}return n},$s=(n,t)=>{for(let e=0;e<n.length;e++)if(t(n[e]))return e;return-1},P=n=>typeof n=="object"?n:{},yt=(n,t)=>Math.atan(Math.tan(n*.5)/t)*2,dt=()=>{if(!document)return!1;for(const n of Hs)if(document[n])return!0;return!1},Le=()=>window.isSecureContext&&!!DeviceMotionEvent&&"requestPermission"in DeviceMotionEvent,Zs=(n,t)=>{const e=Math.tan(S*n*.5),s=Math.tan(S*t*.5);return e/s},re=(n,t,e,s)=>{ce(n);const i=.01,r=N(e,-90+i,90-i);return _e(n,n,t*S),ue(n,n,r*S),de(n,n,s*S),n},Ie=n=>{const t=n[0],e=n[1],s=n[2],i=n[3],r=t*t,o=e*e,a=s*s,h=i*i,l=r+o+a+h,c=t*i-e*s;let _,E;if(c>.499995*l)_=Math.PI/2,E=2*Math.atan2(e,t);else if(c<-.499995*l)_=-Math.PI/2,E=-2*Math.atan2(e,t);else{const f=L(0,0,1),v=L(0,1,0);F(f,f,n),F(v,v,n);const T=Math.sqrt(f[0]*f[0]+f[2]*f[2]);_=Math.atan2(-f[1],T),E=Math.atan2(f[0],f[2])}return{pitch:N(_*Z,-90,90),yaw:it(E*Z,0,360)}};class Et{get val(){return this._val}get start(){return this._start}get end(){return this._end}get progress(){return this._progress}get activated(){return this._activated}get duration(){return this._duration}set duration(t){this._duration=t}get loop(){return this._loop}set loop(t){this._loop=t}get range(){return this._range}get easing(){return this._easing}set easing(t){this._easing=t}constructor({duration:t=gt,loop:e=!1,range:s={min:0,max:1},easing:i=pt}={}){this._duration=t,this._loop=e,this._range=s,this._easing=i,this._activated=!1,this.reset(0)}update(t){if(!this._activated)return this._val=this._end,0;const e=this._start,s=this._end,i=this._duration,r=this._val,o=this._loop,a=this._progress+t/i;this._progress=o?it(a,0,1):N(a,0,1);const h=this._easing(this._progress);return this._val=Oe(e,s,h),!o&&this._progress>=1&&(this._activated=!1),this._val-r}reset(t){const e=this._range,s=N(t,e.min,e.max);this._start=s,this._end=s,this._val=s,this._progress=0,this._activated=!1}add(t){const e=this._range;this._start=N(this._start+t,e.min,e.max),this._end=N(this._end+t,e.min,e.max),this._val=N(this._val+t,e.min,e.max)}setNewEndByDelta(t){const e=this._range;this._start=this._val,this._end=N(this._end+t,e.min,e.max),this._progress=0,this._activated=!0}setRange(t,e){this._start=N(this._start,t,e),this._end=N(this._end,t,e),this._range={min:t,max:e}}}class Js{get duration(){return this._motion.duration}set duration(t){this._motion.duration=t}get easing(){return this._motion.easing}set easing(t){this._motion.easing=t}constructor(t,e,s,{duration:i=gt,easing:r=pt}={}){this._camera=t,this._motion=new Et({duration:i,easing:r,range:{min:0,max:1}}),this._from=e,this._to=s,this._finishPromise=new Promise(o=>{this._finish=o}),this._motion.setNewEndByDelta(1)}getFinishPromise(){return this._finishPromise}update(t){const e=this._camera,s=this._from,i=this._to,r=this._motion;r.update(t);const o=r.val,a=G(),h=Oe(s.zoom,i.zoom,o);vt(a,s.rotation,i.rotation,o),e.rotate(a,h),o>=1&&this._finish()}}class Qs extends x{get aspect(){return this._aspect}get changed(){return this._changed}get yawRange(){return this._initialYawRange}set yawRange(t){this._initialYawRange=t}get pitchRange(){return this._initialPitchRange}set pitchRange(t){this._initialPitchRange=t}get zoomRange(){return this._initialZoomRange}set zoomRange(t){this._initialZoomRange=t}constructor({initialYaw:t,initialPitch:e,initialZoom:s,yawRange:i,pitchRange:r,zoomRange:o,fov:a}){super(),this.yaw=t,this.pitch=e,this.zoom=s,this.rollOffset=0,this.initialYaw=t,this.initialPitch=e,this.initialZoom=s,this.position=B(),this.animation=null,this._up=L(0,1,0),this._aspect=1,this._initialYawRange=i,this._initialPitchRange=r,this._initialZoomRange=o,this._yawRange=i,this._pitchRange=r,this._zoomRange=o,this.quaternion=G(),this._updateQuaternion(),this.viewMatrix=ft(),this.projectionMatrix=ft(),this.fov=a,this._maxRenderHeight=-1}destroy(){this.off()}resize(t,e){const s=this._aspect;this._aspect=t/e,this._aspect!==s&&this.updateMatrix()}lookAt({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom}){const i=ut(this.quaternion),r=this.zoom;this.yaw=it(t,0,360),this.pitch=N(e,-90,90),this.zoom=s,this._updateQuaternion();const o=Math.abs(s-r);(!Jt(this.quaternion,i)||o>=ne*10)&&this.updateMatrix()}rotate(t,e=this.zoom){const s=tt(G(),t),i=Jt(this.quaternion,s);ps(this.quaternion,s);const r=this.zoom,{yaw:o,pitch:a}=Ie(s);this.yaw=o,this.pitch=a,this.zoom=e;const h=Math.abs(e-r);(!i||h>=ne*10)&&this.updateMatrix()}animateTo({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom,duration:i=0,easing:r=pt}={}){return M(this,void 0,void 0,function*(){if(this.yaw===t&&this.pitch===e&&this.zoom===s)return;const o={rotation:ut(this.quaternion),zoom:this.zoom},a={rotation:re(G(),t,e,this.rollOffset),zoom:s},h=new Js(this,o,a,{duration:i,easing:r}),l=h.getFinishPromise();return this.animation=h,l.then(()=>{this.animation=null,this.trigger(be.ANIMATION_END,{animation:h})}),l})}restrictYawRange(t,e){this._yawRange={min:t,max:e}}restrictPitchRange(t,e){this._pitchRange={min:t,max:e}}restrictZoomRange(t,e){this._zoomRange={min:t,max:e}}restrictRenderHeight(t){this._maxRenderHeight=t}resetRange(){this._yawRange=this._initialYawRange,this._pitchRange=this._initialPitchRange,this._zoomRange=this._initialZoomRange,this._maxRenderHeight=-1}getYawRange(t){const e=this._yawRange,s=this._maxRenderHeight;if(!e)return Lt;const i=this.getHorizontalFov(t)*.5;let r=e.min,o=e.max;if(s>0){const a=yt(i*S,this._aspect),h=s*.5,l=Math.tan(a),c=Math.sqrt((1+h*h)/(1+l*l)),_=Math.atan(Math.tan(i*S)*c)*Z;r=e.min+_,o=e.max-_}return r>o&&(r=0,o=0),{min:r,max:o}}getPitchRange(t){const e=this._pitchRange,s=this._maxRenderHeight;if(!e)return Re;let i=e.min,r=e.max;if(s>0){const o=this.getVerticalFov(t)*.5;i=e.min+o,r=e.max-o}return i>r&&(i=0,r=0),{min:Math.max(i,-90),max:Math.min(r,90)}}getZoomRange(){var t;const e=(t=this._zoomRange)!==null&&t!==void 0?t:Xs,s=this.getHorizontalFov(e.max),i=this.getHorizontalFov(e.min),r=this.getHorizontalFov(this.zoom);return{min:Math.max(s,1),max:Math.min(i,180),current:r}}getHorizontalFov(t=this.zoom){return this._getZoomedHorizontalFov(t)*Z}getVerticalFov(t=this.zoom){const e=this._aspect,s=this._getZoomedHorizontalFov(t);return yt(s,e)*Z}fovToZoom(t){const e=this.fov,s=Math.tan(S*e*.5),i=Math.tan(S*t*.5);return s/i}updateMatrix(){const t=this._up,e=this._aspect,s=this.viewMatrix,i=this.projectionMatrix,r=this.position,o=this.quaternion,a=B(),h=L(0,0,-1);F(h,h,o),F(a,t,o);const l=this._getZoomedHorizontalFov(),c=yt(l,e);ss(s,r,h,a),es(i,c,e,.1,100),this._changed=!0}onFrameRender(){this._changed=!1}_updateQuaternion(){re(this.quaternion,this.yaw,this.pitch,this.rollOffset)}_getZoomedHorizontalFov(t=this.zoom){return 2*Math.atan(Math.tan(S*this.fov*.5)/t)}}class Ae extends x{constructor(){super(),this._onMouseDown=t=>{const e=this._el;!e||t.button!==zt.LEFT||(t.preventDefault(),e.focus?e.focus():window.focus(),this._prevPos[0]=t.clientX,this._prevPos[1]=t.clientY,window.addEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.addEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}))},this._onMouseMove=t=>{t.preventDefault();const e=t.clientX,s=t.clientY,i=this._prevPos,r=e-i[0],o=s-i[1];this.trigger(d.CHANGE,{delta:{x:r,y:o},isTouch:!1,isKeyboard:!1}),i[0]=e,i[1]=s},this._onMouseUp=()=>{this._prevPos[0]=0,this._prevPos[1]=0,window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1})},this._el=null,this._prevPos=[0,0]}enable(t){this._el||(t.addEventListener(u.MOUSE_DOWN,this._onMouseDown),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.MOUSE_DOWN,this._onMouseDown),window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this._el=null)}}class Se extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onTouchStart=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0];this._isFirstTouch=!0,this._prevPos[0]=e.clientX,this._prevPos[1]=e.clientY,this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1})},this._onTouchMove=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0],s=this._scrollable,i=this._prevPos,r=e.clientX,o=e.clientY,a=r-i[0],h=o-i[1];if(this._isFirstTouch){if(s&&!dt()&&Math.abs(h)>Math.abs(a)){this._scrolling=!0;return}this._isFirstTouch=!1}t.cancelable!==!1&&t.preventDefault(),this.trigger(d.CHANGE,{delta:{x:a,y:h},isTouch:!0,isKeyboard:!1}),i[0]=r,i[1]=o},this._onTouchEnd=t=>{if(t.touches.length!==0)return;const e=t.touches[0],s=this._prevPos;e?(s[0]=e.clientX,s[1]=e.clientY):(s[0]=0,s[1]=0,this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:this._scrolling})),t.cancelable!==!1&&t.preventDefault(),this._scrolling=!1},this._el=null,this._prevPos=[0,0],this._isFirstTouch=!1,this._scrolling=!1,this._scrollable=!1}enable(t){this._el||(t.addEventListener(u.TOUCH_START,this._onTouchStart,{passive:!1}),t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_START,this._onTouchStart),t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class ti extends x{get active(){const t=this._pressed;return t.LEFT||t.UP||t.RIGHT||t.DOWN}constructor(){super(),this._onKeyDown=t=>{if(t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD)return;this._updateKeyPress(t,!0);const e=this._getPressedKeyCount();e<=0||(t.preventDefault(),e===1&&!t.repeat&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!0}))},this._onKeyUp=t=>{t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD||(this._updateKeyPress(t,!1),this._getPressedKeyCount()>0)||this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!0,scrolling:!1})},this._el=null,this._clearPressedKeys()}enable(t){this._el||(t.addEventListener(u.KEY_DOWN,this._onKeyDown),t.addEventListener(u.KEY_UP,this._onKeyUp),this._el=t,this._clearPressedKeys())}disable(){const t=this._el;t&&(t.removeEventListener(u.KEY_DOWN,this._onKeyDown),t.removeEventListener(u.KEY_UP,this._onKeyUp),this._el=null,this._clearPressedKeys())}update(){const t=this._getDeltaByPressedKeys();(t.x!==0||t.y!==0)&&this.trigger(d.CHANGE,{delta:t,isTouch:!1,isKeyboard:!0})}_clearPressedKeys(){this._pressed=Qt.reduce((t,e)=>Object.assign(Object.assign({},t),{[e]:!1}),{})}_updateKeyPress(t,e){const s=this._pressed,i=t.keyCode!=null?Rt[t.keyCode]:ye[t.key];i&&(s[i]=e)}_getPressedKeyCount(){return Qt.filter(t=>this._pressed[t]).length}_getDeltaByPressedKeys(){const t=this._pressed;let e=0,s=0;return t.LEFT&&(e+=1),t.RIGHT&&(e-=1),t.UP&&(s+=1),t.DOWN&&(s-=1),{x:e,y:s}}}class ei extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._keyboardInput.active||this._xMotion.activated||this._yMotion.activated}get yaw(){return this._xMotion}get pitch(){return this._yMotion}get scrollable(){return this._touchInput.scrollable}set scrollable(t){this._touchInput.scrollable=t}get pointerScale(){return this._pointerScale}set pointerScale(t){this._pointerScale=t}get keyboardScale(){return this._keyboardScale}set keyboardScale(t){this._keyboardScale=t}get duration(){return this._duration}set duration(t){this._duration=t,this._xMotion.duration=t,this._yMotion.duration=t}get easing(){return this._easing}set easing(t){this._easing=t,this._xMotion.easing=t,this._yMotion.easing=t}get disablePitch(){return this._disablePitch}set disablePitch(t){this._disablePitch=t}get disableYaw(){return this._disableYaw}set disableYaw(t){this._disableYaw=t}get disableKeyboard(){return this._disableKeyboard}set disableKeyboard(t){this._disableKeyboard=t}constructor(t,e,{duration:s=gt,easing:i=pt,pointerScale:r=[1,1],keyboardScale:o=[1,1],disablePitch:a=!1,disableYaw:h=!1,disableKeyboard:l=!1}={}){super(),this._onInputStart=c=>{this._changedWhileDragging=!1,this.trigger(d.INPUT_START,Object.assign(Object.assign({},c),{inputType:"rotate"}))},this._onChange=c=>{const _=c.delta,E=1/this._zoomScale,f=this._screenScale,v=this._keyboardScale,T=this._pointerScale;let p;c.isKeyboard?p=[v[0]*E,v[1]*E]:p=[T[0]*f[0]*E,T[1]*f[1]*E];const b=_.x*p[0],C=_.y*p[1];this._xMotion.setNewEndByDelta(b),this._yMotion.setNewEndByDelta(C),this._changedWhileDragging=!0},this._onInputEnd=c=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},c),{inputType:"rotate"})),!this._changedWhileDragging&&!c.isKeyboard&&!c.scrolling&&this.trigger(d.STATIC_CLICK,{isTouch:c.isTouch}),this._changedWhileDragging=!1},this._controlEl=t,this._pointerScale=r,this._keyboardScale=o,this._duration=s,this._easing=i,this._disablePitch=a,this._disableYaw=h,this._disableKeyboard=l,this._enableBlocked=e,this._mouseInput=new Ae,this._touchInput=new Se,this._keyboardInput=new ti,this._xMotion=new Et({duration:s,range:Lt,easing:i}),this._yMotion=new Et({duration:s,range:Re,easing:i}),this._screenScale=[1,1],this._zoomScale=1,this._enabled=!1,this._changedWhileDragging=!1,this._bindInputs()}destroy(){this.disable(),this._mouseInput.off(),this._touchInput.off(),this._keyboardInput.off(),this.off(),this._changedWhileDragging=!1}update(t){if(!this._enabled)return;const e=this._xMotion,s=this._yMotion,i=this._keyboardInput;this._disableKeyboard||i.update(),this._disablePitch||s.update(t),this._disableYaw||e.update(t)}updateRange(t,e){const s=t.getYawRange(e),i=t.getPitchRange(e);this._xMotion.setRange(s.min,s.max),this._yMotion.setRange(i.min,i.max)}setZoomScale(t){this._zoomScale=t}resize(t,e,s,i){const r=yt(t*S,e)*Z;this._screenScale[0]=t/s,this._screenScale[1]=r/i}enable(){if(this._enabled)return;const t=this._controlEl;this._mouseInput.enable(t),this._touchInput.enable(t),this._keyboardInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!0})}disable(){this._enabled&&(this._mouseInput.disable(),this._touchInput.disable(),this._keyboardInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!0}))}sync(t){this.updateRange(t,t.zoom),this._xMotion.reset(t.yaw),this._yMotion.reset(t.pitch)}_bindInputs(){const t=this._mouseInput,e=this._touchInput,s=this._keyboardInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd),s.on(d.INPUT_START,this._onInputStart),s.on(d.CHANGE,this._onChange),s.on(d.INPUT_END,this._onInputEnd)}}class si extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onWheel=t=>{const e=this._scrollable;if(t.deltaY===0||e)return;t.preventDefault(),t.stopPropagation(),this._inputTimer<0?this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}):this._clearTimer();const s=this._baseScale*t.deltaY;this.trigger(d.CHANGE,{delta:s,isTouch:!1,isKeyboard:!1}),this._inputTimer=window.setTimeout(()=>{this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1}),this._inputTimer=-1},gt)},this._el=null,this._baseScale=.04,this._scrollable=!1,this._inputTimer=-1}enable(t){this._el||(t.addEventListener(u.WHEEL,this._onWheel,{passive:!1,capture:!1}),this._el=t,this._clearTimer())}disable(){const t=this._el;t&&(t.removeEventListener(u.WHEEL,this._onWheel,!1),this._el=null,this._clearTimer())}_clearTimer(){window.clearTimeout(this._inputTimer),this._inputTimer=-1}}class ii extends x{constructor(){super(),this._onTouchMove=t=>{const e=t.touches;if(e.length!==2||!t.cancelable)return;t.preventDefault(),t.stopPropagation();const s=this._prevDistance,i=[e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY],r=Math.sqrt(i[0]*i[0]+i[1]*i[1])*this._baseScale,o=this._isFirstTouch?0:r-s;this._isFirstTouch&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1}),this._prevDistance=r,this._isFirstTouch=!1,this.trigger(d.CHANGE,{delta:o,isTouch:!0,isKeyboard:!1})},this._onTouchEnd=t=>{t.touches.length===0&&(this._isFirstTouch||this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:!1}),this._prevDistance=-1,this._isFirstTouch=!0)},this._el=null,this._baseScale=-.2,this._prevDistance=-1,this._isFirstTouch=!0}enable(t){this._el||(t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1,capture:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t,this._prevDistance=-1,this._isFirstTouch=!0)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove,!1),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class ni extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._motion.activated}get zoom(){return this._motion.val}get scrollable(){return this._wheelInput.scrollable}set scrollable(t){this._wheelInput.scrollable=t}get range(){return this._motion.range}get scale(){return this._scale}set scale(t){this._scale=t}get duration(){return this._motion.duration}get easing(){return this._motion.easing}constructor(t,e,{scale:s=1,duration:i=gt,easing:r=pt}={}){super(),this._onInputStart=o=>{this.trigger(d.INPUT_START,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._onChange=({delta:o})=>{const a=this._scale,h=o*a;this._motion.setNewEndByDelta(h)},this._onInputEnd=o=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._scale=s,this._controlEl=t,this._enableBlocked=e,this._wheelInput=new si,this._pinchInput=new ii,this._motion=new Et({duration:i,easing:r,range:Lt}),this._enabled=!1,this._bindInputs()}destroy(){this.disable(),this._wheelInput.off(),this._pinchInput.off(),this.off()}update(t){if(!this._enabled)return;this._motion.update(t)}enable(){if(this._enabled)return;const t=this._controlEl;this._wheelInput.enable(t),this._pinchInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1})}disable(){this._enabled&&(this._wheelInput.disable(),this._pinchInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!1}))}sync(t){const e=this._motion,s=t.getZoomRange();e.setRange(s.min,s.max),e.reset(s.current)}_bindInputs(){const t=this._wheelInput,e=this._pinchInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd)}}const D={PITCH_DELTA:1,YAW_DELTA_BY_ROLL:2,YAW_DELTA_BY_YAW:3};D[D.PITCH_DELTA]={targetAxis:[0,1,0],meshPoint:[0,0,1]};D[D.YAW_DELTA_BY_ROLL]={targetAxis:[0,1,0],meshPoint:[1,0,0]};D[D.YAW_DELTA_BY_YAW]={targetAxis:[1,0,0],meshPoint:[0,0,1]};class ri extends x{get enabled(){return this._enabled}get orientationUpdated(){return this._orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}constructor(){super(),this._onDeviceOrientation=t=>{const e=this._orientation,{alpha:s,beta:i,gamma:r}=t;s==null||i==null||r==null||(e.alpha=s,e.beta=i,e.gamma=r,this._orientationUpdated=!0,this._needsCalibrate&&(this._needsCalibrate=!1,this._calibrateSensor()))},this._updateScreenOrientation=()=>{window.screen&&window.screen.orientation&&window.screen.orientation.angle!==void 0?this._screenOrientation=screen.orientation.angle:window.orientation!==void 0?this._screenOrientation=window.orientation>=0?window.orientation:360+window.orientation:this._screenOrientation=0},this.quaternion=G(),this._orientation={alpha:0,beta:90,gamma:0},this._yawOrigin=0,this._yawOffset=0,this._orientationUpdated=!1,this._screenOrientation=0,this._needsCalibrate=!0,this._enabled=!1}enable(){this._enabled||(window.addEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.addEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._updateScreenOrientation(),this._orientationUpdated=!1,this._needsCalibrate=!0,this._enabled=!0)}disable(){this._enabled&&(window.removeEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.removeEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._enabled=!1)}update(){this._updateRotation(),this._orientationUpdated=!1}collectDelta(){if(!this._orientationUpdated)return{pitch:0,yaw:0};const t=ut(this.quaternion);return this._updateRotation(),this._orientationUpdated=!1,this._toEulerDelta(t,this.quaternion)}setInitialRotation(t){this._yawOrigin=t}_calibrateSensor(){const t=this._yawOrigin,e=this.quaternion;this._yawOffset=0,this._updateRotation();const{yaw:s}=Ie(e);this._yawOffset=s-t,this._updateRotation(),this._needsCalibrate=!1}_updateRotation(){const t=this.quaternion,{alpha:e,beta:s,gamma:i}=this._orientation;ce(t),_e(t,t,(e-this._yawOffset)*S),ue(t,t,s*S),de(t,t,-i*S);const r=G(),o=-this._screenOrientation*.5*S,a=ms(-Math.sqrt(.5),0,0,Math.sqrt(.5));gs(r,0,Math.sin(o),0,Math.cos(o)),Zt(t,t,r),Zt(t,t,a),tt(t,t)}_toEulerDelta(t,e){return{yaw:this._getDeltaYaw(t,e),pitch:this._getDeltaPitch(t,e)}}_getDeltaYaw(t,e){const s=this._getRotationDelta(t,e,D.YAW_DELTA_BY_YAW);return this._getRotationDelta(t,e,D.YAW_DELTA_BY_ROLL)*Math.sin(this._extractPitchFromQuat(e))+s}_getDeltaPitch(t,e){return this._getRotationDelta(t,e,D.PITCH_DELTA)}_getRotationDelta(t,e,s){const i=L(D[s].targetAxis[0],D[s].targetAxis[1],D[s].targetAxis[2]),r=D[s].meshPoint,o=ut(t),a=ut(e);tt(o,o),tt(a,a);let h=L(0,0,1),l=L(0,0,1);F(h,h,o),F(l,l,a),F(i,i,a);const _=le(i,Q(B(),h,l))>0?1:-1,E=L(r[0],r[1],r[2]);let f;s!==D.YAW_DELTA_BY_YAW?f=L(0,_,0):f=L(_,0,0),F(E,E,a),F(f,f,a);const v=E,T=f,p=B();Q(p,v,T),he(p,p);const b=p[0],C=p[1],y=p[2];l=L(r[0],r[1],r[2]),F(l,l,a),h=L(r[0],r[1],r[2]),F(h,h,o);let g=Math.abs(h[0]*b+h[1]*C+h[2]*y);const m=B();ns(m,h,rs(B(),p,g));let R=(m[0]*l[0]+m[1]*l[1]+m[2]*l[2])/(Ft(m)*Ft(l));R>1&&(R=1);const It=Math.acos(R),rt=Q(B(),l,m);g=b*rt[0]+C*rt[1]+y*rt[2];let ot;return s!==D.YAW_DELTA_BY_YAW?ot=g>0?1:-1:ot=g<0?1:-1,It*ot*_*Z}_extractPitchFromQuat(t){const e=L(0,0,1);return F(e,e,t),-1*Math.atan2(e[1],Math.sqrt(Math.pow(e[0],2)+Math.pow(e[2],2)))}}class mt extends x{get enabled(){return this._input.enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._input.enabled&&this._input.orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}static isAvailable(){return M(this,void 0,void 0,function*(){if(!DeviceMotionEvent)return!1;let t;const e=()=>new Promise(i=>{t=r=>{i(r.rotationRate&&r.rotationRate.alpha!=null)},window.addEventListener(u.DEVICE_MOTION,t)}),s=()=>new Promise(i=>{setTimeout(()=>i(!1),1e3)});return Promise.race([e(),s()]).then(i=>(window.removeEventListener(u.DEVICE_MOTION,t),i))})}static requestSensorPermission(){return M(this,void 0,void 0,function*(){return Le()?DeviceMotionEvent.requestPermission().then(t=>t==="granted").catch(()=>!1):!0})}constructor(t,{ignoreRoll:e=!0}={}){super(),this._enableBlocked=t,this._ignoreRoll=e,this._input=new ri}destroy(){this.disable(),this._input.off(),this.off()}update(t,e,s,i){this._ignoreRoll?this._updateYawPitch(t,e,s,i):this._updateQuaternion(t,i)}enable(){this._input.enabled||(this._input.enable(),this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1}))}disable(){this._input.enabled&&(this._input.disable(),this.trigger(d.DISABLE,{updateCursor:!1}))}sync(){}_updateYawPitch(t,e,s,i){const r=this._input;if(!r.enabled)return;const{yaw:o,pitch:a}=r.collectDelta();e.add(o),s.add(a),t.lookAt({yaw:e.val,pitch:s.val,zoom:i})}_updateQuaternion(t,e){const s=this._input;s.enabled&&(s.update(),t.rotate(s.quaternion,e))}}class oi{get useGrabCursor(){return this._useGrabCursor}set useGrabCursor(t){t!==this._useGrabCursor&&(this._useGrabCursor=t,t&&this._enabled?this._setCursor(W.GRAB):t||this._setCursor(W.NONE))}get disableContextMenu(){return this._disableContextMenu}set disableContextMenu(t){t!==this._disableContextMenu&&(this._disableContextMenu=t,t&&this._enabled?this._blockContextMenu():t||this._restoreContextMenu())}get scrollable(){return this._rotateControl.scrollable}set scrollable(t){this._rotateControl.scrollable=t}get wheelScrollable(){return this._zoomControl.scrollable}set wheelScrollable(t){this._zoomControl.scrollable=t}get ignoreZoomScale(){return this._ignoreZoomScale}set ignoreZoomScale(t){this._ignoreZoomScale=t}get enabled(){return this._enabled}get rotate(){return this._rotateControl}get zoom(){return this._zoomControl}get gyro(){return this._gyroControl}get animating(){return this._rotateControl.animating||this._zoomControl.animating||this._gyroControl.animating}constructor(t,e,{useGrabCursor:s,scrollable:i,wheelScrollable:r,disableContextMenu:o,rotate:a,zoom:h,gyro:l}){this._preventContextMenu=c=>{c.preventDefault()},this._onInputStart=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRABBING)},this._onInputEnd=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRAB)},this._onEnable=({control:c,updateCursor:_})=>{_&&this._useGrabCursor&&this._setCursor(W.GRAB),c.sync(this._camera)},this._onDisable=({updateCursor:c})=>{c&&this._setCursor(W.NONE)},this._onCameraAnimationEnd=({animation:c})=>{c.getFinishPromise().then(()=>{this.sync()})},this._useGrabCursor=s,this._disableContextMenu=o,this._camera=e,this._controlEl=t,this._ignoreZoomScale=!1,this._enabled=!1,this._rotateControl=new ei(t,!a,P(a)),this._zoomControl=new ni(t,!h,P(h)),this._gyroControl=new mt(!l,P(l)),this._rotateControl.scrollable=i,this._zoomControl.scrollable=r,this._bindEvents()}destroy(){this.disable(),this._rotateControl.destroy(),this._zoomControl.destroy(),this._setCursor(W.NONE)}resize(t,e){const s=this._camera;this._rotateControl.resize(s.fov,s.aspect,t,e)}enable(){return M(this,void 0,void 0,function*(){this._enabled||(this._rotateControl.enableBlocked||this._rotateControl.enable(),this._zoomControl.enableBlocked||this._zoomControl.enable(),this._gyroControl.enableBlocked||(yield mt.isAvailable())&&this._gyroControl.enable(),this.sync(),this._disableContextMenu&&this._blockContextMenu(),this._enabled=!0)})}disable(){this._enabled&&(this._rotateControl.disable(),this._zoomControl.disable(),this._gyroControl.disable(),this._restoreContextMenu(),this._enabled=!1)}update(t){const e=this._camera,s=this._rotateControl,i=this._zoomControl,r=this._gyroControl;i.update(t);const o=Zs(e.fov,i.zoom),a=this._ignoreZoomScale?1:Math.max(o,1);s.setZoomScale(a),s.updateRange(e,o),s.update(t);const h=s.yaw,l=s.pitch;r.enabled?r.update(e,h,l,o):e.lookAt({yaw:h.val,pitch:l.val,zoom:o})}sync(){const t=this._camera;this._zoomControl.sync(t),this._rotateControl.sync(t)}_blockContextMenu(){this._controlEl.addEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_restoreContextMenu(){this._controlEl.removeEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_setCursor(t){if(!this._useGrabCursor&&t!==W.NONE)return;const e=this._controlEl;e.style.cursor=t}_bindEvents(){const t=this._rotateControl,e=this._zoomControl;t.on(d.INPUT_START,this._onInputStart),t.on(d.INPUT_END,this._onInputEnd),t.on(d.ENABLE,this._onEnable),t.on(d.DISABLE,this._onDisable),e.on(d.ENABLE,this._onEnable),e.on(d.DISABLE,this._onDisable),this._camera.on(be.ANIMATION_END,this._onCameraAnimationEnd)}}class Ne{constructor({width:t,height:e,flipY:s}){this.width=t,this.height=e,this.flipY=s,this.wrapS=WebGLRenderingContext.CLAMP_TO_EDGE,this.wrapT=WebGLRenderingContext.CLAMP_TO_EDGE}destroy(){}isVideo(){return!1}isCube(){return!1}}class we extends Ne{constructor({source:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.source=t}}class ai extends we{destroy(){const t=this.source;t.pause(),t.removeAttribute("src"),t.load()}isVideo(){return!0}isPaused(){const t=this.source;return t.paused||t.ended||t.readyState<=2}hasAudio(){const t=this.source;return t.audioTracks?t.audioTracks.length>0:t.webkitAudioDecodedByteCount!=null?t.webkitAudioDecodedByteCount>0:t.mozHasAudio!=null?t.mozHasAudio:!0}}class hi extends Ne{constructor({sources:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.sources=t}isCube(){return!0}}class li{constructor(){this._loadChecker=new Fs}load(t,e){return M(this,void 0,void 0,function*(){if(e)return this.loadVideo(t,P(e));if(Array.isArray(t)&&t.length>1)return this.loadCubeImage(t);{const s=Array.isArray(t)?t[0]:t;return this.loadImage(s)}})}loadImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{const i=e[0];s(new we({source:i,width:i.naturalWidth,height:i.naturalHeight,flipY:!0}))})})}loadCubeImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{s(new hi({sources:e,width:e[0].naturalWidth,height:e[0].naturalHeight,flipY:!1}))})})}loadVideo(t,e){return M(this,void 0,void 0,function*(){const s=Object.assign({autoplay:!0,muted:!0,loop:!1,volume:1},e),i=this._toVideoElement(t,s);return this._load([i],r=>{const{autoplay:o,muted:a}=s;i.currentTime=0,o&&a&&i.play().catch(()=>{}),r(new ai({source:i,width:i.videoWidth,height:i.videoHeight,flipY:!0}))})})}_load(t,e){const s=this._loadChecker;return new Promise((i,r)=>{s.once("ready",o=>{o.errorCount>0||e(i)}),s.once("error",r),s.check(t)})}_toImageArray(t){return(Array.isArray(t)?t:[t]).map(s=>{if(kt(s)){const i=new Image;return i.crossOrigin="anonymous",i.src=s,i}else return s})}_toVideoElement(t,{muted:e,loop:s,volume:i}){if(t instanceof HTMLVideoElement)return t;const r=document.createElement("video");return r.crossOrigin="anonymous",r.playsInline=!0,r.setAttribute("webkit-playsinline",""),r.muted=e,r.volume=i,r.loop=s,Array.isArray(t)?t.forEach(a=>this._appendSourceElement(r,a)):this._appendSourceElement(r,t),r.querySelectorAll("source").length>0&&r.readyState<1&&r.load(),r}_appendSourceElement(t,e){if(e instanceof HTMLSourceElement)return e;const s=document.createElement("source");s.src=e,t.appendChild(s)}}class ci{constructor(t,e=window){this.maxDeltaTime=t,this._context=e,this._rafId=-1,this._rafTimer=-1,this._lastUpdateTime=-1}start(t){const e=this._context;if(!e||!t||this._rafId>=0||this._rafTimer>=0)return;const s=(i,r)=>{const o=Date.now(),a=Math.min(o-this._lastUpdateTime,this.maxDeltaTime*1e3);t(a,r),this._lastUpdateTime=o,this._rafId=e.requestAnimationFrame(s)};this._lastUpdateTime=Date.now(),this._rafId=e.requestAnimationFrame(s)}stop(){this._rafId>=0&&this._context.cancelAnimationFrame(this._rafId),this._rafTimer>=0&&clearTimeout(this._rafTimer),this._rafId=-1,this._rafTimer=-1}changeContext(t){this.stop(),this._context=t}}class ui{get useResizeObserver(){return this._useResizeObserver}get enabled(){return this._enabled}constructor(t,e){this._skipFirstResize=(()=>{let s=!0;return()=>{if(s){s=!1;return}this._onResize()}})(),this._useResizeObserver=t,this._enabled=!1,this._resizeObserver=null,this._onResize=e}enable(t){if(this._enabled&&this.disable(),this._useResizeObserver&&window.ResizeObserver){const e=t.getBoundingClientRect(),s=e.width!==0||e.height!==0,i=new ResizeObserver(s?this._skipFirstResize:this._onResize);i.observe(t),this._resizeObserver=i}else window.addEventListener(u.RESIZE,this._onResize);return this._enabled=!0,this}disable(){if(!this._enabled)return this;const t=this._resizeObserver;return t?(t.disconnect(),this._resizeObserver=null):window.removeEventListener(u.RESIZE,this._onResize),this._enabled=!1,this}}class _i{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get playing(){return this._enabled&&!this._interrupted}get delay(){return this._delay}set delay(t){this._delay=t}get delayOnMouseLeave(){return this._delayOnMouseLeave}set delayOnMouseLeave(t){this._delayOnMouseLeave=t}get speed(){return this._speed}set speed(t){this._speed=t}get pauseOnHover(){return this._pauseOnHover}set pauseOnHover(t){this._pauseOnHover=t}get canInterrupt(){return this._canInterrupt}set canInterrupt(t){this._canInterrupt=t}get disableOnInterrupt(){return this._disableOnInterrupt}set disableOnInterrupt(t){this._disableOnInterrupt=t}constructor(t,e,s){this._onInputStart=()=>{this._canInterrupt&&(this._interrupted=!0,this._clearTimeout())},this._onInputEnd=()=>{this._setUninterruptedAfterDelay(this._delay)},this._onGyroEnable=()=>{this.disable()},this._onMouseEnter=()=>{this._pauseOnHover&&(this._interrupted=!0,this._hovering=!0)},this._onMouseLeave=()=>{this._pauseOnHover&&(this._hovering=!1,this._setUninterruptedAfterDelay(this._delayOnMouseLeave))},this._camera=t.camera,this._control=t.control,this._element=e,this._enabled=!1,this._interrupted=!1,this._interruptionTimer=-1,this._hovering=!1;const{delay:i=2e3,delayOnMouseLeave:r=0,speed:o=1,pauseOnHover:a=!1,canInterrupt:h=!0,disableOnInterrupt:l=!1}=P(s);this._enableBlocked=!s,this._delay=i,this._delayOnMouseLeave=r,this._speed=o,this._pauseOnHover=a,this._canInterrupt=h,this._disableOnInterrupt=l}destroy(){this.disable()}update(t){if(!this._enabled)return;if(this._interrupted){this._disableOnInterrupt&&this.disable();return}const e=this._camera,s=-this._speed*t/100;e.yaw=it(e.yaw+s,0,360)}enable(){const t=this._control,e=this._element;this._enabled||t.gyro.enabled||(t.rotate.on(d.INPUT_START,this._onInputStart),t.rotate.on(d.INPUT_END,this._onInputEnd),t.zoom.on(d.INPUT_START,this._onInputStart),t.zoom.on(d.INPUT_END,this._onInputEnd),t.gyro.on(d.ENABLE,this._onGyroEnable),e.addEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!0,this._enableBlocked=!1)}enableAfterDelay(){this.enable(),this._interrupted=!0,this._setUninterruptedAfterDelay(this._delay)}disable(){if(!this._enabled)return;const t=this._control,e=this._element;t.rotate.off(d.INPUT_START,this._onInputStart),t.rotate.off(d.INPUT_END,this._onInputEnd),t.zoom.off(d.INPUT_START,this._onInputStart),t.zoom.off(d.INPUT_END,this._onInputEnd),t.gyro.off(d.ENABLE,this._onGyroEnable),e.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!1,this._interrupted=!1,this._hovering=!1,this._clearTimeout()}_setUninterruptedAfterDelay(t){this._hovering||(this._clearTimeout(),t>0?this._interruptionTimer=window.setTimeout(()=>{this._interrupted=!1,this._interruptionTimer=-1},t):(this._interrupted=!1,this._interruptionTimer=-1))}_clearTimeout(){this._interruptionTimer>=0&&(window.clearTimeout(this._interruptionTimer),this._interruptionTimer=-1)}}class di extends x{constructor(t,e={}){super(),this.destroy=()=>{this.exit(),this.off()},this._onSessionEnd=()=>{this.exit(),this.trigger(O.VR_END)},this._xrSession=null,this._xrRefSpace=null,this._ctx=t,this._options=e}isAvailable(){return M(this,void 0,void 0,function*(){const t=window.navigator.xr;return t?t.isSessionSupported(se).then(e=>e).catch(()=>!1):!1})}enter(){return M(this,void 0,void 0,function*(){const t=this._ctx,e=window.navigator.xr;if(!e)return;yield mt.requestSensorPermission();const s=Object.assign({requiredFeatures:[ie]},this._options);yield t.makeXRCompatible();const i=yield e.requestSession(se,s);t.bindXRLayer(i);const r=yield i.requestReferenceSpace(ie);this._setSession(i,r),this.trigger(O.VR_START,{session:i})})}exit(){const t=this._xrSession;t&&t.end().catch(()=>{}),this._xrSession=null,this._xrRefSpace=null}canRender(t){const e=this._xrRefSpace;return e?!!t.getViewerPose(e):!1}getEyeParams(t){const e=t.session,s=t.getViewerPose(this._xrRefSpace);if(!s)return null;const i=e.renderState.baseLayer;return i?s.views.map(r=>{const o=i.getViewport(r),a=r.transform.inverse.matrix;return{viewport:o,vMatrix:a,pMatrix:r.projectionMatrix}}):null}_setSession(t,e){this._xrSession=t,this._xrRefSpace=e,t.addEventListener(u.XR_END,this._onSessionEnd)}}class Dt{constructor(t,e){this.element=t,this.position=e}}class fi{constructor(t,e,{zoom:s=!1}){this._containerEl=Ce(".".concat(X.HOTSPOT_CONTAINER),t),this._renderer=e,this._hotspots=[],this._zoom=s}refresh(){const t=this._containerEl;if(!t)return;const e=[].slice.apply(t.querySelectorAll(".".concat(X.HOTSPOT)));this._hotspots=e.map(s=>this._parseHotspot(s))}render(t){const e=this._hotspots,s=this._renderer.width*.5,i=this._renderer.height*.5,r=t.zoom,o="translate(-50%, -50%)",a=this._zoom?"scale(".concat(r,")"):"";e.forEach(h=>{const l=h.position,c=B();if(is(c,l),$t(c,c,t.viewMatrix),$t(c,c,t.projectionMatrix),c[2]>1||c[2]<0){h.element.classList.remove(X.HOTSPOT_VISIBLE);return}const _=Ts(c[0]*s+s,-c[1]*i+i);h.element.classList.add(X.HOTSPOT_VISIBLE),h.element.style.transform=[o,"translate(".concat(_[0],"px, ").concat(_[1],"px)"),a].join(" ")})}_parseHotspot(t){const e=t.dataset.yaw,s=t.dataset.pitch,i=t.dataset.position;if(e||s){const r=e?parseFloat(e):0,o=s?parseFloat(s):0,a=this._yawPitchToVec3(r,o);return new Dt(t,a)}else if(i){const r=i.split(" ").map(o=>parseFloat(o));if(r.length<3)throw new H(U.MESSAGES.INSUFFICIENT_ARGS(i,'hotspot attribute "data-position"'),U.CODES.INSUFFICIENT_ARGS);return new Dt(t,L(r[0],r[1],r[2]))}else{const r=L(0,0,-1);return new Dt(t,r)}}_yawPitchToVec3(t,e){const s=t*S,i=e*S,r=B();return r[1]=Math.sin(i),r[2]=Math.cos(i),r[0]=r[2]*Math.sin(-s),r[2]=-r[2]*Math.cos(-s),r}}class Ei{get count(){return this.geometry.indicies.count}constructor(t,e,s){this.obj=t,this.geometry=e,this.buffers=s}}class mi{get canvas(){return this._canvas}get maxTextureSize(){return this._maxTextureSize}get isWebGL2(){return this._isWebGL2}get supportVAO(){return this._isWebGL2||!!this._extensions.vao}get lost(){return this._contextLost}get debug(){return this._debug}constructor(t,e){this._onContextLost=()=>{this._canvas.classList.add(X.CTX_LOST),this._contextLost=!0},this._onContextRestore=()=>{this._canvas.classList.remove(X.CTX_LOST),this._contextLost=!1},this._canvas=t,this._contextLost=!1,this._debug=e,this._extensions={vao:null,loseContext:null}}init(){const t=this._canvas,{gl:e,isWebGL2:s}=this._getContext(t);this._gl=e,this._maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this._isWebGL2=s,this._isWebGL2||(this._extensions.vao=e.getExtension("OES_vertex_array_object")),this._extensions.loseContext=e.getExtension("WEBGL_lose_context"),t.addEventListener(u.CONTEXT_LOST,this._onContextLost),t.addEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}destroy(){const t=this._gl,e=this._canvas;t&&(t.bindBuffer(t.ARRAY_BUFFER,null),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),e.removeEventListener(u.CONTEXT_LOST,this._onContextLost),e.removeEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}forceLoseContext(){const t=this._extensions.loseContext;t&&t.loseContext()}forceRestoreContext(){const t=this._extensions.loseContext;t&&t.restoreContext()}clear(){const t=this._gl;t.clear(t.COLOR_BUFFER_BIT)}resize(){const t=this._gl;t.viewport(0,0,t.drawingBufferWidth,t.drawingBufferHeight)}viewport(t,e,s,i){this._gl.viewport(t,e,s,i)}createVAO(t,e){const s=this._createNativeVAO(),i=new Ei(s,t,{indicies:this._createBuffer(),position:this._createBuffer(),uv:this._createBuffer()});return s&&(this._bindNativeVAO(s),this._supplyGeometryData(i,e),this._bindNativeVAO(null),this._unbindBuffers()),i}draw(t,e){const s=this._gl;t.obj?this._bindNativeVAO(t.obj):this._supplyGeometryData(t,e),s.drawElements(s.TRIANGLES,t.count,s.UNSIGNED_SHORT,0),t.obj?this._bindNativeVAO(null):this._unbindBuffers()}releaseVAO(t){t.obj&&this._deleteNativeVAO(t.obj),this._deleteBuffer(t.buffers.indicies),this._deleteBuffer(t.buffers.position),this._deleteBuffer(t.buffers.uv)}getUniformLocations(t,e){const s=this._gl,i=Object.keys(e).reduce((r,o)=>(r[o]=s.getUniformLocation(t,o),r),{});return Object.assign(Object.assign({},this._getCommonUniformLocations(t)),i)}updateCommonUniforms(t,e,s){const i=this._gl,r=s.uniformLocations,o=t.matrix,a=ft();ae(a,e.viewMatrix,o),i.uniformMatrix4fv(r.uMVMatrix,!1,a),i.uniformMatrix4fv(r.uPMatrix,!1,e.projectionMatrix)}updateVRUniforms(t,e,s,i){const r=this._gl,o=t.uniformLocations;r.uniformMatrix4fv(o.uMVMatrix,!1,e),r.uniformMatrix4fv(o.uPMatrix,!1,s),o.uEye&&r.uniform1f(o.uEye,i)}updateUniforms(t){const e=this._gl,s=t.uniforms,i=t.uniformLocations;for(const r in s){const o=s[r],a=i[r];o&&o.needsUpdate&&o.update(e,a,this._isWebGL2)}}releaseShaderResources(t){const e=this._gl,s=t.uniforms;for(const i in s){const r=s[i];r&&r.needsUpdate&&r.destroy(e)}e.deleteProgram(t.program)}useProgram(t){this._gl.useProgram(t.program)}createProgram(t,e){const s=this._gl,i=s.createProgram(),r=this._compileShader(s.VERTEX_SHADER,t),o=this._compileShader(s.FRAGMENT_SHADER,e);if(s.attachShader(i,r),s.attachShader(i,o),s.bindAttribLocation(i,0,"position"),s.bindAttribLocation(i,1,"uv"),s.linkProgram(i),this._debug&&!s.getProgramParameter(i,s.LINK_STATUS)){let a=null;throw s.getShaderParameter(r,s.COMPILE_STATUS)?s.getShaderParameter(o,s.COMPILE_STATUS)||(a=s.getShaderInfoLog(o)):a=s.getShaderInfoLog(r),new H(U.MESSAGES.FAILED_LINKING_PROGRAM(s.getProgramInfoLog(i),a),U.CODES.FAILED_LINKING_PROGRAM)}return s.deleteShader(r),s.deleteShader(o),i}createWebGLTexture(t){const e=this._gl,s=e.createTexture();if(e.bindTexture(e.TEXTURE_2D,s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,t.wrapS),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,t.wrapT),!t.isVideo()&&this._isWebGL2){const i=e;i.texStorage2D(i.TEXTURE_2D,1,i.RGBA8,t.width,t.height)}return s}createWebGLCubeTexture(t,e){const s=this._gl,i=s.createTexture();if(s.bindTexture(s.TEXTURE_CUBE_MAP,i),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,t.wrapS),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,t.wrapT),this._isWebGL2){const r=s;r.texStorage2D(r.TEXTURE_CUBE_MAP,1,r.RGBA8,e,e)}return i}makeXRCompatible(){return M(this,void 0,void 0,function*(){const t=this._gl,e=t.getContextAttributes();e&&e.xrCompatible!==!0&&(yield t.makeXRCompatible())})}bindXRLayer(t){const e=this._gl,s=new XRWebGLLayer(t,e);t.updateRenderState({baseLayer:s})}bindXRFrame(t){const e=this._gl,i=t.session.renderState.baseLayer;e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer)}useDefaultFrameBuffer(){const t=this._gl;t.bindFramebuffer(t.FRAMEBUFFER,null)}_createBuffer(){return this._gl.createBuffer()}_deleteBuffer(t){return this._gl.deleteBuffer(t)}_createNativeVAO(){const t=this._gl;if(this._isWebGL2)return t.createVertexArray();{const e=this._extensions.vao;return(e==null?void 0:e.createVertexArrayOES())||null}}_bindNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.bindVertexArray(t);else{const s=this._extensions.vao;s==null||s.bindVertexArrayOES(t)}}_deleteNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.deleteVertexArray(t);else{const s=this._extensions.vao;s==null||s.deleteVertexArrayOES(t)}}_supplyGeometryData(t,e){const s=t.geometry;this._supplyIndiciesData(s.indicies,t.buffers.indicies),this._supplyAttributeData(s.vertices,e.program,"position",t.buffers.position),this._supplyAttributeData(s.uvs,e.program,"uv",t.buffers.uv)}_unbindBuffers(){const t=this._gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),t.bindBuffer(t.ARRAY_BUFFER,null)}_supplyIndiciesData(t,e){const s=this._gl;s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,e),s.bufferData(s.ELEMENT_ARRAY_BUFFER,t.data,s.STATIC_DRAW)}_supplyAttributeData(t,e,s,i){const r=this._gl,o=r.getAttribLocation(e,s);o<0||(r.bindBuffer(r.ARRAY_BUFFER,i),r.bufferData(r.ARRAY_BUFFER,t.data,r.STATIC_DRAW),r.vertexAttribPointer(o,t.itemSize,r.FLOAT,!1,0,0),r.enableVertexAttribArray(o))}_compileShader(t,e){const s=this._gl,i=s.createShader(t);return s.shaderSource(i,e),s.compileShader(i),i}_getCommonUniformLocations(t){const e=this._gl;return{uMVMatrix:e.getUniformLocation(t,"uMVMatrix"),uPMatrix:e.getUniformLocation(t,"uPMatrix")}}_getContext(t){const e=["webgl2","webgl","experimental-webgl","webkit-3d","moz-webgl"];let s=null,i=!1;const r={preserveDrawingBuffer:!1,antialias:!1},o=a=>a.statusMessage;t.addEventListener(u.CONTEXT_CREATE_ERROR,o);for(const a of e){try{s=t.getContext(a,r),i=a==="webgl2"}catch(h){}if(s)break}if(t.removeEventListener(u.CONTEXT_CREATE_ERROR,o),!s)throw new H(U.MESSAGES.WEBGL_NOT_SUPPORTED,U.CODES.WEBGL_NOT_SUPPORTED);return{gl:s,isWebGL2:i}}}class pi{get canvas(){return this._canvas}get width(){return this._elementSize.x}get height(){return this._elementSize.y}get pixelRatio(){return this._pixelRatio}get aspect(){return this._elementSize.x/this._elementSize.y}constructor(t,e){this._canvas=t,this._elementSize={x:0,y:0},this._pixelRatio=1,this.ctx=new mi(t,e)}destroy(){const t=this._canvas;this.ctx.destroy(),t.width=1,t.height=1}resize(){const t=this._canvas,e=this._elementSize,s=window.devicePixelRatio;e.x=t.clientWidth,e.y=t.clientHeight,t.width=e.x*s,t.height=e.y*s,this._pixelRatio=s,this.ctx.resize()}render(t,e){const s=this.ctx;s.lost||(s.clear(),s.useProgram(t.program),s.updateCommonUniforms(t,e,t.program),t.update({camera:e}),s.updateUniforms(t.program),s.draw(t.vao,t.program))}renderVR(t,e,s){const i=this.ctx,r=e.getEyeParams(s);!r||!t||(i.bindXRFrame(s),i.useProgram(t.program),i.updateUniforms(t.program),r.forEach((o,a)=>{const h=o.viewport,l=ae(ft(),o.vMatrix,t.matrix);i.viewport(h.x,h.y,h.width,h.height),i.updateVRUniforms(t.program,l,o.pMatrix,a),i.draw(t.vao,t.program)}))}}class xe extends x{get rootEl(){return this._rootEl}get renderer(){return this._renderer}get camera(){return this._camera}get control(){return this._control}get vr(){return this._vr}get hotspot(){return this._hotspot}get plugins(){return this._plugins}get projection(){return this._projection}set projection(t){this._initialized&&t?this.load(t):this._projection=t}get mesh(){return this._mesh}get initialized(){return this._initialized}get autoplay(){return this._autoplay}get autoInit(){return this._autoInit}get autoResize(){return this._autoResize}get canvasSelector(){return this._canvasSelector}get useResizeObserver(){return this._useResizeObserver}get tabIndex(){return this._tabIndex}set tabIndex(t){const e=this._renderer.canvas;this._tabIndex=t,t!=null?e.tabIndex=t:e.removeAttribute("tabindex")}get maxDeltaTime(){return this._animator.maxDeltaTime}set maxDeltaTime(t){this._animator.maxDeltaTime=t}get debug(){return this._debug}set debug(t){this._debug=t}get initialYaw(){return this._camera.initialYaw}set initialYaw(t){this._camera.initialYaw=t}get initialPitch(){return this._camera.initialPitch}set initialPitch(t){this._camera.initialPitch=t}get initialZoom(){return this._camera.initialZoom}set initialZoom(t){this._camera.initialZoom=t}get yawRange(){return this._camera.yawRange}set yawRange(t){this._camera.yawRange=t,this._projection&&this._projection.updateCamera(this._camera)}get pitchRange(){return this._camera.pitchRange}set pitchRange(t){this._camera.pitchRange=t,this._projection&&this._projection.updateCamera(this._camera)}get zoomRange(){return this._camera.zoomRange}set zoomRange(t){this._camera.zoomRange=t,this._projection&&this._projection.updateCamera(this._camera)}get fov(){return this._camera.fov}set fov(t){const e=this._camera,s=this._control;e.fov=t,e.updateMatrix(),s.sync()}get rotate(){return this._control.rotate}get zoom(){return this._control.zoom}get gyro(){return this._control.gyro}get useGrabCursor(){return this._control.useGrabCursor}set useGrabCursor(t){this._control.useGrabCursor=t}get disableContextMenu(){return this._control.disableContextMenu}set disableContextMenu(t){this._control.disableContextMenu=t}get scrollable(){return this._control.scrollable}set scrollable(t){this._control.scrollable=t}get wheelScrollable(){return this._control.wheelScrollable}set wheelScrollable(t){this._control.wheelScrollable=t}constructor(t,{projection:e=null,initialYaw:s=0,initialPitch:i=0,initialZoom:r=1,yawRange:o=null,pitchRange:a=null,zoomRange:h=null,fov:l=90,useGrabCursor:c=!0,disableContextMenu:_=!1,rotate:E=!0,zoom:f=!0,gyro:v=!1,scrollable:T=!0,wheelScrollable:p=!1,autoplay:b=!1,hotspot:C={},autoInit:y=!0,autoResize:g=!0,canvasSelector:m="canvas",useResizeObserver:R=!0,on:It={},plugins:rt=[],maxDeltaTime:ot=1/30,tabIndex:Xt=0,debug:Kt=!1}={}){super(),this.renderFrame=J=>{const A=this._camera,at=this._renderer,j=this._control,q=this._hotspot,ht=this._autoplay,jt=this._mesh;jt&&(this._emit(O.BEFORE_RENDER),ht.playing&&(ht.update(J),j.sync()),A.animation?A.animation.update(J):j.update(J),at.render(jt,A),q.render(A),A.changed&&this._emit(O.VIEW_CHANGE,{yaw:A.yaw,pitch:A.pitch,zoom:A.zoom,quaternion:[A.quaternion[0],A.quaternion[1],A.quaternion[2],A.quaternion[3]]}),A.onFrameRender(),this._emit(O.RENDER))},this._renderFrameOnDemand=J=>{const A=this._camera,at=this._control,j=this._autoplay,q=this._mesh,ht=q==null?void 0:q.getTexture();!this._initialized||!ht||!A.animation&&!at.animating&&!j.playing&&!ht.isVideo()||this.renderFrame(J)},this._renderVRFrame=(J,A)=>{const at=this._vr,j=this._mesh,q=this._renderer;j&&(this._emit(O.BEFORE_RENDER),q.renderVR(j,at,A),this._emit(O.RENDER))},this._rootEl=js(t),this._plugins=rt,this._initialized=!1,this._autoInit=y,this._autoResize=g,this._canvasSelector=m,this._useResizeObserver=R,this._tabIndex=Xt,this._debug=Kt;const At=qs(this._rootEl,m);this._renderer=new pi(At,Kt),this._camera=new Qs({initialYaw:s,initialPitch:i,initialZoom:r,fov:l,yawRange:o,pitchRange:a,zoomRange:h}),this._control=new oi(At,this._camera,{useGrabCursor:c,scrollable:T,wheelScrollable:p,disableContextMenu:_,rotate:E,zoom:f,gyro:v}),this._animator=new ci(ot),this._autoplay=new _i(this,At,b),this._projection=e,this._mesh=null,this._autoResizer=new ui(R,()=>this.resize()),this._vr=new di(this._renderer.ctx),this._hotspot=new fi(this._rootEl,this._renderer,C),this._addEventHandlers(It),e&&y&&this.init()}destroy(){this._camera.destroy(),this._animator.stop(),this._renderer.destroy(),this._control.destroy(),this._autoResizer.disable(),this._mesh&&(this._mesh.destroy(this._renderer.ctx),this._mesh=null),this._plugins.forEach(t=>t.destroy(this)),this._initialized=!1}init(){return M(this,void 0,void 0,function*(){if(!this._projection)throw new H(U.MESSAGES.PROVIDE_PROJECTION_FIRST,U.CODES.PROVIDE_PROJECTION_FIRST);const t=this._renderer,e=this._camera,s=this._control,i=this._animator,r=this._hotspot,o=this._projection,a=t.canvas;this._bindComponentEvents(),t.ctx.init(),this._resizeComponents(),e.updateMatrix(),this._autoResize&&this._autoResizer.enable(a),this._autoplay.enableBlocked||this._autoplay.enable(),this._plugins.forEach(l=>{l.init(this)});const h=yield this._loadTexture(o);this._applyProjection(o,h),r.refresh(),i.start(this._renderFrameOnDemand),yield s.enable(),this._tabIndex!=null&&!a.hasAttribute("tabIndex")&&(a.tabIndex=this._tabIndex),this._initialized=!0,this.renderFrame(0),this._emit(O.READY)})}load(t){return M(this,void 0,void 0,function*(){if(!t)return!1;if(this._initialized){const e=yield this._loadTexture(t);this._applyProjection(t,e),this.renderFrame(0)}else this._projection=t,this.init();return!0})}resize(){if(!this._initialized)return;this._resizeComponents(),this.renderFrame(0);const{width:t,height:e}=this._renderer;this._emit(O.RESIZE,{width:t,height:e})}addPlugins(...t){this._initialized&&t.forEach(e=>{e.init(this)}),this._plugins.push(...t)}removePlugins(...t){t.forEach(e=>{const s=this._plugins.indexOf(e);s<0||(e.destroy(this),this._plugins.splice(s,1))})}_emit(t,...e){const s=e?e[0]:{};this.trigger(t,Object.assign({type:t,target:this},s))}_applyProjection(t,e){const s=this._camera,i=this._control,r=this._renderer,o=this._mesh;o&&o.destroy(r.ctx);const a=t.createMesh(r.ctx,e);t.updateCamera(s),t.updateControl(i),this._mesh=a,this._emit(O.PROJECTION_CHANGE,{projection:t})}_loadTexture(t){return M(this,void 0,void 0,function*(){const e=new li,{src:s,video:i}=t;this._emit(O.LOAD_START,{src:s,video:i});const r=yield e.load(s,i);return this._emit(O.LOAD,{src:s,video:i}),r})}_resizeComponents(){const t=this._renderer,e=this._camera,s=this._control;t.resize(),e.resize(t.width,t.height),s.resize(t.width,t.height)}_addEventHandlers(t){Object.keys(t).forEach(e=>{this.on(e,t[e])})}_bindComponentEvents(){const t=this._rootEl,e=this._control,s=this._animator,i=this._renderer,r=this._vr;[d.STATIC_CLICK,d.INPUT_START,d.INPUT_END].forEach(a=>{e.rotate.on(a,h=>{this._emit(a,h)}),e.zoom.on(a,h=>{this._emit(a,h)})}),r.on(O.VR_START,a=>{t.classList.add(X.IN_VR),s.changeContext(a.session),s.start(this._renderVRFrame),this._emit(O.VR_START)}),r.on(O.VR_END,()=>{t.classList.remove(X.IN_VR),i.ctx.useDefaultFrameBuffer(),s.changeContext(window),s.start(this._renderFrameOnDemand),this.resize(),this._emit(O.VR_END)})}}xe.VERSION="4.0.0-beta.7";class gi extends x{constructor(){super(),this.matrix=ft(),this.rotation=G(),this.position=L(0,0,0),this.scale=L(1,1,1)}updateMatrix(){Qe(this.matrix,this.rotation,this.position,this.scale)}update(t){this.trigger(Ys.UPDATE,t)}}class K{constructor(t){this.position=t.position,this.order=t.order}}const Pe={CONTROLS_ROOT:"view360-controls",CONTROLS_BG:"view360-controls-background",CONTROLS_MAIN:"view360-controls-main",CONTROLS_TOP:"view360-controls-top",CONTROLS_BOTTOM:"view360-controls-bottom",CONTROLS_MID:"view360-controls-mid",CONTROLS_LEFT:"view360-controls-left",CONTROLS_RIGHT:"view360-controls-right",CONTROLS_FLOAT_LEFT:"view360-controls-float-left",CONTROLS_FLOAT_RIGHT:"view360-controls-float-right",CONTROLS_BUTTON:"view360-controls-button",PROGRESS_ROOT:"view360-controls-progress",VOLUME_ROOT:"view360-controls-volume",RANGE_ROOT:"view360-range",RANGE_TRACK:"view360-range-track",RANGE_THUMB:"view360-range-thumb",RANGE_FILLER:"view360-range-filler",PLAY_BUTTON:"view360-controls-play",PAUSE_BUTTON:"view360-controls-pause",UNMUTED_BUTTON:"view360-controls-unmuted",MUTED_BUTTON:"view360-controls-muted",FULLSCREEN_BUTTON:"view360-controls-fullscreen",FULLSCREEN_EXIT_BUTTON:"view360-controls-fullscreen-exit",VR_BUTTON:"view360-controls-vr",GYRO_ENABLED:"view360-controls-gyro-enabled",GYRO_DISABLED:"view360-controls-gyro-disabled",VIDEO_TIME_DISPLAY:"view360-controls-time",PIEVIEW_ROOT:"view360-controls-pie",FIXED:"view360-controls-fixed",UNAVAILABLE:"view360-controls-unavailable",HIDDEN:"view360-controls-hidden"},k={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",MAIN_TOP:"main-top",MAIN_BOTTOM:"main-bottom",MAIN_LEFT:"main-left",MAIN_RIGHT:"main-right"};class De extends x{constructor(){super(),this._onHold=({srcEvent:r,isTouch:o})=>{var a;const h=this._bbox;if(!h)return;const l=o?r.touches[0].pageX:r.pageX,c=h.x+((a=window.scrollX)!==null&&a!==void 0?a:window.pageXOffset),_=N(l,c,c+h.width),E=(_-c)/h.width;this._motion.reset(_),this.thumbEl.classList.add(this._fixedClass),this.trigger(d.INPUT_START,E)},this._onChange=({delta:r})=>{var o;const a=this._motion,h=this._bbox;if(!h)return;a.setNewEndByDelta(r.x),a.update(1);const l=h.x+((o=window.scrollX)!==null&&o!==void 0?o:window.pageXOffset),_=(N(a.val,l,l+h.width)-l)/h.width;this.trigger(d.CHANGE,_)},this._onRelease=()=>{this._bbox&&(this.thumbEl.classList.remove(this._fixedClass),this.trigger(d.INPUT_END))};const t=document.createElement(z),e=document.createElement(z),s=document.createElement(z),i=document.createElement(z);t.draggable=!1,e.appendChild(i),e.appendChild(s),t.appendChild(e),this.rootEl=t,this.trackEl=e,this.thumbEl=s,this.fillerEl=i,this._mouseInput=new Ae,this._touchInput=new Se,this._motion=new Et({duration:1,range:Lt,easing:r=>r}),this._bbox={x:0,y:0,width:0,height:0,left:0,right:0,bottom:0,top:0},this._fixedClass=Pe.FIXED}init(t){const e=this._mouseInput,s=this._touchInput;this.rootEl.classList.add(t.RANGE_ROOT),this.trackEl.classList.add(t.RANGE_TRACK),this.thumbEl.classList.add(t.RANGE_THUMB),this.fillerEl.classList.add(t.RANGE_FILLER),this._fixedClass=t.FIXED,e.on(d.INPUT_START,this._onHold),s.on(d.INPUT_START,this._onHold),e.on(d.INPUT_END,this._onRelease),s.on(d.INPUT_END,this._onRelease),e.on(d.CHANGE,this._onChange),s.on(d.CHANGE,this._onChange),e.enable(this.rootEl),s.enable(this.rootEl),this.resize()}destroy(){const t=this._mouseInput,e=this._touchInput;this.rootEl.className="",this.trackEl.className="",this.thumbEl.className="",this.fillerEl.className="",t.off(),e.off(),t.disable(),e.disable()}resize(){this._bbox=this.trackEl.getBoundingClientRect()}updateStyle(t){const e=this._bbox.width,s=N(t,0,1);this.fillerEl.style.width="".concat(s*100,"%"),this.thumbEl.style.transform="translateX(".concat(s*e,"px)")}}class vi extends K{get element(){return this._rangeControl.rootEl}constructor({position:t=k.MAIN_TOP,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize()},this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=i.isPaused();i.source.pause();const a=i.source.duration*s;i.source.currentTime=a,i.source.dispatchEvent(new CustomEvent($,{detail:{time:a}})),r.rootEl.classList.add(r.className.FIXED),this._wasPaused=!this._playPromise&&o},this._onControl=s=>{const i=this._video;if(!i)return;const r=i.source.duration*s;i.source.currentTime=r,i.source.dispatchEvent(new CustomEvent($,{detail:{time:r}}))},this._onRelease=()=>{const s=this._video,i=this._controlBar;s&&i&&!this._wasPaused&&!this._playPromise&&(this._playPromise=s.source.play().catch(()=>{}),this._playPromise.then(()=>{this._playPromise=null}),i.rootEl.classList.remove(i.className.FIXED)),this._wasPaused=!1},this.position=t,this.order=e,this._controlBar=null,this._rangeControl=new De,this._video=null,this._wasPaused=!1,this._currentTime=0,this._duration=0,this._playPromise=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=this._rangeControl,a=e.className.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(a);return}r.classList.remove(a),r.classList.add(e.className.PROGRESS_ROOT),t.on(O.RESIZE,this._onResize),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onTimeUpdate),o.init(e.className),o.on(d.INPUT_START,this._onHold),o.on(d.CHANGE,this._onControl),o.on(d.INPUT_END,this._onRelease),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._controlBar=e,o.updateStyle(this._currentTime/this._duration)}destroy(t){const e=this._video;t.off(O.RESIZE,this._onResize),e&&(e.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),e.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),e.source.removeEventListener($,this._onTimeUpdate)),this._rangeControl.destroy(),this._video=null,this._playPromise=null}}class Ti extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._video;s&&(this._paused?s.source.play():s.source.pause())},this._onPlay=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PAUSE_BUTTON),s.classList.remove(i.PLAY_BUTTON),s.title="Pause Video",this._paused=!1},this._onPause=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PLAY_BUTTON),s.classList.remove(i.PAUSE_BUTTON),s.title="Play Video",this._paused=!0},this.element=document.createElement(Ot),this._video=null,this._paused=!0,this._controlBar=null}init(t,e){var s;const i=this.element,r=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),o=e.className,a=o.UNAVAILABLE;if(!r||!r.isVideo()){i.classList.add(a);return}i.classList.add(o.CONTROLS_BUTTON),i.classList.remove(a);const h=r.isPaused();this._video=r,this._paused=h,this._controlBar=e,h?this._onPause():this._onPlay(),i.addEventListener(u.CLICK,this._onClick),r.source.addEventListener(u.VIDEO_PLAY,this._onPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onPause)}destroy(){const t=this._video,e=this.element;t&&(e.className="",e.removeEventListener(u.CLICK,this._onClick),t.source.removeEventListener(u.VIDEO_PLAY,this._onPlay),t.source.removeEventListener(u.VIDEO_PAUSE,this._onPause),this._video=null,this._paused=!0,this._controlBar=null)}}class yi extends K{get element(){return this._rootEl}constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize(),this._updateDisplay()},this._onClick=()=>{const s=this._video;!s||this._rootEl.disabled||(s.source.muted=!s.source.muted)},this._onVolumeChange=()=>{const s=this._buttonEl,i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.muted||i.source.volume===0?(s.classList.add(o.MUTED_BUTTON),s.classList.remove(o.UNMUTED_BUTTON)):(s.classList.add(o.UNMUTED_BUTTON),s.classList.remove(o.MUTED_BUTTON)),this._updateDisplay()},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.volume=s,this._rootEl.classList.add(o.FIXED),r.containerEl.classList.add(o.FIXED),this._updateDisplay()},this._onChange=s=>{const i=this._video;i&&(i.source.volume=s,s>0?i.source.muted=!1:i.source.muted=!0,this._updateDisplay())},this._onRelease=()=>{const s=this._controlBar;if(!s)return;const i=s.className;this._rootEl.classList.remove(i.FIXED),s.containerEl.classList.remove(i.FIXED)},this._updateDisplay=()=>{const s=this._video,i=this._rootEl;if(!s)return;if(!s.hasAudio()){i.disabled=!0;return}i.disabled=!1;const r=s.source.muted?0:s.source.volume;this._rangeControl.updateStyle(r)},this._controlBar=null,this._rangeControl=new De,this._createElements(),this._video=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this._rootEl,o=this._buttonEl,a=this._rangeControl,h=e.className,l=h.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(l);return}r.classList.remove(l),r.classList.add(h.CONTROLS_BUTTON),r.classList.add(h.VOLUME_ROOT),o.classList.add(h.CONTROLS_BUTTON),i.source.muted?o.classList.add(h.MUTED_BUTTON):o.classList.add(h.UNMUTED_BUTTON),t.on(O.RESIZE,this._onResize),r.addEventListener(u.TRANSITION_END,this._onResize),o.addEventListener(u.CLICK,this._onClick),i.source.addEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),i.source.addEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),i.source.addEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay),a.init(h),a.on(d.INPUT_START,this._onHold),a.on(d.CHANGE,this._onChange),a.on(d.INPUT_END,this._onRelease),this._controlBar=e,this._video=i,this._updateDisplay()}destroy(t){const e=this._video,s=this._buttonEl,i=this._rootEl;i.className="",s.className="",t.off(O.RESIZE,this._onResize),i.removeEventListener(u.TRANSITION_END,this._onResize),s.removeEventListener(u.CLICK,this._onClick),e&&(e.source.removeEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),e.source.removeEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),e.source.removeEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay)),this._controlBar=null,this._rangeControl.destroy(),this._video=null}_createElements(){const t=document.createElement(Ot),e=document.createElement(z);t.appendChild(this._rangeControl.rootEl),t.appendChild(e),t.title="Toggle Mute",this._rootEl=t,this._buttonEl=e}}class bi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._targetEl;s&&(dt()?this._exitFullscreen():this._requestFullscreen(s))},this._onFullscreenChange=()=>{const s=this.element,i=this._controlBar;if(!i)return;const r=i.className;dt()?(s.classList.add(r.FULLSCREEN_EXIT_BUTTON),s.classList.remove(r.FULLSCREEN_BUTTON)):(s.classList.add(r.FULLSCREEN_BUTTON),s.classList.remove(r.FULLSCREEN_EXIT_BUTTON))},this.element=document.createElement(Ot),this.element.title="Toggle Fullscreen",this._controlBar=null,this._targetEl=null}init(t,e){const s=this.element,i=e.className;if(!this._fullscreenAvailable()){s.classList.add(i.UNAVAILABLE);return}s.classList.add(i.CONTROLS_BUTTON),s.classList.remove(i.UNAVAILABLE),s.addEventListener(u.CLICK,this._onClick),this._addFullscreenHandlers(),dt()?s.classList.add(i.FULLSCREEN_EXIT_BUTTON):s.classList.add(i.FULLSCREEN_BUTTON),this._controlBar=e,this._targetEl=t.rootEl}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._removeFullscreenHandlers(),this._controlBar=null,this._targetEl=null}_fullscreenAvailable(){return te.some(t=>!!document[t])}_requestFullscreen(t){for(const e of te){const s=t[e];if(s){s.call(t);return}}}_exitFullscreen(){for(const t of ks){const e=document[t];if(e){e.call(document);return}}}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class Ri extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._updateDisplay())},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._updateDisplay())},this._onCustomTimeChange=s=>{this._currentTime=s.detail.time,this._updateDisplay()},this.element=document.createElement(z),this._video=null,this._currentTime=0,this._duration=0}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=e.className;if(!i||!i.isVideo()){r.classList.add(o.UNAVAILABLE);return}r.classList.add(o.VIDEO_TIME_DISPLAY),r.classList.remove(o.UNAVAILABLE),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onCustomTimeChange),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._updateDisplay()}destroy(){const t=this._video;t&&(this.element.className="",t.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),t.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),t.source.removeEventListener($,this._onCustomTimeChange),this._video=null)}_updateDisplay(){const t=this._currentTime,e=Math.floor(t/60),s=Math.floor(t-e*60),i=s<10?"0".concat(s):s,r=this._duration,o=Math.floor(r/60),a=Math.floor(r-o*60),h=a<10?"0".concat(a):a;this.element.innerText="".concat(e,":").concat(i," / ").concat(o,":").concat(h)}}class Ci extends K{constructor({resetCamera:t=!0,position:e=k.TOP_RIGHT,order:s=9999}={}){super({position:e,order:s}),this._onClick=()=>{const i=this._viewer,r=this.resetCamera;if(!i||!r)return;const{yaw:o=i.initialYaw,pitch:a=i.initialPitch,zoom:h=i.initialZoom,duration:l=500}=P(r);i.camera.animateTo({yaw:o,pitch:a,zoom:h,duration:l})},this._updatePie=({target:i})=>{const r=this._piePathEl,o=this._rangeCircleEl,a=i.camera,h=a.getHorizontalFov(),l=a.getYawRange(a.zoom),c=h*.5,_=24*Math.PI,E=_*h/360,f=_*(a.yaw+c+90)/360;if(r.setAttribute("stroke-dasharray","".concat(E," ").concat(_-E)),r.setAttribute("stroke-dashoffset","".concat(f)),isFinite(l.min)&&isFinite(l.max)){const v=45*Math.PI,T=(it(l.min,-180,180)-c)/360,p=(it(l.max,-180,180)+c)/360,b=v*Math.abs(p-T),C=-v*(T-.25);o.setAttribute("stroke-dasharray","".concat(b," ").concat(v-b)),o.setAttribute("stroke-dashoffset","".concat(C))}else o.setAttribute("stroke-dasharray",""),o.setAttribute("stroke-dashoffset","")},this.element=document.createElement(z),this.element.title="Reset view",this.resetCamera=t,this._createPieElements(),this._viewer=null}init(t,e){const s=this.element;t.initialized?this._updatePie({target:t}):t.once(O.READY,this._updatePie);const i=e.className.PIEVIEW_ROOT;s.classList.add(i),this.resetCamera&&s.addEventListener(u.CLICK,this._onClick),t.on(O.VIEW_CHANGE,this._updatePie),this._viewer=t}destroy(t){const e=this.element;e.removeEventListener(u.CLICK,this._onClick),e.className="",t.off(O.READY,this._updatePie),t.off(O.VIEW_CHANGE,this._updatePie),this._viewer=null}_createPieElements(){const t=this.element,e=document.createElementNS(Pt,"svg");e.setAttribute("viewBox","0 0 48 48"),e.setAttribute("width","100%"),e.setAttribute("height","100%");const s=document.createElementNS(Pt,"circle");s.setAttribute("stroke","currentColor"),s.setAttribute("fill","transparent"),s.setAttribute("cx","24"),s.setAttribute("cy","24"),s.setAttribute("r","12"),s.setAttribute("stroke-width","24"),e.appendChild(s);const i=document.createElementNS(Pt,"circle");i.setAttribute("stroke","currentColor"),i.setAttribute("fill","transparent"),i.setAttribute("cx","24"),i.setAttribute("cy","24"),i.setAttribute("r","22.5"),i.setAttribute("stroke-width","3"),e.appendChild(i),t.appendChild(e),this._piePathEl=s,this._rangeCircleEl=i}}class Oi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer;s&&s.vr.enter()},this.element=document.createElement(Ot),this.element.title="Enter VR",this._viewer=null}init(t,e){const s=this.element,i=e.className;s.classList.add(i.UNAVAILABLE),s.classList.add(i.VR_BUTTON),s.classList.add(i.CONTROLS_BUTTON),t.vr.isAvailable().then(r=>{r&&s.classList.remove(i.UNAVAILABLE)}),s.addEventListener(u.CLICK,this._onClick),this._viewer=t}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._viewer=null}}class Li extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer,i=this._controlBar;if(!s||!i)return;const r=s.control.gyro;r.enabled?r.disable():mt.requestSensorPermission().then(o=>{o?r.enable():this.element.classList.add(i.className.UNAVAILABLE)})},this._updateStyle=()=>{const s=this.element,i=this._viewer,r=this._controlBar;if(!i||!r)return;const o=i.control.gyro,a=r.className;o.enabled?(s.classList.add(a.GYRO_ENABLED),s.classList.remove(a.GYRO_DISABLED)):(s.classList.add(a.GYRO_DISABLED),s.classList.remove(a.GYRO_ENABLED))},this.element=document.createElement(z),this.element.title="Toggle gyroscope control"}init(t,e){const s=this.element,i=e.className;s.addEventListener(u.CLICK,this._onClick),s.classList.add(i.CONTROLS_BUTTON),s.classList.add(i.UNAVAILABLE);const r=()=>{s.classList.remove(i.UNAVAILABLE),t.control.gyro.on(d.ENABLE,this._updateStyle),t.control.gyro.on(d.DISABLE,this._updateStyle)};Le()?r():mt.isAvailable().then(o=>{o&&r()}),this._controlBar=e,this._viewer=t,this._updateStyle()}destroy(t){const e=this.element;t.control.gyro.off(d.ENABLE,this._updateStyle),t.control.gyro.off(d.DISABLE,this._updateStyle),e.removeEventListener(u.CLICK,this._onClick),e.className="",this._controlBar=null,this._viewer=null}}class Ii{get enabled(){return!!this._targetEl}get hidden(){return this._controlBar.containerEl.classList.contains(this._hiddenClass)}get _hiddenClass(){return this._controlBar.className.HIDDEN}get _fixedClass(){return this._controlBar.className.FIXED}constructor(t,{initialDelay:e=3e3,delay:s=0,idleDelay:i=3e3}){this._onMouseEnter=()=>{this._isCursorInside=!0,this.show()},this._onMouseLeave=()=>{this._isCursorInside=!1,this._hideAfterDelay()},this._onMouseMove=()=>{this._isFullscreen&&this.showTemporaliy()},this._onHold=r=>{this._isGrabbing=!0,r.pointerType==="mouse"&&(this._isCursorInside=!0),window.addEventListener(u.MOUSE_UP,this._onRelease),this.show()},this._onRelease=()=>{this._isGrabbing=!1,window.removeEventListener(u.MOUSE_UP,this._onRelease),this._hideAfterDelay()},this._onVideoPlay=()=>{this._targetEl&&this._controlBar.containerEl.classList.remove(this._fixedClass)},this._onVideoPause=()=>{this._targetEl&&this._controlBar.containerEl.classList.add(this._fixedClass)},this._onFullscreenChange=()=>{this._isFullscreen=dt(),this._isFullscreen&&this._hideAfterDelay()},this._controlBar=t,this._initialDelay=e,this._delay=s,this._idleDelay=i,this._timer=-1,this._isCursorInside=!1,this._isGrabbing=!1,this._isFullscreen=!1,this._video=null,this._targetEl=null}enable(t){var e;this._targetEl&&this.disable(t);const s=this._initialDelay,i=t.rootEl;this._targetEl=t.rootEl,this._timer=window.setTimeout(()=>{this.hide()},s),i.addEventListener(u.MOUSE_DOWN,this._onHold),i.addEventListener(u.MOUSE_ENTER,this._onMouseEnter),i.addEventListener(u.MOUSE_MOVE,this._onMouseMove),i.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._addFullscreenHandlers();const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();!r||!r.isVideo()||(r.isPaused()&&this._controlBar.containerEl.classList.add(this._fixedClass),r.source.addEventListener(u.VIDEO_PLAY,this._onVideoPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onVideoPause),this._video=r)}disable(t){if(!this._targetEl)return;const e=this._controlBar,s=t.rootEl,i=this._video;s.removeEventListener(u.MOUSE_DOWN,this._onHold),window.removeEventListener(u.MOUSE_UP,this._onRelease),s.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter),s.removeEventListener(u.MOUSE_MOVE,this._onMouseMove),s.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._removeFullscreenHandlers(),window.clearTimeout(this._timer),e.containerEl.classList.remove(this._fixedClass),i&&(i.source.removeEventListener(u.VIDEO_PLAY,this._onVideoPlay),i.source.removeEventListener(u.VIDEO_PAUSE,this._onVideoPause)),this._isCursorInside=!1,this._isGrabbing=!1,this._video=null,this._targetEl=null}show(){this._clearHideTimer(),this._controlBar.containerEl.classList.remove(this._hiddenClass)}showTemporaliy(){this.show(),this._hideAfterDelay(this._idleDelay)}hide(){this._clearHideTimer(),this._controlBar.containerEl.classList.add(this._hiddenClass)}_clearHideTimer(){this._timer&&(window.clearTimeout(this._timer),this._timer=-1)}_hideAfterDelay(t=this._delay){this._isGrabbing||!this._isFullscreen&&this._isCursorInside||(this._clearHideTimer(),t<=0?this.hide():this._timer=window.setTimeout(()=>{this.hide()},t))}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class Ai{constructor(){this._onKeyDown=t=>{const e=this._video;if(!e)return;t.preventDefault(),t.stopPropagation();const s=e.source,i=t.keyCode!=null?Rt[t.keyCode]:ye[t.key];switch(i){case"LEFT":case"RIGHT":return this._changeVideoTime(s,i==="RIGHT");case"UP":case"DOWN":return this._changeVideoVolume(s,i==="UP")}(t.keyCode===zs||t.key===Gs)&&this._toggleVideo(e)}}enable(t,e){this._video=e,t.addEventListener(u.KEY_DOWN,this._onKeyDown,!0)}disable(t){this._video=null,t.removeEventListener(u.KEY_DOWN,this._onKeyDown,!0)}_changeVideoTime(t,e){const s=e?5:-5;t.currentTime+=s,t.dispatchEvent(new CustomEvent($,{detail:{time:t.currentTime}}))}_changeVideoVolume(t,e){const s=e?.1:-.1;t.muted?t.volume=N(s,0,1):t.volume=N(t.volume+s,0,1),t.volume>0?t.muted=!1:t.muted=!0}_toggleVideo(t){t.isPaused()?t.source.play():t.source.pause()}}class I{get rootEl(){return this._rootEl}get containerEl(){return this._containerEl}get backgroundEl(){return this._bgEl}get items(){return this._items}get customItems(){return this._customItems}constructor({autoHide:t,showBackground:e,clickToPlay:s=!0,keyboardControls:i=!0,progressBar:r=!0,playButton:o=!0,volumeButton:a=!0,fullscreenButton:h=!0,videoTime:l=!0,pieView:c=!0,vrButton:_=!0,gyroButton:E=!0,className:f={},customItems:v=[]}={}){var T;this._onStaticClick=({target:b,isTouch:C})=>{var y;const g=this._autoHider;if(C){if(!g.enabled)return;g.hidden?g.showTemporaliy():g.hide()}else{if(!this.clickToPlay)return;const m=(y=b.mesh)===null||y===void 0?void 0:y.getTexture();if(!m||!m.isVideo())return;m.isPaused()?m.source.play():m.source.pause()}},this._onNewSrcLoad=({target:b})=>{const C=this._items;this._updateBackground(b),this._updateAutoHide(b),this._updateKeyboardHandler(b),Object.keys(C).forEach(y=>{C[y].forEach(m=>{m.destroy(b,this),m.init(b,this)})})},this.autoHide=t,this.showBackground=e,this.clickToPlay=s,this.keyboardControls=i,this.progressBar=r,this.playButton=o,this.volumeButton=a,this.fullscreenButton=h,this.videoTime=l,this.pieView=c,this.vrButton=_,this.gyroButton=E,this.className=Object.assign(Object.assign({},I.DEFAULT_CLASS),f);const p=(T=f.CONTROLS_ROOT)!==null&&T!==void 0?T:I.DEFAULT_CLASS.CONTROLS_ROOT;this._rootEl=V(p),this._createPositionWrappers(),this._items=Object.keys(I.POSITION).reduce((b,C)=>(b[I.POSITION[C]]=[],b),{}),this._customItems=v,this._autoHider=new Ii(this,P(t)),this._videoControl=new Ai,v.forEach(b=>{this._items[b.position].push(b)})}init(t){const e=t.rootEl,s=this._rootEl,i=this._createDefaultItems();this._updateBackground(t),this._updateAutoHide(t),this._updateKeyboardHandler(t),e.appendChild(s),this._addItem(t,i),this._addItem(t,this._customItems),t.on(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.on(O.STATIC_CLICK,this._onStaticClick)}destroy(t){const e=t.rootEl,s=this._rootEl,i=this._items;s.parentElement===e&&e.removeChild(s),Object.keys(i).forEach(r=>{i[r].forEach(a=>{a.destroy(t,this)}),i[r]=[]}),this._clearItemElements(),this._autoHider.disable(t),this._videoControl.disable(e),t.off(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.off(O.STATIC_CLICK,this._onStaticClick)}_addItem(t,e){for(const s of e){const i=this._items[s.position],r=this._wrapperEl[s.position],o=$s(i,a=>a.order>s.order);if(o>=0){const a=i[o].element;i.splice(o,0,s),r.insertBefore(s.element,a)}else i.push(s),r.appendChild(s.element);s.init(t,this)}}_createPositionWrappers(){const t=Object.assign(Object.assign({},I.DEFAULT_CLASS),this.className),e=this._rootEl,s=V(t.CONTROLS_BG),i=V(t.CONTROLS_FLOAT_LEFT),r=V(t.CONTROLS_FLOAT_RIGHT);e.appendChild(i),e.appendChild(r);const o=V(t.CONTROLS_MAIN),a=V(t.CONTROLS_TOP),h=V(t.CONTROLS_BOTTOM),l=V(t.CONTROLS_MID),c=V(t.CONTROLS_LEFT),_=V(t.CONTROLS_RIGHT);l.appendChild(c),l.appendChild(_),o.appendChild(s),o.appendChild(a),o.appendChild(l),o.appendChild(h),e.appendChild(o),this._bgEl=s,this._containerEl=o,this._wrapperEl={[I.POSITION.MAIN_TOP]:a,[I.POSITION.MAIN_LEFT]:c,[I.POSITION.MAIN_RIGHT]:_,[I.POSITION.MAIN_BOTTOM]:h,[I.POSITION.TOP_LEFT]:i,[I.POSITION.TOP_RIGHT]:r}}_clearItemElements(){Object.keys(I.POSITION).map(e=>I.POSITION[e]).map(e=>this._wrapperEl[e]).forEach(e=>{for(;e.firstChild;)e.removeChild(e.firstChild)})}_updateAutoHide(t){var e;const s=this.autoHide,i=this._autoHider;if(s!=null)s?i.enable(t):i.disable(t);else{const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();r&&r.isVideo()?i.enable(t):i.disable(t)}}_updateBackground(t){var e,s;const i=this._bgEl,r=this.showBackground,o=(e=this.className.HIDDEN)!==null&&e!==void 0?e:I.DEFAULT_CLASS.HIDDEN;if(r!=null)r?i.classList.remove(o):i.classList.add(o);else{const a=(s=t.mesh)===null||s===void 0?void 0:s.getTexture();a&&a.isVideo()?i.classList.remove(o):i.classList.add(o)}}_updateKeyboardHandler(t){var e;const s=t.rootEl,i=this._videoControl,r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();this.keyboardControls&&r&&r.isVideo()?i.enable(s,r):i.disable(s)}_createDefaultItems(){const t=[];return this.progressBar&&t.push(new vi(P(this.progressBar))),this.playButton&&t.push(new Ti(P(this.playButton))),this.volumeButton&&t.push(new yi(P(this.volumeButton))),this.gyroButton&&t.push(new Li(P(this.gyroButton))),this.vrButton&&t.push(new Oi(P(this.vrButton))),this.fullscreenButton&&t.push(new bi(P(this.fullscreenButton))),this.videoTime&&t.push(new Ri(P(this.videoTime))),this.pieView&&t.push(new Ci(P(this.pieView))),t}}I.DEFAULT_CLASS=Pe;I.POSITION=k;class Me{constructor({src:t,video:e=!1}){this.src=t,this.video=e}updateCamera(t){t.resetRange()}updateControl(t){t.ignoreZoomScale=!1}}class Wt{constructor(){this.needsUpdate=!0}destroy(t){}}class Ue extends gi{constructor(t,e){super(),this.vao=t,this.program=e}destroy(t){t.releaseVAO(this.vao),t.releaseShaderResources(this.program)}getTexture(){return this.program.uniforms.uTexture.texture}}class Fe{constructor(t,e,s,i){this.program=t.createProgram(e,s),this.uniforms=i,this.uniformLocations=t.getUniformLocations(this.program,i)}}class Mt{constructor(t,e){this.data=t,this.itemSize=e,this.count=t.length/e}}class Si{constructor(t,e,s){this.vertices=new Mt(new Float32Array(t),3),this.indicies=new Mt(new Uint16Array(e),1),this.uvs=new Mt(new Float32Array(s),2)}}class Be extends Wt{constructor(t,e){super(),this.texture=e,this._webglTexture=t.createWebGLTexture(e)}destroy(t){this.texture.destroy(),t.deleteTexture(this._webglTexture)}update(t,e,s){const i=this.texture,r=i.isVideo();t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i.flipY),t.uniform1i(e,0),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this._webglTexture),!r&&s?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,i.source):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,i.source),r||(this.needsUpdate=!1)}}var Ni="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;varying highp vec2 vUV;void main(){vUV=uv;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}",Ve="#define GLSLIFY 1\nuniform sampler2D uTexture;varying highp vec2 vUV;void main(){gl_FragColor=texture2D(uTexture,vUV.st);}";class ze extends Si{constructor(){const s=-.5*Math.PI,i=[],r=[],o=[];let a,h;for(a=0;a<=60;a++){const l=(a/60-.5)*Math.PI,c=Math.sin(l),_=Math.cos(l);for(h=0;h<=60;h++){const E=(h/60-.5)*2*Math.PI+s,f=Math.sin(E),T=Math.cos(E)*_,p=c,b=f*_,C=h/60,y=a/60;if(i.push(C,y),r.push(T,p,b),h!==60&&a!==60){const g=a*61+h,m=g+60+1;o.push(g,g+1,m,m,g+1,m+1)}}}super(r,o,i)}}class wi extends Me{constructor(t){super(t)}createMesh(t,e){const s={uTexture:new Be(t,e)},i=new ze,r=new Fe(t,Ni,Ve,s),o=t.createVAO(i,r);return new Ue(o,r)}}class xi extends Wt{constructor(t){super(),this.val=t}update(t,e){t.uniform1f(e,this.val),this.needsUpdate=!1}}class Pi extends Wt{constructor(t){super(),this.val=t}update(t,e){t.uniform4fv(e,this.val.reduce((s,i)=>[...s,...i],[])),this.needsUpdate=!1}}var Di="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;uniform vec4 uTexScaleOffset[2];uniform float uEye;varying highp vec2 vUV;void main(){vec4 scaleOffset=uTexScaleOffset[int(uEye)];vUV=uv.xy*scaleOffset.xy+scaleOffset.zw;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}";class Yt extends Me{constructor(t){super(t),this._mode=t.mode}createMesh(t,e){let s,i;switch(this._mode){case Yt.MODE.LEFT_RIGHT:s=[.5,1,0,0],i=[.5,1,.5,0];break;default:s=[1,.5,0,0],i=[1,.5,0,.5]}const r={uTexture:new Be(t,e),uEye:new xi(0),uTexScaleOffset:new Pi([s,i])},o=new ze,a=new Fe(t,Di,Ve,r),h=t.createVAO(o,a);return new Ue(h,a)}}Yt.MODE={LEFT_RIGHT:"left_right",TOP_BOTTOM:"top_bottom"};var Mi=oe("<canvas class=view360-canvas>"),Ui=oe("<video id=view360-video playsinline crossorigin=anonymous style=display:none>");const ji=()=>{let n=St.objs.filter(i=>i.type===je.VIDEO);n.length===0&&(n=[St.obj]);let t;Ge(()=>{const i=document.getElementById("view360-container"),r=document.getElementById("view360-video");i&&r&&(t=new xe(i,{projection:new wi({src:r,video:{autoplay:Xe("video_autoplay")}}),plugins:[new I({pieView:{order:0},gyroButton:{position:"top-right",order:1},vrButton:{position:"top-right",order:2}})]}))}),He(()=>t==null?void 0:t.destroy());const[e,s]=ke(!1);return Nt(Ke,{onAutoNextChange:s,get children(){return Nt(qt,{w:"$full",h:"60vh",id:"video360-player",get children(){return Nt(qt,{w:"100%",h:"100%",id:"view360-container",className:"view360-container",get children(){return[Mi(),(()=>{var i=Ui();return We(()=>Ye(i,"src",St.raw_url)),i})()]}})}})}})};export{ji as default};
14
+ ***************************************************************************** */function je(n){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&n[t],s=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&s>=n.length&&(n=void 0),{value:n&&n[s++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function qe(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var s=e.call(n),i,r=[],o;try{for(;(t===void 0||t-- >0)&&!(i=s.next()).done;)r.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(e=s.return)&&e.call(s)}finally{if(o)throw o.error}}return r}function Nt(){for(var n=[],t=0;t<arguments.length;t++)n=n.concat(qe(arguments[t]));return n}var lt=function(n){return typeof n>"u"},Mt=(function(){function n(e,s){var i,r;if(this._canceled=!1,s)try{for(var o=je(Object.keys(s)),a=o.next();!a.done;a=o.next()){var h=a.value;this[h]=s[h]}}catch(l){i={error:l}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}this.eventType=e}var t=n.prototype;return t.stop=function(){this._canceled=!0},t.isCanceled=function(){return this._canceled},n})(),x=(function(){function n(){this._eventHandler={}}var t=n.prototype;return t.trigger=function(e){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];var r=e instanceof Mt?e.eventType:e,o=Nt(this._eventHandler[r]||[]);return o.length<=0?this:(e instanceof Mt?(e.currentTarget=this,o.forEach(function(a){a(e)})):o.forEach(function(a){a.apply(void 0,Nt(s))}),this)},t.once=function(e,s){var i=this;if(typeof e=="object"&&lt(s)){var r=e;for(var o in r)this.once(o,r[o]);return this}else if(typeof e=="string"&&typeof s=="function"){var a=function(){for(var h=[],l=0;l<arguments.length;l++)h[l]=arguments[l];s.apply(void 0,Nt(h)),i.off(e,a)};this.on(e,a)}return this},t.hasOn=function(e){return!!this._eventHandler[e]},t.on=function(e,s){if(typeof e=="object"&&lt(s)){var i=e;for(var r in i)this.on(r,i[r]);return this}else if(typeof e=="string"&&typeof s=="function"){var o=this._eventHandler[e];lt(o)&&(this._eventHandler[e]=[],o=this._eventHandler[e]),o.push(s)}return this},t.off=function(e,s){if(lt(e))return this._eventHandler={},this;if(lt(s)){if(typeof e=="string")return delete this._eventHandler[e],this;var i=e;for(var r in i)this.off(r,i[r]);return this}var o=this._eventHandler[e];if(o){for(var a=o.length,h=0;h<a;++h)if(o[h]===s){o.splice(h,1),a<=1&&delete this._eventHandler[e];break}}return this},n.VERSION="3.0.5",n})(),ct=Mt,Y=1e-6,w=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var n=0,t=arguments.length;t--;)n+=arguments[t]*arguments[t];return Math.sqrt(n)});function $e(){var n=new w(9);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n}function ft(){var n=new w(16);return w!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0),n[0]=1,n[5]=1,n[10]=1,n[15]=1,n}function Ze(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function oe(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=t[4],h=t[5],l=t[6],c=t[7],_=t[8],E=t[9],f=t[10],v=t[11],T=t[12],p=t[13],b=t[14],C=t[15],y=e[0],g=e[1],m=e[2],R=e[3];return n[0]=y*s+g*a+m*_+R*T,n[1]=y*i+g*h+m*E+R*p,n[2]=y*r+g*l+m*f+R*b,n[3]=y*o+g*c+m*v+R*C,y=e[4],g=e[5],m=e[6],R=e[7],n[4]=y*s+g*a+m*_+R*T,n[5]=y*i+g*h+m*E+R*p,n[6]=y*r+g*l+m*f+R*b,n[7]=y*o+g*c+m*v+R*C,y=e[8],g=e[9],m=e[10],R=e[11],n[8]=y*s+g*a+m*_+R*T,n[9]=y*i+g*h+m*E+R*p,n[10]=y*r+g*l+m*f+R*b,n[11]=y*o+g*c+m*v+R*C,y=e[12],g=e[13],m=e[14],R=e[15],n[12]=y*s+g*a+m*_+R*T,n[13]=y*i+g*h+m*E+R*p,n[14]=y*r+g*l+m*f+R*b,n[15]=y*o+g*c+m*v+R*C,n}function Je(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=i+i,l=r+r,c=o+o,_=i*h,E=i*l,f=i*c,v=r*l,T=r*c,p=o*c,b=a*h,C=a*l,y=a*c,g=s[0],m=s[1],R=s[2];return n[0]=(1-(v+p))*g,n[1]=(E+y)*g,n[2]=(f-C)*g,n[3]=0,n[4]=(E-y)*m,n[5]=(1-(_+p))*m,n[6]=(T+b)*m,n[7]=0,n[8]=(f+C)*R,n[9]=(T-b)*R,n[10]=(1-(_+v))*R,n[11]=0,n[12]=e[0],n[13]=e[1],n[14]=e[2],n[15]=1,n}function Qe(n,t,e,s,i){var r=1/Math.tan(t/2),o;return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,i!=null&&i!==1/0?(o=1/(s-i),n[10]=(i+s)*o,n[14]=2*i*s*o):(n[10]=-1,n[14]=-2*s),n}var ts=Qe;function es(n,t,e,s){var i,r,o,a,h,l,c,_,E,f,v=t[0],T=t[1],p=t[2],b=s[0],C=s[1],y=s[2],g=e[0],m=e[1],R=e[2];return Math.abs(v-g)<Y&&Math.abs(T-m)<Y&&Math.abs(p-R)<Y?Ze(n):(c=v-g,_=T-m,E=p-R,f=1/Math.hypot(c,_,E),c*=f,_*=f,E*=f,i=C*E-y*_,r=y*c-b*E,o=b*_-C*c,f=Math.hypot(i,r,o),f?(f=1/f,i*=f,r*=f,o*=f):(i=0,r=0,o=0),a=_*o-E*r,h=E*i-c*o,l=c*r-_*i,f=Math.hypot(a,h,l),f?(f=1/f,a*=f,h*=f,l*=f):(a=0,h=0,l=0),n[0]=i,n[1]=a,n[2]=c,n[3]=0,n[4]=r,n[5]=h,n[6]=_,n[7]=0,n[8]=o,n[9]=l,n[10]=E,n[11]=0,n[12]=-(i*v+r*T+o*p),n[13]=-(a*v+h*T+l*p),n[14]=-(c*v+_*T+E*p),n[15]=1,n)}function B(){var n=new w(3);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function Ut(n){var t=n[0],e=n[1],s=n[2];return Math.hypot(t,e,s)}function L(n,t,e){var s=new w(3);return s[0]=n,s[1]=t,s[2]=e,s}function ss(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n}function is(n,t,e){return n[0]=t[0]-e[0],n[1]=t[1]-e[1],n[2]=t[2]-e[2],n}function ns(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n}function ae(n,t){var e=t[0],s=t[1],i=t[2],r=e*e+s*s+i*i;return r>0&&(r=1/Math.sqrt(r)),n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n}function he(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function Q(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[0],a=e[1],h=e[2];return n[0]=i*h-r*a,n[1]=r*o-s*h,n[2]=s*a-i*o,n}function qt(n,t,e){var s=t[0],i=t[1],r=t[2],o=e[3]*s+e[7]*i+e[11]*r+e[15];return o=o||1,n[0]=(e[0]*s+e[4]*i+e[8]*r+e[12])/o,n[1]=(e[1]*s+e[5]*i+e[9]*r+e[13])/o,n[2]=(e[2]*s+e[6]*i+e[10]*r+e[14])/o,n}function F(n,t,e){var s=e[0],i=e[1],r=e[2],o=e[3],a=t[0],h=t[1],l=t[2],c=i*l-r*h,_=r*a-s*l,E=s*h-i*a,f=i*E-r*_,v=r*c-s*E,T=s*_-i*c,p=o*2;return c*=p,_*=p,E*=p,f*=2,v*=2,T*=2,n[0]=a+c+f,n[1]=h+_+v,n[2]=l+E+T,n}var rs=Ut;(function(){var n=B();return function(t,e,s,i,r,o){var a,h;for(e||(e=3),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2];return t}})();function os(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0),n}function as(n){var t=new w(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function hs(n,t,e,s){var i=new w(4);return i[0]=n,i[1]=t,i[2]=e,i[3]=s,i}function ls(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n}function cs(n,t,e,s,i){return n[0]=t,n[1]=e,n[2]=s,n[3]=i,n}function us(n,t){var e=t[0],s=t[1],i=t[2],r=t[3],o=e*e+s*s+i*i+r*r;return o>0&&(o=1/Math.sqrt(o)),n[0]=e*o,n[1]=s*o,n[2]=i*o,n[3]=r*o,n}function _s(n,t){var e=n[0],s=n[1],i=n[2],r=n[3],o=t[0],a=t[1],h=t[2],l=t[3];return Math.abs(e-o)<=Y*Math.max(1,Math.abs(e),Math.abs(o))&&Math.abs(s-a)<=Y*Math.max(1,Math.abs(s),Math.abs(a))&&Math.abs(i-h)<=Y*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(r-l)<=Y*Math.max(1,Math.abs(r),Math.abs(l))}(function(){var n=os();return function(t,e,s,i,r,o){var a,h;for(e||(e=4),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],n[2]=t[a+2],n[3]=t[a+3],r(n,n,o),t[a]=n[0],t[a+1]=n[1],t[a+2]=n[2],t[a+3]=n[3];return t}})();function G(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function le(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function ds(n,t,e){e=e*.5;var s=Math.sin(e);return n[0]=s*t[0],n[1]=s*t[1],n[2]=s*t[2],n[3]=Math.cos(e),n}function $t(n,t,e){var s=t[0],i=t[1],r=t[2],o=t[3],a=e[0],h=e[1],l=e[2],c=e[3];return n[0]=s*c+o*a+i*l-r*h,n[1]=i*c+o*h+r*a-s*l,n[2]=r*c+o*l+s*h-i*a,n[3]=o*c-s*a-i*h-r*l,n}function ce(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+o*a,n[1]=i*h+r*a,n[2]=r*h-i*a,n[3]=o*h-s*a,n}function ue(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h-r*a,n[1]=i*h+o*a,n[2]=r*h+s*a,n[3]=o*h-i*a,n}function _e(n,t,e){e*=.5;var s=t[0],i=t[1],r=t[2],o=t[3],a=Math.sin(e),h=Math.cos(e);return n[0]=s*h+i*a,n[1]=i*h-s*a,n[2]=r*h+o*a,n[3]=o*h-r*a,n}function vt(n,t,e,s){var i=t[0],r=t[1],o=t[2],a=t[3],h=e[0],l=e[1],c=e[2],_=e[3],E,f,v,T,p;return f=i*h+r*l+o*c+a*_,f<0&&(f=-f,h=-h,l=-l,c=-c,_=-_),1-f>Y?(E=Math.acos(f),v=Math.sin(E),T=Math.sin((1-s)*E)/v,p=Math.sin(s*E)/v):(T=1-s,p=s),n[0]=T*i+p*h,n[1]=T*r+p*l,n[2]=T*o+p*c,n[3]=T*a+p*_,n}function fs(n,t){var e=t[0]+t[4]+t[8],s;if(e>0)s=Math.sqrt(e+1),n[3]=.5*s,s=.5/s,n[0]=(t[5]-t[7])*s,n[1]=(t[6]-t[2])*s,n[2]=(t[1]-t[3])*s;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[i*3+i]&&(i=2);var r=(i+1)%3,o=(i+2)%3;s=Math.sqrt(t[i*3+i]-t[r*3+r]-t[o*3+o]+1),n[i]=.5*s,s=.5/s,n[3]=(t[r*3+o]-t[o*3+r])*s,n[r]=(t[r*3+i]+t[i*3+r])*s,n[o]=(t[o*3+i]+t[i*3+o])*s}return n}var ut=as,Es=hs,ms=ls,ps=cs,tt=us,Zt=_s;(function(){var n=B(),t=L(1,0,0),e=L(0,1,0);return function(s,i,r){var o=he(i,r);return o<-.999999?(Q(n,t,i),rs(n)<1e-6&&Q(n,e,i),ae(n,n),ds(s,n,Math.PI),s):o>.999999?(s[0]=0,s[1]=0,s[2]=0,s[3]=1,s):(Q(n,i,r),s[0]=n[0],s[1]=n[1],s[2]=n[2],s[3]=1+o,tt(s,s))}})();(function(){var n=G(),t=G();return function(e,s,i,r,o,a){return vt(n,s,o,a),vt(t,i,r,a),vt(e,n,t,2*a*(1-a)),e}})();(function(){var n=$e();return function(t,e,s,i){return n[0]=s[0],n[3]=s[1],n[6]=s[2],n[1]=i[0],n[4]=i[1],n[7]=i[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],tt(t,fs(t,n))}})();function gs(){var n=new w(2);return w!=Float32Array&&(n[0]=0,n[1]=0),n}function vs(n,t){var e=new w(2);return e[0]=n,e[1]=t,e}(function(){var n=gs();return function(t,e,s,i,r,o){var a,h;for(e||(e=2),s||(s=0),i?h=Math.min(i*e+s,t.length):h=t.length,a=s;a<h;a+=e)n[0]=t[a],n[1]=t[a+1],r(n,n,o),t[a]=n[0],t[a+1]=n[1];return t}})();var Ft=function(n,t){return Ft=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,s){e.__proto__=s}||function(e,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(e[i]=s[i])},Ft(n,t)};function nt(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ft(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var st=function(){return st=Object.assign||function(t){for(var e,s=1,i=arguments.length;s<i;s++){e=arguments[s];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},st.apply(this,arguments)};function Ts(){for(var n=0,t=0,e=arguments.length;t<e;t++)n+=arguments[t].length;for(var s=Array(n),i=0,t=0;t<e;t++)for(var r=arguments[t],o=0,a=r.length;o<a;o++,i++)s[i]=r[o];return s}var zt=typeof window<"u",ys=zt?window.navigator.userAgent:"",bs=zt?"getComputedStyle"in window:!1,Rs=/MSIE|Trident|Windows Phone|Edge/.test(ys),Cs=zt?"addEventListener"in document:!1,Bt="width",_t="height";function Tt(n,t){return n.getAttribute(t)||""}function bt(n){return[].slice.call(n)}function Os(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"width")}function de(n,t){return t===void 0&&(t="data-"),"loading"in n&&n.getAttribute("loading")==="lazy"||!!n.getAttribute(t+"lazy")}function Ls(n,t){return t===void 0&&(t="data-"),!!n.getAttribute(t+"skip")}function fe(n,t,e){Cs?n.addEventListener(t,e,!1):n.attachEvent?n.attachEvent("on"+t,e):n["on"+t]=e}function Ee(n,t,e){n.removeEventListener?n.removeEventListener(t,e,!1):n.detachEvent?n.detachEvent("on"+t,e):n["on"+t]=null}function Is(n){return me(n,"Width")}function As(n){return me(n,"Height")}function Ss(n){return(bs?window.getComputedStyle(n):n.currentStyle)||{}}function me(n,t){var e=n["client"+t]||n["offset"+t];return parseFloat(e||Ss(n)[t.toLowerCase()])||0}function Ns(n,t,e){var s=bt(n.querySelectorAll(Ts(["["+e+"skip] ["+e+"width]"],t.map(function(i){return["["+e+"skip] "+i,i+"["+e+"skip]","["+e+"width] "+i].join(", ")})).join(", ")));return bt(n.querySelectorAll("["+e+"width], "+t.join(", "))).filter(function(i){return s.indexOf(i)===-1})}var et=[];function pe(n,t){!et.length&&fe(window,"resize",ve),n.__PREFIX__=t,et.push(n),ge(n)}function ws(n,t){var e=et.indexOf(n);if(!(e<0)){var s=Tt(n,t+"fixed");delete n.__PREFIX__,n.style[s===_t?Bt:_t]="",et.splice(e,1),!et.length&&Ee(window,"resize",ve)}}function ge(n,t){t===void 0&&(t="data-");var e=n.__PREFIX__||t,s=parseInt(Tt(n,""+e+Bt),10)||0,i=parseInt(Tt(n,""+e+_t),10)||0,r=Tt(n,e+"fixed");if(r===_t){var o=As(n)||i;n.style[Bt]=s/i*o+"px"}else{var o=Is(n)||s;n.style[_t]=i/s*o+"px"}}function ve(){et.forEach(function(n){ge(n)})}var Gt=(function(n){nt(t,n);function t(s,i){i===void 0&&(i={});var r=n.call(this)||this;r.isReady=!1,r.isPreReady=!1,r.hasDataSize=!1,r.hasLoading=!1,r.isSkip=!1,r.onCheck=function(a){r.clear(),a&&a.type==="error"&&r.onError(r.element),!(r.hasLoading&&r.checkElement())&&r.onReady()},r.options=st({prefix:"data-"},i),r.element=s;var o=r.options.prefix;return r.hasDataSize=Os(s,o),r.isSkip=Ls(s,o),r.hasLoading=de(s,o),r}var e=t.prototype;return e.check=function(){return this.isSkip||!this.checkElement()?(this.onAlreadyReady(),!1):(this.hasDataSize&&pe(this.element,this.options.prefix),(this.hasDataSize||this.hasLoading)&&this.onAlreadyPreReady(),!0)},e.addEvents=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){fe(i,r,s.onCheck)})},e.clear=function(){var s=this,i=this.element;this.constructor.EVENTS.forEach(function(r){Ee(i,r,s.onCheck)}),this.removeAutoSizer()},e.destroy=function(){this.clear(),this.off()},e.removeAutoSizer=function(){if(this.hasDataSize){var s=this.options.prefix;ws(this.element,s)}},e.onError=function(s){this.trigger("error",{element:this.element,target:s})},e.onPreReady=function(){this.isPreReady||(this.isPreReady=!0,this.trigger("preReady",{element:this.element,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onReady=function(){var s=this.isPreReady;this.isPreReady=!0,!this.isReady&&(this.removeAutoSizer(),this.isReady=!0,this.trigger("ready",{element:this.element,withPreReady:!s,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onAlreadyError=function(s){var i=this;setTimeout(function(){i.onError(s)})},e.onAlreadyPreReady=function(){var s=this;setTimeout(function(){s.onPreReady()})},e.onAlreadyReady=function(){var s=this;setTimeout(function(){s.onReady()})},t.EVENTS=[],t})(x),xs=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.setHasLoading=function(s){this.hasLoading=s},e.check=function(){return this.isSkip?(this.onAlreadyReady(),!1):(this.hasDataSize?(pe(this.element,this.options.prefix),this.onAlreadyPreReady()):this.trigger("requestChildren"),!0)},e.checkElement=function(){return!0},e.destroy=function(){this.clear(),this.trigger("requestDestroy"),this.off()},e.onAlreadyPreReady=function(){n.prototype.onAlreadyPreReady.call(this),this.trigger("reqeustReadyChildren")},t.EVENTS=[],t})(Gt),Ps=(function(n){nt(t,n);function t(s){s===void 0&&(s={});var i=n.call(this)||this;return i.readyCount=0,i.preReadyCount=0,i.totalCount=0,i.totalErrorCount=0,i.isPreReadyOver=!0,i.elementInfos=[],i.options=st({loaders:{},prefix:"data-"},s),i}var e=t.prototype;return e.check=function(s){var i=this,r=this.options.prefix;this.clear(),this.elementInfos=bt(s).map(function(a,h){var l=i.getLoader(a,{prefix:r});return l.check(),l.on("error",function(c){i.onError(h,c.target)}).on("preReady",function(c){var _=i.elementInfos[h];_.hasLoading=c.hasLoading,_.isSkip=c.isSkip;var E=i.checkPreReady(h);i.onPreReadyElement(h),E&&i.onPreReady()}).on("ready",function(c){var _=c.withPreReady,E=c.hasLoading,f=c.isSkip,v=i.elementInfos[h];v.hasLoading=E,v.isSkip=f;var T=_&&i.checkPreReady(h),p=i.checkReady(h);_&&i.onPreReadyElement(h),i.onReadyElement(h),T&&i.onPreReady(),p&&i.onReady()}),{loader:l,element:a,hasLoading:!1,hasError:!1,isPreReady:!1,isReady:!1,isSkip:!1}});var o=this.elementInfos.length;return this.totalCount=o,o||setTimeout(function(){i.onPreReady(),i.onReady()}),this},e.getTotalCount=function(){return this.totalCount},e.isPreReady=function(){return this.elementInfos.every(function(s){return s.isPreReady})},e.isReady=function(){return this.elementInfos.every(function(s){return s.isReady})},e.hasError=function(){return this.totalErrorCount>0},e.clear=function(){this.isPreReadyOver=!1,this.totalCount=0,this.preReadyCount=0,this.readyCount=0,this.totalErrorCount=0,this.elementInfos.forEach(function(s){s.loader&&s.loader.destroy()}),this.elementInfos=[]},e.destroy=function(){this.clear(),this.off()},e.getLoader=function(s,i){var r=this,o=s.tagName.toLowerCase(),a=this.options.loaders,h=i.prefix,l=Object.keys(a);if(a[o])return new a[o](s,i);var c=new xs(s,i),_=bt(s.querySelectorAll(l.join(", ")));c.setHasLoading(_.some(function(f){return de(f,h)}));var E=this.clone().on("error",function(f){c.onError(f.target)}).on("ready",function(){c.onReady()});return c.on("requestChildren",function(){var f=Ns(s,l,r.options.prefix);E.check(f).on("preReady",function(v){v.isReady||c.onPreReady()})}).on("reqeustReadyChildren",function(){E.check(_)}).on("requestDestroy",function(){E.destroy()}),c},e.clone=function(){return new t(st({},this.options))},e.checkPreReady=function(s){return this.elementInfos[s].isPreReady=!0,++this.preReadyCount,!(this.preReadyCount<this.totalCount)},e.checkReady=function(s){return this.elementInfos[s].isReady=!0,++this.readyCount,!(this.readyCount<this.totalCount)},e.onError=function(s,i){var r=this.elementInfos[s];r.hasError=!0,this.trigger(new ct("error",{element:r.element,index:s,target:i,errorCount:this.getErrorCount(),totalErrorCount:++this.totalErrorCount}))},e.onPreReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("preReadyElement",{element:i.element,index:s,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isSkip:i.isSkip}))},e.onPreReady=function(){this.isPreReadyOver=!0,this.trigger(new ct("preReady",{readyCount:this.readyCount,totalCount:this.totalCount,isReady:this.isReady(),hasLoading:this.hasLoading()}))},e.onReadyElement=function(s){var i=this.elementInfos[s];this.trigger(new ct("readyElement",{index:s,element:i.element,hasError:i.hasError,errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:i.hasLoading,isPreReadyOver:this.isPreReadyOver,isSkip:i.isSkip}))},e.onReady=function(){this.trigger(new ct("ready",{errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,totalCount:this.totalCount}))},e.getErrorCount=function(){return this.elementInfos.filter(function(s){return s.hasError}).length},e.hasLoading=function(){return this.elementInfos.some(function(s){return s.hasLoading})},t})(x),Ds=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element,i=s.getAttribute("src");if(s.complete){if(i)return s.naturalWidth||this.onAlreadyError(s),!1;this.onAlreadyPreReady()}return this.addEvents(),Rs&&s.setAttribute("src",i),!0},t.EVENTS=["load","error"],t})(Gt),Ms=(function(n){nt(t,n);function t(){return n!==null&&n.apply(this,arguments)||this}var e=t.prototype;return e.checkElement=function(){var s=this.element;return s.readyState>=1?!1:s.error?(this.onAlreadyError(s),!1):(this.addEvents(),!0)},t.EVENTS=["loadedmetadata","error"],t})(Gt),Us=(function(n){nt(t,n);function t(e){return e===void 0&&(e={}),n.call(this,st({loaders:{img:Ds,video:Ms}},e))||this}return t})(Ps);function M(n,t,e,s){function i(r){return r instanceof e?r:new e(function(o){o(r)})}return new(e||(e=Promise))(function(r,o){function a(c){try{l(s.next(c))}catch(_){o(_)}}function h(c){try{l(s.throw(c))}catch(_){o(_)}}function l(c){c.done?r(c.value):i(c.value).then(a,h)}l((s=s.apply(n,[])).next())})}class H extends Error{constructor(t,e){super(t),Object.setPrototypeOf(this,H.prototype),this.name="View360Error",this.code=e}}const Fs={WRONG_TYPE:0,ELEMENT_NOT_FOUND:2,CANVAS_NOT_FOUND:3,WEBGL_NOT_SUPPORTED:4,PROVIDE_PROJECTION_FIRST:6,FAILED_LINKING_PROGRAM:7,INSUFFICIENT_ARGS:8},Bs={WRONG_TYPE:(n,t)=>"".concat(typeof n," is not a ").concat(t.map(e=>'"'.concat(e,'"')).join(" or "),"."),WRONG_OPTION:(n,t)=>'Bad option: given "'.concat(n,'" for option "').concat(t,'".'),ELEMENT_NOT_FOUND:n=>'Element with selector "'.concat(n,'" not found.'),CANVAS_NOT_FOUND:"The canvas element was not found inside the given root element.",WEBGL_NOT_SUPPORTED:"WebGL is not supported on this browser.",FAILED_CREATE_CONTEXT_2D:"Failed to create canvas 2D context",PROVIDE_PROJECTION_FIRST:'"projection" should be provided before initialization.',FAILED_LINKING_PROGRAM:(n,t)=>'Failed linking WebGL program - "'.concat(n,"\nShader compile Log: ").concat(t),INSUFFICIENT_ARGS:(n,t)=>'Insufficient arguments: given "'.concat(n,'" for "').concat(t,'".')};var U={CODES:Fs,MESSAGES:Bs};const u={MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_UP:"mouseup",TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",WHEEL:"wheel",RESIZE:"resize",CONTEXT_MENU:"contextmenu",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",KEY_DOWN:"keydown",KEY_UP:"keyup",CLICK:"click",CONTEXT_CREATE_ERROR:"webglcontextcreationerror",CONTEXT_LOST:"webglcontextlost",CONTEXT_RESTORED:"webglcontextrestored",DEVICE_ORIENTATION:"deviceorientation",DEVICE_MOTION:"devicemotion",ORIENTATION_CHANGE:"orientationchange",VIDEO_PLAY:"play",VIDEO_PAUSE:"pause",VIDEO_LOADED_DATA:"loadeddata",VIDEO_VOLUME_CHANGE:"volumechange",VIDEO_TIME_UPDATE:"timeupdate",VIDEO_DURATION_CHANGE:"durationchange",VIDEO_CAN_PLAYTHROUGH:"canplaythrough",TRANSITION_END:"transitionend",XR_END:"end"},z="div",Ot="button";var Vt;(function(n){n[n.LEFT=0]="LEFT",n[n.MIDDLE=1]="MIDDLE",n[n.RIGHT=2]="RIGHT"})(Vt||(Vt={}));const W={GRAB:"grab",GRABBING:"grabbing",NONE:""},Jt=["LEFT","UP","RIGHT","DOWN"];var Rt;(function(n){n[n.LEFT=37]="LEFT",n[n.UP=38]="UP",n[n.RIGHT=39]="RIGHT",n[n.DOWN=40]="DOWN"})(Rt||(Rt={}));const Vs=32,Te={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"},zs=" ",Qt=["requestFullscreen","webkitRequestFullscreen","webkitRequestFullScreen","webkitCancelFullScreen","mozRequestFullScreen","msRequestFullscreen"],Gs=["fullscreenElement","webkitFullscreenElement","webkitCurrentFullScreenElement","mozFullScreenElement","msFullscreenElement"],Hs=["exitFullscreen","webkitExitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"],Ct=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],X={CTX_LOST:"view360-ctx-lost",IN_VR:"view360-vr-presenting",HOTSPOT_CONTAINER:"view360-hotspots",HOTSPOT:"view360-hotspot",HOTSPOT_VISIBLE:"view360-hotspot-visible"},O={READY:"ready",LOAD_START:"loadStart",LOAD:"load",PROJECTION_CHANGE:"projectionChange",RESIZE:"resize",BEFORE_RENDER:"beforeRender",RENDER:"render",VIEW_CHANGE:"viewChange",STATIC_CLICK:"staticClick",VR_START:"vrStart",VR_END:"vrEnd"},ks={EASE_OUT_CUBIC:n=>1-Math.pow(1-n,3)};var wt;const ye={ANIMATION_END:"animationEnd"},Ws={UPDATE:"update"},d={INPUT_START:"inputStart",CHANGE:"change",INPUT_END:"inputEnd",ENABLE:"enable",DISABLE:"disable",STATIC_CLICK:"staticClick"},S=Math.PI/180,Z=180/Math.PI,pt=ks.EASE_OUT_CUBIC,gt=300,Lt={min:-1/0,max:1/0},be={min:-90,max:90},Ys={min:.6,max:10};var te;(function(n){n[n.ZERO=0]="ZERO",n[n.CW_90=1]="CW_90",n[n.CCW_90=2]="CCW_90",n[n.CW_180=3]="CW_180"})(te||(te={}));const $="view360videotimechange",xt="http://www.w3.org/2000/svg",ee="immersive-vr",se="local",ie=(wt=Number.EPSILON)!==null&&wt!==void 0?wt:2220446049250313e-31,Ht=n=>typeof n=="string",Xs=n=>!!n&&n.nodeType===Node.ELEMENT_NODE,V=(n,t=z)=>{const e=document.createElement(t);return e.classList.add(n),e},Re=(n,t)=>{let e=null;if(Ht(n)){const i=(t||document).querySelector(n);if(!i)return null;e=i}else Xs(n)&&(e=n);return e},Ks=(n,t)=>{const e=Re(n,t);if(!e)throw Ht(n)?new H(U.MESSAGES.ELEMENT_NOT_FOUND(n),U.CODES.ELEMENT_NOT_FOUND):new H(U.MESSAGES.WRONG_TYPE(n,["HTMLElement","string"]),U.CODES.WRONG_TYPE);return e},js=(n,t)=>{const e=n.querySelector(t);if(!e)throw new H(U.MESSAGES.CANVAS_NOT_FOUND,U.CODES.CANVAS_NOT_FOUND);return e},N=(n,t,e)=>Math.max(Math.min(n,e),t),Ce=(n,t,e)=>n*(1-e)+t*e,it=(n,t,e)=>{const s=Math.abs(e-t);if(n<t){const i=(t-n)%s;n=e-i}else if(n>e){const i=(n-e)%s;n=t+i}return n},qs=(n,t)=>{for(let e=0;e<n.length;e++)if(t(n[e]))return e;return-1},P=n=>typeof n=="object"?n:{},yt=(n,t)=>Math.atan(Math.tan(n*.5)/t)*2,dt=()=>{if(!document)return!1;for(const n of Gs)if(document[n])return!0;return!1},Oe=()=>window.isSecureContext&&!!DeviceMotionEvent&&"requestPermission"in DeviceMotionEvent,$s=(n,t)=>{const e=Math.tan(S*n*.5),s=Math.tan(S*t*.5);return e/s},ne=(n,t,e,s)=>{le(n);const i=.01,r=N(e,-90+i,90-i);return ue(n,n,t*S),ce(n,n,r*S),_e(n,n,s*S),n},Le=n=>{const t=n[0],e=n[1],s=n[2],i=n[3],r=t*t,o=e*e,a=s*s,h=i*i,l=r+o+a+h,c=t*i-e*s;let _,E;if(c>.499995*l)_=Math.PI/2,E=2*Math.atan2(e,t);else if(c<-.499995*l)_=-Math.PI/2,E=-2*Math.atan2(e,t);else{const f=L(0,0,1),v=L(0,1,0);F(f,f,n),F(v,v,n);const T=Math.sqrt(f[0]*f[0]+f[2]*f[2]);_=Math.atan2(-f[1],T),E=Math.atan2(f[0],f[2])}return{pitch:N(_*Z,-90,90),yaw:it(E*Z,0,360)}};class Et{get val(){return this._val}get start(){return this._start}get end(){return this._end}get progress(){return this._progress}get activated(){return this._activated}get duration(){return this._duration}set duration(t){this._duration=t}get loop(){return this._loop}set loop(t){this._loop=t}get range(){return this._range}get easing(){return this._easing}set easing(t){this._easing=t}constructor({duration:t=gt,loop:e=!1,range:s={min:0,max:1},easing:i=pt}={}){this._duration=t,this._loop=e,this._range=s,this._easing=i,this._activated=!1,this.reset(0)}update(t){if(!this._activated)return this._val=this._end,0;const e=this._start,s=this._end,i=this._duration,r=this._val,o=this._loop,a=this._progress+t/i;this._progress=o?it(a,0,1):N(a,0,1);const h=this._easing(this._progress);return this._val=Ce(e,s,h),!o&&this._progress>=1&&(this._activated=!1),this._val-r}reset(t){const e=this._range,s=N(t,e.min,e.max);this._start=s,this._end=s,this._val=s,this._progress=0,this._activated=!1}add(t){const e=this._range;this._start=N(this._start+t,e.min,e.max),this._end=N(this._end+t,e.min,e.max),this._val=N(this._val+t,e.min,e.max)}setNewEndByDelta(t){const e=this._range;this._start=this._val,this._end=N(this._end+t,e.min,e.max),this._progress=0,this._activated=!0}setRange(t,e){this._start=N(this._start,t,e),this._end=N(this._end,t,e),this._range={min:t,max:e}}}class Zs{get duration(){return this._motion.duration}set duration(t){this._motion.duration=t}get easing(){return this._motion.easing}set easing(t){this._motion.easing=t}constructor(t,e,s,{duration:i=gt,easing:r=pt}={}){this._camera=t,this._motion=new Et({duration:i,easing:r,range:{min:0,max:1}}),this._from=e,this._to=s,this._finishPromise=new Promise(o=>{this._finish=o}),this._motion.setNewEndByDelta(1)}getFinishPromise(){return this._finishPromise}update(t){const e=this._camera,s=this._from,i=this._to,r=this._motion;r.update(t);const o=r.val,a=G(),h=Ce(s.zoom,i.zoom,o);vt(a,s.rotation,i.rotation,o),e.rotate(a,h),o>=1&&this._finish()}}class Js extends x{get aspect(){return this._aspect}get changed(){return this._changed}get yawRange(){return this._initialYawRange}set yawRange(t){this._initialYawRange=t}get pitchRange(){return this._initialPitchRange}set pitchRange(t){this._initialPitchRange=t}get zoomRange(){return this._initialZoomRange}set zoomRange(t){this._initialZoomRange=t}constructor({initialYaw:t,initialPitch:e,initialZoom:s,yawRange:i,pitchRange:r,zoomRange:o,fov:a}){super(),this.yaw=t,this.pitch=e,this.zoom=s,this.rollOffset=0,this.initialYaw=t,this.initialPitch=e,this.initialZoom=s,this.position=B(),this.animation=null,this._up=L(0,1,0),this._aspect=1,this._initialYawRange=i,this._initialPitchRange=r,this._initialZoomRange=o,this._yawRange=i,this._pitchRange=r,this._zoomRange=o,this.quaternion=G(),this._updateQuaternion(),this.viewMatrix=ft(),this.projectionMatrix=ft(),this.fov=a,this._maxRenderHeight=-1}destroy(){this.off()}resize(t,e){const s=this._aspect;this._aspect=t/e,this._aspect!==s&&this.updateMatrix()}lookAt({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom}){const i=ut(this.quaternion),r=this.zoom;this.yaw=it(t,0,360),this.pitch=N(e,-90,90),this.zoom=s,this._updateQuaternion();const o=Math.abs(s-r);(!Zt(this.quaternion,i)||o>=ie*10)&&this.updateMatrix()}rotate(t,e=this.zoom){const s=tt(G(),t),i=Zt(this.quaternion,s);ms(this.quaternion,s);const r=this.zoom,{yaw:o,pitch:a}=Le(s);this.yaw=o,this.pitch=a,this.zoom=e;const h=Math.abs(e-r);(!i||h>=ie*10)&&this.updateMatrix()}animateTo({yaw:t=this.yaw,pitch:e=this.pitch,zoom:s=this.zoom,duration:i=0,easing:r=pt}={}){return M(this,void 0,void 0,function*(){if(this.yaw===t&&this.pitch===e&&this.zoom===s)return;const o={rotation:ut(this.quaternion),zoom:this.zoom},a={rotation:ne(G(),t,e,this.rollOffset),zoom:s},h=new Zs(this,o,a,{duration:i,easing:r}),l=h.getFinishPromise();return this.animation=h,l.then(()=>{this.animation=null,this.trigger(ye.ANIMATION_END,{animation:h})}),l})}restrictYawRange(t,e){this._yawRange={min:t,max:e}}restrictPitchRange(t,e){this._pitchRange={min:t,max:e}}restrictZoomRange(t,e){this._zoomRange={min:t,max:e}}restrictRenderHeight(t){this._maxRenderHeight=t}resetRange(){this._yawRange=this._initialYawRange,this._pitchRange=this._initialPitchRange,this._zoomRange=this._initialZoomRange,this._maxRenderHeight=-1}getYawRange(t){const e=this._yawRange,s=this._maxRenderHeight;if(!e)return Lt;const i=this.getHorizontalFov(t)*.5;let r=e.min,o=e.max;if(s>0){const a=yt(i*S,this._aspect),h=s*.5,l=Math.tan(a),c=Math.sqrt((1+h*h)/(1+l*l)),_=Math.atan(Math.tan(i*S)*c)*Z;r=e.min+_,o=e.max-_}return r>o&&(r=0,o=0),{min:r,max:o}}getPitchRange(t){const e=this._pitchRange,s=this._maxRenderHeight;if(!e)return be;let i=e.min,r=e.max;if(s>0){const o=this.getVerticalFov(t)*.5;i=e.min+o,r=e.max-o}return i>r&&(i=0,r=0),{min:Math.max(i,-90),max:Math.min(r,90)}}getZoomRange(){var t;const e=(t=this._zoomRange)!==null&&t!==void 0?t:Ys,s=this.getHorizontalFov(e.max),i=this.getHorizontalFov(e.min),r=this.getHorizontalFov(this.zoom);return{min:Math.max(s,1),max:Math.min(i,180),current:r}}getHorizontalFov(t=this.zoom){return this._getZoomedHorizontalFov(t)*Z}getVerticalFov(t=this.zoom){const e=this._aspect,s=this._getZoomedHorizontalFov(t);return yt(s,e)*Z}fovToZoom(t){const e=this.fov,s=Math.tan(S*e*.5),i=Math.tan(S*t*.5);return s/i}updateMatrix(){const t=this._up,e=this._aspect,s=this.viewMatrix,i=this.projectionMatrix,r=this.position,o=this.quaternion,a=B(),h=L(0,0,-1);F(h,h,o),F(a,t,o);const l=this._getZoomedHorizontalFov(),c=yt(l,e);es(s,r,h,a),ts(i,c,e,.1,100),this._changed=!0}onFrameRender(){this._changed=!1}_updateQuaternion(){ne(this.quaternion,this.yaw,this.pitch,this.rollOffset)}_getZoomedHorizontalFov(t=this.zoom){return 2*Math.atan(Math.tan(S*this.fov*.5)/t)}}class Ie extends x{constructor(){super(),this._onMouseDown=t=>{const e=this._el;!e||t.button!==Vt.LEFT||(t.preventDefault(),e.focus?e.focus():window.focus(),this._prevPos[0]=t.clientX,this._prevPos[1]=t.clientY,window.addEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.addEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}))},this._onMouseMove=t=>{t.preventDefault();const e=t.clientX,s=t.clientY,i=this._prevPos,r=e-i[0],o=s-i[1];this.trigger(d.CHANGE,{delta:{x:r,y:o},isTouch:!1,isKeyboard:!1}),i[0]=e,i[1]=s},this._onMouseUp=()=>{this._prevPos[0]=0,this._prevPos[1]=0,window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1})},this._el=null,this._prevPos=[0,0]}enable(t){this._el||(t.addEventListener(u.MOUSE_DOWN,this._onMouseDown),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.MOUSE_DOWN,this._onMouseDown),window.removeEventListener(u.MOUSE_MOVE,this._onMouseMove,!1),window.removeEventListener(u.MOUSE_UP,this._onMouseUp,!1),this._el=null)}}class Ae extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onTouchStart=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0];this._isFirstTouch=!0,this._prevPos[0]=e.clientX,this._prevPos[1]=e.clientY,this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1})},this._onTouchMove=t=>{if(t.touches.length>1||this._scrolling)return;const e=t.touches[0],s=this._scrollable,i=this._prevPos,r=e.clientX,o=e.clientY,a=r-i[0],h=o-i[1];if(this._isFirstTouch){if(s&&!dt()&&Math.abs(h)>Math.abs(a)){this._scrolling=!0;return}this._isFirstTouch=!1}t.cancelable!==!1&&t.preventDefault(),this.trigger(d.CHANGE,{delta:{x:a,y:h},isTouch:!0,isKeyboard:!1}),i[0]=r,i[1]=o},this._onTouchEnd=t=>{if(t.touches.length!==0)return;const e=t.touches[0],s=this._prevPos;e?(s[0]=e.clientX,s[1]=e.clientY):(s[0]=0,s[1]=0,this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:this._scrolling})),t.cancelable!==!1&&t.preventDefault(),this._scrolling=!1},this._el=null,this._prevPos=[0,0],this._isFirstTouch=!1,this._scrolling=!1,this._scrollable=!1}enable(t){this._el||(t.addEventListener(u.TOUCH_START,this._onTouchStart,{passive:!1}),t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_START,this._onTouchStart),t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class Qs extends x{get active(){const t=this._pressed;return t.LEFT||t.UP||t.RIGHT||t.DOWN}constructor(){super(),this._onKeyDown=t=>{if(t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD)return;this._updateKeyPress(t,!0);const e=this._getPressedKeyCount();e<=0||(t.preventDefault(),e===1&&!t.repeat&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!0}))},this._onKeyUp=t=>{t.location!==KeyboardEvent.DOM_KEY_LOCATION_STANDARD||(this._updateKeyPress(t,!1),this._getPressedKeyCount()>0)||this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!0,scrolling:!1})},this._el=null,this._clearPressedKeys()}enable(t){this._el||(t.addEventListener(u.KEY_DOWN,this._onKeyDown),t.addEventListener(u.KEY_UP,this._onKeyUp),this._el=t,this._clearPressedKeys())}disable(){const t=this._el;t&&(t.removeEventListener(u.KEY_DOWN,this._onKeyDown),t.removeEventListener(u.KEY_UP,this._onKeyUp),this._el=null,this._clearPressedKeys())}update(){const t=this._getDeltaByPressedKeys();(t.x!==0||t.y!==0)&&this.trigger(d.CHANGE,{delta:t,isTouch:!1,isKeyboard:!0})}_clearPressedKeys(){this._pressed=Jt.reduce((t,e)=>Object.assign(Object.assign({},t),{[e]:!1}),{})}_updateKeyPress(t,e){const s=this._pressed,i=t.keyCode!=null?Rt[t.keyCode]:Te[t.key];i&&(s[i]=e)}_getPressedKeyCount(){return Jt.filter(t=>this._pressed[t]).length}_getDeltaByPressedKeys(){const t=this._pressed;let e=0,s=0;return t.LEFT&&(e+=1),t.RIGHT&&(e-=1),t.UP&&(s+=1),t.DOWN&&(s-=1),{x:e,y:s}}}class ti extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._keyboardInput.active||this._xMotion.activated||this._yMotion.activated}get yaw(){return this._xMotion}get pitch(){return this._yMotion}get scrollable(){return this._touchInput.scrollable}set scrollable(t){this._touchInput.scrollable=t}get pointerScale(){return this._pointerScale}set pointerScale(t){this._pointerScale=t}get keyboardScale(){return this._keyboardScale}set keyboardScale(t){this._keyboardScale=t}get duration(){return this._duration}set duration(t){this._duration=t,this._xMotion.duration=t,this._yMotion.duration=t}get easing(){return this._easing}set easing(t){this._easing=t,this._xMotion.easing=t,this._yMotion.easing=t}get disablePitch(){return this._disablePitch}set disablePitch(t){this._disablePitch=t}get disableYaw(){return this._disableYaw}set disableYaw(t){this._disableYaw=t}get disableKeyboard(){return this._disableKeyboard}set disableKeyboard(t){this._disableKeyboard=t}constructor(t,e,{duration:s=gt,easing:i=pt,pointerScale:r=[1,1],keyboardScale:o=[1,1],disablePitch:a=!1,disableYaw:h=!1,disableKeyboard:l=!1}={}){super(),this._onInputStart=c=>{this._changedWhileDragging=!1,this.trigger(d.INPUT_START,Object.assign(Object.assign({},c),{inputType:"rotate"}))},this._onChange=c=>{const _=c.delta,E=1/this._zoomScale,f=this._screenScale,v=this._keyboardScale,T=this._pointerScale;let p;c.isKeyboard?p=[v[0]*E,v[1]*E]:p=[T[0]*f[0]*E,T[1]*f[1]*E];const b=_.x*p[0],C=_.y*p[1];this._xMotion.setNewEndByDelta(b),this._yMotion.setNewEndByDelta(C),this._changedWhileDragging=!0},this._onInputEnd=c=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},c),{inputType:"rotate"})),!this._changedWhileDragging&&!c.isKeyboard&&!c.scrolling&&this.trigger(d.STATIC_CLICK,{isTouch:c.isTouch}),this._changedWhileDragging=!1},this._controlEl=t,this._pointerScale=r,this._keyboardScale=o,this._duration=s,this._easing=i,this._disablePitch=a,this._disableYaw=h,this._disableKeyboard=l,this._enableBlocked=e,this._mouseInput=new Ie,this._touchInput=new Ae,this._keyboardInput=new Qs,this._xMotion=new Et({duration:s,range:Lt,easing:i}),this._yMotion=new Et({duration:s,range:be,easing:i}),this._screenScale=[1,1],this._zoomScale=1,this._enabled=!1,this._changedWhileDragging=!1,this._bindInputs()}destroy(){this.disable(),this._mouseInput.off(),this._touchInput.off(),this._keyboardInput.off(),this.off(),this._changedWhileDragging=!1}update(t){if(!this._enabled)return;const e=this._xMotion,s=this._yMotion,i=this._keyboardInput;this._disableKeyboard||i.update(),this._disablePitch||s.update(t),this._disableYaw||e.update(t)}updateRange(t,e){const s=t.getYawRange(e),i=t.getPitchRange(e);this._xMotion.setRange(s.min,s.max),this._yMotion.setRange(i.min,i.max)}setZoomScale(t){this._zoomScale=t}resize(t,e,s,i){const r=yt(t*S,e)*Z;this._screenScale[0]=t/s,this._screenScale[1]=r/i}enable(){if(this._enabled)return;const t=this._controlEl;this._mouseInput.enable(t),this._touchInput.enable(t),this._keyboardInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!0})}disable(){this._enabled&&(this._mouseInput.disable(),this._touchInput.disable(),this._keyboardInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!0}))}sync(t){this.updateRange(t,t.zoom),this._xMotion.reset(t.yaw),this._yMotion.reset(t.pitch)}_bindInputs(){const t=this._mouseInput,e=this._touchInput,s=this._keyboardInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd),s.on(d.INPUT_START,this._onInputStart),s.on(d.CHANGE,this._onChange),s.on(d.INPUT_END,this._onInputEnd)}}class ei extends x{get scrollable(){return this._scrollable}set scrollable(t){this._scrollable=t}constructor(){super(),this._onWheel=t=>{const e=this._scrollable;if(t.deltaY===0||e)return;t.preventDefault(),t.stopPropagation(),this._inputTimer<0?this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!1,isKeyboard:!1}):this._clearTimer();const s=this._baseScale*t.deltaY;this.trigger(d.CHANGE,{delta:s,isTouch:!1,isKeyboard:!1}),this._inputTimer=window.setTimeout(()=>{this.trigger(d.INPUT_END,{isTouch:!1,isKeyboard:!1,scrolling:!1}),this._inputTimer=-1},gt)},this._el=null,this._baseScale=.04,this._scrollable=!1,this._inputTimer=-1}enable(t){this._el||(t.addEventListener(u.WHEEL,this._onWheel,{passive:!1,capture:!1}),this._el=t,this._clearTimer())}disable(){const t=this._el;t&&(t.removeEventListener(u.WHEEL,this._onWheel,!1),this._el=null,this._clearTimer())}_clearTimer(){window.clearTimeout(this._inputTimer),this._inputTimer=-1}}class si extends x{constructor(){super(),this._onTouchMove=t=>{const e=t.touches;if(e.length!==2||!t.cancelable)return;t.preventDefault(),t.stopPropagation();const s=this._prevDistance,i=[e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY],r=Math.sqrt(i[0]*i[0]+i[1]*i[1])*this._baseScale,o=this._isFirstTouch?0:r-s;this._isFirstTouch&&this.trigger(d.INPUT_START,{srcEvent:t,isTouch:!0,isKeyboard:!1}),this._prevDistance=r,this._isFirstTouch=!1,this.trigger(d.CHANGE,{delta:o,isTouch:!0,isKeyboard:!1})},this._onTouchEnd=t=>{t.touches.length===0&&(this._isFirstTouch||this.trigger(d.INPUT_END,{isTouch:!0,isKeyboard:!1,scrolling:!1}),this._prevDistance=-1,this._isFirstTouch=!0)},this._el=null,this._baseScale=-.2,this._prevDistance=-1,this._isFirstTouch=!0}enable(t){this._el||(t.addEventListener(u.TOUCH_MOVE,this._onTouchMove,{passive:!1,capture:!1}),t.addEventListener(u.TOUCH_END,this._onTouchEnd),this._el=t,this._prevDistance=-1,this._isFirstTouch=!0)}disable(){const t=this._el;t&&(t.removeEventListener(u.TOUCH_MOVE,this._onTouchMove,!1),t.removeEventListener(u.TOUCH_END,this._onTouchEnd),this._el=null)}}class ii extends x{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._motion.activated}get zoom(){return this._motion.val}get scrollable(){return this._wheelInput.scrollable}set scrollable(t){this._wheelInput.scrollable=t}get range(){return this._motion.range}get scale(){return this._scale}set scale(t){this._scale=t}get duration(){return this._motion.duration}get easing(){return this._motion.easing}constructor(t,e,{scale:s=1,duration:i=gt,easing:r=pt}={}){super(),this._onInputStart=o=>{this.trigger(d.INPUT_START,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._onChange=({delta:o})=>{const a=this._scale,h=o*a;this._motion.setNewEndByDelta(h)},this._onInputEnd=o=>{this.trigger(d.INPUT_END,Object.assign(Object.assign({},o),{inputType:"zoom"}))},this._scale=s,this._controlEl=t,this._enableBlocked=e,this._wheelInput=new ei,this._pinchInput=new si,this._motion=new Et({duration:i,easing:r,range:Lt}),this._enabled=!1,this._bindInputs()}destroy(){this.disable(),this._wheelInput.off(),this._pinchInput.off(),this.off()}update(t){if(!this._enabled)return;this._motion.update(t)}enable(){if(this._enabled)return;const t=this._controlEl;this._wheelInput.enable(t),this._pinchInput.enable(t),this._enabled=!0,this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1})}disable(){this._enabled&&(this._wheelInput.disable(),this._pinchInput.disable(),this._enabled=!1,this.trigger(d.DISABLE,{updateCursor:!1}))}sync(t){const e=this._motion,s=t.getZoomRange();e.setRange(s.min,s.max),e.reset(s.current)}_bindInputs(){const t=this._wheelInput,e=this._pinchInput;t.on(d.INPUT_START,this._onInputStart),t.on(d.CHANGE,this._onChange),t.on(d.INPUT_END,this._onInputEnd),e.on(d.INPUT_START,this._onInputStart),e.on(d.CHANGE,this._onChange),e.on(d.INPUT_END,this._onInputEnd)}}const D={PITCH_DELTA:1,YAW_DELTA_BY_ROLL:2,YAW_DELTA_BY_YAW:3};D[D.PITCH_DELTA]={targetAxis:[0,1,0],meshPoint:[0,0,1]};D[D.YAW_DELTA_BY_ROLL]={targetAxis:[0,1,0],meshPoint:[1,0,0]};D[D.YAW_DELTA_BY_YAW]={targetAxis:[1,0,0],meshPoint:[0,0,1]};class ni extends x{get enabled(){return this._enabled}get orientationUpdated(){return this._orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}constructor(){super(),this._onDeviceOrientation=t=>{const e=this._orientation,{alpha:s,beta:i,gamma:r}=t;s==null||i==null||r==null||(e.alpha=s,e.beta=i,e.gamma=r,this._orientationUpdated=!0,this._needsCalibrate&&(this._needsCalibrate=!1,this._calibrateSensor()))},this._updateScreenOrientation=()=>{window.screen&&window.screen.orientation&&window.screen.orientation.angle!==void 0?this._screenOrientation=screen.orientation.angle:window.orientation!==void 0?this._screenOrientation=window.orientation>=0?window.orientation:360+window.orientation:this._screenOrientation=0},this.quaternion=G(),this._orientation={alpha:0,beta:90,gamma:0},this._yawOrigin=0,this._yawOffset=0,this._orientationUpdated=!1,this._screenOrientation=0,this._needsCalibrate=!0,this._enabled=!1}enable(){this._enabled||(window.addEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.addEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._updateScreenOrientation(),this._orientationUpdated=!1,this._needsCalibrate=!0,this._enabled=!0)}disable(){this._enabled&&(window.removeEventListener(u.DEVICE_ORIENTATION,this._onDeviceOrientation),window.removeEventListener(u.ORIENTATION_CHANGE,this._updateScreenOrientation),this._enabled=!1)}update(){this._updateRotation(),this._orientationUpdated=!1}collectDelta(){if(!this._orientationUpdated)return{pitch:0,yaw:0};const t=ut(this.quaternion);return this._updateRotation(),this._orientationUpdated=!1,this._toEulerDelta(t,this.quaternion)}setInitialRotation(t){this._yawOrigin=t}_calibrateSensor(){const t=this._yawOrigin,e=this.quaternion;this._yawOffset=0,this._updateRotation();const{yaw:s}=Le(e);this._yawOffset=s-t,this._updateRotation(),this._needsCalibrate=!1}_updateRotation(){const t=this.quaternion,{alpha:e,beta:s,gamma:i}=this._orientation;le(t),ue(t,t,(e-this._yawOffset)*S),ce(t,t,s*S),_e(t,t,-i*S);const r=G(),o=-this._screenOrientation*.5*S,a=Es(-Math.sqrt(.5),0,0,Math.sqrt(.5));ps(r,0,Math.sin(o),0,Math.cos(o)),$t(t,t,r),$t(t,t,a),tt(t,t)}_toEulerDelta(t,e){return{yaw:this._getDeltaYaw(t,e),pitch:this._getDeltaPitch(t,e)}}_getDeltaYaw(t,e){const s=this._getRotationDelta(t,e,D.YAW_DELTA_BY_YAW);return this._getRotationDelta(t,e,D.YAW_DELTA_BY_ROLL)*Math.sin(this._extractPitchFromQuat(e))+s}_getDeltaPitch(t,e){return this._getRotationDelta(t,e,D.PITCH_DELTA)}_getRotationDelta(t,e,s){const i=L(D[s].targetAxis[0],D[s].targetAxis[1],D[s].targetAxis[2]),r=D[s].meshPoint,o=ut(t),a=ut(e);tt(o,o),tt(a,a);let h=L(0,0,1),l=L(0,0,1);F(h,h,o),F(l,l,a),F(i,i,a);const _=he(i,Q(B(),h,l))>0?1:-1,E=L(r[0],r[1],r[2]);let f;s!==D.YAW_DELTA_BY_YAW?f=L(0,_,0):f=L(_,0,0),F(E,E,a),F(f,f,a);const v=E,T=f,p=B();Q(p,v,T),ae(p,p);const b=p[0],C=p[1],y=p[2];l=L(r[0],r[1],r[2]),F(l,l,a),h=L(r[0],r[1],r[2]),F(h,h,o);let g=Math.abs(h[0]*b+h[1]*C+h[2]*y);const m=B();is(m,h,ns(B(),p,g));let R=(m[0]*l[0]+m[1]*l[1]+m[2]*l[2])/(Ut(m)*Ut(l));R>1&&(R=1);const It=Math.acos(R),rt=Q(B(),l,m);g=b*rt[0]+C*rt[1]+y*rt[2];let ot;return s!==D.YAW_DELTA_BY_YAW?ot=g>0?1:-1:ot=g<0?1:-1,It*ot*_*Z}_extractPitchFromQuat(t){const e=L(0,0,1);return F(e,e,t),-1*Math.atan2(e[1],Math.sqrt(Math.pow(e[0],2)+Math.pow(e[2],2)))}}class mt extends x{get enabled(){return this._input.enabled}get enableBlocked(){return this._enableBlocked}get animating(){return this._input.enabled&&this._input.orientationUpdated}get ignoreRoll(){return this._ignoreRoll}set ignoreRoll(t){this._ignoreRoll=t}static isAvailable(){return M(this,void 0,void 0,function*(){if(!DeviceMotionEvent)return!1;let t;const e=()=>new Promise(i=>{t=r=>{i(r.rotationRate&&r.rotationRate.alpha!=null)},window.addEventListener(u.DEVICE_MOTION,t)}),s=()=>new Promise(i=>{setTimeout(()=>i(!1),1e3)});return Promise.race([e(),s()]).then(i=>(window.removeEventListener(u.DEVICE_MOTION,t),i))})}static requestSensorPermission(){return M(this,void 0,void 0,function*(){return Oe()?DeviceMotionEvent.requestPermission().then(t=>t==="granted").catch(()=>!1):!0})}constructor(t,{ignoreRoll:e=!0}={}){super(),this._enableBlocked=t,this._ignoreRoll=e,this._input=new ni}destroy(){this.disable(),this._input.off(),this.off()}update(t,e,s,i){this._ignoreRoll?this._updateYawPitch(t,e,s,i):this._updateQuaternion(t,i)}enable(){this._input.enabled||(this._input.enable(),this._enableBlocked=!1,this.trigger(d.ENABLE,{control:this,updateCursor:!1}))}disable(){this._input.enabled&&(this._input.disable(),this.trigger(d.DISABLE,{updateCursor:!1}))}sync(){}_updateYawPitch(t,e,s,i){const r=this._input;if(!r.enabled)return;const{yaw:o,pitch:a}=r.collectDelta();e.add(o),s.add(a),t.lookAt({yaw:e.val,pitch:s.val,zoom:i})}_updateQuaternion(t,e){const s=this._input;s.enabled&&(s.update(),t.rotate(s.quaternion,e))}}class ri{get useGrabCursor(){return this._useGrabCursor}set useGrabCursor(t){t!==this._useGrabCursor&&(this._useGrabCursor=t,t&&this._enabled?this._setCursor(W.GRAB):t||this._setCursor(W.NONE))}get disableContextMenu(){return this._disableContextMenu}set disableContextMenu(t){t!==this._disableContextMenu&&(this._disableContextMenu=t,t&&this._enabled?this._blockContextMenu():t||this._restoreContextMenu())}get scrollable(){return this._rotateControl.scrollable}set scrollable(t){this._rotateControl.scrollable=t}get wheelScrollable(){return this._zoomControl.scrollable}set wheelScrollable(t){this._zoomControl.scrollable=t}get ignoreZoomScale(){return this._ignoreZoomScale}set ignoreZoomScale(t){this._ignoreZoomScale=t}get enabled(){return this._enabled}get rotate(){return this._rotateControl}get zoom(){return this._zoomControl}get gyro(){return this._gyroControl}get animating(){return this._rotateControl.animating||this._zoomControl.animating||this._gyroControl.animating}constructor(t,e,{useGrabCursor:s,scrollable:i,wheelScrollable:r,disableContextMenu:o,rotate:a,zoom:h,gyro:l}){this._preventContextMenu=c=>{c.preventDefault()},this._onInputStart=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRABBING)},this._onInputEnd=c=>{this._useGrabCursor&&!c.isKeyboard&&this._setCursor(W.GRAB)},this._onEnable=({control:c,updateCursor:_})=>{_&&this._useGrabCursor&&this._setCursor(W.GRAB),c.sync(this._camera)},this._onDisable=({updateCursor:c})=>{c&&this._setCursor(W.NONE)},this._onCameraAnimationEnd=({animation:c})=>{c.getFinishPromise().then(()=>{this.sync()})},this._useGrabCursor=s,this._disableContextMenu=o,this._camera=e,this._controlEl=t,this._ignoreZoomScale=!1,this._enabled=!1,this._rotateControl=new ti(t,!a,P(a)),this._zoomControl=new ii(t,!h,P(h)),this._gyroControl=new mt(!l,P(l)),this._rotateControl.scrollable=i,this._zoomControl.scrollable=r,this._bindEvents()}destroy(){this.disable(),this._rotateControl.destroy(),this._zoomControl.destroy(),this._setCursor(W.NONE)}resize(t,e){const s=this._camera;this._rotateControl.resize(s.fov,s.aspect,t,e)}enable(){return M(this,void 0,void 0,function*(){this._enabled||(this._rotateControl.enableBlocked||this._rotateControl.enable(),this._zoomControl.enableBlocked||this._zoomControl.enable(),this._gyroControl.enableBlocked||(yield mt.isAvailable())&&this._gyroControl.enable(),this.sync(),this._disableContextMenu&&this._blockContextMenu(),this._enabled=!0)})}disable(){this._enabled&&(this._rotateControl.disable(),this._zoomControl.disable(),this._gyroControl.disable(),this._restoreContextMenu(),this._enabled=!1)}update(t){const e=this._camera,s=this._rotateControl,i=this._zoomControl,r=this._gyroControl;i.update(t);const o=$s(e.fov,i.zoom),a=this._ignoreZoomScale?1:Math.max(o,1);s.setZoomScale(a),s.updateRange(e,o),s.update(t);const h=s.yaw,l=s.pitch;r.enabled?r.update(e,h,l,o):e.lookAt({yaw:h.val,pitch:l.val,zoom:o})}sync(){const t=this._camera;this._zoomControl.sync(t),this._rotateControl.sync(t)}_blockContextMenu(){this._controlEl.addEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_restoreContextMenu(){this._controlEl.removeEventListener(u.CONTEXT_MENU,this._preventContextMenu)}_setCursor(t){if(!this._useGrabCursor&&t!==W.NONE)return;const e=this._controlEl;e.style.cursor=t}_bindEvents(){const t=this._rotateControl,e=this._zoomControl;t.on(d.INPUT_START,this._onInputStart),t.on(d.INPUT_END,this._onInputEnd),t.on(d.ENABLE,this._onEnable),t.on(d.DISABLE,this._onDisable),e.on(d.ENABLE,this._onEnable),e.on(d.DISABLE,this._onDisable),this._camera.on(ye.ANIMATION_END,this._onCameraAnimationEnd)}}class Se{constructor({width:t,height:e,flipY:s}){this.width=t,this.height=e,this.flipY=s,this.wrapS=WebGLRenderingContext.CLAMP_TO_EDGE,this.wrapT=WebGLRenderingContext.CLAMP_TO_EDGE}destroy(){}isVideo(){return!1}isCube(){return!1}}class Ne extends Se{constructor({source:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.source=t}}class oi extends Ne{destroy(){const t=this.source;t.pause(),t.removeAttribute("src"),t.load()}isVideo(){return!0}isPaused(){const t=this.source;return t.paused||t.ended||t.readyState<=2}hasAudio(){const t=this.source;return t.audioTracks?t.audioTracks.length>0:t.webkitAudioDecodedByteCount!=null?t.webkitAudioDecodedByteCount>0:t.mozHasAudio!=null?t.mozHasAudio:!0}}class ai extends Se{constructor({sources:t,width:e,height:s,flipY:i}){super({width:e,height:s,flipY:i}),this.sources=t}isCube(){return!0}}class hi{constructor(){this._loadChecker=new Us}load(t,e){return M(this,void 0,void 0,function*(){if(e)return this.loadVideo(t,P(e));if(Array.isArray(t)&&t.length>1)return this.loadCubeImage(t);{const s=Array.isArray(t)?t[0]:t;return this.loadImage(s)}})}loadImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{const i=e[0];s(new Ne({source:i,width:i.naturalWidth,height:i.naturalHeight,flipY:!0}))})})}loadCubeImage(t){return M(this,void 0,void 0,function*(){const e=this._toImageArray(t);return this._load(e,s=>{s(new ai({sources:e,width:e[0].naturalWidth,height:e[0].naturalHeight,flipY:!1}))})})}loadVideo(t,e){return M(this,void 0,void 0,function*(){const s=Object.assign({autoplay:!0,muted:!0,loop:!1,volume:1},e),i=this._toVideoElement(t,s);return this._load([i],r=>{const{autoplay:o,muted:a}=s;i.currentTime=0,o&&a&&i.play().catch(()=>{}),r(new oi({source:i,width:i.videoWidth,height:i.videoHeight,flipY:!0}))})})}_load(t,e){const s=this._loadChecker;return new Promise((i,r)=>{s.once("ready",o=>{o.errorCount>0||e(i)}),s.once("error",r),s.check(t)})}_toImageArray(t){return(Array.isArray(t)?t:[t]).map(s=>{if(Ht(s)){const i=new Image;return i.crossOrigin="anonymous",i.src=s,i}else return s})}_toVideoElement(t,{muted:e,loop:s,volume:i}){if(t instanceof HTMLVideoElement)return t;const r=document.createElement("video");return r.crossOrigin="anonymous",r.playsInline=!0,r.setAttribute("webkit-playsinline",""),r.muted=e,r.volume=i,r.loop=s,Array.isArray(t)?t.forEach(a=>this._appendSourceElement(r,a)):this._appendSourceElement(r,t),r.querySelectorAll("source").length>0&&r.readyState<1&&r.load(),r}_appendSourceElement(t,e){if(e instanceof HTMLSourceElement)return e;const s=document.createElement("source");s.src=e,t.appendChild(s)}}class li{constructor(t,e=window){this.maxDeltaTime=t,this._context=e,this._rafId=-1,this._rafTimer=-1,this._lastUpdateTime=-1}start(t){const e=this._context;if(!e||!t||this._rafId>=0||this._rafTimer>=0)return;const s=(i,r)=>{const o=Date.now(),a=Math.min(o-this._lastUpdateTime,this.maxDeltaTime*1e3);t(a,r),this._lastUpdateTime=o,this._rafId=e.requestAnimationFrame(s)};this._lastUpdateTime=Date.now(),this._rafId=e.requestAnimationFrame(s)}stop(){this._rafId>=0&&this._context.cancelAnimationFrame(this._rafId),this._rafTimer>=0&&clearTimeout(this._rafTimer),this._rafId=-1,this._rafTimer=-1}changeContext(t){this.stop(),this._context=t}}class ci{get useResizeObserver(){return this._useResizeObserver}get enabled(){return this._enabled}constructor(t,e){this._skipFirstResize=(()=>{let s=!0;return()=>{if(s){s=!1;return}this._onResize()}})(),this._useResizeObserver=t,this._enabled=!1,this._resizeObserver=null,this._onResize=e}enable(t){if(this._enabled&&this.disable(),this._useResizeObserver&&window.ResizeObserver){const e=t.getBoundingClientRect(),s=e.width!==0||e.height!==0,i=new ResizeObserver(s?this._skipFirstResize:this._onResize);i.observe(t),this._resizeObserver=i}else window.addEventListener(u.RESIZE,this._onResize);return this._enabled=!0,this}disable(){if(!this._enabled)return this;const t=this._resizeObserver;return t?(t.disconnect(),this._resizeObserver=null):window.removeEventListener(u.RESIZE,this._onResize),this._enabled=!1,this}}class ui{get enabled(){return this._enabled}get enableBlocked(){return this._enableBlocked}get playing(){return this._enabled&&!this._interrupted}get delay(){return this._delay}set delay(t){this._delay=t}get delayOnMouseLeave(){return this._delayOnMouseLeave}set delayOnMouseLeave(t){this._delayOnMouseLeave=t}get speed(){return this._speed}set speed(t){this._speed=t}get pauseOnHover(){return this._pauseOnHover}set pauseOnHover(t){this._pauseOnHover=t}get canInterrupt(){return this._canInterrupt}set canInterrupt(t){this._canInterrupt=t}get disableOnInterrupt(){return this._disableOnInterrupt}set disableOnInterrupt(t){this._disableOnInterrupt=t}constructor(t,e,s){this._onInputStart=()=>{this._canInterrupt&&(this._interrupted=!0,this._clearTimeout())},this._onInputEnd=()=>{this._setUninterruptedAfterDelay(this._delay)},this._onGyroEnable=()=>{this.disable()},this._onMouseEnter=()=>{this._pauseOnHover&&(this._interrupted=!0,this._hovering=!0)},this._onMouseLeave=()=>{this._pauseOnHover&&(this._hovering=!1,this._setUninterruptedAfterDelay(this._delayOnMouseLeave))},this._camera=t.camera,this._control=t.control,this._element=e,this._enabled=!1,this._interrupted=!1,this._interruptionTimer=-1,this._hovering=!1;const{delay:i=2e3,delayOnMouseLeave:r=0,speed:o=1,pauseOnHover:a=!1,canInterrupt:h=!0,disableOnInterrupt:l=!1}=P(s);this._enableBlocked=!s,this._delay=i,this._delayOnMouseLeave=r,this._speed=o,this._pauseOnHover=a,this._canInterrupt=h,this._disableOnInterrupt=l}destroy(){this.disable()}update(t){if(!this._enabled)return;if(this._interrupted){this._disableOnInterrupt&&this.disable();return}const e=this._camera,s=-this._speed*t/100;e.yaw=it(e.yaw+s,0,360)}enable(){const t=this._control,e=this._element;this._enabled||t.gyro.enabled||(t.rotate.on(d.INPUT_START,this._onInputStart),t.rotate.on(d.INPUT_END,this._onInputEnd),t.zoom.on(d.INPUT_START,this._onInputStart),t.zoom.on(d.INPUT_END,this._onInputEnd),t.gyro.on(d.ENABLE,this._onGyroEnable),e.addEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!0,this._enableBlocked=!1)}enableAfterDelay(){this.enable(),this._interrupted=!0,this._setUninterruptedAfterDelay(this._delay)}disable(){if(!this._enabled)return;const t=this._control,e=this._element;t.rotate.off(d.INPUT_START,this._onInputStart),t.rotate.off(d.INPUT_END,this._onInputEnd),t.zoom.off(d.INPUT_START,this._onInputStart),t.zoom.off(d.INPUT_END,this._onInputEnd),t.gyro.off(d.ENABLE,this._onGyroEnable),e.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter,!1),e.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave,!1),this._enabled=!1,this._interrupted=!1,this._hovering=!1,this._clearTimeout()}_setUninterruptedAfterDelay(t){this._hovering||(this._clearTimeout(),t>0?this._interruptionTimer=window.setTimeout(()=>{this._interrupted=!1,this._interruptionTimer=-1},t):(this._interrupted=!1,this._interruptionTimer=-1))}_clearTimeout(){this._interruptionTimer>=0&&(window.clearTimeout(this._interruptionTimer),this._interruptionTimer=-1)}}class _i extends x{constructor(t,e={}){super(),this.destroy=()=>{this.exit(),this.off()},this._onSessionEnd=()=>{this.exit(),this.trigger(O.VR_END)},this._xrSession=null,this._xrRefSpace=null,this._ctx=t,this._options=e}isAvailable(){return M(this,void 0,void 0,function*(){const t=window.navigator.xr;return t?t.isSessionSupported(ee).then(e=>e).catch(()=>!1):!1})}enter(){return M(this,void 0,void 0,function*(){const t=this._ctx,e=window.navigator.xr;if(!e)return;yield mt.requestSensorPermission();const s=Object.assign({requiredFeatures:[se]},this._options);yield t.makeXRCompatible();const i=yield e.requestSession(ee,s);t.bindXRLayer(i);const r=yield i.requestReferenceSpace(se);this._setSession(i,r),this.trigger(O.VR_START,{session:i})})}exit(){const t=this._xrSession;t&&t.end().catch(()=>{}),this._xrSession=null,this._xrRefSpace=null}canRender(t){const e=this._xrRefSpace;return e?!!t.getViewerPose(e):!1}getEyeParams(t){const e=t.session,s=t.getViewerPose(this._xrRefSpace);if(!s)return null;const i=e.renderState.baseLayer;return i?s.views.map(r=>{const o=i.getViewport(r),a=r.transform.inverse.matrix;return{viewport:o,vMatrix:a,pMatrix:r.projectionMatrix}}):null}_setSession(t,e){this._xrSession=t,this._xrRefSpace=e,t.addEventListener(u.XR_END,this._onSessionEnd)}}class Pt{constructor(t,e){this.element=t,this.position=e}}class di{constructor(t,e,{zoom:s=!1}){this._containerEl=Re(".".concat(X.HOTSPOT_CONTAINER),t),this._renderer=e,this._hotspots=[],this._zoom=s}refresh(){const t=this._containerEl;if(!t)return;const e=[].slice.apply(t.querySelectorAll(".".concat(X.HOTSPOT)));this._hotspots=e.map(s=>this._parseHotspot(s))}render(t){const e=this._hotspots,s=this._renderer.width*.5,i=this._renderer.height*.5,r=t.zoom,o="translate(-50%, -50%)",a=this._zoom?"scale(".concat(r,")"):"";e.forEach(h=>{const l=h.position,c=B();if(ss(c,l),qt(c,c,t.viewMatrix),qt(c,c,t.projectionMatrix),c[2]>1||c[2]<0){h.element.classList.remove(X.HOTSPOT_VISIBLE);return}const _=vs(c[0]*s+s,-c[1]*i+i);h.element.classList.add(X.HOTSPOT_VISIBLE),h.element.style.transform=[o,"translate(".concat(_[0],"px, ").concat(_[1],"px)"),a].join(" ")})}_parseHotspot(t){const e=t.dataset.yaw,s=t.dataset.pitch,i=t.dataset.position;if(e||s){const r=e?parseFloat(e):0,o=s?parseFloat(s):0,a=this._yawPitchToVec3(r,o);return new Pt(t,a)}else if(i){const r=i.split(" ").map(o=>parseFloat(o));if(r.length<3)throw new H(U.MESSAGES.INSUFFICIENT_ARGS(i,'hotspot attribute "data-position"'),U.CODES.INSUFFICIENT_ARGS);return new Pt(t,L(r[0],r[1],r[2]))}else{const r=L(0,0,-1);return new Pt(t,r)}}_yawPitchToVec3(t,e){const s=t*S,i=e*S,r=B();return r[1]=Math.sin(i),r[2]=Math.cos(i),r[0]=r[2]*Math.sin(-s),r[2]=-r[2]*Math.cos(-s),r}}class fi{get count(){return this.geometry.indicies.count}constructor(t,e,s){this.obj=t,this.geometry=e,this.buffers=s}}class Ei{get canvas(){return this._canvas}get maxTextureSize(){return this._maxTextureSize}get isWebGL2(){return this._isWebGL2}get supportVAO(){return this._isWebGL2||!!this._extensions.vao}get lost(){return this._contextLost}get debug(){return this._debug}constructor(t,e){this._onContextLost=()=>{this._canvas.classList.add(X.CTX_LOST),this._contextLost=!0},this._onContextRestore=()=>{this._canvas.classList.remove(X.CTX_LOST),this._contextLost=!1},this._canvas=t,this._contextLost=!1,this._debug=e,this._extensions={vao:null,loseContext:null}}init(){const t=this._canvas,{gl:e,isWebGL2:s}=this._getContext(t);this._gl=e,this._maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this._isWebGL2=s,this._isWebGL2||(this._extensions.vao=e.getExtension("OES_vertex_array_object")),this._extensions.loseContext=e.getExtension("WEBGL_lose_context"),t.addEventListener(u.CONTEXT_LOST,this._onContextLost),t.addEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}destroy(){const t=this._gl,e=this._canvas;t&&(t.bindBuffer(t.ARRAY_BUFFER,null),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),e.removeEventListener(u.CONTEXT_LOST,this._onContextLost),e.removeEventListener(u.CONTEXT_RESTORED,this._onContextRestore)}forceLoseContext(){const t=this._extensions.loseContext;t&&t.loseContext()}forceRestoreContext(){const t=this._extensions.loseContext;t&&t.restoreContext()}clear(){const t=this._gl;t.clear(t.COLOR_BUFFER_BIT)}resize(){const t=this._gl;t.viewport(0,0,t.drawingBufferWidth,t.drawingBufferHeight)}viewport(t,e,s,i){this._gl.viewport(t,e,s,i)}createVAO(t,e){const s=this._createNativeVAO(),i=new fi(s,t,{indicies:this._createBuffer(),position:this._createBuffer(),uv:this._createBuffer()});return s&&(this._bindNativeVAO(s),this._supplyGeometryData(i,e),this._bindNativeVAO(null),this._unbindBuffers()),i}draw(t,e){const s=this._gl;t.obj?this._bindNativeVAO(t.obj):this._supplyGeometryData(t,e),s.drawElements(s.TRIANGLES,t.count,s.UNSIGNED_SHORT,0),t.obj?this._bindNativeVAO(null):this._unbindBuffers()}releaseVAO(t){t.obj&&this._deleteNativeVAO(t.obj),this._deleteBuffer(t.buffers.indicies),this._deleteBuffer(t.buffers.position),this._deleteBuffer(t.buffers.uv)}getUniformLocations(t,e){const s=this._gl,i=Object.keys(e).reduce((r,o)=>(r[o]=s.getUniformLocation(t,o),r),{});return Object.assign(Object.assign({},this._getCommonUniformLocations(t)),i)}updateCommonUniforms(t,e,s){const i=this._gl,r=s.uniformLocations,o=t.matrix,a=ft();oe(a,e.viewMatrix,o),i.uniformMatrix4fv(r.uMVMatrix,!1,a),i.uniformMatrix4fv(r.uPMatrix,!1,e.projectionMatrix)}updateVRUniforms(t,e,s,i){const r=this._gl,o=t.uniformLocations;r.uniformMatrix4fv(o.uMVMatrix,!1,e),r.uniformMatrix4fv(o.uPMatrix,!1,s),o.uEye&&r.uniform1f(o.uEye,i)}updateUniforms(t){const e=this._gl,s=t.uniforms,i=t.uniformLocations;for(const r in s){const o=s[r],a=i[r];o&&o.needsUpdate&&o.update(e,a,this._isWebGL2)}}releaseShaderResources(t){const e=this._gl,s=t.uniforms;for(const i in s){const r=s[i];r&&r.needsUpdate&&r.destroy(e)}e.deleteProgram(t.program)}useProgram(t){this._gl.useProgram(t.program)}createProgram(t,e){const s=this._gl,i=s.createProgram(),r=this._compileShader(s.VERTEX_SHADER,t),o=this._compileShader(s.FRAGMENT_SHADER,e);if(s.attachShader(i,r),s.attachShader(i,o),s.bindAttribLocation(i,0,"position"),s.bindAttribLocation(i,1,"uv"),s.linkProgram(i),this._debug&&!s.getProgramParameter(i,s.LINK_STATUS)){let a=null;throw s.getShaderParameter(r,s.COMPILE_STATUS)?s.getShaderParameter(o,s.COMPILE_STATUS)||(a=s.getShaderInfoLog(o)):a=s.getShaderInfoLog(r),new H(U.MESSAGES.FAILED_LINKING_PROGRAM(s.getProgramInfoLog(i),a),U.CODES.FAILED_LINKING_PROGRAM)}return s.deleteShader(r),s.deleteShader(o),i}createWebGLTexture(t){const e=this._gl,s=e.createTexture();if(e.bindTexture(e.TEXTURE_2D,s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,t.wrapS),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,t.wrapT),!t.isVideo()&&this._isWebGL2){const i=e;i.texStorage2D(i.TEXTURE_2D,1,i.RGBA8,t.width,t.height)}return s}createWebGLCubeTexture(t,e){const s=this._gl,i=s.createTexture();if(s.bindTexture(s.TEXTURE_CUBE_MAP,i),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,t.wrapS),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,t.wrapT),this._isWebGL2){const r=s;r.texStorage2D(r.TEXTURE_CUBE_MAP,1,r.RGBA8,e,e)}return i}makeXRCompatible(){return M(this,void 0,void 0,function*(){const t=this._gl,e=t.getContextAttributes();e&&e.xrCompatible!==!0&&(yield t.makeXRCompatible())})}bindXRLayer(t){const e=this._gl,s=new XRWebGLLayer(t,e);t.updateRenderState({baseLayer:s})}bindXRFrame(t){const e=this._gl,i=t.session.renderState.baseLayer;e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer)}useDefaultFrameBuffer(){const t=this._gl;t.bindFramebuffer(t.FRAMEBUFFER,null)}_createBuffer(){return this._gl.createBuffer()}_deleteBuffer(t){return this._gl.deleteBuffer(t)}_createNativeVAO(){const t=this._gl;if(this._isWebGL2)return t.createVertexArray();{const e=this._extensions.vao;return(e==null?void 0:e.createVertexArrayOES())||null}}_bindNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.bindVertexArray(t);else{const s=this._extensions.vao;s==null||s.bindVertexArrayOES(t)}}_deleteNativeVAO(t){const e=this._gl;if(this._isWebGL2)e.deleteVertexArray(t);else{const s=this._extensions.vao;s==null||s.deleteVertexArrayOES(t)}}_supplyGeometryData(t,e){const s=t.geometry;this._supplyIndiciesData(s.indicies,t.buffers.indicies),this._supplyAttributeData(s.vertices,e.program,"position",t.buffers.position),this._supplyAttributeData(s.uvs,e.program,"uv",t.buffers.uv)}_unbindBuffers(){const t=this._gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),t.bindBuffer(t.ARRAY_BUFFER,null)}_supplyIndiciesData(t,e){const s=this._gl;s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,e),s.bufferData(s.ELEMENT_ARRAY_BUFFER,t.data,s.STATIC_DRAW)}_supplyAttributeData(t,e,s,i){const r=this._gl,o=r.getAttribLocation(e,s);o<0||(r.bindBuffer(r.ARRAY_BUFFER,i),r.bufferData(r.ARRAY_BUFFER,t.data,r.STATIC_DRAW),r.vertexAttribPointer(o,t.itemSize,r.FLOAT,!1,0,0),r.enableVertexAttribArray(o))}_compileShader(t,e){const s=this._gl,i=s.createShader(t);return s.shaderSource(i,e),s.compileShader(i),i}_getCommonUniformLocations(t){const e=this._gl;return{uMVMatrix:e.getUniformLocation(t,"uMVMatrix"),uPMatrix:e.getUniformLocation(t,"uPMatrix")}}_getContext(t){const e=["webgl2","webgl","experimental-webgl","webkit-3d","moz-webgl"];let s=null,i=!1;const r={preserveDrawingBuffer:!1,antialias:!1},o=a=>a.statusMessage;t.addEventListener(u.CONTEXT_CREATE_ERROR,o);for(const a of e){try{s=t.getContext(a,r),i=a==="webgl2"}catch(h){}if(s)break}if(t.removeEventListener(u.CONTEXT_CREATE_ERROR,o),!s)throw new H(U.MESSAGES.WEBGL_NOT_SUPPORTED,U.CODES.WEBGL_NOT_SUPPORTED);return{gl:s,isWebGL2:i}}}class mi{get canvas(){return this._canvas}get width(){return this._elementSize.x}get height(){return this._elementSize.y}get pixelRatio(){return this._pixelRatio}get aspect(){return this._elementSize.x/this._elementSize.y}constructor(t,e){this._canvas=t,this._elementSize={x:0,y:0},this._pixelRatio=1,this.ctx=new Ei(t,e)}destroy(){const t=this._canvas;this.ctx.destroy(),t.width=1,t.height=1}resize(){const t=this._canvas,e=this._elementSize,s=window.devicePixelRatio;e.x=t.clientWidth,e.y=t.clientHeight,t.width=e.x*s,t.height=e.y*s,this._pixelRatio=s,this.ctx.resize()}render(t,e){const s=this.ctx;s.lost||(s.clear(),s.useProgram(t.program),s.updateCommonUniforms(t,e,t.program),t.update({camera:e}),s.updateUniforms(t.program),s.draw(t.vao,t.program))}renderVR(t,e,s){const i=this.ctx,r=e.getEyeParams(s);!r||!t||(i.bindXRFrame(s),i.useProgram(t.program),i.updateUniforms(t.program),r.forEach((o,a)=>{const h=o.viewport,l=oe(ft(),o.vMatrix,t.matrix);i.viewport(h.x,h.y,h.width,h.height),i.updateVRUniforms(t.program,l,o.pMatrix,a),i.draw(t.vao,t.program)}))}}class we extends x{get rootEl(){return this._rootEl}get renderer(){return this._renderer}get camera(){return this._camera}get control(){return this._control}get vr(){return this._vr}get hotspot(){return this._hotspot}get plugins(){return this._plugins}get projection(){return this._projection}set projection(t){this._initialized&&t?this.load(t):this._projection=t}get mesh(){return this._mesh}get initialized(){return this._initialized}get autoplay(){return this._autoplay}get autoInit(){return this._autoInit}get autoResize(){return this._autoResize}get canvasSelector(){return this._canvasSelector}get useResizeObserver(){return this._useResizeObserver}get tabIndex(){return this._tabIndex}set tabIndex(t){const e=this._renderer.canvas;this._tabIndex=t,t!=null?e.tabIndex=t:e.removeAttribute("tabindex")}get maxDeltaTime(){return this._animator.maxDeltaTime}set maxDeltaTime(t){this._animator.maxDeltaTime=t}get debug(){return this._debug}set debug(t){this._debug=t}get initialYaw(){return this._camera.initialYaw}set initialYaw(t){this._camera.initialYaw=t}get initialPitch(){return this._camera.initialPitch}set initialPitch(t){this._camera.initialPitch=t}get initialZoom(){return this._camera.initialZoom}set initialZoom(t){this._camera.initialZoom=t}get yawRange(){return this._camera.yawRange}set yawRange(t){this._camera.yawRange=t,this._projection&&this._projection.updateCamera(this._camera)}get pitchRange(){return this._camera.pitchRange}set pitchRange(t){this._camera.pitchRange=t,this._projection&&this._projection.updateCamera(this._camera)}get zoomRange(){return this._camera.zoomRange}set zoomRange(t){this._camera.zoomRange=t,this._projection&&this._projection.updateCamera(this._camera)}get fov(){return this._camera.fov}set fov(t){const e=this._camera,s=this._control;e.fov=t,e.updateMatrix(),s.sync()}get rotate(){return this._control.rotate}get zoom(){return this._control.zoom}get gyro(){return this._control.gyro}get useGrabCursor(){return this._control.useGrabCursor}set useGrabCursor(t){this._control.useGrabCursor=t}get disableContextMenu(){return this._control.disableContextMenu}set disableContextMenu(t){this._control.disableContextMenu=t}get scrollable(){return this._control.scrollable}set scrollable(t){this._control.scrollable=t}get wheelScrollable(){return this._control.wheelScrollable}set wheelScrollable(t){this._control.wheelScrollable=t}constructor(t,{projection:e=null,initialYaw:s=0,initialPitch:i=0,initialZoom:r=1,yawRange:o=null,pitchRange:a=null,zoomRange:h=null,fov:l=90,useGrabCursor:c=!0,disableContextMenu:_=!1,rotate:E=!0,zoom:f=!0,gyro:v=!1,scrollable:T=!0,wheelScrollable:p=!1,autoplay:b=!1,hotspot:C={},autoInit:y=!0,autoResize:g=!0,canvasSelector:m="canvas",useResizeObserver:R=!0,on:It={},plugins:rt=[],maxDeltaTime:ot=1/30,tabIndex:Yt=0,debug:Xt=!1}={}){super(),this.renderFrame=J=>{const A=this._camera,at=this._renderer,j=this._control,q=this._hotspot,ht=this._autoplay,Kt=this._mesh;Kt&&(this._emit(O.BEFORE_RENDER),ht.playing&&(ht.update(J),j.sync()),A.animation?A.animation.update(J):j.update(J),at.render(Kt,A),q.render(A),A.changed&&this._emit(O.VIEW_CHANGE,{yaw:A.yaw,pitch:A.pitch,zoom:A.zoom,quaternion:[A.quaternion[0],A.quaternion[1],A.quaternion[2],A.quaternion[3]]}),A.onFrameRender(),this._emit(O.RENDER))},this._renderFrameOnDemand=J=>{const A=this._camera,at=this._control,j=this._autoplay,q=this._mesh,ht=q==null?void 0:q.getTexture();!this._initialized||!ht||!A.animation&&!at.animating&&!j.playing&&!ht.isVideo()||this.renderFrame(J)},this._renderVRFrame=(J,A)=>{const at=this._vr,j=this._mesh,q=this._renderer;j&&(this._emit(O.BEFORE_RENDER),q.renderVR(j,at,A),this._emit(O.RENDER))},this._rootEl=Ks(t),this._plugins=rt,this._initialized=!1,this._autoInit=y,this._autoResize=g,this._canvasSelector=m,this._useResizeObserver=R,this._tabIndex=Yt,this._debug=Xt;const At=js(this._rootEl,m);this._renderer=new mi(At,Xt),this._camera=new Js({initialYaw:s,initialPitch:i,initialZoom:r,fov:l,yawRange:o,pitchRange:a,zoomRange:h}),this._control=new ri(At,this._camera,{useGrabCursor:c,scrollable:T,wheelScrollable:p,disableContextMenu:_,rotate:E,zoom:f,gyro:v}),this._animator=new li(ot),this._autoplay=new ui(this,At,b),this._projection=e,this._mesh=null,this._autoResizer=new ci(R,()=>this.resize()),this._vr=new _i(this._renderer.ctx),this._hotspot=new di(this._rootEl,this._renderer,C),this._addEventHandlers(It),e&&y&&this.init()}destroy(){this._camera.destroy(),this._animator.stop(),this._renderer.destroy(),this._control.destroy(),this._autoResizer.disable(),this._mesh&&(this._mesh.destroy(this._renderer.ctx),this._mesh=null),this._plugins.forEach(t=>t.destroy(this)),this._initialized=!1}init(){return M(this,void 0,void 0,function*(){if(!this._projection)throw new H(U.MESSAGES.PROVIDE_PROJECTION_FIRST,U.CODES.PROVIDE_PROJECTION_FIRST);const t=this._renderer,e=this._camera,s=this._control,i=this._animator,r=this._hotspot,o=this._projection,a=t.canvas;this._bindComponentEvents(),t.ctx.init(),this._resizeComponents(),e.updateMatrix(),this._autoResize&&this._autoResizer.enable(a),this._autoplay.enableBlocked||this._autoplay.enable(),this._plugins.forEach(l=>{l.init(this)});const h=yield this._loadTexture(o);this._applyProjection(o,h),r.refresh(),i.start(this._renderFrameOnDemand),yield s.enable(),this._tabIndex!=null&&!a.hasAttribute("tabIndex")&&(a.tabIndex=this._tabIndex),this._initialized=!0,this.renderFrame(0),this._emit(O.READY)})}load(t){return M(this,void 0,void 0,function*(){if(!t)return!1;if(this._initialized){const e=yield this._loadTexture(t);this._applyProjection(t,e),this.renderFrame(0)}else this._projection=t,this.init();return!0})}resize(){if(!this._initialized)return;this._resizeComponents(),this.renderFrame(0);const{width:t,height:e}=this._renderer;this._emit(O.RESIZE,{width:t,height:e})}addPlugins(...t){this._initialized&&t.forEach(e=>{e.init(this)}),this._plugins.push(...t)}removePlugins(...t){t.forEach(e=>{const s=this._plugins.indexOf(e);s<0||(e.destroy(this),this._plugins.splice(s,1))})}_emit(t,...e){const s=e?e[0]:{};this.trigger(t,Object.assign({type:t,target:this},s))}_applyProjection(t,e){const s=this._camera,i=this._control,r=this._renderer,o=this._mesh;o&&o.destroy(r.ctx);const a=t.createMesh(r.ctx,e);t.updateCamera(s),t.updateControl(i),this._mesh=a,this._emit(O.PROJECTION_CHANGE,{projection:t})}_loadTexture(t){return M(this,void 0,void 0,function*(){const e=new hi,{src:s,video:i}=t;this._emit(O.LOAD_START,{src:s,video:i});const r=yield e.load(s,i);return this._emit(O.LOAD,{src:s,video:i}),r})}_resizeComponents(){const t=this._renderer,e=this._camera,s=this._control;t.resize(),e.resize(t.width,t.height),s.resize(t.width,t.height)}_addEventHandlers(t){Object.keys(t).forEach(e=>{this.on(e,t[e])})}_bindComponentEvents(){const t=this._rootEl,e=this._control,s=this._animator,i=this._renderer,r=this._vr;[d.STATIC_CLICK,d.INPUT_START,d.INPUT_END].forEach(a=>{e.rotate.on(a,h=>{this._emit(a,h)}),e.zoom.on(a,h=>{this._emit(a,h)})}),r.on(O.VR_START,a=>{t.classList.add(X.IN_VR),s.changeContext(a.session),s.start(this._renderVRFrame),this._emit(O.VR_START)}),r.on(O.VR_END,()=>{t.classList.remove(X.IN_VR),i.ctx.useDefaultFrameBuffer(),s.changeContext(window),s.start(this._renderFrameOnDemand),this.resize(),this._emit(O.VR_END)})}}we.VERSION="4.0.0-beta.7";class pi extends x{constructor(){super(),this.matrix=ft(),this.rotation=G(),this.position=L(0,0,0),this.scale=L(1,1,1)}updateMatrix(){Je(this.matrix,this.rotation,this.position,this.scale)}update(t){this.trigger(Ws.UPDATE,t)}}class K{constructor(t){this.position=t.position,this.order=t.order}}const xe={CONTROLS_ROOT:"view360-controls",CONTROLS_BG:"view360-controls-background",CONTROLS_MAIN:"view360-controls-main",CONTROLS_TOP:"view360-controls-top",CONTROLS_BOTTOM:"view360-controls-bottom",CONTROLS_MID:"view360-controls-mid",CONTROLS_LEFT:"view360-controls-left",CONTROLS_RIGHT:"view360-controls-right",CONTROLS_FLOAT_LEFT:"view360-controls-float-left",CONTROLS_FLOAT_RIGHT:"view360-controls-float-right",CONTROLS_BUTTON:"view360-controls-button",PROGRESS_ROOT:"view360-controls-progress",VOLUME_ROOT:"view360-controls-volume",RANGE_ROOT:"view360-range",RANGE_TRACK:"view360-range-track",RANGE_THUMB:"view360-range-thumb",RANGE_FILLER:"view360-range-filler",PLAY_BUTTON:"view360-controls-play",PAUSE_BUTTON:"view360-controls-pause",UNMUTED_BUTTON:"view360-controls-unmuted",MUTED_BUTTON:"view360-controls-muted",FULLSCREEN_BUTTON:"view360-controls-fullscreen",FULLSCREEN_EXIT_BUTTON:"view360-controls-fullscreen-exit",VR_BUTTON:"view360-controls-vr",GYRO_ENABLED:"view360-controls-gyro-enabled",GYRO_DISABLED:"view360-controls-gyro-disabled",VIDEO_TIME_DISPLAY:"view360-controls-time",PIEVIEW_ROOT:"view360-controls-pie",FIXED:"view360-controls-fixed",UNAVAILABLE:"view360-controls-unavailable",HIDDEN:"view360-controls-hidden"},k={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",MAIN_TOP:"main-top",MAIN_BOTTOM:"main-bottom",MAIN_LEFT:"main-left",MAIN_RIGHT:"main-right"};class Pe extends x{constructor(){super(),this._onHold=({srcEvent:r,isTouch:o})=>{var a;const h=this._bbox;if(!h)return;const l=o?r.touches[0].pageX:r.pageX,c=h.x+((a=window.scrollX)!==null&&a!==void 0?a:window.pageXOffset),_=N(l,c,c+h.width),E=(_-c)/h.width;this._motion.reset(_),this.thumbEl.classList.add(this._fixedClass),this.trigger(d.INPUT_START,E)},this._onChange=({delta:r})=>{var o;const a=this._motion,h=this._bbox;if(!h)return;a.setNewEndByDelta(r.x),a.update(1);const l=h.x+((o=window.scrollX)!==null&&o!==void 0?o:window.pageXOffset),_=(N(a.val,l,l+h.width)-l)/h.width;this.trigger(d.CHANGE,_)},this._onRelease=()=>{this._bbox&&(this.thumbEl.classList.remove(this._fixedClass),this.trigger(d.INPUT_END))};const t=document.createElement(z),e=document.createElement(z),s=document.createElement(z),i=document.createElement(z);t.draggable=!1,e.appendChild(i),e.appendChild(s),t.appendChild(e),this.rootEl=t,this.trackEl=e,this.thumbEl=s,this.fillerEl=i,this._mouseInput=new Ie,this._touchInput=new Ae,this._motion=new Et({duration:1,range:Lt,easing:r=>r}),this._bbox={x:0,y:0,width:0,height:0,left:0,right:0,bottom:0,top:0},this._fixedClass=xe.FIXED}init(t){const e=this._mouseInput,s=this._touchInput;this.rootEl.classList.add(t.RANGE_ROOT),this.trackEl.classList.add(t.RANGE_TRACK),this.thumbEl.classList.add(t.RANGE_THUMB),this.fillerEl.classList.add(t.RANGE_FILLER),this._fixedClass=t.FIXED,e.on(d.INPUT_START,this._onHold),s.on(d.INPUT_START,this._onHold),e.on(d.INPUT_END,this._onRelease),s.on(d.INPUT_END,this._onRelease),e.on(d.CHANGE,this._onChange),s.on(d.CHANGE,this._onChange),e.enable(this.rootEl),s.enable(this.rootEl),this.resize()}destroy(){const t=this._mouseInput,e=this._touchInput;this.rootEl.className="",this.trackEl.className="",this.thumbEl.className="",this.fillerEl.className="",t.off(),e.off(),t.disable(),e.disable()}resize(){this._bbox=this.trackEl.getBoundingClientRect()}updateStyle(t){const e=this._bbox.width,s=N(t,0,1);this.fillerEl.style.width="".concat(s*100,"%"),this.thumbEl.style.transform="translateX(".concat(s*e,"px)")}}class gi extends K{get element(){return this._rangeControl.rootEl}constructor({position:t=k.MAIN_TOP,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize()},this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._rangeControl.updateStyle(this._currentTime/this._duration))},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=i.isPaused();i.source.pause();const a=i.source.duration*s;i.source.currentTime=a,i.source.dispatchEvent(new CustomEvent($,{detail:{time:a}})),r.rootEl.classList.add(r.className.FIXED),this._wasPaused=!this._playPromise&&o},this._onControl=s=>{const i=this._video;if(!i)return;const r=i.source.duration*s;i.source.currentTime=r,i.source.dispatchEvent(new CustomEvent($,{detail:{time:r}}))},this._onRelease=()=>{const s=this._video,i=this._controlBar;s&&i&&!this._wasPaused&&!this._playPromise&&(this._playPromise=s.source.play().catch(()=>{}),this._playPromise.then(()=>{this._playPromise=null}),i.rootEl.classList.remove(i.className.FIXED)),this._wasPaused=!1},this.position=t,this.order=e,this._controlBar=null,this._rangeControl=new Pe,this._video=null,this._wasPaused=!1,this._currentTime=0,this._duration=0,this._playPromise=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=this._rangeControl,a=e.className.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(a);return}r.classList.remove(a),r.classList.add(e.className.PROGRESS_ROOT),t.on(O.RESIZE,this._onResize),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onTimeUpdate),o.init(e.className),o.on(d.INPUT_START,this._onHold),o.on(d.CHANGE,this._onControl),o.on(d.INPUT_END,this._onRelease),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._controlBar=e,o.updateStyle(this._currentTime/this._duration)}destroy(t){const e=this._video;t.off(O.RESIZE,this._onResize),e&&(e.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),e.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),e.source.removeEventListener($,this._onTimeUpdate)),this._rangeControl.destroy(),this._video=null,this._playPromise=null}}class vi extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._video;s&&(this._paused?s.source.play():s.source.pause())},this._onPlay=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PAUSE_BUTTON),s.classList.remove(i.PLAY_BUTTON),s.title="Pause Video",this._paused=!1},this._onPause=()=>{if(!this._controlBar)return;const s=this.element,i=this._controlBar.className;s.classList.add(i.PLAY_BUTTON),s.classList.remove(i.PAUSE_BUTTON),s.title="Play Video",this._paused=!0},this.element=document.createElement(Ot),this._video=null,this._paused=!0,this._controlBar=null}init(t,e){var s;const i=this.element,r=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),o=e.className,a=o.UNAVAILABLE;if(!r||!r.isVideo()){i.classList.add(a);return}i.classList.add(o.CONTROLS_BUTTON),i.classList.remove(a);const h=r.isPaused();this._video=r,this._paused=h,this._controlBar=e,h?this._onPause():this._onPlay(),i.addEventListener(u.CLICK,this._onClick),r.source.addEventListener(u.VIDEO_PLAY,this._onPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onPause)}destroy(){const t=this._video,e=this.element;t&&(e.className="",e.removeEventListener(u.CLICK,this._onClick),t.source.removeEventListener(u.VIDEO_PLAY,this._onPlay),t.source.removeEventListener(u.VIDEO_PAUSE,this._onPause),this._video=null,this._paused=!0,this._controlBar=null)}}class Ti extends K{get element(){return this._rootEl}constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onResize=()=>{this._rangeControl.resize(),this._updateDisplay()},this._onClick=()=>{const s=this._video;!s||this._rootEl.disabled||(s.source.muted=!s.source.muted)},this._onVolumeChange=()=>{const s=this._buttonEl,i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.muted||i.source.volume===0?(s.classList.add(o.MUTED_BUTTON),s.classList.remove(o.UNMUTED_BUTTON)):(s.classList.add(o.UNMUTED_BUTTON),s.classList.remove(o.MUTED_BUTTON)),this._updateDisplay()},this._onHold=s=>{const i=this._video,r=this._controlBar;if(!i||!r)return;const o=r.className;i.source.volume=s,this._rootEl.classList.add(o.FIXED),r.containerEl.classList.add(o.FIXED),this._updateDisplay()},this._onChange=s=>{const i=this._video;i&&(i.source.volume=s,s>0?i.source.muted=!1:i.source.muted=!0,this._updateDisplay())},this._onRelease=()=>{const s=this._controlBar;if(!s)return;const i=s.className;this._rootEl.classList.remove(i.FIXED),s.containerEl.classList.remove(i.FIXED)},this._updateDisplay=()=>{const s=this._video,i=this._rootEl;if(!s)return;if(!s.hasAudio()){i.disabled=!0;return}i.disabled=!1;const r=s.source.muted?0:s.source.volume;this._rangeControl.updateStyle(r)},this._controlBar=null,this._rangeControl=new Pe,this._createElements(),this._video=null}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this._rootEl,o=this._buttonEl,a=this._rangeControl,h=e.className,l=h.UNAVAILABLE;if(!i||!i.isVideo()){r.classList.add(l);return}r.classList.remove(l),r.classList.add(h.CONTROLS_BUTTON),r.classList.add(h.VOLUME_ROOT),o.classList.add(h.CONTROLS_BUTTON),i.source.muted?o.classList.add(h.MUTED_BUTTON):o.classList.add(h.UNMUTED_BUTTON),t.on(O.RESIZE,this._onResize),r.addEventListener(u.TRANSITION_END,this._onResize),o.addEventListener(u.CLICK,this._onClick),i.source.addEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),i.source.addEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),i.source.addEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay),a.init(h),a.on(d.INPUT_START,this._onHold),a.on(d.CHANGE,this._onChange),a.on(d.INPUT_END,this._onRelease),this._controlBar=e,this._video=i,this._updateDisplay()}destroy(t){const e=this._video,s=this._buttonEl,i=this._rootEl;i.className="",s.className="",t.off(O.RESIZE,this._onResize),i.removeEventListener(u.TRANSITION_END,this._onResize),s.removeEventListener(u.CLICK,this._onClick),e&&(e.source.removeEventListener(u.VIDEO_VOLUME_CHANGE,this._onVolumeChange),e.source.removeEventListener(u.VIDEO_LOADED_DATA,this._updateDisplay),e.source.removeEventListener(u.VIDEO_CAN_PLAYTHROUGH,this._updateDisplay)),this._controlBar=null,this._rangeControl.destroy(),this._video=null}_createElements(){const t=document.createElement(Ot),e=document.createElement(z);t.appendChild(this._rangeControl.rootEl),t.appendChild(e),t.title="Toggle Mute",this._rootEl=t,this._buttonEl=e}}class yi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._targetEl;s&&(dt()?this._exitFullscreen():this._requestFullscreen(s))},this._onFullscreenChange=()=>{const s=this.element,i=this._controlBar;if(!i)return;const r=i.className;dt()?(s.classList.add(r.FULLSCREEN_EXIT_BUTTON),s.classList.remove(r.FULLSCREEN_BUTTON)):(s.classList.add(r.FULLSCREEN_BUTTON),s.classList.remove(r.FULLSCREEN_EXIT_BUTTON))},this.element=document.createElement(Ot),this.element.title="Toggle Fullscreen",this._controlBar=null,this._targetEl=null}init(t,e){const s=this.element,i=e.className;if(!this._fullscreenAvailable()){s.classList.add(i.UNAVAILABLE);return}s.classList.add(i.CONTROLS_BUTTON),s.classList.remove(i.UNAVAILABLE),s.addEventListener(u.CLICK,this._onClick),this._addFullscreenHandlers(),dt()?s.classList.add(i.FULLSCREEN_EXIT_BUTTON):s.classList.add(i.FULLSCREEN_BUTTON),this._controlBar=e,this._targetEl=t.rootEl}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._removeFullscreenHandlers(),this._controlBar=null,this._targetEl=null}_fullscreenAvailable(){return Qt.some(t=>!!document[t])}_requestFullscreen(t){for(const e of Qt){const s=t[e];if(s){s.call(t);return}}}_exitFullscreen(){for(const t of Hs){const e=document[t];if(e){e.call(document);return}}}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class bi extends K{constructor({position:t=k.MAIN_LEFT,order:e=9999}={}){super({position:t,order:e}),this._onTimeUpdate=()=>{const s=this._video;s&&(this._currentTime=s.source.currentTime,this._updateDisplay())},this._onDurationChange=()=>{const s=this._video;s&&(this._duration=s.source.duration,this._updateDisplay())},this._onCustomTimeChange=s=>{this._currentTime=s.detail.time,this._updateDisplay()},this.element=document.createElement(z),this._video=null,this._currentTime=0,this._duration=0}init(t,e){var s;const i=(s=t.mesh)===null||s===void 0?void 0:s.getTexture(),r=this.element,o=e.className;if(!i||!i.isVideo()){r.classList.add(o.UNAVAILABLE);return}r.classList.add(o.VIDEO_TIME_DISPLAY),r.classList.remove(o.UNAVAILABLE),i.source.addEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),i.source.addEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),i.source.addEventListener($,this._onCustomTimeChange),this._video=i,this._currentTime=i.source.currentTime,this._duration=i.source.duration,this._updateDisplay()}destroy(){const t=this._video;t&&(this.element.className="",t.source.removeEventListener(u.VIDEO_TIME_UPDATE,this._onTimeUpdate),t.source.removeEventListener(u.VIDEO_DURATION_CHANGE,this._onDurationChange),t.source.removeEventListener($,this._onCustomTimeChange),this._video=null)}_updateDisplay(){const t=this._currentTime,e=Math.floor(t/60),s=Math.floor(t-e*60),i=s<10?"0".concat(s):s,r=this._duration,o=Math.floor(r/60),a=Math.floor(r-o*60),h=a<10?"0".concat(a):a;this.element.innerText="".concat(e,":").concat(i," / ").concat(o,":").concat(h)}}class Ri extends K{constructor({resetCamera:t=!0,position:e=k.TOP_RIGHT,order:s=9999}={}){super({position:e,order:s}),this._onClick=()=>{const i=this._viewer,r=this.resetCamera;if(!i||!r)return;const{yaw:o=i.initialYaw,pitch:a=i.initialPitch,zoom:h=i.initialZoom,duration:l=500}=P(r);i.camera.animateTo({yaw:o,pitch:a,zoom:h,duration:l})},this._updatePie=({target:i})=>{const r=this._piePathEl,o=this._rangeCircleEl,a=i.camera,h=a.getHorizontalFov(),l=a.getYawRange(a.zoom),c=h*.5,_=24*Math.PI,E=_*h/360,f=_*(a.yaw+c+90)/360;if(r.setAttribute("stroke-dasharray","".concat(E," ").concat(_-E)),r.setAttribute("stroke-dashoffset","".concat(f)),isFinite(l.min)&&isFinite(l.max)){const v=45*Math.PI,T=(it(l.min,-180,180)-c)/360,p=(it(l.max,-180,180)+c)/360,b=v*Math.abs(p-T),C=-v*(T-.25);o.setAttribute("stroke-dasharray","".concat(b," ").concat(v-b)),o.setAttribute("stroke-dashoffset","".concat(C))}else o.setAttribute("stroke-dasharray",""),o.setAttribute("stroke-dashoffset","")},this.element=document.createElement(z),this.element.title="Reset view",this.resetCamera=t,this._createPieElements(),this._viewer=null}init(t,e){const s=this.element;t.initialized?this._updatePie({target:t}):t.once(O.READY,this._updatePie);const i=e.className.PIEVIEW_ROOT;s.classList.add(i),this.resetCamera&&s.addEventListener(u.CLICK,this._onClick),t.on(O.VIEW_CHANGE,this._updatePie),this._viewer=t}destroy(t){const e=this.element;e.removeEventListener(u.CLICK,this._onClick),e.className="",t.off(O.READY,this._updatePie),t.off(O.VIEW_CHANGE,this._updatePie),this._viewer=null}_createPieElements(){const t=this.element,e=document.createElementNS(xt,"svg");e.setAttribute("viewBox","0 0 48 48"),e.setAttribute("width","100%"),e.setAttribute("height","100%");const s=document.createElementNS(xt,"circle");s.setAttribute("stroke","currentColor"),s.setAttribute("fill","transparent"),s.setAttribute("cx","24"),s.setAttribute("cy","24"),s.setAttribute("r","12"),s.setAttribute("stroke-width","24"),e.appendChild(s);const i=document.createElementNS(xt,"circle");i.setAttribute("stroke","currentColor"),i.setAttribute("fill","transparent"),i.setAttribute("cx","24"),i.setAttribute("cy","24"),i.setAttribute("r","22.5"),i.setAttribute("stroke-width","3"),e.appendChild(i),t.appendChild(e),this._piePathEl=s,this._rangeCircleEl=i}}class Ci extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer;s&&s.vr.enter()},this.element=document.createElement(Ot),this.element.title="Enter VR",this._viewer=null}init(t,e){const s=this.element,i=e.className;s.classList.add(i.UNAVAILABLE),s.classList.add(i.VR_BUTTON),s.classList.add(i.CONTROLS_BUTTON),t.vr.isAvailable().then(r=>{r&&s.classList.remove(i.UNAVAILABLE)}),s.addEventListener(u.CLICK,this._onClick),this._viewer=t}destroy(){const t=this.element;t.className="",t.removeEventListener(u.CLICK,this._onClick),this._viewer=null}}class Oi extends K{constructor({position:t=k.MAIN_RIGHT,order:e=9999}={}){super({position:t,order:e}),this._onClick=()=>{const s=this._viewer,i=this._controlBar;if(!s||!i)return;const r=s.control.gyro;r.enabled?r.disable():mt.requestSensorPermission().then(o=>{o?r.enable():this.element.classList.add(i.className.UNAVAILABLE)})},this._updateStyle=()=>{const s=this.element,i=this._viewer,r=this._controlBar;if(!i||!r)return;const o=i.control.gyro,a=r.className;o.enabled?(s.classList.add(a.GYRO_ENABLED),s.classList.remove(a.GYRO_DISABLED)):(s.classList.add(a.GYRO_DISABLED),s.classList.remove(a.GYRO_ENABLED))},this.element=document.createElement(z),this.element.title="Toggle gyroscope control"}init(t,e){const s=this.element,i=e.className;s.addEventListener(u.CLICK,this._onClick),s.classList.add(i.CONTROLS_BUTTON),s.classList.add(i.UNAVAILABLE);const r=()=>{s.classList.remove(i.UNAVAILABLE),t.control.gyro.on(d.ENABLE,this._updateStyle),t.control.gyro.on(d.DISABLE,this._updateStyle)};Oe()?r():mt.isAvailable().then(o=>{o&&r()}),this._controlBar=e,this._viewer=t,this._updateStyle()}destroy(t){const e=this.element;t.control.gyro.off(d.ENABLE,this._updateStyle),t.control.gyro.off(d.DISABLE,this._updateStyle),e.removeEventListener(u.CLICK,this._onClick),e.className="",this._controlBar=null,this._viewer=null}}class Li{get enabled(){return!!this._targetEl}get hidden(){return this._controlBar.containerEl.classList.contains(this._hiddenClass)}get _hiddenClass(){return this._controlBar.className.HIDDEN}get _fixedClass(){return this._controlBar.className.FIXED}constructor(t,{initialDelay:e=3e3,delay:s=0,idleDelay:i=3e3}){this._onMouseEnter=()=>{this._isCursorInside=!0,this.show()},this._onMouseLeave=()=>{this._isCursorInside=!1,this._hideAfterDelay()},this._onMouseMove=()=>{this._isFullscreen&&this.showTemporaliy()},this._onHold=r=>{this._isGrabbing=!0,r.pointerType==="mouse"&&(this._isCursorInside=!0),window.addEventListener(u.MOUSE_UP,this._onRelease),this.show()},this._onRelease=()=>{this._isGrabbing=!1,window.removeEventListener(u.MOUSE_UP,this._onRelease),this._hideAfterDelay()},this._onVideoPlay=()=>{this._targetEl&&this._controlBar.containerEl.classList.remove(this._fixedClass)},this._onVideoPause=()=>{this._targetEl&&this._controlBar.containerEl.classList.add(this._fixedClass)},this._onFullscreenChange=()=>{this._isFullscreen=dt(),this._isFullscreen&&this._hideAfterDelay()},this._controlBar=t,this._initialDelay=e,this._delay=s,this._idleDelay=i,this._timer=-1,this._isCursorInside=!1,this._isGrabbing=!1,this._isFullscreen=!1,this._video=null,this._targetEl=null}enable(t){var e;this._targetEl&&this.disable(t);const s=this._initialDelay,i=t.rootEl;this._targetEl=t.rootEl,this._timer=window.setTimeout(()=>{this.hide()},s),i.addEventListener(u.MOUSE_DOWN,this._onHold),i.addEventListener(u.MOUSE_ENTER,this._onMouseEnter),i.addEventListener(u.MOUSE_MOVE,this._onMouseMove),i.addEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._addFullscreenHandlers();const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();!r||!r.isVideo()||(r.isPaused()&&this._controlBar.containerEl.classList.add(this._fixedClass),r.source.addEventListener(u.VIDEO_PLAY,this._onVideoPlay),r.source.addEventListener(u.VIDEO_PAUSE,this._onVideoPause),this._video=r)}disable(t){if(!this._targetEl)return;const e=this._controlBar,s=t.rootEl,i=this._video;s.removeEventListener(u.MOUSE_DOWN,this._onHold),window.removeEventListener(u.MOUSE_UP,this._onRelease),s.removeEventListener(u.MOUSE_ENTER,this._onMouseEnter),s.removeEventListener(u.MOUSE_MOVE,this._onMouseMove),s.removeEventListener(u.MOUSE_LEAVE,this._onMouseLeave),this._removeFullscreenHandlers(),window.clearTimeout(this._timer),e.containerEl.classList.remove(this._fixedClass),i&&(i.source.removeEventListener(u.VIDEO_PLAY,this._onVideoPlay),i.source.removeEventListener(u.VIDEO_PAUSE,this._onVideoPause)),this._isCursorInside=!1,this._isGrabbing=!1,this._video=null,this._targetEl=null}show(){this._clearHideTimer(),this._controlBar.containerEl.classList.remove(this._hiddenClass)}showTemporaliy(){this.show(),this._hideAfterDelay(this._idleDelay)}hide(){this._clearHideTimer(),this._controlBar.containerEl.classList.add(this._hiddenClass)}_clearHideTimer(){this._timer&&(window.clearTimeout(this._timer),this._timer=-1)}_hideAfterDelay(t=this._delay){this._isGrabbing||!this._isFullscreen&&this._isCursorInside||(this._clearHideTimer(),t<=0?this.hide():this._timer=window.setTimeout(()=>{this.hide()},t))}_addFullscreenHandlers(){Ct.forEach(t=>{document.addEventListener(t,this._onFullscreenChange)})}_removeFullscreenHandlers(){Ct.forEach(t=>{document.removeEventListener(t,this._onFullscreenChange)})}}class Ii{constructor(){this._onKeyDown=t=>{const e=this._video;if(!e)return;t.preventDefault(),t.stopPropagation();const s=e.source,i=t.keyCode!=null?Rt[t.keyCode]:Te[t.key];switch(i){case"LEFT":case"RIGHT":return this._changeVideoTime(s,i==="RIGHT");case"UP":case"DOWN":return this._changeVideoVolume(s,i==="UP")}(t.keyCode===Vs||t.key===zs)&&this._toggleVideo(e)}}enable(t,e){this._video=e,t.addEventListener(u.KEY_DOWN,this._onKeyDown,!0)}disable(t){this._video=null,t.removeEventListener(u.KEY_DOWN,this._onKeyDown,!0)}_changeVideoTime(t,e){const s=e?5:-5;t.currentTime+=s,t.dispatchEvent(new CustomEvent($,{detail:{time:t.currentTime}}))}_changeVideoVolume(t,e){const s=e?.1:-.1;t.muted?t.volume=N(s,0,1):t.volume=N(t.volume+s,0,1),t.volume>0?t.muted=!1:t.muted=!0}_toggleVideo(t){t.isPaused()?t.source.play():t.source.pause()}}class I{get rootEl(){return this._rootEl}get containerEl(){return this._containerEl}get backgroundEl(){return this._bgEl}get items(){return this._items}get customItems(){return this._customItems}constructor({autoHide:t,showBackground:e,clickToPlay:s=!0,keyboardControls:i=!0,progressBar:r=!0,playButton:o=!0,volumeButton:a=!0,fullscreenButton:h=!0,videoTime:l=!0,pieView:c=!0,vrButton:_=!0,gyroButton:E=!0,className:f={},customItems:v=[]}={}){var T;this._onStaticClick=({target:b,isTouch:C})=>{var y;const g=this._autoHider;if(C){if(!g.enabled)return;g.hidden?g.showTemporaliy():g.hide()}else{if(!this.clickToPlay)return;const m=(y=b.mesh)===null||y===void 0?void 0:y.getTexture();if(!m||!m.isVideo())return;m.isPaused()?m.source.play():m.source.pause()}},this._onNewSrcLoad=({target:b})=>{const C=this._items;this._updateBackground(b),this._updateAutoHide(b),this._updateKeyboardHandler(b),Object.keys(C).forEach(y=>{C[y].forEach(m=>{m.destroy(b,this),m.init(b,this)})})},this.autoHide=t,this.showBackground=e,this.clickToPlay=s,this.keyboardControls=i,this.progressBar=r,this.playButton=o,this.volumeButton=a,this.fullscreenButton=h,this.videoTime=l,this.pieView=c,this.vrButton=_,this.gyroButton=E,this.className=Object.assign(Object.assign({},I.DEFAULT_CLASS),f);const p=(T=f.CONTROLS_ROOT)!==null&&T!==void 0?T:I.DEFAULT_CLASS.CONTROLS_ROOT;this._rootEl=V(p),this._createPositionWrappers(),this._items=Object.keys(I.POSITION).reduce((b,C)=>(b[I.POSITION[C]]=[],b),{}),this._customItems=v,this._autoHider=new Li(this,P(t)),this._videoControl=new Ii,v.forEach(b=>{this._items[b.position].push(b)})}init(t){const e=t.rootEl,s=this._rootEl,i=this._createDefaultItems();this._updateBackground(t),this._updateAutoHide(t),this._updateKeyboardHandler(t),e.appendChild(s),this._addItem(t,i),this._addItem(t,this._customItems),t.on(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.on(O.STATIC_CLICK,this._onStaticClick)}destroy(t){const e=t.rootEl,s=this._rootEl,i=this._items;s.parentElement===e&&e.removeChild(s),Object.keys(i).forEach(r=>{i[r].forEach(a=>{a.destroy(t,this)}),i[r]=[]}),this._clearItemElements(),this._autoHider.disable(t),this._videoControl.disable(e),t.off(O.PROJECTION_CHANGE,this._onNewSrcLoad),t.off(O.STATIC_CLICK,this._onStaticClick)}_addItem(t,e){for(const s of e){const i=this._items[s.position],r=this._wrapperEl[s.position],o=qs(i,a=>a.order>s.order);if(o>=0){const a=i[o].element;i.splice(o,0,s),r.insertBefore(s.element,a)}else i.push(s),r.appendChild(s.element);s.init(t,this)}}_createPositionWrappers(){const t=Object.assign(Object.assign({},I.DEFAULT_CLASS),this.className),e=this._rootEl,s=V(t.CONTROLS_BG),i=V(t.CONTROLS_FLOAT_LEFT),r=V(t.CONTROLS_FLOAT_RIGHT);e.appendChild(i),e.appendChild(r);const o=V(t.CONTROLS_MAIN),a=V(t.CONTROLS_TOP),h=V(t.CONTROLS_BOTTOM),l=V(t.CONTROLS_MID),c=V(t.CONTROLS_LEFT),_=V(t.CONTROLS_RIGHT);l.appendChild(c),l.appendChild(_),o.appendChild(s),o.appendChild(a),o.appendChild(l),o.appendChild(h),e.appendChild(o),this._bgEl=s,this._containerEl=o,this._wrapperEl={[I.POSITION.MAIN_TOP]:a,[I.POSITION.MAIN_LEFT]:c,[I.POSITION.MAIN_RIGHT]:_,[I.POSITION.MAIN_BOTTOM]:h,[I.POSITION.TOP_LEFT]:i,[I.POSITION.TOP_RIGHT]:r}}_clearItemElements(){Object.keys(I.POSITION).map(e=>I.POSITION[e]).map(e=>this._wrapperEl[e]).forEach(e=>{for(;e.firstChild;)e.removeChild(e.firstChild)})}_updateAutoHide(t){var e;const s=this.autoHide,i=this._autoHider;if(s!=null)s?i.enable(t):i.disable(t);else{const r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();r&&r.isVideo()?i.enable(t):i.disable(t)}}_updateBackground(t){var e,s;const i=this._bgEl,r=this.showBackground,o=(e=this.className.HIDDEN)!==null&&e!==void 0?e:I.DEFAULT_CLASS.HIDDEN;if(r!=null)r?i.classList.remove(o):i.classList.add(o);else{const a=(s=t.mesh)===null||s===void 0?void 0:s.getTexture();a&&a.isVideo()?i.classList.remove(o):i.classList.add(o)}}_updateKeyboardHandler(t){var e;const s=t.rootEl,i=this._videoControl,r=(e=t.mesh)===null||e===void 0?void 0:e.getTexture();this.keyboardControls&&r&&r.isVideo()?i.enable(s,r):i.disable(s)}_createDefaultItems(){const t=[];return this.progressBar&&t.push(new gi(P(this.progressBar))),this.playButton&&t.push(new vi(P(this.playButton))),this.volumeButton&&t.push(new Ti(P(this.volumeButton))),this.gyroButton&&t.push(new Oi(P(this.gyroButton))),this.vrButton&&t.push(new Ci(P(this.vrButton))),this.fullscreenButton&&t.push(new yi(P(this.fullscreenButton))),this.videoTime&&t.push(new bi(P(this.videoTime))),this.pieView&&t.push(new Ri(P(this.pieView))),t}}I.DEFAULT_CLASS=xe;I.POSITION=k;class De{constructor({src:t,video:e=!1}){this.src=t,this.video=e}updateCamera(t){t.resetRange()}updateControl(t){t.ignoreZoomScale=!1}}class kt{constructor(){this.needsUpdate=!0}destroy(t){}}class Me extends pi{constructor(t,e){super(),this.vao=t,this.program=e}destroy(t){t.releaseVAO(this.vao),t.releaseShaderResources(this.program)}getTexture(){return this.program.uniforms.uTexture.texture}}class Ue{constructor(t,e,s,i){this.program=t.createProgram(e,s),this.uniforms=i,this.uniformLocations=t.getUniformLocations(this.program,i)}}class Dt{constructor(t,e){this.data=t,this.itemSize=e,this.count=t.length/e}}class Ai{constructor(t,e,s){this.vertices=new Dt(new Float32Array(t),3),this.indicies=new Dt(new Uint16Array(e),1),this.uvs=new Dt(new Float32Array(s),2)}}class Fe extends kt{constructor(t,e){super(),this.texture=e,this._webglTexture=t.createWebGLTexture(e)}destroy(t){this.texture.destroy(),t.deleteTexture(this._webglTexture)}update(t,e,s){const i=this.texture,r=i.isVideo();t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i.flipY),t.uniform1i(e,0),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this._webglTexture),!r&&s?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,i.source):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,i.source),r||(this.needsUpdate=!1)}}var Si="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;varying highp vec2 vUV;void main(){vUV=uv;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}",Be="#define GLSLIFY 1\nuniform sampler2D uTexture;varying highp vec2 vUV;void main(){gl_FragColor=texture2D(uTexture,vUV.st);}";class Ve extends Ai{constructor(){const s=-.5*Math.PI,i=[],r=[],o=[];let a,h;for(a=0;a<=60;a++){const l=(a/60-.5)*Math.PI,c=Math.sin(l),_=Math.cos(l);for(h=0;h<=60;h++){const E=(h/60-.5)*2*Math.PI+s,f=Math.sin(E),T=Math.cos(E)*_,p=c,b=f*_,C=h/60,y=a/60;if(i.push(C,y),r.push(T,p,b),h!==60&&a!==60){const g=a*61+h,m=g+60+1;o.push(g,g+1,m,m,g+1,m+1)}}}super(r,o,i)}}class Ni extends De{constructor(t){super(t)}createMesh(t,e){const s={uTexture:new Fe(t,e)},i=new Ve,r=new Ue(t,Si,Be,s),o=t.createVAO(i,r);return new Me(o,r)}}class wi extends kt{constructor(t){super(),this.val=t}update(t,e){t.uniform1f(e,this.val),this.needsUpdate=!1}}class xi extends kt{constructor(t){super(),this.val=t}update(t,e){t.uniform4fv(e,this.val.reduce((s,i)=>[...s,...i],[])),this.needsUpdate=!1}}var Pi="#define GLSLIFY 1\nattribute vec3 position;attribute vec2 uv;uniform mat4 uMVMatrix;uniform mat4 uPMatrix;uniform vec4 uTexScaleOffset[2];uniform float uEye;varying highp vec2 vUV;void main(){vec4 scaleOffset=uTexScaleOffset[int(uEye)];vUV=uv.xy*scaleOffset.xy+scaleOffset.zw;gl_Position=uPMatrix*uMVMatrix*vec4(position,1.0);}";class Wt extends De{constructor(t){super(t),this._mode=t.mode}createMesh(t,e){let s,i;switch(this._mode){case Wt.MODE.LEFT_RIGHT:s=[.5,1,0,0],i=[.5,1,.5,0];break;default:s=[1,.5,0,0],i=[1,.5,0,.5]}const r={uTexture:new Fe(t,e),uEye:new wi(0),uTexScaleOffset:new xi([s,i])},o=new Ve,a=new Ue(t,Pi,Be,r),h=t.createVAO(o,a);return new Me(h,a)}}Wt.MODE={LEFT_RIGHT:"left_right",TOP_BOTTOM:"top_bottom"};var Di=re("<canvas class=view360-canvas>"),Mi=re("<video id=view360-video playsinline crossorigin=anonymous style=display:none>");const Ki=()=>{let n;ze(()=>{const s=document.getElementById("view360-container"),i=document.getElementById("view360-video");s&&i&&(n=new we(s,{projection:new Ni({src:i,video:{autoplay:Xe("video_autoplay")}}),plugins:[new I({pieView:{order:0},gyroButton:{position:"top-right",order:1},vrButton:{position:"top-right",order:2}})]}))}),Ge(()=>n==null?void 0:n.destroy());const[t,e]=He(!1);return St(Ke,{onAutoNextChange:e,get children(){return St(jt,{w:"$full",h:"60vh",id:"video360-player",get children(){return St(jt,{w:"100%",h:"100%",id:"view360-container",className:"view360-container",get children(){return[Di(),(()=>{var s=Mi();return ke(()=>We(s,"src",Ye.raw_url)),s})()]}})}})}})};export{Ki as default};