@videojs/html 10.0.0-beta.2 → 10.0.0-beta.22

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 (984) hide show
  1. package/cdn/abort-C9UiBdVU.js +2 -0
  2. package/cdn/abort-C9UiBdVU.js.map +1 -0
  3. package/cdn/abort-DsTff8mS.js +22 -0
  4. package/cdn/abort-DsTff8mS.js.map +1 -0
  5. package/cdn/audio-minimal-ui.dev.d.ts +1 -0
  6. package/cdn/audio-minimal-ui.dev.js +4 -0
  7. package/cdn/audio-minimal-ui.js +1 -0
  8. package/cdn/audio-minimal.dev.d.ts +1 -0
  9. package/cdn/audio-minimal.dev.js +93 -5331
  10. package/cdn/audio-minimal.dev.js.map +1 -1
  11. package/cdn/audio-minimal.js +1 -24
  12. package/cdn/audio-minimal.js.map +1 -1
  13. package/cdn/audio-ui.dev.d.ts +1 -0
  14. package/cdn/audio-ui.dev.js +4 -0
  15. package/cdn/audio-ui.js +1 -0
  16. package/cdn/audio.dev.d.ts +1 -0
  17. package/cdn/audio.dev.js +107 -5325
  18. package/cdn/audio.dev.js.map +1 -1
  19. package/cdn/audio.js +1 -24
  20. package/cdn/audio.js.map +1 -1
  21. package/cdn/background.dev.d.ts +1 -0
  22. package/cdn/background.dev.js +105 -2017
  23. package/cdn/background.dev.js.map +1 -1
  24. package/cdn/background.js +1 -18
  25. package/cdn/background.js.map +1 -1
  26. package/cdn/compounds-CCgS3IGo.js +8 -0
  27. package/cdn/compounds-CCgS3IGo.js.map +1 -0
  28. package/cdn/compounds-DD3MYkSc.js +4157 -0
  29. package/cdn/compounds-DD3MYkSc.js.map +1 -0
  30. package/cdn/context-0rI_P6jf.js +107 -0
  31. package/cdn/context-0rI_P6jf.js.map +1 -0
  32. package/cdn/context-CEFisYD0.js +14 -0
  33. package/cdn/context-CEFisYD0.js.map +1 -0
  34. package/cdn/create-player-B-PGzhq2.js +7 -0
  35. package/cdn/create-player-B-PGzhq2.js.map +1 -0
  36. package/cdn/create-player-BKLw7l1a.js +2246 -0
  37. package/cdn/create-player-BKLw7l1a.js.map +1 -0
  38. package/cdn/default-Djy9PEXm.js +2 -0
  39. package/cdn/default-Djy9PEXm.js.map +1 -0
  40. package/cdn/default-YzaLyoYg.js +30 -0
  41. package/cdn/default-YzaLyoYg.js.map +1 -0
  42. package/cdn/hls-CcSAx_3I.js +28632 -0
  43. package/cdn/hls-CcSAx_3I.js.map +1 -0
  44. package/cdn/hls-Dl2v35sW.js +41 -0
  45. package/cdn/hls-Dl2v35sW.js.map +1 -0
  46. package/cdn/hotkey-element-BONs_FyJ.js +369 -0
  47. package/cdn/hotkey-element-BONs_FyJ.js.map +1 -0
  48. package/cdn/hotkey-element-DWWkfH3A.js +2 -0
  49. package/cdn/hotkey-element-DWWkfH3A.js.map +1 -0
  50. package/cdn/listen-CJT7C4kM.js +9 -0
  51. package/cdn/listen-CJT7C4kM.js.map +1 -0
  52. package/cdn/listen-DFX-0NbX.js +2 -0
  53. package/cdn/listen-DFX-0NbX.js.map +1 -0
  54. package/cdn/media/dash-video.dev.d.ts +1 -0
  55. package/cdn/media/dash-video.dev.js +39153 -0
  56. package/cdn/media/dash-video.dev.js.map +1 -0
  57. package/cdn/media/dash-video.js +21 -0
  58. package/cdn/media/dash-video.js.map +1 -0
  59. package/cdn/media/hls-video.dev.d.ts +1 -0
  60. package/cdn/media/hls-video.dev.js +12 -28712
  61. package/cdn/media/hls-video.dev.js.map +1 -1
  62. package/cdn/media/hls-video.js +1 -82
  63. package/cdn/media/hls-video.js.map +1 -1
  64. package/cdn/media/mux-audio.dev.d.ts +1 -0
  65. package/cdn/media/mux-audio.dev.js +29 -0
  66. package/cdn/media/mux-audio.dev.js.map +1 -0
  67. package/cdn/media/mux-audio.js +2 -0
  68. package/cdn/media/mux-audio.js.map +1 -0
  69. package/cdn/media/mux-video.dev.d.ts +1 -0
  70. package/cdn/media/mux-video.dev.js +29 -0
  71. package/cdn/media/mux-video.dev.js.map +1 -0
  72. package/cdn/media/mux-video.js +2 -0
  73. package/cdn/media/mux-video.js.map +1 -0
  74. package/cdn/media/native-hls-video.dev.d.ts +1 -0
  75. package/cdn/media/native-hls-video.dev.js +19 -0
  76. package/cdn/media/native-hls-video.dev.js.map +1 -0
  77. package/cdn/media/native-hls-video.js +2 -0
  78. package/cdn/media/native-hls-video.js.map +1 -0
  79. package/cdn/media/simple-hls-video.dev.d.ts +1 -0
  80. package/cdn/media/simple-hls-video.dev.js +2887 -2605
  81. package/cdn/media/simple-hls-video.dev.js.map +1 -1
  82. package/cdn/media/simple-hls-video.js +58 -43
  83. package/cdn/media/simple-hls-video.js.map +1 -1
  84. package/cdn/media-attach-mixin-C2wz0Qbd.js +2 -0
  85. package/cdn/media-attach-mixin-C2wz0Qbd.js.map +1 -0
  86. package/cdn/media-attach-mixin-CYoNe7Sh.js +67 -0
  87. package/cdn/media-attach-mixin-CYoNe7Sh.js.map +1 -0
  88. package/cdn/minimal-AX_y2YBU.js +30 -0
  89. package/cdn/minimal-AX_y2YBU.js.map +1 -0
  90. package/cdn/minimal-Bc74CFqg.js +2 -0
  91. package/cdn/minimal-Bc74CFqg.js.map +1 -0
  92. package/cdn/minimal-ui-CE1sVxKB.js +22 -0
  93. package/cdn/minimal-ui-CE1sVxKB.js.map +1 -0
  94. package/cdn/minimal-ui-hC8-_9_F.js +2 -0
  95. package/cdn/minimal-ui-hC8-_9_F.js.map +1 -0
  96. package/cdn/minimal-ui-lnw8AjaS.js +2 -0
  97. package/cdn/minimal-ui-lnw8AjaS.js.map +1 -0
  98. package/cdn/minimal-ui-yKur3jyD.js +29 -0
  99. package/cdn/minimal-ui-yKur3jyD.js.map +1 -0
  100. package/cdn/mux-BgWl50KW.js +27 -0
  101. package/cdn/mux-BgWl50KW.js.map +1 -0
  102. package/cdn/mux-BhHIeG3e.js +3783 -0
  103. package/cdn/mux-BhHIeG3e.js.map +1 -0
  104. package/cdn/native-hls-lhip4tV9.js +123 -0
  105. package/cdn/native-hls-lhip4tV9.js.map +1 -0
  106. package/cdn/native-hls-odPBXxK7.js +2 -0
  107. package/cdn/native-hls-odPBXxK7.js.map +1 -0
  108. package/cdn/pick-CERGq1No.js +2 -0
  109. package/cdn/pick-CERGq1No.js.map +1 -0
  110. package/cdn/pick-D-wCJ3iA.js +23 -0
  111. package/cdn/pick-D-wCJ3iA.js.map +1 -0
  112. package/cdn/player-B7jISTmQ.js +2 -0
  113. package/cdn/player-B7jISTmQ.js.map +1 -0
  114. package/cdn/player-BVGWmIbQ.js +16 -0
  115. package/cdn/player-BVGWmIbQ.js.map +1 -0
  116. package/cdn/player-ChdQN3H5.js +2 -0
  117. package/cdn/player-ChdQN3H5.js.map +1 -0
  118. package/cdn/player-DX5Ka0vt.js +463 -0
  119. package/cdn/player-DX5Ka0vt.js.map +1 -0
  120. package/cdn/shadow-styles-BYZ6q3Q4.js +3 -0
  121. package/cdn/shadow-styles-BYZ6q3Q4.js.map +1 -0
  122. package/cdn/shadow-styles-DKXFMmyD.js +41 -0
  123. package/cdn/shadow-styles-DKXFMmyD.js.map +1 -0
  124. package/cdn/shallow-equal-Daj3-_LC.js +15 -0
  125. package/cdn/shallow-equal-Daj3-_LC.js.map +1 -0
  126. package/cdn/shallow-equal-xh6Wj-hj.js +2 -0
  127. package/cdn/shallow-equal-xh6Wj-hj.js.map +1 -0
  128. package/cdn/skin-element-D3iVinGP.js +55 -0
  129. package/cdn/skin-element-D3iVinGP.js.map +1 -0
  130. package/cdn/skin-element-DM82PPxz.js +2 -0
  131. package/cdn/skin-element-DM82PPxz.js.map +1 -0
  132. package/cdn/ui-BGvi0TNr.js +2 -0
  133. package/cdn/ui-BGvi0TNr.js.map +1 -0
  134. package/cdn/ui-BN57BxYZ.js +2 -0
  135. package/cdn/ui-BN57BxYZ.js.map +1 -0
  136. package/cdn/ui-CKR6dVbQ.js +25 -0
  137. package/cdn/ui-CKR6dVbQ.js.map +1 -0
  138. package/cdn/ui-CZ4yl3t3.js +32 -0
  139. package/cdn/ui-CZ4yl3t3.js.map +1 -0
  140. package/cdn/video-host-BtD61mpF.js +440 -0
  141. package/cdn/video-host-BtD61mpF.js.map +1 -0
  142. package/cdn/video-host-LeB1FKfO.js +47 -0
  143. package/cdn/video-host-LeB1FKfO.js.map +1 -0
  144. package/cdn/video-minimal-ui.dev.d.ts +1 -0
  145. package/cdn/video-minimal-ui.dev.js +4 -0
  146. package/cdn/video-minimal-ui.js +1 -0
  147. package/cdn/video-minimal.dev.d.ts +1 -0
  148. package/cdn/video-minimal.dev.js +120 -5669
  149. package/cdn/video-minimal.dev.js.map +1 -1
  150. package/cdn/video-minimal.js +1 -24
  151. package/cdn/video-minimal.js.map +1 -1
  152. package/cdn/video-ui.dev.d.ts +1 -0
  153. package/cdn/video-ui.dev.js +4 -0
  154. package/cdn/video-ui.js +1 -0
  155. package/cdn/video.dev.d.ts +1 -0
  156. package/cdn/video.dev.js +142 -5739
  157. package/cdn/video.dev.js.map +1 -1
  158. package/cdn/video.js +1 -24
  159. package/cdn/video.js.map +1 -1
  160. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
  161. package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  162. package/dist/default/_virtual/inline-css_src/define/audio/skin.js +2 -2
  163. package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  164. package/dist/default/_virtual/inline-css_src/define/background/skin.js +6 -0
  165. package/dist/default/_virtual/inline-css_src/define/background/skin.js.map +1 -0
  166. package/dist/default/_virtual/inline-css_src/define/base.js +6 -0
  167. package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
  168. package/dist/default/_virtual/inline-css_src/define/shared.js +6 -0
  169. package/dist/default/_virtual/inline-css_src/define/shared.js.map +1 -0
  170. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
  171. package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  172. package/dist/default/_virtual/inline-css_src/define/video/skin.js +2 -2
  173. package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  174. package/dist/default/define/audio/minimal-skin.css +324 -182
  175. package/dist/default/define/audio/minimal-skin.js +10 -19
  176. package/dist/default/define/audio/minimal-skin.js.map +1 -1
  177. package/dist/default/define/audio/minimal-skin.tailwind.js +11 -19
  178. package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
  179. package/dist/default/define/audio/minimal-ui.js +28 -0
  180. package/dist/default/define/audio/minimal-ui.js.map +1 -0
  181. package/dist/default/define/audio/player.js +1 -2
  182. package/dist/default/define/audio/player.js.map +1 -1
  183. package/dist/default/define/audio/skin.css +307 -174
  184. package/dist/default/define/audio/skin.js +10 -19
  185. package/dist/default/define/audio/skin.js.map +1 -1
  186. package/dist/default/define/audio/skin.tailwind.js +13 -21
  187. package/dist/default/define/audio/skin.tailwind.js.map +1 -1
  188. package/dist/default/define/audio/ui.js +32 -0
  189. package/dist/default/define/audio/ui.js.map +1 -0
  190. package/dist/default/define/background/player.js +1 -2
  191. package/dist/default/define/background/player.js.map +1 -1
  192. package/dist/default/define/background/skin.css +1 -1
  193. package/dist/default/define/background/skin.js +6 -4
  194. package/dist/default/define/background/skin.js.map +1 -1
  195. package/dist/default/define/background/video.js +1 -2
  196. package/dist/default/define/base.css +27 -0
  197. package/dist/default/define/media/background-video.js +1 -2
  198. package/dist/default/define/media/background-video.js.map +1 -1
  199. package/dist/default/define/media/container.js +1 -2
  200. package/dist/default/define/media/container.js.map +1 -1
  201. package/dist/default/define/media/dash-video.js +13 -0
  202. package/dist/default/define/media/dash-video.js.map +1 -0
  203. package/dist/default/define/media/hls-video.js +1 -2
  204. package/dist/default/define/media/hls-video.js.map +1 -1
  205. package/dist/default/define/media/mux-audio.js +13 -0
  206. package/dist/default/define/media/mux-audio.js.map +1 -0
  207. package/dist/default/define/media/mux-video.js +13 -0
  208. package/dist/default/define/media/mux-video.js.map +1 -0
  209. package/dist/default/define/media/native-hls-video.js +13 -0
  210. package/dist/default/define/media/native-hls-video.js.map +1 -0
  211. package/dist/default/define/media/simple-hls-video.js +3 -3
  212. package/dist/default/define/media/simple-hls-video.js.map +1 -1
  213. package/dist/default/define/safe-define.js +4 -2
  214. package/dist/default/define/safe-define.js.map +1 -1
  215. package/dist/default/define/shared.css +14 -0
  216. package/dist/default/define/skin-element.js +33 -0
  217. package/dist/default/define/skin-element.js.map +1 -0
  218. package/dist/default/define/ui/alert-dialog-close.js +1 -2
  219. package/dist/default/define/ui/alert-dialog-close.js.map +1 -1
  220. package/dist/default/define/ui/alert-dialog-description.js +1 -2
  221. package/dist/default/define/ui/alert-dialog-description.js.map +1 -1
  222. package/dist/default/define/ui/alert-dialog-title.js +1 -2
  223. package/dist/default/define/ui/alert-dialog-title.js.map +1 -1
  224. package/dist/default/define/ui/alert-dialog.js +1 -2
  225. package/dist/default/define/ui/alert-dialog.js.map +1 -1
  226. package/dist/default/define/ui/buffering-indicator.js +1 -2
  227. package/dist/default/define/ui/buffering-indicator.js.map +1 -1
  228. package/dist/default/define/ui/captions-button.js +3 -3
  229. package/dist/default/define/ui/captions-button.js.map +1 -1
  230. package/dist/default/define/ui/cast-button.js +7 -0
  231. package/dist/default/define/ui/cast-button.js.map +1 -0
  232. package/dist/default/define/ui/compounds.js +62 -0
  233. package/dist/default/define/ui/compounds.js.map +1 -0
  234. package/dist/default/define/ui/controls-group.js +1 -2
  235. package/dist/default/define/ui/controls-group.js.map +1 -1
  236. package/dist/default/define/ui/controls.js +3 -7
  237. package/dist/default/define/ui/controls.js.map +1 -1
  238. package/dist/default/define/ui/error-dialog.js +6 -0
  239. package/dist/default/define/ui/error-dialog.js.map +1 -0
  240. package/dist/default/define/ui/fullscreen-button.js +1 -2
  241. package/dist/default/define/ui/fullscreen-button.js.map +1 -1
  242. package/dist/default/define/ui/hotkey.js +7 -0
  243. package/dist/default/define/ui/hotkey.js.map +1 -0
  244. package/dist/default/define/ui/mute-button.js +1 -2
  245. package/dist/default/define/ui/mute-button.js.map +1 -1
  246. package/dist/default/define/ui/pip-button.js +1 -2
  247. package/dist/default/define/ui/pip-button.js.map +1 -1
  248. package/dist/default/define/ui/play-button.js +1 -2
  249. package/dist/default/define/ui/play-button.js.map +1 -1
  250. package/dist/default/define/ui/playback-rate-button.js +1 -2
  251. package/dist/default/define/ui/playback-rate-button.js.map +1 -1
  252. package/dist/default/define/ui/popover.js +1 -2
  253. package/dist/default/define/ui/popover.js.map +1 -1
  254. package/dist/default/define/ui/poster.js +1 -2
  255. package/dist/default/define/ui/poster.js.map +1 -1
  256. package/dist/default/define/ui/seek-button.js +1 -2
  257. package/dist/default/define/ui/seek-button.js.map +1 -1
  258. package/dist/default/define/ui/slider-buffer.js +1 -2
  259. package/dist/default/define/ui/slider-buffer.js.map +1 -1
  260. package/dist/default/define/ui/slider-fill.js +1 -2
  261. package/dist/default/define/ui/slider-fill.js.map +1 -1
  262. package/dist/default/define/ui/slider-thumb.js +1 -2
  263. package/dist/default/define/ui/slider-thumb.js.map +1 -1
  264. package/dist/default/define/ui/slider-thumbnail.js +1 -2
  265. package/dist/default/define/ui/slider-thumbnail.js.map +1 -1
  266. package/dist/default/define/ui/slider-track.js +1 -2
  267. package/dist/default/define/ui/slider-track.js.map +1 -1
  268. package/dist/default/define/ui/slider-value.js +1 -2
  269. package/dist/default/define/ui/slider-value.js.map +1 -1
  270. package/dist/default/define/ui/slider.js +3 -15
  271. package/dist/default/define/ui/slider.js.map +1 -1
  272. package/dist/default/define/ui/thumbnail.js +1 -2
  273. package/dist/default/define/ui/thumbnail.js.map +1 -1
  274. package/dist/default/define/ui/time-group.js +1 -2
  275. package/dist/default/define/ui/time-group.js.map +1 -1
  276. package/dist/default/define/ui/time-separator.js +1 -2
  277. package/dist/default/define/ui/time-separator.js.map +1 -1
  278. package/dist/default/define/ui/time-slider.js +3 -19
  279. package/dist/default/define/ui/time-slider.js.map +1 -1
  280. package/dist/default/define/ui/time.js +3 -9
  281. package/dist/default/define/ui/time.js.map +1 -1
  282. package/dist/default/define/ui/tooltip-group.js +1 -2
  283. package/dist/default/define/ui/tooltip-group.js.map +1 -1
  284. package/dist/default/define/ui/tooltip.js +1 -2
  285. package/dist/default/define/ui/tooltip.js.map +1 -1
  286. package/dist/default/define/ui/volume-slider.js +3 -15
  287. package/dist/default/define/ui/volume-slider.js.map +1 -1
  288. package/dist/default/define/video/minimal-skin.css +624 -328
  289. package/dist/default/define/video/minimal-skin.js +10 -23
  290. package/dist/default/define/video/minimal-skin.js.map +1 -1
  291. package/dist/default/define/video/minimal-skin.tailwind.js +13 -30
  292. package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
  293. package/dist/default/define/video/minimal-ui.js +41 -0
  294. package/dist/default/define/video/minimal-ui.js.map +1 -0
  295. package/dist/default/define/video/player.js +1 -2
  296. package/dist/default/define/video/player.js.map +1 -1
  297. package/dist/default/define/video/skin.css +592 -311
  298. package/dist/default/define/video/skin.js +10 -24
  299. package/dist/default/define/video/skin.js.map +1 -1
  300. package/dist/default/define/video/skin.tailwind.js +13 -28
  301. package/dist/default/define/video/skin.tailwind.js.map +1 -1
  302. package/dist/default/define/video/ui.js +45 -0
  303. package/dist/default/define/video/ui.js.map +1 -0
  304. package/dist/default/icons/dist/render/default/index.js +5 -2
  305. package/dist/default/icons/dist/render/default/index.js.map +1 -1
  306. package/dist/default/icons/dist/render/minimal/index.js +5 -2
  307. package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
  308. package/dist/default/index.js +11 -5
  309. package/dist/default/media/background-video/index.js +6 -3
  310. package/dist/default/media/background-video/index.js.map +1 -1
  311. package/dist/default/media/container-element.js +22 -4
  312. package/dist/default/media/container-element.js.map +1 -1
  313. package/dist/default/media/dash-video/index.js +9 -0
  314. package/dist/default/media/dash-video/index.js.map +1 -0
  315. package/dist/default/media/hls-video/index.js +12 -19
  316. package/dist/default/media/hls-video/index.js.map +1 -1
  317. package/dist/default/media/mux-audio/index.js +18 -0
  318. package/dist/default/media/mux-audio/index.js.map +1 -0
  319. package/dist/default/media/mux-video/index.js +18 -0
  320. package/dist/default/media/mux-video/index.js.map +1 -0
  321. package/dist/default/media/native-hls-video/index.js +9 -0
  322. package/dist/default/media/native-hls-video/index.js.map +1 -0
  323. package/dist/default/media/simple-hls-video/index.js +5 -17
  324. package/dist/default/media/simple-hls-video/index.js.map +1 -1
  325. package/dist/default/player/context.js +7 -4
  326. package/dist/default/player/context.js.map +1 -1
  327. package/dist/default/player/create-player.js +12 -5
  328. package/dist/default/player/create-player.js.map +1 -1
  329. package/dist/default/player/player-controller.js +1 -2
  330. package/dist/default/player/player-controller.js.map +1 -1
  331. package/dist/default/presets/audio.js +1 -2
  332. package/dist/default/presets/background.js +1 -2
  333. package/dist/default/presets/video.js +1 -2
  334. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
  335. package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  336. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  337. package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  338. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  339. package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  340. package/dist/default/skins/dist/default/default/tailwind/components/button.js +5 -5
  341. package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  342. package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
  343. package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  344. package/dist/default/skins/dist/default/default/tailwind/components/error.js +4 -5
  345. package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  346. package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
  347. package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  348. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  349. package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  350. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  351. package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  352. package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -6
  353. package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  354. package/dist/default/skins/dist/default/default/tailwind/components/poster.js +15 -0
  355. package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  356. package/dist/default/skins/dist/default/default/tailwind/components/preview.js +12 -0
  357. package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  358. package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
  359. package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  360. package/dist/default/skins/dist/default/default/tailwind/components/seek.js +2 -3
  361. package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  362. package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
  363. package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  364. package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
  365. package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  366. package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
  367. package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  368. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
  369. package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  370. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
  371. package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  372. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  373. package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  374. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  375. package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  376. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  377. package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  378. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  379. package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  380. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  381. package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  382. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  383. package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  384. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  385. package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  386. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  387. package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  388. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  389. package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  390. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  391. package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  392. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  393. package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  394. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  395. package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  396. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  397. package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  398. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  399. package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  400. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  401. package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  402. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
  403. package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  404. package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
  405. package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  406. package/dist/default/store/container-mixin.js +17 -62
  407. package/dist/default/store/container-mixin.js.map +1 -1
  408. package/dist/default/store/media-attach-mixin.js +44 -0
  409. package/dist/default/store/media-attach-mixin.js.map +1 -0
  410. package/dist/default/store/provider-mixin.js +100 -11
  411. package/dist/default/store/provider-mixin.js.map +1 -1
  412. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  413. package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  414. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  415. package/dist/default/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  416. package/dist/default/ui/alert-dialog/alert-dialog-element.js +2 -2
  417. package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  418. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  419. package/dist/default/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  420. package/dist/default/ui/alert-dialog/context.js +2 -5
  421. package/dist/default/ui/alert-dialog/context.js.map +1 -1
  422. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +2 -2
  423. package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  424. package/dist/default/ui/captions-button/captions-button-element.js +2 -2
  425. package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
  426. package/dist/default/ui/cast-button/cast-button-element.js +24 -0
  427. package/dist/default/ui/cast-button/cast-button-element.js.map +1 -0
  428. package/dist/default/ui/context-part-element.js +1 -2
  429. package/dist/default/ui/context-part-element.js.map +1 -1
  430. package/dist/default/ui/controls/context.js +2 -5
  431. package/dist/default/ui/controls/context.js.map +1 -1
  432. package/dist/default/ui/controls/controls-element.js +1 -2
  433. package/dist/default/ui/controls/controls-element.js.map +1 -1
  434. package/dist/default/ui/controls/controls-group-element.js +1 -2
  435. package/dist/default/ui/controls/controls-group-element.js.map +1 -1
  436. package/dist/default/ui/error-dialog/error-dialog-element.js +77 -0
  437. package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -0
  438. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +2 -2
  439. package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  440. package/dist/default/ui/gesture/gesture-element.js +84 -0
  441. package/dist/default/ui/gesture/gesture-element.js.map +1 -0
  442. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  443. package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  444. package/dist/default/ui/hotkey/hotkey-element.js +81 -0
  445. package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
  446. package/dist/default/ui/media-button-element.js +17 -3
  447. package/dist/default/ui/media-button-element.js.map +1 -1
  448. package/dist/default/ui/media-element.js +1 -2
  449. package/dist/default/ui/media-element.js.map +1 -1
  450. package/dist/default/ui/media-ui-element.js +1 -2
  451. package/dist/default/ui/media-ui-element.js.map +1 -1
  452. package/dist/default/ui/mute-button/mute-button-element.js +2 -2
  453. package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
  454. package/dist/default/ui/pip-button/pip-button-element.js +2 -2
  455. package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
  456. package/dist/default/ui/play-button/play-button-element.js +2 -2
  457. package/dist/default/ui/play-button/play-button-element.js.map +1 -1
  458. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  459. package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  460. package/dist/default/ui/popover/popover-element.js +13 -11
  461. package/dist/default/ui/popover/popover-element.js.map +1 -1
  462. package/dist/default/ui/position-controller.js +76 -0
  463. package/dist/default/ui/position-controller.js.map +1 -0
  464. package/dist/default/ui/poster/poster-element.js +1 -2
  465. package/dist/default/ui/poster/poster-element.js.map +1 -1
  466. package/dist/default/ui/seek-button/seek-button-element.js +1 -2
  467. package/dist/default/ui/seek-button/seek-button-element.js.map +1 -1
  468. package/dist/default/ui/slider/context.js +2 -5
  469. package/dist/default/ui/slider/context.js.map +1 -1
  470. package/dist/default/ui/slider/slider-buffer-element.js +1 -2
  471. package/dist/default/ui/slider/slider-buffer-element.js.map +1 -1
  472. package/dist/default/ui/slider/slider-element.js +2 -3
  473. package/dist/default/ui/slider/slider-element.js.map +1 -1
  474. package/dist/default/ui/slider/slider-fill-element.js +1 -2
  475. package/dist/default/ui/slider/slider-fill-element.js.map +1 -1
  476. package/dist/default/ui/slider/slider-preview-element.js +2 -3
  477. package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
  478. package/dist/default/ui/slider/slider-thumb-element.js +1 -2
  479. package/dist/default/ui/slider/slider-thumb-element.js.map +1 -1
  480. package/dist/default/ui/slider/slider-thumbnail-element.js +1 -2
  481. package/dist/default/ui/slider/slider-thumbnail-element.js.map +1 -1
  482. package/dist/default/ui/slider/slider-track-element.js +1 -2
  483. package/dist/default/ui/slider/slider-track-element.js.map +1 -1
  484. package/dist/default/ui/slider/slider-value-element.js +1 -2
  485. package/dist/default/ui/slider/slider-value-element.js.map +1 -1
  486. package/dist/default/ui/thumbnail/thumbnail-element.js +1 -2
  487. package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
  488. package/dist/default/ui/time/time-element.js +13 -12
  489. package/dist/default/ui/time/time-element.js.map +1 -1
  490. package/dist/default/ui/time/time-group-element.js +1 -2
  491. package/dist/default/ui/time/time-group-element.js.map +1 -1
  492. package/dist/default/ui/time/time-separator-element.js +1 -2
  493. package/dist/default/ui/time/time-separator-element.js.map +1 -1
  494. package/dist/default/ui/time-slider/time-slider-element.js +7 -8
  495. package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
  496. package/dist/default/ui/tooltip/context.js +2 -5
  497. package/dist/default/ui/tooltip/context.js.map +1 -1
  498. package/dist/default/ui/tooltip/tooltip-element.js +25 -18
  499. package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
  500. package/dist/default/ui/tooltip/tooltip-group-element.js +5 -3
  501. package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
  502. package/dist/default/ui/volume-slider/volume-slider-element.js +27 -20
  503. package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
  504. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
  505. package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
  506. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +2 -2
  507. package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
  508. package/dist/dev/_virtual/inline-css_src/define/background/skin.js +6 -0
  509. package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -0
  510. package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
  511. package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
  512. package/dist/dev/_virtual/inline-css_src/define/shared.js +6 -0
  513. package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -0
  514. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
  515. package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
  516. package/dist/dev/_virtual/inline-css_src/define/video/skin.js +2 -2
  517. package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
  518. package/dist/dev/define/audio/minimal-skin.css +324 -182
  519. package/dist/dev/define/audio/minimal-skin.d.ts +6 -10
  520. package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
  521. package/dist/dev/define/audio/minimal-skin.js +85 -82
  522. package/dist/dev/define/audio/minimal-skin.js.map +1 -1
  523. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +4 -10
  524. package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
  525. package/dist/dev/define/audio/minimal-skin.tailwind.js +86 -84
  526. package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
  527. package/dist/dev/define/audio/minimal-ui.d.ts +1 -0
  528. package/dist/dev/define/audio/minimal-ui.js +28 -0
  529. package/dist/dev/define/audio/minimal-ui.js.map +1 -0
  530. package/dist/dev/define/audio/player.js +1 -2
  531. package/dist/dev/define/audio/player.js.map +1 -1
  532. package/dist/dev/define/audio/skin.css +307 -174
  533. package/dist/dev/define/audio/skin.d.ts +6 -10
  534. package/dist/dev/define/audio/skin.d.ts.map +1 -1
  535. package/dist/dev/define/audio/skin.js +97 -74
  536. package/dist/dev/define/audio/skin.js.map +1 -1
  537. package/dist/dev/define/audio/skin.tailwind.d.ts +4 -10
  538. package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
  539. package/dist/dev/define/audio/skin.tailwind.js +84 -78
  540. package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
  541. package/dist/dev/define/audio/ui.d.ts +1 -0
  542. package/dist/dev/define/audio/ui.js +32 -0
  543. package/dist/dev/define/audio/ui.js.map +1 -0
  544. package/dist/dev/define/background/player.js +1 -2
  545. package/dist/dev/define/background/player.js.map +1 -1
  546. package/dist/dev/define/background/skin.css +1 -1
  547. package/dist/dev/define/background/skin.d.ts.map +1 -1
  548. package/dist/dev/define/background/skin.js +8 -4
  549. package/dist/dev/define/background/skin.js.map +1 -1
  550. package/dist/dev/define/background/video.js +1 -2
  551. package/dist/dev/define/base.css +27 -0
  552. package/dist/dev/define/media/background-video.js +1 -2
  553. package/dist/dev/define/media/background-video.js.map +1 -1
  554. package/dist/dev/define/media/container.js +1 -2
  555. package/dist/dev/define/media/container.js.map +1 -1
  556. package/dist/dev/define/media/dash-video.d.ts +14 -0
  557. package/dist/dev/define/media/dash-video.d.ts.map +1 -0
  558. package/dist/dev/define/media/dash-video.js +13 -0
  559. package/dist/dev/define/media/dash-video.js.map +1 -0
  560. package/dist/dev/define/media/hls-video.js +1 -2
  561. package/dist/dev/define/media/hls-video.js.map +1 -1
  562. package/dist/dev/define/media/mux-audio.d.ts +14 -0
  563. package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
  564. package/dist/dev/define/media/mux-audio.js +13 -0
  565. package/dist/dev/define/media/mux-audio.js.map +1 -0
  566. package/dist/dev/define/media/mux-video.d.ts +14 -0
  567. package/dist/dev/define/media/mux-video.d.ts.map +1 -0
  568. package/dist/dev/define/media/mux-video.js +13 -0
  569. package/dist/dev/define/media/mux-video.js.map +1 -0
  570. package/dist/dev/define/media/native-hls-video.d.ts +14 -0
  571. package/dist/dev/define/media/native-hls-video.d.ts.map +1 -0
  572. package/dist/dev/define/media/native-hls-video.js +13 -0
  573. package/dist/dev/define/media/native-hls-video.js.map +1 -0
  574. package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -1
  575. package/dist/dev/define/media/simple-hls-video.js +3 -3
  576. package/dist/dev/define/media/simple-hls-video.js.map +1 -1
  577. package/dist/dev/define/safe-define.js +4 -2
  578. package/dist/dev/define/safe-define.js.map +1 -1
  579. package/dist/dev/define/shared.css +14 -0
  580. package/dist/dev/define/skin-element.d.ts +18 -0
  581. package/dist/dev/define/skin-element.d.ts.map +1 -0
  582. package/dist/dev/define/skin-element.js +33 -0
  583. package/dist/dev/define/skin-element.js.map +1 -0
  584. package/dist/dev/define/ui/alert-dialog-close.js +1 -2
  585. package/dist/dev/define/ui/alert-dialog-close.js.map +1 -1
  586. package/dist/dev/define/ui/alert-dialog-description.js +1 -2
  587. package/dist/dev/define/ui/alert-dialog-description.js.map +1 -1
  588. package/dist/dev/define/ui/alert-dialog-title.js +1 -2
  589. package/dist/dev/define/ui/alert-dialog-title.js.map +1 -1
  590. package/dist/dev/define/ui/alert-dialog.js +1 -2
  591. package/dist/dev/define/ui/alert-dialog.js.map +1 -1
  592. package/dist/dev/define/ui/buffering-indicator.js +1 -2
  593. package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
  594. package/dist/dev/define/ui/captions-button.d.ts.map +1 -1
  595. package/dist/dev/define/ui/captions-button.js +3 -3
  596. package/dist/dev/define/ui/captions-button.js.map +1 -1
  597. package/dist/dev/define/ui/cast-button.d.ts +9 -0
  598. package/dist/dev/define/ui/cast-button.d.ts.map +1 -0
  599. package/dist/dev/define/ui/cast-button.js +7 -0
  600. package/dist/dev/define/ui/cast-button.js.map +1 -0
  601. package/dist/dev/define/ui/compounds.d.ts +12 -0
  602. package/dist/dev/define/ui/compounds.d.ts.map +1 -0
  603. package/dist/dev/define/ui/compounds.js +62 -0
  604. package/dist/dev/define/ui/compounds.js.map +1 -0
  605. package/dist/dev/define/ui/controls-group.js +1 -2
  606. package/dist/dev/define/ui/controls-group.js.map +1 -1
  607. package/dist/dev/define/ui/controls.d.ts +2 -0
  608. package/dist/dev/define/ui/controls.d.ts.map +1 -1
  609. package/dist/dev/define/ui/controls.js +3 -7
  610. package/dist/dev/define/ui/controls.js.map +1 -1
  611. package/dist/dev/define/ui/error-dialog.d.ts +15 -0
  612. package/dist/dev/define/ui/error-dialog.d.ts.map +1 -0
  613. package/dist/dev/define/ui/error-dialog.js +6 -0
  614. package/dist/dev/define/ui/error-dialog.js.map +1 -0
  615. package/dist/dev/define/ui/fullscreen-button.js +1 -2
  616. package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
  617. package/dist/dev/define/ui/hotkey.d.ts +9 -0
  618. package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
  619. package/dist/dev/define/ui/hotkey.js +7 -0
  620. package/dist/dev/define/ui/hotkey.js.map +1 -0
  621. package/dist/dev/define/ui/mute-button.js +1 -2
  622. package/dist/dev/define/ui/mute-button.js.map +1 -1
  623. package/dist/dev/define/ui/pip-button.js +1 -2
  624. package/dist/dev/define/ui/pip-button.js.map +1 -1
  625. package/dist/dev/define/ui/play-button.js +1 -2
  626. package/dist/dev/define/ui/play-button.js.map +1 -1
  627. package/dist/dev/define/ui/playback-rate-button.js +1 -2
  628. package/dist/dev/define/ui/playback-rate-button.js.map +1 -1
  629. package/dist/dev/define/ui/popover.js +1 -2
  630. package/dist/dev/define/ui/popover.js.map +1 -1
  631. package/dist/dev/define/ui/poster.js +1 -2
  632. package/dist/dev/define/ui/poster.js.map +1 -1
  633. package/dist/dev/define/ui/seek-button.js +1 -2
  634. package/dist/dev/define/ui/seek-button.js.map +1 -1
  635. package/dist/dev/define/ui/slider-buffer.js +1 -2
  636. package/dist/dev/define/ui/slider-buffer.js.map +1 -1
  637. package/dist/dev/define/ui/slider-fill.js +1 -2
  638. package/dist/dev/define/ui/slider-fill.js.map +1 -1
  639. package/dist/dev/define/ui/slider-thumb.js +1 -2
  640. package/dist/dev/define/ui/slider-thumb.js.map +1 -1
  641. package/dist/dev/define/ui/slider-thumbnail.js +1 -2
  642. package/dist/dev/define/ui/slider-thumbnail.js.map +1 -1
  643. package/dist/dev/define/ui/slider-track.js +1 -2
  644. package/dist/dev/define/ui/slider-track.js.map +1 -1
  645. package/dist/dev/define/ui/slider-value.js +1 -2
  646. package/dist/dev/define/ui/slider-value.js.map +1 -1
  647. package/dist/dev/define/ui/slider.d.ts +10 -0
  648. package/dist/dev/define/ui/slider.d.ts.map +1 -1
  649. package/dist/dev/define/ui/slider.js +3 -15
  650. package/dist/dev/define/ui/slider.js.map +1 -1
  651. package/dist/dev/define/ui/thumbnail.js +1 -2
  652. package/dist/dev/define/ui/thumbnail.js.map +1 -1
  653. package/dist/dev/define/ui/time-group.js +1 -2
  654. package/dist/dev/define/ui/time-group.js.map +1 -1
  655. package/dist/dev/define/ui/time-separator.js +1 -2
  656. package/dist/dev/define/ui/time-separator.js.map +1 -1
  657. package/dist/dev/define/ui/time-slider.d.ts +14 -0
  658. package/dist/dev/define/ui/time-slider.d.ts.map +1 -1
  659. package/dist/dev/define/ui/time-slider.js +3 -19
  660. package/dist/dev/define/ui/time-slider.js.map +1 -1
  661. package/dist/dev/define/ui/time.d.ts +4 -0
  662. package/dist/dev/define/ui/time.d.ts.map +1 -1
  663. package/dist/dev/define/ui/time.js +3 -9
  664. package/dist/dev/define/ui/time.js.map +1 -1
  665. package/dist/dev/define/ui/tooltip-group.js +1 -2
  666. package/dist/dev/define/ui/tooltip-group.js.map +1 -1
  667. package/dist/dev/define/ui/tooltip.js +1 -2
  668. package/dist/dev/define/ui/tooltip.js.map +1 -1
  669. package/dist/dev/define/ui/volume-slider.d.ts +10 -0
  670. package/dist/dev/define/ui/volume-slider.d.ts.map +1 -1
  671. package/dist/dev/define/ui/volume-slider.js +3 -15
  672. package/dist/dev/define/ui/volume-slider.js.map +1 -1
  673. package/dist/dev/define/video/minimal-skin.css +624 -328
  674. package/dist/dev/define/video/minimal-skin.d.ts +6 -10
  675. package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
  676. package/dist/dev/define/video/minimal-skin.js +119 -119
  677. package/dist/dev/define/video/minimal-skin.js.map +1 -1
  678. package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -10
  679. package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
  680. package/dist/dev/define/video/minimal-skin.tailwind.js +110 -129
  681. package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
  682. package/dist/dev/define/video/minimal-ui.d.ts +1 -0
  683. package/dist/dev/define/video/minimal-ui.js +41 -0
  684. package/dist/dev/define/video/minimal-ui.js.map +1 -0
  685. package/dist/dev/define/video/player.js +1 -2
  686. package/dist/dev/define/video/player.js.map +1 -1
  687. package/dist/dev/define/video/skin.css +592 -311
  688. package/dist/dev/define/video/skin.d.ts +6 -10
  689. package/dist/dev/define/video/skin.d.ts.map +1 -1
  690. package/dist/dev/define/video/skin.js +140 -116
  691. package/dist/dev/define/video/skin.js.map +1 -1
  692. package/dist/dev/define/video/skin.tailwind.d.ts +4 -10
  693. package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
  694. package/dist/dev/define/video/skin.tailwind.js +106 -121
  695. package/dist/dev/define/video/skin.tailwind.js.map +1 -1
  696. package/dist/dev/define/video/ui.d.ts +1 -0
  697. package/dist/dev/define/video/ui.js +45 -0
  698. package/dist/dev/define/video/ui.js.map +1 -0
  699. package/dist/dev/icons/dist/render/default/index.js +5 -2
  700. package/dist/dev/icons/dist/render/default/index.js.map +1 -1
  701. package/dist/dev/icons/dist/render/minimal/index.js +5 -2
  702. package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
  703. package/dist/dev/index.d.ts +13 -5
  704. package/dist/dev/index.js +11 -5
  705. package/dist/dev/media/background-video/index.d.ts +8 -1
  706. package/dist/dev/media/background-video/index.d.ts.map +1 -1
  707. package/dist/dev/media/background-video/index.js +6 -3
  708. package/dist/dev/media/background-video/index.js.map +1 -1
  709. package/dist/dev/media/container-element.d.ts +3 -0
  710. package/dist/dev/media/container-element.d.ts.map +1 -1
  711. package/dist/dev/media/container-element.js +22 -4
  712. package/dist/dev/media/container-element.js.map +1 -1
  713. package/dist/dev/media/dash-video/index.d.ts +17 -0
  714. package/dist/dev/media/dash-video/index.d.ts.map +1 -0
  715. package/dist/dev/media/dash-video/index.js +9 -0
  716. package/dist/dev/media/dash-video/index.js.map +1 -0
  717. package/dist/dev/media/hls-video/index.d.ts +13 -6
  718. package/dist/dev/media/hls-video/index.d.ts.map +1 -1
  719. package/dist/dev/media/hls-video/index.js +12 -19
  720. package/dist/dev/media/hls-video/index.js.map +1 -1
  721. package/dist/dev/media/mux-audio/index.d.ts +19 -0
  722. package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
  723. package/dist/dev/media/mux-audio/index.js +18 -0
  724. package/dist/dev/media/mux-audio/index.js.map +1 -0
  725. package/dist/dev/media/mux-video/index.d.ts +19 -0
  726. package/dist/dev/media/mux-video/index.d.ts.map +1 -0
  727. package/dist/dev/media/mux-video/index.js +18 -0
  728. package/dist/dev/media/mux-video/index.js.map +1 -0
  729. package/dist/dev/media/native-hls-video/index.d.ts +17 -0
  730. package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
  731. package/dist/dev/media/native-hls-video/index.js +9 -0
  732. package/dist/dev/media/native-hls-video/index.js.map +1 -0
  733. package/dist/dev/media/simple-hls-video/index.d.ts +12 -6
  734. package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
  735. package/dist/dev/media/simple-hls-video/index.js +5 -17
  736. package/dist/dev/media/simple-hls-video/index.js.map +1 -1
  737. package/dist/dev/player/context.d.ts +19 -3
  738. package/dist/dev/player/context.d.ts.map +1 -1
  739. package/dist/dev/player/context.js +7 -4
  740. package/dist/dev/player/context.js.map +1 -1
  741. package/dist/dev/player/create-player.d.ts +1 -1
  742. package/dist/dev/player/create-player.js +12 -5
  743. package/dist/dev/player/create-player.js.map +1 -1
  744. package/dist/dev/player/player-controller.js +1 -2
  745. package/dist/dev/player/player-controller.js.map +1 -1
  746. package/dist/dev/presets/audio.js +1 -2
  747. package/dist/dev/presets/background.js +1 -2
  748. package/dist/dev/presets/video.js +1 -2
  749. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
  750. package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
  751. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
  752. package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
  753. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
  754. package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
  755. package/dist/dev/skins/dist/default/default/tailwind/components/button.js +5 -5
  756. package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
  757. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
  758. package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
  759. package/dist/dev/skins/dist/default/default/tailwind/components/error.js +4 -5
  760. package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
  761. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
  762. package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
  763. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
  764. package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
  765. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
  766. package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
  767. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -6
  768. package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
  769. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +15 -0
  770. package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
  771. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +12 -0
  772. package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
  773. package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
  774. package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
  775. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +2 -3
  776. package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
  777. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
  778. package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
  779. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
  780. package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
  781. package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
  782. package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
  783. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
  784. package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
  785. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
  786. package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
  787. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
  788. package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
  789. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
  790. package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
  791. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +5 -5
  792. package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
  793. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
  794. package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
  795. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +4 -5
  796. package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
  797. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
  798. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
  799. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
  800. package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
  801. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
  802. package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
  803. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
  804. package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
  805. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
  806. package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
  807. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
  808. package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
  809. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
  810. package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
  811. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
  812. package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
  813. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
  814. package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
  815. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
  816. package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
  817. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
  818. package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
  819. package/dist/{default/skins/dist/default/default/tailwind/components → dev/skins/dist/default/shared/tailwind}/icon-state.js +12 -2
  820. package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
  821. package/dist/dev/store/container-mixin.d.ts +10 -5
  822. package/dist/dev/store/container-mixin.d.ts.map +1 -1
  823. package/dist/dev/store/container-mixin.js +17 -62
  824. package/dist/dev/store/container-mixin.js.map +1 -1
  825. package/dist/dev/store/media-attach-mixin.d.ts +19 -0
  826. package/dist/dev/store/media-attach-mixin.d.ts.map +1 -0
  827. package/dist/dev/store/media-attach-mixin.js +44 -0
  828. package/dist/dev/store/media-attach-mixin.js.map +1 -0
  829. package/dist/dev/store/provider-mixin.d.ts +19 -6
  830. package/dist/dev/store/provider-mixin.d.ts.map +1 -1
  831. package/dist/dev/store/provider-mixin.js +100 -11
  832. package/dist/dev/store/provider-mixin.js.map +1 -1
  833. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +1 -2
  834. package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
  835. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js +1 -2
  836. package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
  837. package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
  838. package/dist/dev/ui/alert-dialog/alert-dialog-element.js +2 -2
  839. package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
  840. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js +1 -2
  841. package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
  842. package/dist/dev/ui/alert-dialog/context.js +2 -5
  843. package/dist/dev/ui/alert-dialog/context.js.map +1 -1
  844. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
  845. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +2 -2
  846. package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
  847. package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
  848. package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
  849. package/dist/dev/ui/captions-button/captions-button-element.js +2 -2
  850. package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
  851. package/dist/dev/ui/cast-button/cast-button-element.d.ts +19 -0
  852. package/dist/dev/ui/cast-button/cast-button-element.d.ts.map +1 -0
  853. package/dist/dev/ui/cast-button/cast-button-element.js +24 -0
  854. package/dist/dev/ui/cast-button/cast-button-element.js.map +1 -0
  855. package/dist/dev/ui/context-part-element.d.ts +1 -1
  856. package/dist/dev/ui/context-part-element.js +1 -2
  857. package/dist/dev/ui/context-part-element.js.map +1 -1
  858. package/dist/dev/ui/controls/context.js +2 -5
  859. package/dist/dev/ui/controls/context.js.map +1 -1
  860. package/dist/dev/ui/controls/controls-element.js +1 -2
  861. package/dist/dev/ui/controls/controls-element.js.map +1 -1
  862. package/dist/dev/ui/controls/controls-group-element.js +1 -2
  863. package/dist/dev/ui/controls/controls-group-element.js.map +1 -1
  864. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts +16 -0
  865. package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -0
  866. package/dist/dev/ui/error-dialog/error-dialog-element.js +77 -0
  867. package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -0
  868. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
  869. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
  870. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +2 -2
  871. package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
  872. package/dist/dev/ui/gesture/gesture-element.d.ts +22 -0
  873. package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -0
  874. package/dist/dev/ui/gesture/gesture-element.js +84 -0
  875. package/dist/dev/ui/gesture/gesture-element.js.map +1 -0
  876. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
  877. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
  878. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
  879. package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
  880. package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
  881. package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
  882. package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
  883. package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
  884. package/dist/dev/ui/media-button-element.d.ts +8 -2
  885. package/dist/dev/ui/media-button-element.d.ts.map +1 -1
  886. package/dist/dev/ui/media-button-element.js +17 -3
  887. package/dist/dev/ui/media-button-element.js.map +1 -1
  888. package/dist/dev/ui/media-element.js +1 -2
  889. package/dist/dev/ui/media-element.js.map +1 -1
  890. package/dist/dev/ui/media-ui-element.js +1 -2
  891. package/dist/dev/ui/media-ui-element.js.map +1 -1
  892. package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
  893. package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
  894. package/dist/dev/ui/mute-button/mute-button-element.js +2 -2
  895. package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
  896. package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
  897. package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
  898. package/dist/dev/ui/pip-button/pip-button-element.js +2 -2
  899. package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
  900. package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
  901. package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
  902. package/dist/dev/ui/play-button/play-button-element.js +2 -2
  903. package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
  904. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
  905. package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
  906. package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
  907. package/dist/dev/ui/popover/popover-element.js +13 -11
  908. package/dist/dev/ui/popover/popover-element.js.map +1 -1
  909. package/dist/dev/ui/position-controller.js +76 -0
  910. package/dist/dev/ui/position-controller.js.map +1 -0
  911. package/dist/dev/ui/poster/poster-element.js +1 -2
  912. package/dist/dev/ui/poster/poster-element.js.map +1 -1
  913. package/dist/dev/ui/seek-button/seek-button-element.js +1 -2
  914. package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -1
  915. package/dist/dev/ui/slider/context.js +2 -5
  916. package/dist/dev/ui/slider/context.js.map +1 -1
  917. package/dist/dev/ui/slider/slider-buffer-element.js +1 -2
  918. package/dist/dev/ui/slider/slider-buffer-element.js.map +1 -1
  919. package/dist/dev/ui/slider/slider-element.js +2 -3
  920. package/dist/dev/ui/slider/slider-element.js.map +1 -1
  921. package/dist/dev/ui/slider/slider-fill-element.js +1 -2
  922. package/dist/dev/ui/slider/slider-fill-element.js.map +1 -1
  923. package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
  924. package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
  925. package/dist/dev/ui/slider/slider-preview-element.js +2 -3
  926. package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
  927. package/dist/dev/ui/slider/slider-thumb-element.js +1 -2
  928. package/dist/dev/ui/slider/slider-thumb-element.js.map +1 -1
  929. package/dist/dev/ui/slider/slider-thumbnail-element.js +1 -2
  930. package/dist/dev/ui/slider/slider-thumbnail-element.js.map +1 -1
  931. package/dist/dev/ui/slider/slider-track-element.js +1 -2
  932. package/dist/dev/ui/slider/slider-track-element.js.map +1 -1
  933. package/dist/dev/ui/slider/slider-value-element.js +1 -2
  934. package/dist/dev/ui/slider/slider-value-element.js.map +1 -1
  935. package/dist/dev/ui/thumbnail/thumbnail-element.js +1 -2
  936. package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
  937. package/dist/dev/ui/time/time-element.d.ts +0 -1
  938. package/dist/dev/ui/time/time-element.d.ts.map +1 -1
  939. package/dist/dev/ui/time/time-element.js +13 -12
  940. package/dist/dev/ui/time/time-element.js.map +1 -1
  941. package/dist/dev/ui/time/time-group-element.js +1 -2
  942. package/dist/dev/ui/time/time-group-element.js.map +1 -1
  943. package/dist/dev/ui/time/time-separator-element.js +1 -2
  944. package/dist/dev/ui/time/time-separator-element.js.map +1 -1
  945. package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
  946. package/dist/dev/ui/time-slider/time-slider-element.js +7 -8
  947. package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
  948. package/dist/dev/ui/tooltip/context.js +2 -5
  949. package/dist/dev/ui/tooltip/context.js.map +1 -1
  950. package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
  951. package/dist/dev/ui/tooltip/tooltip-element.js +25 -18
  952. package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
  953. package/dist/dev/ui/tooltip/tooltip-group-element.js +5 -3
  954. package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
  955. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +5 -0
  956. package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
  957. package/dist/dev/ui/volume-slider/volume-slider-element.js +27 -20
  958. package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
  959. package/package.json +25 -14
  960. package/cdn/audio-minimal.css +0 -1
  961. package/cdn/audio.css +0 -1
  962. package/cdn/background.css +0 -1
  963. package/cdn/video-minimal.css +0 -1
  964. package/cdn/video.css +0 -1
  965. package/dist/default/define/skin-mixin.js +0 -55
  966. package/dist/default/define/skin-mixin.js.map +0 -1
  967. package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  968. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  969. package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  970. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  971. package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  972. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  973. package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
  974. package/dist/dev/define/skin-mixin.d.ts +0 -21
  975. package/dist/dev/define/skin-mixin.d.ts.map +0 -1
  976. package/dist/dev/define/skin-mixin.js +0 -69
  977. package/dist/dev/define/skin-mixin.js.map +0 -1
  978. package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
  979. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
  980. package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
  981. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
  982. package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
  983. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
  984. package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
@@ -0,0 +1,3783 @@
1
+ import { n as Hls, t as HlsMedia } from "./hls-CcSAx_3I.js";
2
+
3
+ //#region ../core/dist/dev/dom/media/castable/utils.js
4
+ var InvalidStateError = class extends Error {};
5
+ var NotSupportedError = class extends Error {};
6
+ var NotFoundError = class extends Error {};
7
+ const HLS_RESPONSE_HEADERS = [
8
+ "application/x-mpegURL",
9
+ "application/vnd.apple.mpegurl",
10
+ "audio/mpegurl"
11
+ ];
12
+ var IterableWeakSet = class {
13
+ #refs = /* @__PURE__ */ new Set();
14
+ #seen = /* @__PURE__ */ new WeakMap();
15
+ add(value) {
16
+ if (this.#seen.has(value)) return this;
17
+ const ref = new WeakRef(value);
18
+ this.#seen.set(value, ref);
19
+ this.#refs.add(ref);
20
+ return this;
21
+ }
22
+ delete(value) {
23
+ const ref = this.#seen.get(value);
24
+ if (!ref) return false;
25
+ this.#seen.delete(value);
26
+ return this.#refs.delete(ref);
27
+ }
28
+ forEach(fn) {
29
+ for (const ref of this.#refs) {
30
+ const value = ref.deref();
31
+ if (value) fn(value);
32
+ else this.#refs.delete(ref);
33
+ }
34
+ }
35
+ };
36
+ function onCastApiAvailable(callback) {
37
+ const whenDefined = () => customElements.whenDefined("google-cast-button").then(callback);
38
+ if (!globalThis.chrome?.cast?.isAvailable) globalThis.__onGCastApiAvailable = whenDefined;
39
+ else if (typeof cast === "undefined" || !cast.framework) whenDefined();
40
+ else callback();
41
+ }
42
+ function requiresCastFramework() {
43
+ return Boolean(globalThis.chrome);
44
+ }
45
+ function loadCastFramework() {
46
+ const sdkUrl = "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";
47
+ if (globalThis.chrome?.cast || document.querySelector(`script[src="${sdkUrl}"]`)) return;
48
+ const script = document.createElement("script");
49
+ script.src = sdkUrl;
50
+ document.head.append(script);
51
+ }
52
+ function castContext() {
53
+ return typeof cast === "undefined" ? void 0 : cast.framework?.CastContext.getInstance();
54
+ }
55
+ function currentSession() {
56
+ return castContext()?.getCurrentSession();
57
+ }
58
+ function currentMedia() {
59
+ return currentSession()?.getSessionObj().media[0] ?? void 0;
60
+ }
61
+ function editTracksInfo(request) {
62
+ return new Promise((resolve, reject) => {
63
+ currentMedia().editTracksInfo(request, resolve, reject);
64
+ });
65
+ }
66
+ function getMediaStatus(request) {
67
+ return new Promise((resolve, reject) => {
68
+ currentMedia().getStatus(request, resolve, reject);
69
+ });
70
+ }
71
+ const MEDIA_NAMESPACE = "urn:x-cast:com.google.cast.media";
72
+ let requestId = 0;
73
+ function setPlaybackRate(rate) {
74
+ const media = currentMedia();
75
+ return currentSession().sendMessage(MEDIA_NAMESPACE, {
76
+ type: "SET_PLAYBACK_RATE",
77
+ playbackRate: rate,
78
+ mediaSessionId: media?.mediaSessionId,
79
+ requestId: ++requestId
80
+ });
81
+ }
82
+ function setCastOptions(options) {
83
+ castContext().setOptions({
84
+ ...getDefaultCastOptions(),
85
+ ...options
86
+ });
87
+ }
88
+ function getDefaultCastOptions() {
89
+ return {
90
+ receiverApplicationId: "CC1AD845",
91
+ autoJoinPolicy: globalThis.chrome?.cast?.AutoJoinPolicy?.ORIGIN_SCOPED ?? "origin_scoped",
92
+ androidReceiverCompatible: false,
93
+ language: "en-US",
94
+ resumeSavedSession: true
95
+ };
96
+ }
97
+ function getFormat(segment) {
98
+ if (!segment) return void 0;
99
+ const match = segment.match(/\.([a-zA-Z0-9]+)(?:\?.*)?$/);
100
+ return match ? match[1] : null;
101
+ }
102
+ function parsePlaylistUrls(playlistContent) {
103
+ const lines = playlistContent.split("\n");
104
+ const urls = [];
105
+ for (let i = 0; i < lines.length; i++) if (lines[i].trim().startsWith("#EXT-X-STREAM-INF")) {
106
+ const nextLine = lines[i + 1] ? lines[i + 1].trim() : "";
107
+ if (nextLine && !nextLine.startsWith("#")) urls.push(nextLine);
108
+ }
109
+ return urls;
110
+ }
111
+ function parseSegment(playlistContent) {
112
+ return playlistContent.split("\n").find((line) => !line.trim().startsWith("#") && line.trim() !== "");
113
+ }
114
+ async function isHls(url) {
115
+ if (!url) return false;
116
+ if (/\.m3u8?(\?.*)?$/i.test(url)) return true;
117
+ if (url.startsWith("blob:")) return false;
118
+ try {
119
+ const contentType = (await fetch(url, { method: "HEAD" })).headers.get("Content-Type");
120
+ if (!contentType) return false;
121
+ const normalizedContentType = contentType.toLowerCase().split(";")[0].trim();
122
+ return HLS_RESPONSE_HEADERS.some((header) => normalizedContentType === header.toLowerCase());
123
+ } catch (err) {
124
+ console.error("Error while trying to get the Content-Type of the manifest", err);
125
+ return false;
126
+ }
127
+ }
128
+ async function getPlaylistSegmentFormat(url) {
129
+ try {
130
+ const mainManifestContent = await (await fetch(url)).text();
131
+ let availableChunksContent = mainManifestContent;
132
+ const playlists = parsePlaylistUrls(mainManifestContent);
133
+ if (playlists.length > 0) {
134
+ const chosenPlaylistUrl = new URL(playlists[0], url).toString();
135
+ availableChunksContent = await (await fetch(chosenPlaylistUrl)).text();
136
+ }
137
+ return getFormat(parseSegment(availableChunksContent));
138
+ } catch (err) {
139
+ console.error("Error while trying to parse the manifest playlist", err);
140
+ return;
141
+ }
142
+ }
143
+
144
+ //#endregion
145
+ //#region ../core/dist/dev/dom/media/castable/google-cast-provider.js
146
+ const providerInstances = new IterableWeakSet();
147
+ const castElementRef = /* @__PURE__ */ new WeakSet();
148
+ let cf;
149
+ onCastApiAvailable(() => {
150
+ if (!globalThis.chrome?.cast?.isAvailable) {
151
+ console.debug("chrome.cast.isAvailable", globalThis.chrome?.cast?.isAvailable);
152
+ return;
153
+ }
154
+ if (!cf) {
155
+ cf = cast.framework;
156
+ castContext().addEventListener(cf.CastContextEventType.CAST_STATE_CHANGED, () => {
157
+ providerInstances.forEach((p) => p.onCastStateChanged());
158
+ });
159
+ castContext().addEventListener(cf.CastContextEventType.SESSION_STATE_CHANGED, () => {
160
+ providerInstances.forEach((p) => p.onSessionStateChanged());
161
+ });
162
+ providerInstances.forEach((p) => p.init());
163
+ }
164
+ });
165
+ var GoogleCastProvider = class {
166
+ media;
167
+ seeking = false;
168
+ #hooks = {};
169
+ #isInit = false;
170
+ #local;
171
+ #remote;
172
+ #remoteListeners;
173
+ #listenersAttached = false;
174
+ #playbackRate = 1;
175
+ #localPaused = false;
176
+ #onTextTrackChange = () => this.#updateRemoteTextTrack();
177
+ #onMediaUpdate = () => this.#checkPlaybackRate();
178
+ constructor(media, local) {
179
+ this.media = media;
180
+ this.#local = local;
181
+ providerInstances.add(this);
182
+ this.init();
183
+ }
184
+ bindHooks(hooks) {
185
+ Object.assign(this.#hooks, hooks);
186
+ }
187
+ get isCasting() {
188
+ return castElementRef.has(this.media);
189
+ }
190
+ set isCasting(value) {
191
+ if (value) castElementRef.add(this.media);
192
+ else castElementRef.delete(this.media);
193
+ }
194
+ hasDevicesAvailable() {
195
+ const state = castContext()?.getCastState();
196
+ return !!state && state !== cast.framework.CastState.NO_DEVICES_AVAILABLE;
197
+ }
198
+ async requestCastSession() {
199
+ if (!this.#isCastApiAvailable()) throw new NotSupportedError("The RemotePlayback API is disabled on this platform.");
200
+ const willDisconnect = this.isCasting;
201
+ this.isCasting = true;
202
+ this.#applyCastOptions();
203
+ this.#attachRemoteListeners();
204
+ try {
205
+ await castContext().requestSession();
206
+ } catch (err) {
207
+ if (!willDisconnect) this.isCasting = false;
208
+ if (err === "cancel") return;
209
+ throw new Error(err);
210
+ }
211
+ this.#localPaused = this.#local.paused();
212
+ this.#local.pause();
213
+ this.muted = this.#local.muted();
214
+ try {
215
+ await this.load();
216
+ } catch (err) {
217
+ console.error(err);
218
+ }
219
+ }
220
+ async load() {
221
+ const mediaInfo = new chrome.cast.media.MediaInfo(this.media.castSrc, this.media.castContentType ?? "");
222
+ mediaInfo.customData = this.media.castCustomData ?? null;
223
+ const subtitles = [...this.media.querySelectorAll("track")].filter((el) => el.src && (el.kind === "subtitles" || el.kind === "captions"));
224
+ const { Track, TrackType, TextTrackType } = chrome.cast.media;
225
+ const activeTrackIds = [];
226
+ if (subtitles.length) mediaInfo.tracks = subtitles.map((el, i) => {
227
+ const trackId = i + 1;
228
+ if (!activeTrackIds.length && el.track.mode === "showing") activeTrackIds.push(trackId);
229
+ const track = new Track(trackId, TrackType.TEXT);
230
+ track.trackContentId = el.src;
231
+ track.trackContentType = "text/vtt";
232
+ track.subtype = el.kind === "captions" ? TextTrackType.CAPTIONS : TextTrackType.SUBTITLES;
233
+ track.name = el.label;
234
+ track.language = el.srclang;
235
+ return track;
236
+ });
237
+ mediaInfo.streamType = this.media.castStreamType === "live" ? chrome.cast.media.StreamType.LIVE : chrome.cast.media.StreamType.BUFFERED;
238
+ mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
239
+ mediaInfo.metadata.title = this.media.title;
240
+ mediaInfo.metadata.images = [new chrome.cast.Image(this.media.poster)];
241
+ if (await isHls(this.media.castSrc)) {
242
+ mediaInfo.contentType ||= "application/x-mpegURL";
243
+ const fmt = await getPlaylistSegmentFormat(this.media.castSrc) ?? "";
244
+ const { HlsSegmentFormat: HS, HlsVideoSegmentFormat: HVS } = chrome.cast.media;
245
+ if (fmt.includes("m4s") || fmt.includes("mp4")) {
246
+ mediaInfo.hlsSegmentFormat = HS.FMP4;
247
+ mediaInfo.hlsVideoSegmentFormat = HVS.FMP4;
248
+ } else if (fmt.includes("ts")) {
249
+ mediaInfo.hlsSegmentFormat = HS.TS;
250
+ mediaInfo.hlsVideoSegmentFormat = HVS.TS;
251
+ }
252
+ }
253
+ const request = new chrome.cast.media.LoadRequest(mediaInfo);
254
+ request.currentTime = this.#local.currentTime();
255
+ request.autoplay = !this.#localPaused;
256
+ request.activeTrackIds = activeTrackIds;
257
+ await currentSession()?.loadMedia(request);
258
+ this.media.dispatchEvent(new Event("volumechange"));
259
+ }
260
+ async play() {
261
+ if (!this.#remote.isMediaLoaded) {
262
+ this.#localPaused = false;
263
+ await this.load();
264
+ return;
265
+ }
266
+ if (this.paused) {
267
+ this.#remote.controller?.playOrPause();
268
+ return new Promise((resolve) => {
269
+ this.media.addEventListener("play", () => resolve(), { once: true });
270
+ });
271
+ }
272
+ }
273
+ pause() {
274
+ if (!this.paused) this.#remote.controller?.playOrPause();
275
+ }
276
+ get paused() {
277
+ return this.#remote.isPaused || this.ended;
278
+ }
279
+ get ended() {
280
+ return this.#remote.playerState === chrome.cast.media.PlayerState.IDLE && currentMedia()?.idleReason === chrome.cast.media.IdleReason.FINISHED;
281
+ }
282
+ get muted() {
283
+ return this.#remote.isMuted;
284
+ }
285
+ set muted(value) {
286
+ if (value !== this.#remote.isMuted) this.#remote.controller?.muteOrUnmute();
287
+ }
288
+ get volume() {
289
+ return this.#remote.volumeLevel ?? 1;
290
+ }
291
+ set volume(value) {
292
+ this.#remote.volumeLevel = +value;
293
+ this.#remote.controller?.setVolumeLevel();
294
+ }
295
+ get playbackRate() {
296
+ return currentMedia()?.playbackRate ?? 1;
297
+ }
298
+ set playbackRate(value) {
299
+ setPlaybackRate(value);
300
+ }
301
+ get duration() {
302
+ if (this.#remote?.isMediaLoaded) return this.#remote.duration ?? NaN;
303
+ return this.#local.duration();
304
+ }
305
+ get currentTime() {
306
+ if (this.#remote?.isMediaLoaded) return this.#remote.currentTime ?? 0;
307
+ return this.#local.currentTime();
308
+ }
309
+ set currentTime(value) {
310
+ this.#remote.currentTime = value;
311
+ this.#notifySeeking();
312
+ this.#remote.controller?.seek();
313
+ }
314
+ get readyState() {
315
+ switch (this.#remote.playerState) {
316
+ case chrome.cast.media.PlayerState.IDLE: return 0;
317
+ case chrome.cast.media.PlayerState.BUFFERING: return 2;
318
+ default: return 3;
319
+ }
320
+ }
321
+ init() {
322
+ if (!cf || this.#isInit) return;
323
+ this.#isInit = true;
324
+ this.#applyCastOptions();
325
+ this.media.textTracks.addEventListener("change", this.#onTextTrackChange);
326
+ this.onCastStateChanged();
327
+ this.#remote = new cf.RemotePlayer();
328
+ new cf.RemotePlayerController(this.#remote);
329
+ this.#remoteListeners = {
330
+ [cf.RemotePlayerEventType.IS_CONNECTED_CHANGED]: (event) => {
331
+ if (event?.value === true) this.#hooks.setState?.("connected");
332
+ else {
333
+ this.#disconnect();
334
+ this.#hooks.setState?.("disconnected");
335
+ }
336
+ },
337
+ [cf.RemotePlayerEventType.DURATION_CHANGED]: () => {
338
+ this.media.dispatchEvent(new Event("durationchange"));
339
+ },
340
+ [cf.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]: () => {
341
+ this.media.dispatchEvent(new Event("volumechange"));
342
+ },
343
+ [cf.RemotePlayerEventType.IS_MUTED_CHANGED]: () => {
344
+ this.media.dispatchEvent(new Event("volumechange"));
345
+ },
346
+ [cf.RemotePlayerEventType.CURRENT_TIME_CHANGED]: () => {
347
+ if (!this.isCasting || !this.#remote.isMediaLoaded) return;
348
+ this.#notifySeeked();
349
+ this.media.dispatchEvent(new Event("timeupdate"));
350
+ },
351
+ [cf.RemotePlayerEventType.VIDEO_INFO_CHANGED]: () => {
352
+ this.media.dispatchEvent(new Event("resize"));
353
+ },
354
+ [cf.RemotePlayerEventType.IS_PAUSED_CHANGED]: () => {
355
+ this.media.dispatchEvent(new Event(this.isCasting && this.#remote.isPaused ? "pause" : "play"));
356
+ },
357
+ [cf.RemotePlayerEventType.PLAYER_STATE_CHANGED]: () => {
358
+ const PS = chrome.cast.media.PlayerState;
359
+ const state = this.isCasting ? this.#remote.playerState : void 0;
360
+ if (state !== PS.BUFFERING) this.#notifySeeked();
361
+ if (state === PS.PAUSED) return;
362
+ if (state === PS.IDLE) {
363
+ const finished = currentMedia()?.idleReason === chrome.cast.media.IdleReason.FINISHED;
364
+ this.media.dispatchEvent(new Event(finished ? "ended" : "emptied"));
365
+ return;
366
+ }
367
+ if (state === PS.PLAYING) this.media.dispatchEvent(new Event("playing"));
368
+ else if (state === PS.BUFFERING) this.media.dispatchEvent(new Event("waiting"));
369
+ },
370
+ [cf.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]: async () => {
371
+ if (!this.isCasting || !this.#remote.isMediaLoaded) return;
372
+ await Promise.resolve();
373
+ this.#onRemoteMediaLoaded();
374
+ }
375
+ };
376
+ }
377
+ onCastStateChanged() {
378
+ if (!this.#isInit) return;
379
+ const CS = cast.framework.CastState;
380
+ const state = castContext().getCastState();
381
+ if (this.isCasting && state === CS.CONNECTING) this.#hooks.setState?.("connecting");
382
+ this.#hooks.setAvailable?.(!!state && state !== CS.NO_DEVICES_AVAILABLE);
383
+ }
384
+ async onSessionStateChanged() {
385
+ if (!this.#isInit) return;
386
+ const { SESSION_RESUMED } = cf.SessionState;
387
+ if (castContext().getSessionState() === SESSION_RESUMED) {
388
+ if (this.media.castSrc === currentMedia()?.media?.contentId) {
389
+ castElementRef.add(this.media);
390
+ this.#attachRemoteListeners();
391
+ try {
392
+ await getMediaStatus(new chrome.cast.media.GetStatusRequest());
393
+ } catch (error) {
394
+ console.error(error);
395
+ }
396
+ this.#remoteListeners[cf.RemotePlayerEventType.IS_PAUSED_CHANGED]();
397
+ this.#remoteListeners[cf.RemotePlayerEventType.PLAYER_STATE_CHANGED]();
398
+ this.media.dispatchEvent(new Event("ratechange"));
399
+ }
400
+ }
401
+ }
402
+ destroy() {
403
+ providerInstances.delete(this);
404
+ currentMedia()?.removeUpdateListener(this.#onMediaUpdate);
405
+ this.media.textTracks?.removeEventListener("change", this.#onTextTrackChange);
406
+ this.#detachRemoteListeners();
407
+ this.isCasting = false;
408
+ this.#isInit = false;
409
+ }
410
+ #isCastApiAvailable() {
411
+ return Boolean(globalThis.chrome?.cast?.isAvailable);
412
+ }
413
+ #applyCastOptions() {
414
+ setCastOptions(this.media.castOptions);
415
+ }
416
+ #attachRemoteListeners() {
417
+ if (this.#listenersAttached) return;
418
+ const controller = this.#remote?.controller;
419
+ if (!controller) return;
420
+ for (const [type, handler] of Object.entries(this.#remoteListeners)) controller.addEventListener(type, handler);
421
+ this.#listenersAttached = true;
422
+ }
423
+ #detachRemoteListeners() {
424
+ if (!this.#listenersAttached) return;
425
+ const controller = this.#remote?.controller;
426
+ if (controller) for (const [type, handler] of Object.entries(this.#remoteListeners)) controller.removeEventListener(type, handler);
427
+ this.#listenersAttached = false;
428
+ }
429
+ #disconnect() {
430
+ if (!this.isCasting) return;
431
+ currentMedia()?.removeUpdateListener(this.#onMediaUpdate);
432
+ this.#detachRemoteListeners();
433
+ this.seeking = false;
434
+ this.#playbackRate = 1;
435
+ this.isCasting = false;
436
+ this.media.muted = this.#remote.isMuted;
437
+ const saved = this.#remote.savedPlayerState;
438
+ if (saved) {
439
+ this.media.currentTime = saved.currentTime;
440
+ if (saved.isPaused === false) this.media.play();
441
+ }
442
+ }
443
+ #notifySeeking() {
444
+ this.seeking = true;
445
+ this.media.dispatchEvent(new Event("seeking"));
446
+ }
447
+ #notifySeeked() {
448
+ if (!this.seeking) return;
449
+ this.seeking = false;
450
+ this.media.dispatchEvent(new Event("seeked"));
451
+ }
452
+ #onRemoteMediaLoaded() {
453
+ this.#playbackRate = currentMedia()?.playbackRate ?? 1;
454
+ currentMedia()?.addUpdateListener(this.#onMediaUpdate);
455
+ this.#updateRemoteTextTrack();
456
+ }
457
+ #checkPlaybackRate() {
458
+ const rate = currentMedia()?.playbackRate ?? 1;
459
+ if (rate !== this.#playbackRate) {
460
+ this.#playbackRate = rate;
461
+ this.media.dispatchEvent(new Event("ratechange"));
462
+ }
463
+ }
464
+ async #updateRemoteTextTrack() {
465
+ if (!this.isCasting) return;
466
+ const localSubs = [...this.media.textTracks].filter(({ kind }) => kind === "subtitles" || kind === "captions");
467
+ const matched = (this.#remote.mediaInfo?.tracks ?? []).filter(({ type }) => type === chrome.cast.media.TrackType.TEXT).flatMap(({ language, name, trackId }) => {
468
+ const local = localSubs.find((l) => l.language === language && l.label === name);
469
+ return local?.mode ? [{
470
+ mode: local.mode,
471
+ trackId
472
+ }] : [];
473
+ });
474
+ const hidden = new Set(matched.filter((m) => m.mode !== "showing").map((m) => m.trackId));
475
+ const showing = matched.find((m) => m.mode === "showing")?.trackId;
476
+ const active = currentSession()?.getSessionObj().media[0]?.activeTrackIds ?? [];
477
+ const next = new Set(active.filter((id) => !hidden.has(id)));
478
+ if (showing) next.add(showing);
479
+ if (next.size === active.length && active.every((id) => next.has(id))) return;
480
+ try {
481
+ await editTracksInfo(new chrome.cast.media.EditTracksInfoRequest([...next]));
482
+ } catch (error) {
483
+ console.error(error);
484
+ }
485
+ }
486
+ };
487
+
488
+ //#endregion
489
+ //#region ../core/dist/dev/dom/media/castable/remote-playback.js
490
+ let callbackIdCount = 0;
491
+ var RemotePlayback = class extends EventTarget {
492
+ #provider;
493
+ #state = "disconnected";
494
+ #available = false;
495
+ #callbacks = /* @__PURE__ */ new Map();
496
+ constructor(provider) {
497
+ super();
498
+ this.#provider = provider;
499
+ provider.bindHooks({
500
+ setState: (next) => this.#setState(next),
501
+ setAvailable: (available) => this.#setAvailable(available)
502
+ });
503
+ }
504
+ get state() {
505
+ return this.#state;
506
+ }
507
+ async watchAvailability(callback) {
508
+ this.#assertEnabled();
509
+ const id = ++callbackIdCount;
510
+ this.#callbacks.set(id, callback);
511
+ queueMicrotask(() => callback(this.#provider.hasDevicesAvailable()));
512
+ return id;
513
+ }
514
+ async cancelWatchAvailability(callbackId) {
515
+ this.#assertEnabled();
516
+ if (callbackId === void 0) {
517
+ this.#callbacks.clear();
518
+ return;
519
+ }
520
+ if (!this.#callbacks.delete(callbackId)) throw new NotFoundError(`Callback not found for id ${callbackId}.`);
521
+ }
522
+ async prompt() {
523
+ this.#assertEnabled();
524
+ await this.#provider.requestCastSession();
525
+ }
526
+ #assertEnabled() {
527
+ if (this.#provider.media.disableRemotePlayback) throw new InvalidStateError("disableRemotePlayback attribute is present.");
528
+ }
529
+ #setState(next) {
530
+ if (this.#state === next) return;
531
+ this.#state = next;
532
+ if (next === "connecting") this.dispatchEvent(new Event("connecting"));
533
+ else if (next === "connected") this.dispatchEvent(new Event("connect"));
534
+ else this.dispatchEvent(new Event("disconnect"));
535
+ }
536
+ #setAvailable(available) {
537
+ if (this.#available === available) return;
538
+ this.#available = available;
539
+ for (const callback of this.#callbacks.values()) callback(available);
540
+ }
541
+ };
542
+
543
+ //#endregion
544
+ //#region ../core/dist/dev/dom/media/castable/index.js
545
+ const CastableMediaMixin = (superclass) => {
546
+ class CastableMedia extends superclass {
547
+ #castOptions = getDefaultCastOptions();
548
+ #castCustomData;
549
+ #castSrc;
550
+ #castContentType;
551
+ #castStreamType;
552
+ #castReceiver;
553
+ #remote;
554
+ #provider;
555
+ #destroyed = false;
556
+ get remote() {
557
+ if (this.#remote) return this.#remote;
558
+ if (this.#destroyed) return super.remote;
559
+ if (requiresCastFramework()) {
560
+ if (!this.disableRemotePlayback) loadCastFramework();
561
+ this.#provider = new GoogleCastProvider(this, {
562
+ duration: () => super.duration,
563
+ currentTime: () => super.currentTime,
564
+ paused: () => super.paused,
565
+ muted: () => super.muted,
566
+ pause: () => super.pause()
567
+ });
568
+ return this.#remote = new RemotePlayback(this.#provider);
569
+ }
570
+ return super.remote;
571
+ }
572
+ attach(target) {
573
+ super.attach(target);
574
+ if (requiresCastFramework() && !this.disableRemotePlayback) loadCastFramework();
575
+ }
576
+ detach() {
577
+ super.detach();
578
+ }
579
+ destroy() {
580
+ this.#provider?.destroy();
581
+ this.#provider = null;
582
+ this.#remote = null;
583
+ this.#destroyed = true;
584
+ super.destroy();
585
+ }
586
+ async load() {
587
+ if (!this.#provider?.isCasting) return super.load();
588
+ return this.#provider.load();
589
+ }
590
+ play() {
591
+ if (this.#provider?.isCasting) return this.#provider.play();
592
+ return super.play();
593
+ }
594
+ pause() {
595
+ if (this.#provider?.isCasting) {
596
+ this.#provider.pause();
597
+ return;
598
+ }
599
+ super.pause();
600
+ }
601
+ get castOptions() {
602
+ return this.#castOptions;
603
+ }
604
+ get castReceiver() {
605
+ return this.#castReceiver;
606
+ }
607
+ set castReceiver(val) {
608
+ if (this.#castReceiver === val) return;
609
+ this.#castReceiver = val;
610
+ if (val) this.#castOptions.receiverApplicationId = val;
611
+ }
612
+ get castSrc() {
613
+ return this.#castSrc ?? this.querySelector("source")?.src ?? this.src ?? this.currentSrc;
614
+ }
615
+ set castSrc(val) {
616
+ if (this.#castSrc === val) return;
617
+ this.#castSrc = val;
618
+ if (this.#provider?.isCasting) this.load();
619
+ }
620
+ get castContentType() {
621
+ return this.#castContentType;
622
+ }
623
+ set castContentType(val) {
624
+ this.#castContentType = val;
625
+ }
626
+ get castStreamType() {
627
+ return this.#castStreamType ?? this.streamType;
628
+ }
629
+ set castStreamType(val) {
630
+ if (this.#castStreamType === val) return;
631
+ this.#castStreamType = val;
632
+ if (this.#provider?.isCasting) this.load();
633
+ }
634
+ get castCustomData() {
635
+ return this.#castCustomData;
636
+ }
637
+ set castCustomData(val) {
638
+ const valType = typeof val;
639
+ if (!["object", "undefined"].includes(valType)) {
640
+ console.error(`castCustomData must be nullish or an object but value was of type ${valType}`);
641
+ return;
642
+ }
643
+ this.#castCustomData = val;
644
+ }
645
+ get seeking() {
646
+ if (this.#provider?.isCasting) return this.#provider.seeking;
647
+ return super.seeking;
648
+ }
649
+ get readyState() {
650
+ if (this.#provider?.isCasting) return this.#provider.readyState;
651
+ return super.readyState;
652
+ }
653
+ get paused() {
654
+ if (this.#provider?.isCasting) return this.#provider.paused;
655
+ return super.paused;
656
+ }
657
+ get ended() {
658
+ if (this.#provider?.isCasting) return this.#provider.ended;
659
+ return super.ended;
660
+ }
661
+ get muted() {
662
+ if (this.#provider?.isCasting) return this.#provider.muted;
663
+ return super.muted;
664
+ }
665
+ set muted(val) {
666
+ if (this.#provider?.isCasting) {
667
+ this.#provider.muted = val;
668
+ return;
669
+ }
670
+ super.muted = val;
671
+ }
672
+ get volume() {
673
+ if (this.#provider?.isCasting) return this.#provider.volume;
674
+ return super.volume;
675
+ }
676
+ set volume(val) {
677
+ if (this.#provider?.isCasting) {
678
+ this.#provider.volume = val;
679
+ return;
680
+ }
681
+ super.volume = val;
682
+ }
683
+ get playbackRate() {
684
+ if (this.#provider?.isCasting) return this.#provider.playbackRate;
685
+ return super.playbackRate;
686
+ }
687
+ set playbackRate(val) {
688
+ if (this.#provider?.isCasting) {
689
+ this.#provider.playbackRate = val;
690
+ return;
691
+ }
692
+ super.playbackRate = val;
693
+ }
694
+ get duration() {
695
+ if (this.#provider?.isCasting) return this.#provider.duration;
696
+ return super.duration;
697
+ }
698
+ get currentTime() {
699
+ if (this.#provider?.isCasting) return this.#provider.currentTime;
700
+ return super.currentTime;
701
+ }
702
+ set currentTime(val) {
703
+ if (this.#provider?.isCasting) {
704
+ this.#provider.currentTime = val;
705
+ return;
706
+ }
707
+ super.currentTime = val;
708
+ }
709
+ }
710
+ return CastableMedia;
711
+ };
712
+
713
+ //#endregion
714
+ //#region ../core/dist/dev/dom/media/mux/env.js
715
+ const getEnvPlayerVersion = () => {
716
+ try {
717
+ return "10.0.0-beta.22";
718
+ } catch {}
719
+ return "UNKNOWN";
720
+ };
721
+ const player_version = getEnvPlayerVersion();
722
+ const getPlayerVersion = () => player_version;
723
+
724
+ //#endregion
725
+ //#region ../../node_modules/.pnpm/mux-embed@5.17.10/node_modules/mux-embed/dist/mux.mjs
726
+ var ea = Object.create;
727
+ var _t = Object.defineProperty;
728
+ var ta = Object.getOwnPropertyDescriptor;
729
+ var ra = Object.getOwnPropertyNames;
730
+ var aa = Object.getPrototypeOf, ia = Object.prototype.hasOwnProperty;
731
+ var ft = function(r, e) {
732
+ return function() {
733
+ return r && (e = r(r = 0)), e;
734
+ };
735
+ };
736
+ var B = function(r, e) {
737
+ return function() {
738
+ return e || r((e = { exports: {} }).exports, e), e.exports;
739
+ };
740
+ };
741
+ var na = function(r, e, t, i) {
742
+ if (e && typeof e == "object" || typeof e == "function") for (var a = ra(e), n = 0, o = a.length, s; n < o; n++) s = a[n], !ia.call(r, s) && s !== t && _t(r, s, {
743
+ get: function(u) {
744
+ return e[u];
745
+ }.bind(null, s),
746
+ enumerable: !(i = ta(e, s)) || i.enumerable
747
+ });
748
+ return r;
749
+ };
750
+ var G = function(r, e, t) {
751
+ return t = r != null ? ea(aa(r)) : {}, na(e || !r || !r.__esModule ? _t(t, "default", {
752
+ value: r,
753
+ enumerable: !0
754
+ }) : t, r);
755
+ };
756
+ var Q = B(function(Zi, ht) {
757
+ var xe;
758
+ typeof window != "undefined" ? xe = window : typeof global != "undefined" ? xe = global : typeof self != "undefined" ? xe = self : xe = {};
759
+ ht.exports = xe;
760
+ });
761
+ function U(r, e) {
762
+ return e != null && typeof Symbol != "undefined" && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](r) : U(r, e);
763
+ }
764
+ var te = ft(function() {
765
+ te();
766
+ });
767
+ function Ne(r) {
768
+ "@swc/helpers - typeof";
769
+ return r && typeof Symbol != "undefined" && r.constructor === Symbol ? "symbol" : typeof r;
770
+ }
771
+ var Qe = ft(function() {});
772
+ var Ye = B(function(qs, cr) {
773
+ var dr = Array.prototype.slice;
774
+ cr.exports = Na;
775
+ function Na(r, e) {
776
+ for (("length" in r) || (r = [r]), r = dr.call(r); r.length;) {
777
+ var t = r.shift(), i = e(t);
778
+ if (i) return i;
779
+ t.childNodes && t.childNodes.length && (r = dr.call(t.childNodes).concat(r));
780
+ }
781
+ }
782
+ });
783
+ var fr = B(function(Ps, _r) {
784
+ te();
785
+ _r.exports = ve;
786
+ function ve(r, e) {
787
+ if (!U(this, ve)) return new ve(r, e);
788
+ this.data = r, this.nodeValue = r, this.length = r.length, this.ownerDocument = e || null;
789
+ }
790
+ ve.prototype.nodeType = 8;
791
+ ve.prototype.nodeName = "#comment";
792
+ ve.prototype.toString = function() {
793
+ return "[object Comment]";
794
+ };
795
+ });
796
+ var mr = B(function(Ls, pr) {
797
+ te();
798
+ pr.exports = ae;
799
+ function ae(r, e) {
800
+ if (!U(this, ae)) return new ae(r);
801
+ this.data = r || "", this.length = this.data.length, this.ownerDocument = e || null;
802
+ }
803
+ ae.prototype.type = "DOMTextNode";
804
+ ae.prototype.nodeType = 3;
805
+ ae.prototype.nodeName = "#text";
806
+ ae.prototype.toString = function() {
807
+ return this.data;
808
+ };
809
+ ae.prototype.replaceData = function(e, t, i) {
810
+ var a = this.data, n = a.substring(0, e), o = a.substring(e + t, a.length);
811
+ this.data = n + i + o, this.length = this.data.length;
812
+ };
813
+ });
814
+ var Xe = B(function(Is, vr) {
815
+ vr.exports = Ca;
816
+ function Ca(r) {
817
+ var e = this, t = r.type;
818
+ r.target || (r.target = e), e.listeners || (e.listeners = {});
819
+ var i = e.listeners[t];
820
+ if (i) return i.forEach(function(a) {
821
+ r.currentTarget = e, typeof a == "function" ? a(r) : a.handleEvent(r);
822
+ });
823
+ e.parentNode && e.parentNode.dispatchEvent(r);
824
+ }
825
+ });
826
+ var $e = B(function(Ns, hr) {
827
+ hr.exports = Ma;
828
+ function Ma(r, e) {
829
+ var t = this;
830
+ t.listeners || (t.listeners = {}), t.listeners[r] || (t.listeners[r] = []), t.listeners[r].indexOf(e) === -1 && t.listeners[r].push(e);
831
+ }
832
+ });
833
+ var Ze = B(function(Cs, yr) {
834
+ yr.exports = Ha;
835
+ function Ha(r, e) {
836
+ var t = this;
837
+ if (t.listeners && t.listeners[r]) {
838
+ var i = t.listeners[r], a = i.indexOf(e);
839
+ a !== -1 && i.splice(a, 1);
840
+ }
841
+ }
842
+ });
843
+ var Tr = B(function(Hs, wr) {
844
+ Qe();
845
+ wr.exports = gr;
846
+ var Ba = [
847
+ "area",
848
+ "base",
849
+ "br",
850
+ "col",
851
+ "embed",
852
+ "hr",
853
+ "img",
854
+ "input",
855
+ "keygen",
856
+ "link",
857
+ "menuitem",
858
+ "meta",
859
+ "param",
860
+ "source",
861
+ "track",
862
+ "wbr"
863
+ ];
864
+ function gr(r) {
865
+ switch (r.nodeType) {
866
+ case 3: return et(r.data);
867
+ case 8: return "<!--" + r.data + "-->";
868
+ default: return Ua(r);
869
+ }
870
+ }
871
+ function Ua(r) {
872
+ var e = [], t = r.tagName;
873
+ return r.namespaceURI === "http://www.w3.org/1999/xhtml" && (t = t.toLowerCase()), e.push("<" + t + Wa(r) + ja(r)), Ba.indexOf(t) > -1 ? e.push(" />") : (e.push(">"), r.childNodes.length ? e.push.apply(e, r.childNodes.map(gr)) : r.textContent || r.innerText ? e.push(et(r.textContent || r.innerText)) : r.innerHTML && e.push(r.innerHTML), e.push("</" + t + ">")), e.join("");
874
+ }
875
+ function Fa(r, e) {
876
+ var t = Ne(r[e]);
877
+ return e === "style" && Object.keys(r.style).length > 0 ? !0 : r.hasOwnProperty(e) && (t === "string" || t === "boolean" || t === "number") && e !== "nodeName" && e !== "className" && e !== "tagName" && e !== "textContent" && e !== "innerText" && e !== "namespaceURI" && e !== "innerHTML";
878
+ }
879
+ function Va(r) {
880
+ if (typeof r == "string") return r;
881
+ var e = "";
882
+ return Object.keys(r).forEach(function(t) {
883
+ var i = r[t];
884
+ t = t.replace(/[A-Z]/g, function(a) {
885
+ return "-" + a.toLowerCase();
886
+ }), e += t + ":" + i + ";";
887
+ }), e;
888
+ }
889
+ function ja(r) {
890
+ var e = r.dataset, t = [];
891
+ for (var i in e) t.push({
892
+ name: "data-" + i,
893
+ value: e[i]
894
+ });
895
+ return t.length ? br(t) : "";
896
+ }
897
+ function br(r) {
898
+ var e = [];
899
+ return r.forEach(function(t) {
900
+ var i = t.name, a = t.value;
901
+ i === "style" && (a = Va(a)), e.push(i + "=\"" + Ga(a) + "\"");
902
+ }), e.length ? " " + e.join(" ") : "";
903
+ }
904
+ function Wa(r) {
905
+ var e = [];
906
+ for (var t in r) Fa(r, t) && e.push({
907
+ name: t,
908
+ value: r[t]
909
+ });
910
+ for (var i in r._attributes) for (var a in r._attributes[i]) {
911
+ var n = r._attributes[i][a], o = (n.prefix ? n.prefix + ":" : "") + a;
912
+ e.push({
913
+ name: o,
914
+ value: n.value
915
+ });
916
+ }
917
+ return r.className && e.push({
918
+ name: "class",
919
+ value: r.className
920
+ }), e.length ? br(e) : "";
921
+ }
922
+ function et(r) {
923
+ var e = "";
924
+ return typeof r == "string" ? e = r : r && (e = r.toString()), e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
925
+ }
926
+ function Ga(r) {
927
+ return et(r).replace(/"/g, "&quot;");
928
+ }
929
+ });
930
+ var rt = B(function(Us, Er) {
931
+ te();
932
+ var tt = Ye(), Ja = Xe(), Qa = $e(), za = Ze(), Ka = Tr(), kr = "http://www.w3.org/1999/xhtml";
933
+ Er.exports = I;
934
+ function I(r, e, t) {
935
+ if (!U(this, I)) return new I(r);
936
+ var i = t === void 0 ? kr : t || null;
937
+ this.tagName = i === kr ? String(r).toUpperCase() : r, this.nodeName = this.tagName, this.className = "", this.dataset = {}, this.childNodes = [], this.parentNode = null, this.style = {}, this.ownerDocument = e || null, this.namespaceURI = i, this._attributes = {}, this.tagName === "INPUT" && (this.type = "text");
938
+ }
939
+ I.prototype.type = "DOMElement";
940
+ I.prototype.nodeType = 1;
941
+ I.prototype.appendChild = function(e) {
942
+ return e.parentNode && e.parentNode.removeChild(e), this.childNodes.push(e), e.parentNode = this, e;
943
+ };
944
+ I.prototype.replaceChild = function(e, t) {
945
+ e.parentNode && e.parentNode.removeChild(e);
946
+ var i = this.childNodes.indexOf(t);
947
+ return t.parentNode = null, this.childNodes[i] = e, e.parentNode = this, t;
948
+ };
949
+ I.prototype.removeChild = function(e) {
950
+ var t = this.childNodes.indexOf(e);
951
+ return this.childNodes.splice(t, 1), e.parentNode = null, e;
952
+ };
953
+ I.prototype.insertBefore = function(e, t) {
954
+ e.parentNode && e.parentNode.removeChild(e);
955
+ var i = t == null ? -1 : this.childNodes.indexOf(t);
956
+ return i > -1 ? this.childNodes.splice(i, 0, e) : this.childNodes.push(e), e.parentNode = this, e;
957
+ };
958
+ I.prototype.setAttributeNS = function(e, t, i) {
959
+ var a = null, n = t, o = t.indexOf(":");
960
+ if (o > -1 && (a = t.substr(0, o), n = t.substr(o + 1)), this.tagName === "INPUT" && t === "type") this.type = i;
961
+ else {
962
+ var s = this._attributes[e] || (this._attributes[e] = {});
963
+ s[n] = {
964
+ value: i,
965
+ prefix: a
966
+ };
967
+ }
968
+ };
969
+ I.prototype.getAttributeNS = function(e, t) {
970
+ var i = this._attributes[e], a = i && i[t] && i[t].value;
971
+ return this.tagName === "INPUT" && t === "type" ? this.type : typeof a != "string" ? null : a;
972
+ };
973
+ I.prototype.removeAttributeNS = function(e, t) {
974
+ var i = this._attributes[e];
975
+ i && delete i[t];
976
+ };
977
+ I.prototype.hasAttributeNS = function(e, t) {
978
+ var i = this._attributes[e];
979
+ return !!i && t in i;
980
+ };
981
+ I.prototype.setAttribute = function(e, t) {
982
+ return this.setAttributeNS(null, e, t);
983
+ };
984
+ I.prototype.getAttribute = function(e) {
985
+ return this.getAttributeNS(null, e);
986
+ };
987
+ I.prototype.removeAttribute = function(e) {
988
+ return this.removeAttributeNS(null, e);
989
+ };
990
+ I.prototype.hasAttribute = function(e) {
991
+ return this.hasAttributeNS(null, e);
992
+ };
993
+ I.prototype.removeEventListener = za;
994
+ I.prototype.addEventListener = Qa;
995
+ I.prototype.dispatchEvent = Ja;
996
+ I.prototype.focus = function() {};
997
+ I.prototype.toString = function() {
998
+ return Ka(this);
999
+ };
1000
+ I.prototype.getElementsByClassName = function(e) {
1001
+ var t = e.split(" "), i = [];
1002
+ return tt(this, function(a) {
1003
+ if (a.nodeType === 1) {
1004
+ var o = (a.className || "").split(" ");
1005
+ t.every(function(s) {
1006
+ return o.indexOf(s) !== -1;
1007
+ }) && i.push(a);
1008
+ }
1009
+ }), i;
1010
+ };
1011
+ I.prototype.getElementsByTagName = function(e) {
1012
+ e = e.toLowerCase();
1013
+ var t = [];
1014
+ return tt(this.childNodes, function(i) {
1015
+ i.nodeType === 1 && (e === "*" || i.tagName.toLowerCase() === e) && t.push(i);
1016
+ }), t;
1017
+ };
1018
+ I.prototype.contains = function(e) {
1019
+ return tt(this, function(t) {
1020
+ return e === t;
1021
+ }) || !1;
1022
+ };
1023
+ });
1024
+ var Sr = B(function(Vs, xr) {
1025
+ te();
1026
+ var at = rt();
1027
+ xr.exports = K;
1028
+ function K(r) {
1029
+ if (!U(this, K)) return new K();
1030
+ this.childNodes = [], this.parentNode = null, this.ownerDocument = r || null;
1031
+ }
1032
+ K.prototype.type = "DocumentFragment";
1033
+ K.prototype.nodeType = 11;
1034
+ K.prototype.nodeName = "#document-fragment";
1035
+ K.prototype.appendChild = at.prototype.appendChild;
1036
+ K.prototype.replaceChild = at.prototype.replaceChild;
1037
+ K.prototype.removeChild = at.prototype.removeChild;
1038
+ K.prototype.toString = function() {
1039
+ return this.childNodes.map(function(e) {
1040
+ return String(e);
1041
+ }).join("");
1042
+ };
1043
+ });
1044
+ var Dr = B(function(js, Rr) {
1045
+ Rr.exports = it;
1046
+ function it(r) {}
1047
+ it.prototype.initEvent = function(e, t, i) {
1048
+ this.type = e, this.bubbles = t, this.cancelable = i;
1049
+ };
1050
+ it.prototype.preventDefault = function() {};
1051
+ });
1052
+ var Ar = B(function(Gs, qr) {
1053
+ te();
1054
+ var Ya = Ye(), Xa = fr(), $a = mr(), De = rt(), Za = Sr(), ei = Dr(), ti = Xe(), ri = $e(), ai = Ze();
1055
+ qr.exports = Ue;
1056
+ function Ue() {
1057
+ if (!U(this, Ue)) return new Ue();
1058
+ this.head = this.createElement("head"), this.body = this.createElement("body"), this.documentElement = this.createElement("html"), this.documentElement.appendChild(this.head), this.documentElement.appendChild(this.body), this.childNodes = [this.documentElement], this.nodeType = 9;
1059
+ }
1060
+ var j = Ue.prototype;
1061
+ j.createTextNode = function(e) {
1062
+ return new $a(e, this);
1063
+ };
1064
+ j.createElementNS = function(e, t) {
1065
+ var i = e === null ? null : String(e);
1066
+ return new De(t, this, i);
1067
+ };
1068
+ j.createElement = function(e) {
1069
+ return new De(e, this);
1070
+ };
1071
+ j.createDocumentFragment = function() {
1072
+ return new Za(this);
1073
+ };
1074
+ j.createEvent = function(e) {
1075
+ return new ei(e);
1076
+ };
1077
+ j.createComment = function(e) {
1078
+ return new Xa(e, this);
1079
+ };
1080
+ j.getElementById = function(e) {
1081
+ e = String(e);
1082
+ return Ya(this.childNodes, function(i) {
1083
+ if (String(i.id) === e) return i;
1084
+ }) || null;
1085
+ };
1086
+ j.getElementsByClassName = De.prototype.getElementsByClassName;
1087
+ j.getElementsByTagName = De.prototype.getElementsByTagName;
1088
+ j.contains = De.prototype.contains;
1089
+ j.removeEventListener = ai;
1090
+ j.addEventListener = ri;
1091
+ j.dispatchEvent = ti;
1092
+ });
1093
+ var Or = B(function(Js, Pr) {
1094
+ Pr.exports = new (Ar())();
1095
+ });
1096
+ var nt = B(function(Qs, Ir) {
1097
+ var Lr = typeof global != "undefined" ? global : typeof window != "undefined" ? window : {}, ni = Or(), qe;
1098
+ typeof document != "undefined" ? qe = document : (qe = Lr["__GLOBAL_DOCUMENT_CACHE@4"], qe || (qe = Lr["__GLOBAL_DOCUMENT_CACHE@4"] = ni));
1099
+ Ir.exports = qe;
1100
+ });
1101
+ function pt(r) {
1102
+ if (Array.isArray(r)) return r;
1103
+ }
1104
+ function mt(r, e) {
1105
+ var t = r == null ? null : typeof Symbol != "undefined" && r[Symbol.iterator] || r["@@iterator"];
1106
+ if (t != null) {
1107
+ var i = [], a = !0, n = !1, o, s;
1108
+ try {
1109
+ for (t = t.call(r); !(a = (o = t.next()).done) && (i.push(o.value), !(e && i.length === e)); a = !0);
1110
+ } catch (u) {
1111
+ n = !0, s = u;
1112
+ } finally {
1113
+ try {
1114
+ !a && t.return != null && t.return();
1115
+ } finally {
1116
+ if (n) throw s;
1117
+ }
1118
+ }
1119
+ return i;
1120
+ }
1121
+ }
1122
+ function vt() {
1123
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1124
+ }
1125
+ function Ee(r, e) {
1126
+ (e == null || e > r.length) && (e = r.length);
1127
+ for (var t = 0, i = new Array(e); t < e; t++) i[t] = r[t];
1128
+ return i;
1129
+ }
1130
+ function Pe(r, e) {
1131
+ if (r) {
1132
+ if (typeof r == "string") return Ee(r, e);
1133
+ var t = Object.prototype.toString.call(r).slice(8, -1);
1134
+ if (t === "Object" && r.constructor && (t = r.constructor.name), t === "Map" || t === "Set") return Array.from(t);
1135
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Ee(r, e);
1136
+ }
1137
+ }
1138
+ function H(r, e) {
1139
+ return pt(r) || mt(r, e) || Pe(r, e) || vt();
1140
+ }
1141
+ var be = G(Q());
1142
+ var Je = G(Q());
1143
+ var yt = G(Q()), P = { now: function() {
1144
+ var r = yt.default.performance, e = r && r.timing, t = e && e.navigationStart, i = typeof t == "number" && typeof r.now == "function" ? t + r.now() : Date.now();
1145
+ return Math.round(i);
1146
+ } };
1147
+ var ee = function() {
1148
+ var e, t, i;
1149
+ if (typeof ((e = Je.default.crypto) === null || e === void 0 ? void 0 : e.getRandomValues) == "function") {
1150
+ i = new Uint8Array(32), Je.default.crypto.getRandomValues(i);
1151
+ for (var a = 0; a < 32; a++) i[a] = i[a] % 16;
1152
+ } else {
1153
+ i = [];
1154
+ for (var n = 0; n < 32; n++) i[n] = Math.random() * 16 | 0;
1155
+ }
1156
+ var o = 0;
1157
+ t = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(f) {
1158
+ var h = f === "x" ? i[o] : i[o] & 3 | 8;
1159
+ return o++, h.toString(16);
1160
+ });
1161
+ var s = P.now(), u = s == null ? void 0 : s.toString(16).substring(3);
1162
+ return u ? t.substring(0, 28) + u : t;
1163
+ }, Oe = function() {
1164
+ return ("000000" + (Math.random() * Math.pow(36, 6) << 0).toString(36)).slice(-6);
1165
+ };
1166
+ var J = function(e) {
1167
+ if (e && typeof e.nodeName != "undefined") return e.muxId || (e.muxId = Oe()), e.muxId;
1168
+ var t;
1169
+ try {
1170
+ t = document.querySelector(e);
1171
+ } catch (i) {}
1172
+ return t && !t.muxId && (t.muxId = e), (t == null ? void 0 : t.muxId) || e;
1173
+ }, se = function(e) {
1174
+ var t;
1175
+ e && typeof e.nodeName != "undefined" ? (t = e, e = J(t)) : t = document.querySelector(e);
1176
+ var i = t && t.nodeName ? t.nodeName.toLowerCase() : "";
1177
+ return [
1178
+ t,
1179
+ e,
1180
+ i
1181
+ ];
1182
+ };
1183
+ function gt(r) {
1184
+ if (Array.isArray(r)) return Ee(r);
1185
+ }
1186
+ function bt(r) {
1187
+ if (typeof Symbol != "undefined" && r[Symbol.iterator] != null || r["@@iterator"] != null) return Array.from(r);
1188
+ }
1189
+ function wt() {
1190
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1191
+ }
1192
+ function V(r) {
1193
+ return gt(r) || bt(r) || Pe(r) || wt();
1194
+ }
1195
+ var Y = {
1196
+ TRACE: 0,
1197
+ DEBUG: 1,
1198
+ INFO: 2,
1199
+ WARN: 3,
1200
+ ERROR: 4,
1201
+ SILENT: 5
1202
+ }, Tt = function(r) {
1203
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 3, t, i, a, n, o, s = r ? [console, r] : [console], u = (t = console.trace).bind.apply(t, V(s)), f = (i = console.info).bind.apply(i, V(s)), h = (a = console.debug).bind.apply(a, V(s)), E = (n = console.warn).bind.apply(n, V(s)), y = (o = console.error).bind.apply(o, V(s)), c = e;
1204
+ return {
1205
+ trace: function() {
1206
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
1207
+ if (!(c > Y.TRACE)) return u.apply(void 0, V(x));
1208
+ },
1209
+ debug: function() {
1210
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
1211
+ if (!(c > Y.DEBUG)) return h.apply(void 0, V(x));
1212
+ },
1213
+ info: function() {
1214
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
1215
+ if (!(c > Y.INFO)) return f.apply(void 0, V(x));
1216
+ },
1217
+ warn: function() {
1218
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
1219
+ if (!(c > Y.WARN)) return E.apply(void 0, V(x));
1220
+ },
1221
+ error: function() {
1222
+ for (var w = arguments.length, x = new Array(w), v = 0; v < w; v++) x[v] = arguments[v];
1223
+ if (!(c > Y.ERROR)) return y.apply(void 0, V(x));
1224
+ },
1225
+ get level() {
1226
+ return c;
1227
+ },
1228
+ set level(p) {
1229
+ p !== this.level && (c = p != null ? p : e);
1230
+ }
1231
+ };
1232
+ };
1233
+ var q = Tt("[mux]");
1234
+ var Le = G(Q());
1235
+ function ce() {
1236
+ return (Le.default.doNotTrack || Le.default.navigator && Le.default.navigator.doNotTrack) === "1";
1237
+ }
1238
+ function b(r) {
1239
+ if (r === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1240
+ return r;
1241
+ }
1242
+ te();
1243
+ function S(r, e) {
1244
+ if (!U(r, e)) throw new TypeError("Cannot call a class as a function");
1245
+ }
1246
+ function kt(r, e) {
1247
+ for (var t = 0; t < e.length; t++) {
1248
+ var i = e[t];
1249
+ i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(r, i.key, i);
1250
+ }
1251
+ }
1252
+ function N(r, e, t) {
1253
+ return e && kt(r.prototype, e), t && kt(r, t), r;
1254
+ }
1255
+ function l(r, e, t) {
1256
+ return e in r ? Object.defineProperty(r, e, {
1257
+ value: t,
1258
+ enumerable: !0,
1259
+ configurable: !0,
1260
+ writable: !0
1261
+ }) : r[e] = t, r;
1262
+ }
1263
+ function X(r) {
1264
+ return X = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {
1265
+ return t.__proto__ || Object.getPrototypeOf(t);
1266
+ }, X(r);
1267
+ }
1268
+ function Et(r, e) {
1269
+ for (; !Object.prototype.hasOwnProperty.call(r, e) && (r = X(r), r !== null););
1270
+ return r;
1271
+ }
1272
+ function Se(r, e, t) {
1273
+ return typeof Reflect != "undefined" && Reflect.get ? Se = Reflect.get : Se = function(a, n, o) {
1274
+ var s = Et(a, n);
1275
+ if (s) {
1276
+ var u = Object.getOwnPropertyDescriptor(s, n);
1277
+ return u.get ? u.get.call(o || a) : u.value;
1278
+ }
1279
+ }, Se(r, e, t || r);
1280
+ }
1281
+ function Ie(r, e) {
1282
+ return Ie = Object.setPrototypeOf || function(i, a) {
1283
+ return i.__proto__ = a, i;
1284
+ }, Ie(r, e);
1285
+ }
1286
+ function xt(r, e) {
1287
+ if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function");
1288
+ r.prototype = Object.create(e && e.prototype, { constructor: {
1289
+ value: r,
1290
+ writable: !0,
1291
+ configurable: !0
1292
+ } }), e && Ie(r, e);
1293
+ }
1294
+ function St(r, e) {
1295
+ if (r == null) return {};
1296
+ var t = {}, i = Object.keys(r), a, n;
1297
+ for (n = 0; n < i.length; n++) a = i[n], !(e.indexOf(a) >= 0) && (t[a] = r[a]);
1298
+ return t;
1299
+ }
1300
+ function Rt(r, e) {
1301
+ if (r == null) return {};
1302
+ var t = St(r, e), i, a;
1303
+ if (Object.getOwnPropertySymbols) {
1304
+ var n = Object.getOwnPropertySymbols(r);
1305
+ for (a = 0; a < n.length; a++) i = n[a], !(e.indexOf(i) >= 0) && Object.prototype.propertyIsEnumerable.call(r, i) && (t[i] = r[i]);
1306
+ }
1307
+ return t;
1308
+ }
1309
+ function Dt() {
1310
+ if (typeof Reflect == "undefined" || !Reflect.construct || Reflect.construct.sham) return !1;
1311
+ if (typeof Proxy == "function") return !0;
1312
+ try {
1313
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})), !0;
1314
+ } catch (r) {
1315
+ return !1;
1316
+ }
1317
+ }
1318
+ Qe();
1319
+ function qt(r, e) {
1320
+ return e && (Ne(e) === "object" || typeof e == "function") ? e : b(r);
1321
+ }
1322
+ function At(r) {
1323
+ var e = Dt();
1324
+ return function() {
1325
+ var i = X(r), a;
1326
+ if (e) {
1327
+ var n = X(this).constructor;
1328
+ a = Reflect.construct(i, arguments, n);
1329
+ } else a = i.apply(this, arguments);
1330
+ return qt(this, a);
1331
+ };
1332
+ }
1333
+ var F = function(r) {
1334
+ return re(r)[0];
1335
+ };
1336
+ var re = function(r) {
1337
+ if (typeof r != "string" || r === "") return ["localhost"];
1338
+ var i = (r.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/) || [])[4], a;
1339
+ return i && (a = (i.match(/[^\.]+\.[^\.]+$/) || [])[0]), [i, a];
1340
+ };
1341
+ var Ce = G(Q()), _e = {
1342
+ exists: function() {
1343
+ var r = Ce.default.performance;
1344
+ return (r && r.timing) !== void 0;
1345
+ },
1346
+ domContentLoadedEventEnd: function() {
1347
+ var r = Ce.default.performance, e = r && r.timing;
1348
+ return e && e.domContentLoadedEventEnd;
1349
+ },
1350
+ navigationStart: function() {
1351
+ var r = Ce.default.performance, e = r && r.timing;
1352
+ return e && e.navigationStart;
1353
+ }
1354
+ };
1355
+ function O(r, e, t) {
1356
+ t = t === void 0 ? 1 : t, r[e] = r[e] || 0, r[e] += t;
1357
+ }
1358
+ function ue(r) {
1359
+ for (var e = 1; e < arguments.length; e++) {
1360
+ var t = arguments[e] != null ? arguments[e] : {}, i = Object.keys(t);
1361
+ typeof Object.getOwnPropertySymbols == "function" && (i = i.concat(Object.getOwnPropertySymbols(t).filter(function(a) {
1362
+ return Object.getOwnPropertyDescriptor(t, a).enumerable;
1363
+ }))), i.forEach(function(a) {
1364
+ l(r, a, t[a]);
1365
+ });
1366
+ }
1367
+ return r;
1368
+ }
1369
+ function ua(r, e) {
1370
+ var t = Object.keys(r);
1371
+ if (Object.getOwnPropertySymbols) {
1372
+ var i = Object.getOwnPropertySymbols(r);
1373
+ e && (i = i.filter(function(a) {
1374
+ return Object.getOwnPropertyDescriptor(r, a).enumerable;
1375
+ })), t.push.apply(t, i);
1376
+ }
1377
+ return t;
1378
+ }
1379
+ function fe(r, e) {
1380
+ return e = e != null ? e : {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(e)) : ua(Object(e)).forEach(function(t) {
1381
+ Object.defineProperty(r, t, Object.getOwnPropertyDescriptor(e, t));
1382
+ }), r;
1383
+ }
1384
+ var la = ["x-cdn", "content-type"], Pt = [
1385
+ "x-request-id",
1386
+ "cf-ray",
1387
+ "x-amz-cf-id",
1388
+ "x-akamai-request-id"
1389
+ ], da = la.concat(Pt);
1390
+ function pe(r) {
1391
+ r = r || "";
1392
+ var e = {};
1393
+ return r.trim().split(/[\r\n]+/).forEach(function(i) {
1394
+ if (i) {
1395
+ var a = i.split(": "), n = a.shift();
1396
+ n && (da.indexOf(n.toLowerCase()) >= 0 || n.toLowerCase().indexOf("x-litix-") === 0) && (e[n] = a.join(": "));
1397
+ }
1398
+ }), e;
1399
+ }
1400
+ function le(r) {
1401
+ if (r) {
1402
+ var e = Pt.find(function(t) {
1403
+ return r[t] !== void 0;
1404
+ });
1405
+ return e ? r[e] : void 0;
1406
+ }
1407
+ }
1408
+ var ca = function(r) {
1409
+ var e = {};
1410
+ for (var t in r) {
1411
+ var i = r[t];
1412
+ if (i["DATA-ID"].search("io.litix.data.") !== -1) {
1413
+ var n = i["DATA-ID"].replace("io.litix.data.", "");
1414
+ e[n] = i.VALUE;
1415
+ }
1416
+ }
1417
+ return e;
1418
+ }, Me = ca;
1419
+ var He = function(r) {
1420
+ if (!r) return {};
1421
+ var e = _e.navigationStart(), t = r.loading, i = t ? t.start : r.trequest, a = t ? t.first : r.tfirst, n = t ? t.end : r.tload;
1422
+ return {
1423
+ bytesLoaded: r.total,
1424
+ requestStart: Math.round(e + i),
1425
+ responseStart: Math.round(e + a),
1426
+ responseEnd: Math.round(e + n)
1427
+ };
1428
+ }, Re = function(r) {
1429
+ if (!(!r || typeof r.getAllResponseHeaders != "function")) return pe(r.getAllResponseHeaders());
1430
+ }, Ot = function(r, e, t) {
1431
+ arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
1432
+ var a = arguments.length > 4 ? arguments[4] : void 0, n = r.log, o = r.utils.secondsToMs, s = function(v) {
1433
+ var m = parseInt(a.version), _;
1434
+ return m === 1 && v.programDateTime !== null && (_ = v.programDateTime), m === 0 && v.pdt !== null && (_ = v.pdt), _;
1435
+ };
1436
+ if (!_e.exists()) {
1437
+ n.warn("performance timing not supported. Not tracking HLS.js.");
1438
+ return;
1439
+ }
1440
+ var u = function(v, m) {
1441
+ return r.emit(e, v, m);
1442
+ }, f = function(v, m) {
1443
+ var _ = m.levels, d = m.audioTracks, g = m.url, T = m.stats, k = m.networkDetails, D = m.sessionData, L = {}, C = {};
1444
+ _.forEach(function(W, oe) {
1445
+ L[oe] = {
1446
+ width: W.width,
1447
+ height: W.height,
1448
+ bitrate: W.bitrate,
1449
+ attrs: W.attrs
1450
+ };
1451
+ }), d.forEach(function(W, oe) {
1452
+ C[oe] = {
1453
+ name: W.name,
1454
+ language: W.lang,
1455
+ bitrate: W.bitrate
1456
+ };
1457
+ });
1458
+ var A = He(T), R = A.bytesLoaded, Z = A.requestStart, we = A.responseStart, Te = A.responseEnd;
1459
+ u("requestcompleted", fe(ue({}, Me(D)), {
1460
+ request_event_type: v,
1461
+ request_bytes_loaded: R,
1462
+ request_start: Z,
1463
+ request_response_start: we,
1464
+ request_response_end: Te,
1465
+ request_type: "manifest",
1466
+ request_hostname: F(g),
1467
+ request_response_headers: Re(k),
1468
+ request_rendition_lists: {
1469
+ media: L,
1470
+ audio: C,
1471
+ video: {}
1472
+ }
1473
+ }));
1474
+ };
1475
+ t.on(a.Events.MANIFEST_LOADED, f);
1476
+ var h = function(v, m) {
1477
+ var _ = m.details, d = m.level, g = m.networkDetails, T = m.stats, k = He(T), D = k.bytesLoaded, L = k.requestStart, C = k.responseStart, A = k.responseEnd, R = _.fragments[_.fragments.length - 1], Z = s(R) + o(R.duration);
1478
+ u("requestcompleted", {
1479
+ request_event_type: v,
1480
+ request_bytes_loaded: D,
1481
+ request_start: L,
1482
+ request_response_start: C,
1483
+ request_response_end: A,
1484
+ request_current_level: d,
1485
+ request_type: "manifest",
1486
+ request_hostname: F(_.url),
1487
+ request_response_headers: Re(g),
1488
+ video_holdback: _.holdBack && o(_.holdBack),
1489
+ video_part_holdback: _.partHoldBack && o(_.partHoldBack),
1490
+ video_part_target_duration: _.partTarget && o(_.partTarget),
1491
+ video_target_duration: _.targetduration && o(_.targetduration),
1492
+ video_source_is_live: _.live,
1493
+ player_manifest_newest_program_time: isNaN(Z) ? void 0 : Z
1494
+ });
1495
+ };
1496
+ t.on(a.Events.LEVEL_LOADED, h);
1497
+ var E = function(v, m) {
1498
+ var _ = m.details, d = m.networkDetails, g = m.stats, T = He(g), k = T.bytesLoaded, D = T.requestStart, L = T.responseStart, C = T.responseEnd;
1499
+ u("requestcompleted", {
1500
+ request_event_type: v,
1501
+ request_bytes_loaded: k,
1502
+ request_start: D,
1503
+ request_response_start: L,
1504
+ request_response_end: C,
1505
+ request_type: "manifest",
1506
+ request_hostname: F(_.url),
1507
+ request_response_headers: Re(d)
1508
+ });
1509
+ };
1510
+ t.on(a.Events.AUDIO_TRACK_LOADED, E);
1511
+ var y = function(v, m) {
1512
+ var _ = m.stats, d = m.networkDetails, g = m.frag;
1513
+ _ = _ || g.stats;
1514
+ var T = He(_), k = T.bytesLoaded, D = T.requestStart, L = T.responseStart, C = T.responseEnd, A = d ? Re(d) : void 0, R = {
1515
+ request_event_type: v,
1516
+ request_bytes_loaded: k,
1517
+ request_start: D,
1518
+ request_response_start: L,
1519
+ request_response_end: C,
1520
+ request_hostname: d ? F(d.responseURL) : void 0,
1521
+ request_id: A ? le(A) : void 0,
1522
+ request_response_headers: A,
1523
+ request_media_duration: g.duration,
1524
+ request_url: d == null ? void 0 : d.responseURL
1525
+ };
1526
+ g.type === "main" ? (R.request_type = "media", R.request_current_level = g.level, R.request_video_width = (t.levels[g.level] || {}).width, R.request_video_height = (t.levels[g.level] || {}).height, R.request_labeled_bitrate = (t.levels[g.level] || {}).bitrate) : R.request_type = g.type, u("requestcompleted", R);
1527
+ };
1528
+ t.on(a.Events.FRAG_LOADED, y);
1529
+ var c = function(v, m) {
1530
+ var _ = m.frag, d = _.start;
1531
+ u("fragmentchange", {
1532
+ currentFragmentPDT: s(_),
1533
+ currentFragmentStart: o(d)
1534
+ });
1535
+ };
1536
+ t.on(a.Events.FRAG_CHANGED, c);
1537
+ var p = function(v, m) {
1538
+ var _ = m.type, d = m.details, g = m.response, T = m.fatal, k = m.frag, D = m.networkDetails, L = (k == null ? void 0 : k.url) || m.url || "", C = D ? Re(D) : void 0;
1539
+ if ((d === a.ErrorDetails.MANIFEST_LOAD_ERROR || d === a.ErrorDetails.MANIFEST_LOAD_TIMEOUT || d === a.ErrorDetails.FRAG_LOAD_ERROR || d === a.ErrorDetails.FRAG_LOAD_TIMEOUT || d === a.ErrorDetails.LEVEL_LOAD_ERROR || d === a.ErrorDetails.LEVEL_LOAD_TIMEOUT || d === a.ErrorDetails.AUDIO_TRACK_LOAD_ERROR || d === a.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT || d === a.ErrorDetails.SUBTITLE_LOAD_ERROR || d === a.ErrorDetails.SUBTITLE_LOAD_TIMEOUT || d === a.ErrorDetails.KEY_LOAD_ERROR || d === a.ErrorDetails.KEY_LOAD_TIMEOUT) && u("requestfailed", {
1540
+ request_error: d,
1541
+ request_url: L,
1542
+ request_hostname: F(L),
1543
+ request_id: C ? le(C) : void 0,
1544
+ request_type: d === a.ErrorDetails.FRAG_LOAD_ERROR || d === a.ErrorDetails.FRAG_LOAD_TIMEOUT ? "media" : d === a.ErrorDetails.AUDIO_TRACK_LOAD_ERROR || d === a.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT ? "audio" : d === a.ErrorDetails.SUBTITLE_LOAD_ERROR || d === a.ErrorDetails.SUBTITLE_LOAD_TIMEOUT ? "subtitle" : d === a.ErrorDetails.KEY_LOAD_ERROR || d === a.ErrorDetails.KEY_LOAD_TIMEOUT ? "encryption" : "manifest",
1545
+ request_error_code: g == null ? void 0 : g.code,
1546
+ request_error_text: g == null ? void 0 : g.text
1547
+ }), T) {
1548
+ var A;
1549
+ u("error", {
1550
+ player_error_code: _,
1551
+ player_error_message: d,
1552
+ player_error_context: "".concat(L ? "url: ".concat(L, "\n") : "") + "".concat(g && (g.code || g.text) ? "response: ".concat(g.code, ", ").concat(g.text, "\n") : "") + "".concat(m.reason ? "failure reason: ".concat(m.reason, "\n") : "") + "".concat(m.level ? "level: ".concat(m.level, "\n") : "") + "".concat(m.parent ? "parent stream controller: ".concat(m.parent, "\n") : "") + "".concat(m.buffer ? "buffer length: ".concat(m.buffer, "\n") : "") + "".concat(m.error ? "error: ".concat(m.error, "\n") : "") + "".concat(m.event ? "event: ".concat(m.event, "\n") : "") + "".concat(m.err ? "error message: ".concat((A = m.err) === null || A === void 0 ? void 0 : A.message, "\n") : "")
1553
+ });
1554
+ }
1555
+ };
1556
+ t.on(a.Events.ERROR, p);
1557
+ var w = function(v, m) {
1558
+ var _ = m.frag, d = _ && _._url || "";
1559
+ u("requestcanceled", {
1560
+ request_event_type: v,
1561
+ request_url: d,
1562
+ request_type: "media",
1563
+ request_hostname: F(d)
1564
+ });
1565
+ };
1566
+ t.on(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, w);
1567
+ var x = function(v, m) {
1568
+ var _ = m.level, d = t.levels[_];
1569
+ if (d && d.attrs && d.attrs.BANDWIDTH) {
1570
+ var g = d.attrs.BANDWIDTH, T, k = parseFloat(d.attrs["FRAME-RATE"]);
1571
+ isNaN(k) || (T = k), g ? u("renditionchange", {
1572
+ video_source_fps: T,
1573
+ video_source_bitrate: g,
1574
+ video_source_width: d.width,
1575
+ video_source_height: d.height,
1576
+ video_source_rendition_name: d.name,
1577
+ video_source_codec: d == null ? void 0 : d.videoCodec
1578
+ }) : n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js");
1579
+ }
1580
+ };
1581
+ t.on(a.Events.LEVEL_SWITCHED, x), t._stopMuxMonitor = function() {
1582
+ t.off(a.Events.MANIFEST_LOADED, f), t.off(a.Events.LEVEL_LOADED, h), t.off(a.Events.AUDIO_TRACK_LOADED, E), t.off(a.Events.FRAG_LOADED, y), t.off(a.Events.FRAG_CHANGED, c), t.off(a.Events.ERROR, p), t.off(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, w), t.off(a.Events.LEVEL_SWITCHED, x), t.off(a.Events.DESTROYING, t._stopMuxMonitor), delete t._stopMuxMonitor;
1583
+ }, t.on(a.Events.DESTROYING, t._stopMuxMonitor);
1584
+ }, Lt = function(r) {
1585
+ r && typeof r._stopMuxMonitor == "function" && r._stopMuxMonitor();
1586
+ };
1587
+ var It = function(r, e) {
1588
+ if (!r || !r.requestEndDate) return {};
1589
+ var t = F(r.url), i = r.url, a = r.bytesLoaded, n = new Date(r.requestStartDate).getTime(), o = new Date(r.firstByteDate).getTime(), s = new Date(r.requestEndDate).getTime(), u = isNaN(r.duration) ? 0 : r.duration, f = typeof e.getMetricsFor == "function" ? e.getMetricsFor(r.mediaType).HttpList : e.getDashMetrics().getHttpRequests(r.mediaType), h;
1590
+ f.length > 0 && (h = pe(f[f.length - 1]._responseHeaders || ""));
1591
+ var E = h ? le(h) : void 0;
1592
+ return {
1593
+ requestStart: n,
1594
+ requestResponseStart: o,
1595
+ requestResponseEnd: s,
1596
+ requestBytesLoaded: a,
1597
+ requestResponseHeaders: h,
1598
+ requestMediaDuration: u,
1599
+ requestHostname: t,
1600
+ requestUrl: i,
1601
+ requestId: E
1602
+ };
1603
+ }, _a = function(r, e) {
1604
+ if (typeof e.getCurrentRepresentationForType == "function") {
1605
+ var t = e.getCurrentRepresentationForType(r);
1606
+ return t ? {
1607
+ currentLevel: t.absoluteIndex,
1608
+ renditionWidth: t.width || null,
1609
+ renditionHeight: t.height || null,
1610
+ renditionBitrate: t.bandwidth
1611
+ } : {};
1612
+ }
1613
+ var i = e.getQualityFor(r), a = e.getCurrentTrackFor(r).bitrateList;
1614
+ return a ? {
1615
+ currentLevel: i,
1616
+ renditionWidth: a[i].width || null,
1617
+ renditionHeight: a[i].height || null,
1618
+ renditionBitrate: a[i].bandwidth
1619
+ } : {};
1620
+ }, fa = function(r) {
1621
+ var e;
1622
+ return (e = r.match(/.*codecs\*?="(.*)"/)) === null || e === void 0 ? void 0 : e[1];
1623
+ }, pa = function(e) {
1624
+ try {
1625
+ var t, i;
1626
+ return (i = e.getVersion) === null || i === void 0 || (t = i.call(e)) === null || t === void 0 ? void 0 : t.split(".").map(function(n) {
1627
+ return parseInt(n);
1628
+ })[0];
1629
+ } catch (n) {
1630
+ return !1;
1631
+ }
1632
+ }, Nt = function(r, e, t) {
1633
+ arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
1634
+ var a = r.log;
1635
+ if (!t || !t.on) {
1636
+ a.warn("Invalid dash.js player reference. Monitoring blocked.");
1637
+ return;
1638
+ }
1639
+ var n = pa(t), o = function(_, d) {
1640
+ return r.emit(e, _, d);
1641
+ }, s = function(_) {
1642
+ var d = _.type, T = (_.data || {}).url;
1643
+ o("requestcompleted", {
1644
+ request_event_type: d,
1645
+ request_start: 0,
1646
+ request_response_start: 0,
1647
+ request_response_end: 0,
1648
+ request_bytes_loaded: -1,
1649
+ request_type: "manifest",
1650
+ request_hostname: F(T),
1651
+ request_url: T
1652
+ });
1653
+ };
1654
+ t.on("manifestLoaded", s);
1655
+ var u = {}, f = function(_) {
1656
+ if (typeof _.getRequests != "function") return null;
1657
+ var d = _.getRequests({ state: "executed" });
1658
+ return d.length === 0 ? null : d[d.length - 1];
1659
+ }, h = function(_) {
1660
+ var d = _.type, g = _.fragmentModel, T = _.chunk;
1661
+ E({
1662
+ type: d,
1663
+ request: f(g),
1664
+ chunk: T
1665
+ });
1666
+ }, E = function(_) {
1667
+ var d = _.type, g = _.chunk, T = _.request, D = (g || {}).mediaInfo || {}, L = D.type, C = D.bitrateList;
1668
+ C = C || [];
1669
+ var A = {};
1670
+ C.forEach(function(ke, z) {
1671
+ A[z] = {}, A[z].width = ke.width, A[z].height = ke.height, A[z].bitrate = ke.bandwidth, A[z].attrs = {};
1672
+ }), L === "video" ? u.video = A : L === "audio" ? u.audio = A : u.media = A;
1673
+ var R = It(T, t), Z = R.requestStart, we = R.requestResponseStart, Te = R.requestResponseEnd, W = R.requestResponseHeaders, oe = R.requestMediaDuration, je = R.requestHostname, We = R.requestUrl, Ge = R.requestId;
1674
+ o("requestcompleted", {
1675
+ request_event_type: d,
1676
+ request_start: Z,
1677
+ request_response_start: we,
1678
+ request_response_end: Te,
1679
+ request_bytes_loaded: -1,
1680
+ request_type: L + "_init",
1681
+ request_response_headers: W,
1682
+ request_hostname: je,
1683
+ request_id: Ge,
1684
+ request_url: We,
1685
+ request_media_duration: oe,
1686
+ request_rendition_lists: u
1687
+ });
1688
+ };
1689
+ n >= 4 ? t.on("initFragmentLoaded", E) : t.on("initFragmentLoaded", h);
1690
+ var y = function(_) {
1691
+ var d = _.type, g = _.fragmentModel, T = _.chunk;
1692
+ c({
1693
+ type: d,
1694
+ request: f(g),
1695
+ chunk: T
1696
+ });
1697
+ }, c = function(_) {
1698
+ var d = _.type, g = _.chunk, T = _.request, k = g || {}, D = k.mediaInfo, L = k.start, A = (D || {}).type, R = It(T, t), Z = R.requestStart, we = R.requestResponseStart, Te = R.requestResponseEnd, W = R.requestBytesLoaded, oe = R.requestResponseHeaders, je = R.requestMediaDuration, We = R.requestHostname, Ge = R.requestUrl, ke = R.requestId, z = _a(A, t), Yr = z.currentLevel, Xr = z.renditionWidth, $r = z.renditionHeight, Zr = z.renditionBitrate;
1699
+ o("requestcompleted", {
1700
+ request_event_type: d,
1701
+ request_start: Z,
1702
+ request_response_start: we,
1703
+ request_response_end: Te,
1704
+ request_bytes_loaded: W,
1705
+ request_type: A,
1706
+ request_response_headers: oe,
1707
+ request_hostname: We,
1708
+ request_id: ke,
1709
+ request_url: Ge,
1710
+ request_media_start_time: L,
1711
+ request_media_duration: je,
1712
+ request_current_level: Yr,
1713
+ request_labeled_bitrate: Zr,
1714
+ request_video_width: Xr,
1715
+ request_video_height: $r
1716
+ });
1717
+ };
1718
+ n >= 4 ? t.on("mediaFragmentLoaded", c) : t.on("mediaFragmentLoaded", y);
1719
+ var p = {
1720
+ video: void 0,
1721
+ audio: void 0,
1722
+ totalBitrate: void 0
1723
+ }, w = function() {
1724
+ if (p.video && typeof p.video.bitrate == "number") {
1725
+ if (!(p.video.width && p.video.height)) {
1726
+ a.warn("have bitrate info for video but missing width/height");
1727
+ return;
1728
+ }
1729
+ var _ = p.video.bitrate;
1730
+ if (p.audio && typeof p.audio.bitrate == "number" && (_ += p.audio.bitrate), _ !== p.totalBitrate) return p.totalBitrate = _, {
1731
+ video_source_bitrate: _,
1732
+ video_source_height: p.video.height,
1733
+ video_source_width: p.video.width,
1734
+ video_source_codec: fa(p.video.codec)
1735
+ };
1736
+ }
1737
+ }, x = function(_, d, g) {
1738
+ var T = _.mediaType;
1739
+ if (T === "audio" || T === "video") {
1740
+ var k;
1741
+ if (typeof t.getRepresentationsByType == "function") if (_.newRepresentation) k = {
1742
+ bitrate: _.newRepresentation.bandwidth,
1743
+ width: _.newRepresentation.width,
1744
+ height: _.newRepresentation.height,
1745
+ qualityIndex: _.newRepresentation.absoluteIndex
1746
+ };
1747
+ else {
1748
+ var D = t.getRepresentationsByType(T);
1749
+ if (D && typeof _.newQuality == "number") {
1750
+ var L = D.find(function(A) {
1751
+ return A.absoluteIndex === _.newQuality || A.index === _.newQuality;
1752
+ });
1753
+ L && (k = {
1754
+ bitrate: L.bandwidth,
1755
+ width: L.width,
1756
+ height: L.height,
1757
+ qualityIndex: _.newQuality
1758
+ });
1759
+ }
1760
+ }
1761
+ else {
1762
+ if (typeof _.newQuality != "number") {
1763
+ a.warn("missing evt.newQuality in qualityChangeRendered event", _);
1764
+ return;
1765
+ }
1766
+ k = t.getBitrateInfoListFor(T).find(function(A) {
1767
+ return A.qualityIndex === _.newQuality;
1768
+ });
1769
+ }
1770
+ if (!(k && typeof k.bitrate == "number")) {
1771
+ a.warn("missing bitrate info for ".concat(T));
1772
+ return;
1773
+ }
1774
+ p[T] = fe(ue({}, k), { codec: t.getCurrentTrackFor(T).codec });
1775
+ var C = w();
1776
+ C && o("renditionchange", C);
1777
+ }
1778
+ };
1779
+ t.on("qualityChangeRendered", x);
1780
+ var v = function(_) {
1781
+ var d = _.request, g = _.mediaType;
1782
+ d = d || {}, o("requestcanceled", {
1783
+ request_event_type: d.type + "_" + d.action,
1784
+ request_url: d.url,
1785
+ request_type: g,
1786
+ request_hostname: F(d.url)
1787
+ });
1788
+ };
1789
+ t.on("fragmentLoadingAbandoned", v);
1790
+ var m = function(_) {
1791
+ var d = _.error, g, T, k = (d == null || (g = d.data) === null || g === void 0 ? void 0 : g.request) || {}, D = (d == null || (T = d.data) === null || T === void 0 ? void 0 : T.response) || {};
1792
+ (d == null ? void 0 : d.code) === 27 && o("requestfailed", {
1793
+ request_error: k.type + "_" + k.action,
1794
+ request_url: k.url,
1795
+ request_hostname: F(k.url),
1796
+ request_type: k.mediaType,
1797
+ request_error_code: D.status,
1798
+ request_error_text: D.statusText
1799
+ });
1800
+ var L = "".concat(k != null && k.url ? "url: ".concat(k.url, "\n") : "") + "".concat(D != null && D.status || D != null && D.statusText ? "response: ".concat(D == null ? void 0 : D.status, ", ").concat(D == null ? void 0 : D.statusText, "\n") : "");
1801
+ o("error", {
1802
+ player_error_code: d == null ? void 0 : d.code,
1803
+ player_error_message: d == null ? void 0 : d.message,
1804
+ player_error_context: L
1805
+ });
1806
+ };
1807
+ t.on("error", m), t._stopMuxMonitor = function() {
1808
+ t.off("manifestLoaded", s), t.off("initFragmentLoaded", E), t.off("mediaFragmentLoaded", c), t.off("qualityChangeRendered", x), t.off("error", m), t.off("fragmentLoadingAbandoned", v), delete t._stopMuxMonitor;
1809
+ };
1810
+ }, Ct = function(r) {
1811
+ r && typeof r._stopMuxMonitor == "function" && r._stopMuxMonitor();
1812
+ };
1813
+ var Mt = 0, Ht = function() {
1814
+ "use strict";
1815
+ function r() {
1816
+ S(this, r), l(this, "_listeners", void 0);
1817
+ }
1818
+ return N(r, [
1819
+ {
1820
+ key: "on",
1821
+ value: function(t, i, a) {
1822
+ return i._eventEmitterGuid = i._eventEmitterGuid || ++Mt, this._listeners = this._listeners || {}, this._listeners[t] = this._listeners[t] || [], a && (i = i.bind(a)), this._listeners[t].push(i), i;
1823
+ }
1824
+ },
1825
+ {
1826
+ key: "off",
1827
+ value: function(t, i) {
1828
+ var a = this._listeners && this._listeners[t];
1829
+ a && a.forEach(function(n, o) {
1830
+ n._eventEmitterGuid === i._eventEmitterGuid && a.splice(o, 1);
1831
+ });
1832
+ }
1833
+ },
1834
+ {
1835
+ key: "one",
1836
+ value: function(t, i, a) {
1837
+ var n = this;
1838
+ i._eventEmitterGuid = i._eventEmitterGuid || ++Mt;
1839
+ var o = function() {
1840
+ n.off(t, o), i.apply(a || this, arguments);
1841
+ };
1842
+ o._eventEmitterGuid = i._eventEmitterGuid, this.on(t, o);
1843
+ }
1844
+ },
1845
+ {
1846
+ key: "emit",
1847
+ value: function(t, i) {
1848
+ var a = this;
1849
+ if (this._listeners) {
1850
+ i = i || {};
1851
+ var n = this._listeners["before" + t] || [], o = this._listeners["before*"] || [], s = this._listeners[t] || [], u = this._listeners["after" + t] || [], f = function(h, E) {
1852
+ h = h.slice(), h.forEach(function(y) {
1853
+ y.call(a, { type: t }, E);
1854
+ });
1855
+ };
1856
+ f(n, i), f(o, i), f(s, i), f(u, i);
1857
+ }
1858
+ }
1859
+ }
1860
+ ]), r;
1861
+ }();
1862
+ var Be = G(Q()), Bt = function() {
1863
+ "use strict";
1864
+ function r(e) {
1865
+ var t = this;
1866
+ S(this, r), l(this, "_playbackHeartbeatInterval", void 0), l(this, "_playheadShouldBeProgressing", void 0), l(this, "pm", void 0), this.pm = e, this._playbackHeartbeatInterval = null, this._playheadShouldBeProgressing = !1, e.on("playing", function() {
1867
+ t._playheadShouldBeProgressing = !0;
1868
+ }), e.on("play", this._startPlaybackHeartbeatInterval.bind(this)), e.on("playing", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adbreakstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adplay", this._startPlaybackHeartbeatInterval.bind(this)), e.on("adplaying", this._startPlaybackHeartbeatInterval.bind(this)), e.on("devicewake", this._startPlaybackHeartbeatInterval.bind(this)), e.on("viewstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("rebufferstart", this._startPlaybackHeartbeatInterval.bind(this)), e.on("pause", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("ended", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("viewend", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("error", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("aderror", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adpause", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adended", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("adbreakend", this._stopPlaybackHeartbeatInterval.bind(this)), e.on("seeked", function() {
1869
+ e.data.player_is_paused ? t._stopPlaybackHeartbeatInterval() : t._startPlaybackHeartbeatInterval();
1870
+ }), e.on("timeupdate", function() {
1871
+ t._playbackHeartbeatInterval !== null && e.emit("playbackheartbeat");
1872
+ }), e.on("devicesleep", function(i, a) {
1873
+ t._playbackHeartbeatInterval !== null && (Be.default.clearInterval(t._playbackHeartbeatInterval), e.emit("playbackheartbeatend", { viewer_time: a.viewer_time }), t._playbackHeartbeatInterval = null);
1874
+ });
1875
+ }
1876
+ return N(r, [{
1877
+ key: "_startPlaybackHeartbeatInterval",
1878
+ value: function() {
1879
+ var t = this;
1880
+ this._playbackHeartbeatInterval === null && (this.pm.emit("playbackheartbeat"), this._playbackHeartbeatInterval = Be.default.setInterval(function() {
1881
+ t.pm.emit("playbackheartbeat");
1882
+ }, this.pm.playbackHeartbeatTime));
1883
+ }
1884
+ }, {
1885
+ key: "_stopPlaybackHeartbeatInterval",
1886
+ value: function() {
1887
+ this._playheadShouldBeProgressing = !1, this._playbackHeartbeatInterval !== null && (Be.default.clearInterval(this._playbackHeartbeatInterval), this.pm.emit("playbackheartbeatend"), this._playbackHeartbeatInterval = null);
1888
+ }
1889
+ }]), r;
1890
+ }();
1891
+ var Ut = function r(e) {
1892
+ "use strict";
1893
+ var t = this;
1894
+ S(this, r), l(this, "viewErrored", void 0), e.on("viewinit", function() {
1895
+ t.viewErrored = !1;
1896
+ }), e.on("error", function(i, a) {
1897
+ try {
1898
+ var n = e.errorTranslator({
1899
+ player_error_code: a.player_error_code,
1900
+ player_error_message: a.player_error_message,
1901
+ player_error_context: a.player_error_context,
1902
+ player_error_severity: a.player_error_severity,
1903
+ player_error_business_exception: a.player_error_business_exception
1904
+ });
1905
+ n && (e.data.player_error_code = n.player_error_code || a.player_error_code, e.data.player_error_message = n.player_error_message || a.player_error_message, e.data.player_error_context = n.player_error_context || a.player_error_context, e.data.player_error_severity = n.player_error_severity || a.player_error_severity, e.data.player_error_business_exception = n.player_error_business_exception || a.player_error_business_exception, t.viewErrored = !0);
1906
+ } catch (o) {
1907
+ e.mux.log.warn("Exception in error translator callback.", o), t.viewErrored = !0;
1908
+ }
1909
+ }), e.on("aftererror", function() {
1910
+ var i, a, n, o, s;
1911
+ (i = e.data) === null || i === void 0 || delete i.player_error_code, (a = e.data) === null || a === void 0 || delete a.player_error_message, (n = e.data) === null || n === void 0 || delete n.player_error_context, (o = e.data) === null || o === void 0 || delete o.player_error_severity, (s = e.data) === null || s === void 0 || delete s.player_error_business_exception;
1912
+ });
1913
+ };
1914
+ var Ft = function() {
1915
+ "use strict";
1916
+ function r(e) {
1917
+ S(this, r), l(this, "_watchTimeTrackerLastCheckedTime", void 0), l(this, "pm", void 0), this.pm = e, this._watchTimeTrackerLastCheckedTime = null, e.on("playbackheartbeat", this._updateWatchTime.bind(this)), e.on("playbackheartbeatend", this._clearWatchTimeState.bind(this));
1918
+ }
1919
+ return N(r, [{
1920
+ key: "_updateWatchTime",
1921
+ value: function(t, i) {
1922
+ var a = i.viewer_time;
1923
+ this._watchTimeTrackerLastCheckedTime === null && (this._watchTimeTrackerLastCheckedTime = a), O(this.pm.data, "view_watch_time", a - this._watchTimeTrackerLastCheckedTime), this._watchTimeTrackerLastCheckedTime = a;
1924
+ }
1925
+ }, {
1926
+ key: "_clearWatchTimeState",
1927
+ value: function(t, i) {
1928
+ this._updateWatchTime(t, i), this._watchTimeTrackerLastCheckedTime = null;
1929
+ }
1930
+ }]), r;
1931
+ }();
1932
+ var Vt = function() {
1933
+ "use strict";
1934
+ function r(e) {
1935
+ var t = this;
1936
+ S(this, r), l(this, "_playbackTimeTrackerLastPlayheadPosition", void 0), l(this, "_lastTime", void 0), l(this, "_isAdPlaying", void 0), l(this, "_callbackUpdatePlaybackTime", void 0), l(this, "pm", void 0), this.pm = e, this._playbackTimeTrackerLastPlayheadPosition = -1, this._lastTime = P.now(), this._isAdPlaying = !1, this._callbackUpdatePlaybackTime = null, e.on("viewinit", function() {
1937
+ t.pm.data.view_playing_time_ms_cumulative = 0;
1938
+ });
1939
+ var i = this._startPlaybackTimeTracking.bind(this);
1940
+ e.on("playing", i), e.on("adplaying", i);
1941
+ var a = function() {
1942
+ t.pm.data.player_is_paused || i();
1943
+ };
1944
+ e.on("seeked", a), e.on("rebufferend", a);
1945
+ var n = this._stopPlaybackTimeTracking.bind(this);
1946
+ e.on("playbackheartbeatend", n), e.on("seeking", n), e.on("rebufferstart", n), e.on("adplaying", function() {
1947
+ t._isAdPlaying = !0;
1948
+ }), e.on("adended", function() {
1949
+ t._isAdPlaying = !1;
1950
+ }), e.on("adpause", function() {
1951
+ t._isAdPlaying = !1;
1952
+ }), e.on("adbreakstart", function() {
1953
+ t._isAdPlaying = !1;
1954
+ }), e.on("adbreakend", function() {
1955
+ t._isAdPlaying = !1;
1956
+ }), e.on("adplay", function() {
1957
+ t._isAdPlaying = !1;
1958
+ }), e.on("viewinit", function() {
1959
+ t._playbackTimeTrackerLastPlayheadPosition = -1, t._lastTime = P.now(), t._isAdPlaying = !1, t._callbackUpdatePlaybackTime = null;
1960
+ });
1961
+ }
1962
+ return N(r, [
1963
+ {
1964
+ key: "_startPlaybackTimeTracking",
1965
+ value: function() {
1966
+ this._callbackUpdatePlaybackTime === null && (this._callbackUpdatePlaybackTime = this._updatePlaybackTime.bind(this), this._playbackTimeTrackerLastPlayheadPosition = this.pm.data.player_playhead_time, this._lastTime = P.now(), this.pm.on("playbackheartbeat", this._callbackUpdatePlaybackTime));
1967
+ }
1968
+ },
1969
+ {
1970
+ key: "_stopPlaybackTimeTracking",
1971
+ value: function() {
1972
+ this._callbackUpdatePlaybackTime && (this._updatePlaybackTime(), this.pm.off("playbackheartbeat", this._callbackUpdatePlaybackTime), this._callbackUpdatePlaybackTime = null, this._playbackTimeTrackerLastPlayheadPosition = -1);
1973
+ }
1974
+ },
1975
+ {
1976
+ key: "_updatePlaybackTime",
1977
+ value: function() {
1978
+ var t = this.pm.data.player_playhead_time || 0, i = P.now(), a = i - this._lastTime, n = -1;
1979
+ this._playbackTimeTrackerLastPlayheadPosition >= 0 && t > this._playbackTimeTrackerLastPlayheadPosition ? n = t - this._playbackTimeTrackerLastPlayheadPosition : this._isAdPlaying && (n = a), n > 0 && n <= 1e3 && O(this.pm.data, "view_content_playback_time", n), this._callbackUpdatePlaybackTime !== null && a > 0 && a <= 1e3 && (this._isAdPlaying && O(this.pm.data, "ad_playing_time_ms_cumulative", a), O(this.pm.data, "view_playing_time_ms_cumulative", a)), this._playbackTimeTrackerLastPlayheadPosition = t, this._lastTime = i;
1980
+ }
1981
+ }
1982
+ ]), r;
1983
+ }();
1984
+ var jt = function() {
1985
+ "use strict";
1986
+ function r(e) {
1987
+ S(this, r), l(this, "pm", void 0), this.pm = e;
1988
+ var t = this._updatePlayheadTime.bind(this);
1989
+ e.on("playbackheartbeat", t), e.on("playbackheartbeatend", t), e.on("timeupdate", t), e.on("destroy", function() {
1990
+ e.off("timeupdate", t);
1991
+ });
1992
+ }
1993
+ return N(r, [{
1994
+ key: "_updateMaxPlayheadPosition",
1995
+ value: function() {
1996
+ this.pm.data.view_max_playhead_position = typeof this.pm.data.view_max_playhead_position == "undefined" ? this.pm.data.player_playhead_time : Math.max(this.pm.data.view_max_playhead_position, this.pm.data.player_playhead_time);
1997
+ }
1998
+ }, {
1999
+ key: "_updatePlayheadTime",
2000
+ value: function(t, i) {
2001
+ var a = this, n = function() {
2002
+ a.pm.currentFragmentPDT && a.pm.currentFragmentStart && (a.pm.data.player_program_time = a.pm.currentFragmentPDT + a.pm.data.player_playhead_time - a.pm.currentFragmentStart);
2003
+ };
2004
+ if (i && i.player_playhead_time) this.pm.data.player_playhead_time = i.player_playhead_time, n(), this._updateMaxPlayheadPosition();
2005
+ else if (this.pm.getPlayheadTime) {
2006
+ var o = this.pm.getPlayheadTime();
2007
+ typeof o != "undefined" && (this.pm.data.player_playhead_time = o, n(), this._updateMaxPlayheadPosition());
2008
+ }
2009
+ }
2010
+ }]), r;
2011
+ }();
2012
+ var Wt = 300 * 1e3, Gt = function r(e) {
2013
+ "use strict";
2014
+ if (S(this, r), !e.disableRebufferTracking) {
2015
+ var t, i = function(n, o) {
2016
+ a(o), t = void 0;
2017
+ }, a = function(n) {
2018
+ if (t) {
2019
+ var o = n.viewer_time - t;
2020
+ O(e.data, "view_rebuffer_duration", o), t = n.viewer_time, e.data.view_rebuffer_duration > Wt && (e.emit("viewend"), e.send("viewend"), e.mux.log.warn("Ending view after rebuffering for longer than ".concat(Wt, "ms, future events will be ignored unless a programchange or videochange occurs.")));
2021
+ }
2022
+ e.data.view_watch_time >= 0 && e.data.view_rebuffer_count > 0 && (e.data.view_rebuffer_frequency = e.data.view_rebuffer_count / e.data.view_watch_time, e.data.view_rebuffer_percentage = e.data.view_rebuffer_duration / e.data.view_watch_time);
2023
+ };
2024
+ e.on("playbackheartbeat", function(n, o) {
2025
+ return a(o);
2026
+ }), e.on("rebufferstart", function(n, o) {
2027
+ t || (O(e.data, "view_rebuffer_count", 1), t = o.viewer_time, e.one("rebufferend", i));
2028
+ }), e.on("viewinit", function() {
2029
+ t = void 0, e.off("rebufferend", i);
2030
+ });
2031
+ }
2032
+ };
2033
+ var Jt = function() {
2034
+ "use strict";
2035
+ function r(e) {
2036
+ var t = this;
2037
+ S(this, r), l(this, "_lastCheckedTime", void 0), l(this, "_lastPlayheadTime", void 0), l(this, "_lastPlayheadTimeUpdatedTime", void 0), l(this, "_rebuffering", void 0), l(this, "pm", void 0), this.pm = e, !(e.disableRebufferTracking || e.disablePlayheadRebufferTracking) && (this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null, e.on("playbackheartbeat", this._checkIfRebuffering.bind(this)), e.on("playbackheartbeatend", this._cleanupRebufferTracker.bind(this)), e.on("seeking", function() {
2038
+ t._cleanupRebufferTracker(null, { viewer_time: P.now() });
2039
+ }));
2040
+ }
2041
+ return N(r, [
2042
+ {
2043
+ key: "_checkIfRebuffering",
2044
+ value: function(t, i) {
2045
+ if (this.pm.seekingTracker.isSeeking || this.pm.adTracker.isAdBreak || !this.pm.playbackHeartbeat._playheadShouldBeProgressing) {
2046
+ this._cleanupRebufferTracker(t, i);
2047
+ return;
2048
+ }
2049
+ if (this._lastCheckedTime === null) {
2050
+ this._prepareRebufferTrackerState(i.viewer_time);
2051
+ return;
2052
+ }
2053
+ if (this._lastPlayheadTime !== this.pm.data.player_playhead_time) {
2054
+ this._cleanupRebufferTracker(t, i, !0);
2055
+ return;
2056
+ }
2057
+ var a = i.viewer_time - this._lastPlayheadTimeUpdatedTime;
2058
+ typeof this.pm.sustainedRebufferThreshold == "number" && a >= this.pm.sustainedRebufferThreshold && (this._rebuffering || (this._rebuffering = !0, this.pm.emit("rebufferstart", { viewer_time: this._lastPlayheadTimeUpdatedTime }))), this._lastCheckedTime = i.viewer_time;
2059
+ }
2060
+ },
2061
+ {
2062
+ key: "_clearRebufferTrackerState",
2063
+ value: function() {
2064
+ this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null;
2065
+ }
2066
+ },
2067
+ {
2068
+ key: "_prepareRebufferTrackerState",
2069
+ value: function(t) {
2070
+ this._lastCheckedTime = t, this._lastPlayheadTime = this.pm.data.player_playhead_time, this._lastPlayheadTimeUpdatedTime = t;
2071
+ }
2072
+ },
2073
+ {
2074
+ key: "_cleanupRebufferTracker",
2075
+ value: function(t, i) {
2076
+ var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
2077
+ if (this._rebuffering) this._rebuffering = !1, this.pm.emit("rebufferend", { viewer_time: i.viewer_time });
2078
+ else {
2079
+ if (this._lastCheckedTime === null) return;
2080
+ var n = this.pm.data.player_playhead_time - this._lastPlayheadTime, o = i.viewer_time - this._lastPlayheadTimeUpdatedTime;
2081
+ typeof this.pm.minimumRebufferDuration == "number" && n > 0 && o - n > this.pm.minimumRebufferDuration && (this._lastCheckedTime = null, this.pm.emit("rebufferstart", { viewer_time: this._lastPlayheadTimeUpdatedTime }), this.pm.emit("rebufferend", { viewer_time: this._lastPlayheadTimeUpdatedTime + o - n }));
2082
+ }
2083
+ a ? this._prepareRebufferTrackerState(i.viewer_time) : this._clearRebufferTrackerState();
2084
+ }
2085
+ }
2086
+ ]), r;
2087
+ }();
2088
+ var Qt = function() {
2089
+ "use strict";
2090
+ function r(e) {
2091
+ var t = this;
2092
+ S(this, r), l(this, "pm", void 0), this.pm = e, e.on("viewinit", function() {
2093
+ var i = e.data, a = i.view_id;
2094
+ if (!i.view_program_changed) {
2095
+ var n = function(o, s) {
2096
+ var u = s.viewer_time;
2097
+ o.type === "playing" && typeof e.data.view_time_to_first_frame == "undefined" ? t.calculateTimeToFirstFrame(u || P.now(), a) : o.type === "adplaying" && (typeof e.data.view_time_to_first_frame == "undefined" || t._inPrerollPosition()) && t.calculateTimeToFirstFrame(u || P.now(), a);
2098
+ };
2099
+ e.one("playing", n), e.one("adplaying", n), e.one("viewend", function() {
2100
+ e.off("playing", n), e.off("adplaying", n);
2101
+ });
2102
+ }
2103
+ });
2104
+ }
2105
+ return N(r, [{
2106
+ key: "_inPrerollPosition",
2107
+ value: function() {
2108
+ return typeof this.pm.data.view_content_playback_time == "undefined" || this.pm.data.view_content_playback_time <= 1e3;
2109
+ }
2110
+ }, {
2111
+ key: "calculateTimeToFirstFrame",
2112
+ value: function(t, i) {
2113
+ i === this.pm.data.view_id && (this.pm.watchTimeTracker._updateWatchTime(null, { viewer_time: t }), this.pm.data.view_time_to_first_frame = this.pm.data.view_watch_time, (this.pm.data.player_autoplay_on || this.pm.data.video_is_autoplay) && this.pm.pageLoadInitTime && (this.pm.data.view_aggregate_startup_time = this.pm.data.view_start + this.pm.data.view_watch_time - this.pm.pageLoadInitTime));
2114
+ }
2115
+ }]), r;
2116
+ }();
2117
+ var zt = function r(e) {
2118
+ "use strict";
2119
+ var t = this;
2120
+ S(this, r), l(this, "_lastPlayerHeight", void 0), l(this, "_lastPlayerWidth", void 0), l(this, "_lastPlayheadPosition", void 0), l(this, "_lastSourceHeight", void 0), l(this, "_lastSourceWidth", void 0), e.on("viewinit", function() {
2121
+ t._lastPlayheadPosition = -1;
2122
+ });
2123
+ [
2124
+ "pause",
2125
+ "rebufferstart",
2126
+ "seeking",
2127
+ "error",
2128
+ "adbreakstart",
2129
+ "hb",
2130
+ "renditionchange",
2131
+ "orientationchange",
2132
+ "viewend",
2133
+ "playbackmodechange"
2134
+ ].forEach(function(n) {
2135
+ e.on(n, function() {
2136
+ if (t._lastPlayheadPosition >= 0 && e.data.player_playhead_time >= 0 && t._lastPlayerWidth >= 0 && t._lastSourceWidth > 0 && t._lastPlayerHeight >= 0 && t._lastSourceHeight > 0) {
2137
+ var o = e.data.player_playhead_time - t._lastPlayheadPosition;
2138
+ if (o < 0) {
2139
+ t._lastPlayheadPosition = -1;
2140
+ return;
2141
+ }
2142
+ var s = Math.min(t._lastPlayerWidth / t._lastSourceWidth, t._lastPlayerHeight / t._lastSourceHeight), u = Math.max(0, s - 1), f = Math.max(0, 1 - s);
2143
+ e.data.view_max_upscale_percentage = Math.max(e.data.view_max_upscale_percentage || 0, u), e.data.view_max_downscale_percentage = Math.max(e.data.view_max_downscale_percentage || 0, f), O(e.data, "view_total_content_playback_time", o), O(e.data, "view_total_upscaling", u * o), O(e.data, "view_total_downscaling", f * o);
2144
+ }
2145
+ t._lastPlayheadPosition = -1;
2146
+ });
2147
+ }), [
2148
+ "playing",
2149
+ "hb",
2150
+ "renditionchange",
2151
+ "orientationchange",
2152
+ "playbackmodechange"
2153
+ ].forEach(function(n) {
2154
+ e.on(n, function() {
2155
+ t._lastPlayheadPosition = e.data.player_playhead_time, t._lastPlayerWidth = e.data.player_width, t._lastPlayerHeight = e.data.player_height, t._lastSourceWidth = e.data.video_source_width, t._lastSourceHeight = e.data.video_source_height;
2156
+ });
2157
+ });
2158
+ };
2159
+ var xa = 2e3, Kt = function r(e) {
2160
+ "use strict";
2161
+ var t = this;
2162
+ S(this, r), l(this, "isSeeking", void 0), this.isSeeking = !1;
2163
+ var i = -1, a = function() {
2164
+ var n = P.now(), o = (e.data.viewer_time || n) - (i || n);
2165
+ O(e.data, "view_seek_duration", o), e.data.view_max_seek_time = Math.max(e.data.view_max_seek_time || 0, o), t.isSeeking = !1, i = -1;
2166
+ };
2167
+ e.on("seeking", function(n, o) {
2168
+ if (Object.assign(e.data, o), t.isSeeking && o.viewer_time - i <= xa) {
2169
+ i = o.viewer_time;
2170
+ return;
2171
+ }
2172
+ t.isSeeking && a(), t.isSeeking = !0, i = o.viewer_time, O(e.data, "view_seek_count", 1), e.send("seeking");
2173
+ }), e.on("seeked", function() {
2174
+ a();
2175
+ }), e.on("viewend", function() {
2176
+ t.isSeeking && (a(), e.send("seeked")), t.isSeeking = !1, i = -1;
2177
+ });
2178
+ };
2179
+ var Yt = function(e, t) {
2180
+ e.push(t), e.sort(function(i, a) {
2181
+ return i.viewer_time - a.viewer_time;
2182
+ });
2183
+ }, Ra = [
2184
+ "adbreakstart",
2185
+ "adrequest",
2186
+ "adresponse",
2187
+ "adplay",
2188
+ "adplaying",
2189
+ "adpause",
2190
+ "adended",
2191
+ "adbreakend",
2192
+ "aderror",
2193
+ "adclicked",
2194
+ "adskipped"
2195
+ ], Xt = function() {
2196
+ "use strict";
2197
+ function r(e) {
2198
+ var t = this;
2199
+ S(this, r), l(this, "_adHasPlayed", void 0), l(this, "_adRequests", void 0), l(this, "_adResponses", void 0), l(this, "_currentAdRequestNumber", void 0), l(this, "_currentAdResponseNumber", void 0), l(this, "_prerollPlayTime", void 0), l(this, "_wouldBeNewAdPlay", void 0), l(this, "isAdBreak", void 0), l(this, "pm", void 0), this.pm = e, e.on("viewinit", function() {
2200
+ t.isAdBreak = !1, t._currentAdRequestNumber = 0, t._currentAdResponseNumber = 0, t._adRequests = [], t._adResponses = [], t._adHasPlayed = !1, t._wouldBeNewAdPlay = !0, t._prerollPlayTime = void 0;
2201
+ }), Ra.forEach(function(a) {
2202
+ return e.on(a, t._updateAdData.bind(t));
2203
+ });
2204
+ var i = function() {
2205
+ t.isAdBreak = !1;
2206
+ };
2207
+ e.on("adbreakstart", function() {
2208
+ t.isAdBreak = !0;
2209
+ }), e.on("play", i), e.on("playing", i), e.on("viewend", i), e.on("adrequest", function(a, n) {
2210
+ n = Object.assign({ ad_request_id: "generatedAdRequestId" + t._currentAdRequestNumber++ }, n), Yt(t._adRequests, n), O(e.data, "view_ad_request_count"), t.inPrerollPosition() && (e.data.view_preroll_requested = !0, t._adHasPlayed || O(e.data, "view_preroll_request_count"));
2211
+ }), e.on("adresponse", function(a, n) {
2212
+ n = Object.assign({ ad_request_id: "generatedAdRequestId" + t._currentAdResponseNumber++ }, n), Yt(t._adResponses, n);
2213
+ var o = t.findAdRequest(n.ad_request_id);
2214
+ o && O(e.data, "view_ad_request_time", Math.max(0, n.viewer_time - o.viewer_time));
2215
+ }), e.on("adplay", function(a, n) {
2216
+ t._adHasPlayed = !0, t._wouldBeNewAdPlay && (t._wouldBeNewAdPlay = !1, O(e.data, "view_ad_played_count")), t.inPrerollPosition() && !e.data.view_preroll_played && (e.data.view_preroll_played = !0, t._adRequests.length > 0 && (e.data.view_preroll_request_time = Math.max(0, n.viewer_time - t._adRequests[0].viewer_time)), e.data.view_start && (e.data.view_startup_preroll_request_time = Math.max(0, n.viewer_time - e.data.view_start)), t._prerollPlayTime = n.viewer_time);
2217
+ }), e.on("adplaying", function(a, n) {
2218
+ t.inPrerollPosition() && typeof e.data.view_preroll_load_time == "undefined" && typeof t._prerollPlayTime != "undefined" && (e.data.view_preroll_load_time = n.viewer_time - t._prerollPlayTime, e.data.view_startup_preroll_load_time = n.viewer_time - t._prerollPlayTime);
2219
+ }), e.on("adclicked", function(a, n) {
2220
+ t._wouldBeNewAdPlay || O(e.data, "view_ad_clicked_count");
2221
+ }), e.on("adskipped", function(a, n) {
2222
+ t._wouldBeNewAdPlay || O(e.data, "view_ad_skipped_count");
2223
+ }), e.on("adended", function() {
2224
+ t._wouldBeNewAdPlay = !0;
2225
+ }), e.on("aderror", function() {
2226
+ t._wouldBeNewAdPlay = !0;
2227
+ });
2228
+ }
2229
+ return N(r, [
2230
+ {
2231
+ key: "inPrerollPosition",
2232
+ value: function() {
2233
+ return typeof this.pm.data.view_content_playback_time == "undefined" || this.pm.data.view_content_playback_time <= 1e3;
2234
+ }
2235
+ },
2236
+ {
2237
+ key: "findAdRequest",
2238
+ value: function(t) {
2239
+ for (var i = 0; i < this._adRequests.length; i++) if (this._adRequests[i].ad_request_id === t) return this._adRequests[i];
2240
+ }
2241
+ },
2242
+ {
2243
+ key: "_updateAdData",
2244
+ value: function(t, i) {
2245
+ if (this.inPrerollPosition()) {
2246
+ if (!this.pm.data.view_preroll_ad_tag_hostname && i.ad_tag_url) {
2247
+ var a = H(re(i.ad_tag_url), 2), n = a[0], o = a[1];
2248
+ this.pm.data.view_preroll_ad_tag_domain = o, this.pm.data.view_preroll_ad_tag_hostname = n;
2249
+ }
2250
+ if (!this.pm.data.view_preroll_ad_asset_hostname && i.ad_asset_url) {
2251
+ var s = H(re(i.ad_asset_url), 2), u = s[0], f = s[1];
2252
+ this.pm.data.view_preroll_ad_asset_domain = f, this.pm.data.view_preroll_ad_asset_hostname = u;
2253
+ }
2254
+ this.pm.data.ad_type = "preroll";
2255
+ }
2256
+ this.pm.data.ad_asset_url = i == null ? void 0 : i.ad_asset_url, this.pm.data.ad_tag_url = i == null ? void 0 : i.ad_tag_url, this.pm.data.ad_creative_id = i == null ? void 0 : i.ad_creative_id, this.pm.data.ad_id = i == null ? void 0 : i.ad_id, this.pm.data.ad_universal_id = i == null ? void 0 : i.ad_universal_id, i != null && i.ad_type && (this.pm.data.ad_type = i == null ? void 0 : i.ad_type);
2257
+ }
2258
+ }
2259
+ ]), r;
2260
+ }();
2261
+ var $t = function r(e) {
2262
+ "use strict";
2263
+ var t = this;
2264
+ S(this, r), l(this, "lastWallClockTime", void 0);
2265
+ var i = function() {
2266
+ t.lastWallClockTime = P.now(), e.on("before*", a);
2267
+ }, a = function(n) {
2268
+ var o = P.now(), s = t.lastWallClockTime;
2269
+ t.lastWallClockTime = o, o - s > 3e4 && (e.emit("devicesleep", { viewer_time: s }), Object.assign(e.data, { viewer_time: s }), e.send("devicesleep"), e.emit("devicewake", { viewer_time: o }), Object.assign(e.data, { viewer_time: o }), e.send("devicewake"));
2270
+ };
2271
+ e.one("playbackheartbeat", i), e.on("playbackheartbeatend", function() {
2272
+ e.off("before*", a), e.one("playbackheartbeat", i);
2273
+ });
2274
+ };
2275
+ var Fe = G(Q());
2276
+ var ze = function(r) {
2277
+ return r();
2278
+ }(function() {
2279
+ var r = function() {
2280
+ for (var i = 0, a = {}; i < arguments.length; i++) {
2281
+ var n = arguments[i];
2282
+ for (var o in n) a[o] = n[o];
2283
+ }
2284
+ return a;
2285
+ };
2286
+ function e(t) {
2287
+ function i(a, n, o) {
2288
+ var s;
2289
+ if (typeof document != "undefined") {
2290
+ if (arguments.length > 1) {
2291
+ if (o = r({ path: "/" }, i.defaults, o), typeof o.expires == "number") {
2292
+ var u = /* @__PURE__ */ new Date();
2293
+ u.setMilliseconds(u.getMilliseconds() + o.expires * 864e5), o.expires = u;
2294
+ }
2295
+ try {
2296
+ s = JSON.stringify(n), /^[\{\[]/.test(s) && (n = s);
2297
+ } catch (w) {}
2298
+ return t.write ? n = t.write(n, a) : n = encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), a = encodeURIComponent(String(a)), a = a.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent), a = a.replace(/[\(\)]/g, escape), document.cookie = [
2299
+ a,
2300
+ "=",
2301
+ n,
2302
+ o.expires ? "; expires=" + o.expires.toUTCString() : "",
2303
+ o.path ? "; path=" + o.path : "",
2304
+ o.domain ? "; domain=" + o.domain : "",
2305
+ o.secure ? "; secure" : ""
2306
+ ].join("");
2307
+ }
2308
+ a || (s = {});
2309
+ for (var f = document.cookie ? document.cookie.split("; ") : [], h = /(%[0-9A-Z]{2})+/g, E = 0; E < f.length; E++) {
2310
+ var y = f[E].split("="), c = y.slice(1).join("=");
2311
+ c.charAt(0) === "\"" && (c = c.slice(1, -1));
2312
+ try {
2313
+ var p = y[0].replace(h, decodeURIComponent);
2314
+ if (c = t.read ? t.read(c, p) : t(c, p) || c.replace(h, decodeURIComponent), this.json) try {
2315
+ c = JSON.parse(c);
2316
+ } catch (w) {}
2317
+ if (a === p) {
2318
+ s = c;
2319
+ break;
2320
+ }
2321
+ a || (s[p] = c);
2322
+ } catch (w) {}
2323
+ }
2324
+ return s;
2325
+ }
2326
+ }
2327
+ return i.set = i, i.get = function(a) {
2328
+ return i.call(i, a);
2329
+ }, i.getJSON = function() {
2330
+ return i.apply({ json: !0 }, [].slice.call(arguments));
2331
+ }, i.defaults = {}, i.remove = function(a, n) {
2332
+ i(a, "", r(n, { expires: -1 }));
2333
+ }, i.withConverter = e, i;
2334
+ }
2335
+ return e(function() {});
2336
+ });
2337
+ var Zt = "muxData", Aa = function(r) {
2338
+ return Object.entries(r).map(function(e) {
2339
+ var t = H(e, 2), i = t[0], a = t[1];
2340
+ return "".concat(i, "=").concat(a);
2341
+ }).join("&");
2342
+ }, Pa = function(r) {
2343
+ return r.split("&").reduce(function(e, t) {
2344
+ var i = H(t.split("="), 2), a = i[0], n = i[1], o = +n;
2345
+ return e[a] = n && o == n ? o : n, e;
2346
+ }, {});
2347
+ }, er = function() {
2348
+ var e;
2349
+ try {
2350
+ e = Pa(ze.get(Zt) || "");
2351
+ } catch (t) {
2352
+ e = {};
2353
+ }
2354
+ return e;
2355
+ }, tr = function(e) {
2356
+ try {
2357
+ ze.set(Zt, Aa(e), { expires: 365 });
2358
+ } catch (t) {}
2359
+ }, rr = function() {
2360
+ var e = er();
2361
+ return e.mux_viewer_id = e.mux_viewer_id || ee(), e.msn = e.msn || Math.random(), tr(e), {
2362
+ mux_viewer_id: e.mux_viewer_id,
2363
+ mux_sample_number: e.msn
2364
+ };
2365
+ }, ar = function() {
2366
+ var e = er(), t = P.now();
2367
+ return e.session_start && (e.sst = e.session_start, delete e.session_start), e.session_id && (e.sid = e.session_id, delete e.session_id), e.session_expires && (e.sex = e.session_expires, delete e.session_expires), (!e.sex || e.sex < t) && (e.sid = ee(), e.sst = t), e.sex = t + 1500 * 1e3, tr(e), {
2368
+ session_id: e.sid,
2369
+ session_start: e.sst,
2370
+ session_expires: e.sex
2371
+ };
2372
+ };
2373
+ function Ke(r, e) {
2374
+ var t = e.beaconCollectionDomain, i = e.beaconDomain;
2375
+ if (t) return "https://" + t;
2376
+ r = r || "inferred";
2377
+ var a = i || "litix.io";
2378
+ return r.match(/^[a-z0-9]+$/) ? "https://" + r + "." + a : "https://img.litix.io/a.gif";
2379
+ }
2380
+ var ir = G(Q()), nr = function() {
2381
+ var e;
2382
+ switch (or()) {
2383
+ case "cellular":
2384
+ e = "cellular";
2385
+ break;
2386
+ case "ethernet":
2387
+ e = "wired";
2388
+ break;
2389
+ case "wifi":
2390
+ e = "wifi";
2391
+ break;
2392
+ case void 0: break;
2393
+ default: e = "other";
2394
+ }
2395
+ return e;
2396
+ }, or = function() {
2397
+ var e = ir.default.navigator, t = e && (e.connection || e.mozConnection || e.webkitConnection);
2398
+ return t && t.type;
2399
+ };
2400
+ nr.getConnectionFromAPI = or;
2401
+ var sr = nr;
2402
+ var La = lr({
2403
+ a: "env",
2404
+ b: "beacon",
2405
+ c: "custom",
2406
+ d: "ad",
2407
+ e: "event",
2408
+ f: "experiment",
2409
+ i: "internal",
2410
+ m: "mux",
2411
+ n: "response",
2412
+ p: "player",
2413
+ q: "request",
2414
+ r: "retry",
2415
+ s: "session",
2416
+ t: "timestamp",
2417
+ u: "viewer",
2418
+ v: "video",
2419
+ w: "page",
2420
+ x: "view",
2421
+ y: "sub"
2422
+ }), ur = lr({
2423
+ ad: "ad",
2424
+ af: "affiliate",
2425
+ ag: "aggregate",
2426
+ ap: "api",
2427
+ al: "application",
2428
+ ao: "audio",
2429
+ ar: "architecture",
2430
+ as: "asset",
2431
+ au: "autoplay",
2432
+ av: "average",
2433
+ bi: "bitrate",
2434
+ bn: "brand",
2435
+ br: "break",
2436
+ bw: "browser",
2437
+ by: "bytes",
2438
+ bz: "business",
2439
+ ca: "cached",
2440
+ cb: "cancel",
2441
+ cc: "codec",
2442
+ cd: "code",
2443
+ cg: "category",
2444
+ ch: "changed",
2445
+ ci: "client",
2446
+ ck: "clicked",
2447
+ cl: "canceled",
2448
+ cm: "cmcd",
2449
+ cn: "config",
2450
+ co: "count",
2451
+ ce: "counter",
2452
+ cp: "complete",
2453
+ cq: "creator",
2454
+ cr: "creative",
2455
+ cs: "captions",
2456
+ ct: "content",
2457
+ cu: "current",
2458
+ cv: "cumulative",
2459
+ cx: "connection",
2460
+ cz: "context",
2461
+ da: "data",
2462
+ dg: "downscaling",
2463
+ dm: "domain",
2464
+ dn: "cdn",
2465
+ do: "downscale",
2466
+ dr: "drm",
2467
+ dp: "dropped",
2468
+ du: "duration",
2469
+ dv: "device",
2470
+ dy: "dynamic",
2471
+ eb: "enabled",
2472
+ ec: "encoding",
2473
+ ed: "edge",
2474
+ en: "end",
2475
+ eg: "engine",
2476
+ em: "embed",
2477
+ er: "error",
2478
+ ep: "experiments",
2479
+ es: "errorcode",
2480
+ et: "errortext",
2481
+ ee: "event",
2482
+ ev: "events",
2483
+ ex: "expires",
2484
+ ez: "exception",
2485
+ fa: "failed",
2486
+ fi: "first",
2487
+ fm: "family",
2488
+ ft: "format",
2489
+ fp: "fps",
2490
+ fq: "frequency",
2491
+ fr: "frame",
2492
+ fs: "fullscreen",
2493
+ ha: "has",
2494
+ hb: "holdback",
2495
+ he: "headers",
2496
+ ho: "host",
2497
+ hn: "hostname",
2498
+ ht: "height",
2499
+ id: "id",
2500
+ ii: "init",
2501
+ in: "instance",
2502
+ ip: "ip",
2503
+ is: "is",
2504
+ ke: "key",
2505
+ la: "language",
2506
+ lb: "labeled",
2507
+ le: "level",
2508
+ li: "live",
2509
+ ld: "loaded",
2510
+ lo: "load",
2511
+ ls: "lists",
2512
+ lt: "latency",
2513
+ ma: "max",
2514
+ md: "media",
2515
+ me: "message",
2516
+ mf: "manifest",
2517
+ mi: "mime",
2518
+ ml: "midroll",
2519
+ mm: "min",
2520
+ mn: "manufacturer",
2521
+ mo: "model",
2522
+ mp: "mode",
2523
+ ms: "ms",
2524
+ mx: "mux",
2525
+ ne: "newest",
2526
+ nm: "name",
2527
+ no: "number",
2528
+ on: "on",
2529
+ or: "origin",
2530
+ os: "os",
2531
+ pa: "paused",
2532
+ pb: "playback",
2533
+ pd: "producer",
2534
+ pe: "percentage",
2535
+ pf: "played",
2536
+ pg: "program",
2537
+ ph: "playhead",
2538
+ pi: "plugin",
2539
+ pl: "preroll",
2540
+ pn: "playing",
2541
+ po: "poster",
2542
+ pp: "pip",
2543
+ pr: "preload",
2544
+ ps: "position",
2545
+ pt: "part",
2546
+ pv: "previous",
2547
+ py: "property",
2548
+ px: "pop",
2549
+ pz: "plan",
2550
+ ra: "rate",
2551
+ rd: "requested",
2552
+ re: "rebuffer",
2553
+ rf: "rendition",
2554
+ rg: "range",
2555
+ rm: "remote",
2556
+ ro: "ratio",
2557
+ rp: "response",
2558
+ rq: "request",
2559
+ rs: "requests",
2560
+ sa: "sample",
2561
+ sd: "skipped",
2562
+ se: "session",
2563
+ sh: "shift",
2564
+ sk: "seek",
2565
+ sm: "stream",
2566
+ so: "source",
2567
+ sq: "sequence",
2568
+ sr: "series",
2569
+ ss: "status",
2570
+ st: "start",
2571
+ su: "startup",
2572
+ sv: "server",
2573
+ sw: "software",
2574
+ sy: "severity",
2575
+ ta: "tag",
2576
+ tc: "tech",
2577
+ te: "text",
2578
+ tg: "target",
2579
+ th: "throughput",
2580
+ ti: "time",
2581
+ tl: "total",
2582
+ to: "to",
2583
+ tt: "title",
2584
+ ty: "type",
2585
+ ug: "upscaling",
2586
+ un: "universal",
2587
+ up: "upscale",
2588
+ ur: "url",
2589
+ us: "user",
2590
+ va: "variant",
2591
+ vd: "viewed",
2592
+ vi: "video",
2593
+ ve: "version",
2594
+ vw: "view",
2595
+ vr: "viewer",
2596
+ wd: "width",
2597
+ wa: "watch",
2598
+ wt: "waiting"
2599
+ });
2600
+ function lr(r) {
2601
+ var e = {};
2602
+ for (var t in r) r.hasOwnProperty(t) && (e[r[t]] = t);
2603
+ return e;
2604
+ }
2605
+ function me(r) {
2606
+ var e = {}, t = {};
2607
+ return Object.keys(r).forEach(function(i) {
2608
+ var a = !1;
2609
+ if (r.hasOwnProperty(i) && r[i] !== void 0) {
2610
+ var n = i.split("_"), o = n[0], s = La[o];
2611
+ s || (q.info("Data key word `" + n[0] + "` not expected in " + i), s = o + "_"), n.splice(1).forEach(function(u) {
2612
+ u === "url" && (a = !0), ur[u] ? s += ur[u] : Number.isInteger(Number(u)) ? s += u : (q.info("Data key word `" + u + "` not expected in " + i), s += "_" + u + "_");
2613
+ }), a ? t[s] = r[i] : e[s] = r[i];
2614
+ }
2615
+ }), Object.assign(e, t);
2616
+ }
2617
+ var ie = G(Q()), Nr = G(nt());
2618
+ var oi = {
2619
+ maxBeaconSize: 300,
2620
+ maxQueueLength: 3600,
2621
+ baseTimeBetweenBeacons: 1e4,
2622
+ maxPayloadKBSize: 500
2623
+ }, si = 56 * 1024, ui = [
2624
+ "hb",
2625
+ "requestcompleted",
2626
+ "requestfailed",
2627
+ "requestcanceled"
2628
+ ], li = "https://img.litix.io", $ = function(e) {
2629
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
2630
+ this._beaconUrl = e || li, this._eventQueue = [], this._postInFlight = !1, this._resendAfterPost = !1, this._failureCount = 0, this._sendTimeout = !1, this._options = Object.assign({}, oi, t);
2631
+ };
2632
+ $.prototype.queueEvent = function(r, e) {
2633
+ var t = Object.assign({}, e);
2634
+ return this._eventQueue.length <= this._options.maxQueueLength || r === "eventrateexceeded" ? (this._eventQueue.push(t), this._sendTimeout || this._startBeaconSending(), this._eventQueue.length <= this._options.maxQueueLength) : !1;
2635
+ };
2636
+ $.prototype.flushEvents = function() {
2637
+ if ((arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) && this._eventQueue.length === 1) {
2638
+ this._eventQueue.pop();
2639
+ return;
2640
+ }
2641
+ this._eventQueue.length && this._sendBeaconQueue(), this._startBeaconSending();
2642
+ };
2643
+ $.prototype.destroy = function() {
2644
+ var r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
2645
+ this.destroyed = !0, r ? this._clearBeaconQueue() : this.flushEvents(), ie.default.clearTimeout(this._sendTimeout);
2646
+ };
2647
+ $.prototype._clearBeaconQueue = function() {
2648
+ var r = this._eventQueue.length > this._options.maxBeaconSize ? this._eventQueue.length - this._options.maxBeaconSize : 0, e = this._eventQueue.slice(r);
2649
+ r > 0 && Object.assign(e[e.length - 1], me({ mux_view_message: "event queue truncated" }));
2650
+ var t = this._createPayload(e);
2651
+ Cr(this._beaconUrl, t, !0, function() {});
2652
+ };
2653
+ $.prototype._sendBeaconQueue = function() {
2654
+ var r = this;
2655
+ if (this._postInFlight) {
2656
+ this._resendAfterPost = !0;
2657
+ return;
2658
+ }
2659
+ var e = this._eventQueue.slice(0, this._options.maxBeaconSize);
2660
+ this._eventQueue = this._eventQueue.slice(this._options.maxBeaconSize), this._postInFlight = !0;
2661
+ var t = this._createPayload(e), i = P.now();
2662
+ Cr(this._beaconUrl, t, !1, function(a, n) {
2663
+ n ? (r._eventQueue = e.concat(r._eventQueue), r._failureCount += 1, q.info("Error sending beacon: " + n)) : r._failureCount = 0, r._roundTripTime = P.now() - i, r._postInFlight = !1, r._resendAfterPost && (r._resendAfterPost = !1, r._eventQueue.length > 0 && r._sendBeaconQueue());
2664
+ });
2665
+ };
2666
+ $.prototype._getNextBeaconTime = function() {
2667
+ if (!this._failureCount) return this._options.baseTimeBetweenBeacons;
2668
+ var r = Math.pow(2, this._failureCount - 1);
2669
+ return r = r * Math.random(), (1 + r) * this._options.baseTimeBetweenBeacons;
2670
+ };
2671
+ $.prototype._startBeaconSending = function() {
2672
+ var r = this;
2673
+ ie.default.clearTimeout(this._sendTimeout), !this.destroyed && (this._sendTimeout = ie.default.setTimeout(function() {
2674
+ r._eventQueue.length && r._sendBeaconQueue(), r._startBeaconSending();
2675
+ }, this._getNextBeaconTime()));
2676
+ };
2677
+ $.prototype._createPayload = function(r) {
2678
+ var e = this, t = { transmission_timestamp: Math.round(P.now()) };
2679
+ this._roundTripTime && (t.rtt_ms = Math.round(this._roundTripTime));
2680
+ var i, a, n, o = function() {
2681
+ i = JSON.stringify({
2682
+ metadata: t,
2683
+ events: a || r
2684
+ }), n = i.length / 1024;
2685
+ }, s = function() {
2686
+ return n <= e._options.maxPayloadKBSize;
2687
+ };
2688
+ return o(), s() || (q.info("Payload size is too big (" + n + " kb). Removing unnecessary events."), a = r.filter(function(u) {
2689
+ return ui.indexOf(u.e) === -1;
2690
+ }), o()), s() || (q.info("Payload size still too big (" + n + " kb). Cropping fields.."), a.forEach(function(u) {
2691
+ for (var f in u) {
2692
+ var h = u[f], E = 50 * 1024;
2693
+ typeof h == "string" && h.length > E && (u[f] = h.substring(0, E));
2694
+ }
2695
+ }), o()), i;
2696
+ };
2697
+ var di = typeof Nr.default.exitPictureInPicture == "function" ? function(r) {
2698
+ return r.length <= si;
2699
+ } : function(r) {
2700
+ return !1;
2701
+ }, Cr = function(r, e, t, i) {
2702
+ if (t && navigator && navigator.sendBeacon && navigator.sendBeacon(r, e)) {
2703
+ i();
2704
+ return;
2705
+ }
2706
+ if (ie.default.fetch) {
2707
+ ie.default.fetch(r, {
2708
+ method: "POST",
2709
+ body: e,
2710
+ headers: { "Content-Type": "text/plain" },
2711
+ keepalive: di(e)
2712
+ }).then(function(n) {
2713
+ return i(null, n.ok ? null : "Error");
2714
+ }).catch(function(n) {
2715
+ return i(null, n);
2716
+ });
2717
+ return;
2718
+ }
2719
+ if (ie.default.XMLHttpRequest) {
2720
+ var a = new ie.default.XMLHttpRequest();
2721
+ a.onreadystatechange = function() {
2722
+ if (a.readyState === 4) return i(null, a.status !== 200 ? "error" : void 0);
2723
+ }, a.open("POST", r), a.setRequestHeader("Content-Type", "text/plain"), a.send(e);
2724
+ return;
2725
+ }
2726
+ i();
2727
+ }, Mr = $;
2728
+ var ci = [
2729
+ "env_key",
2730
+ "view_id",
2731
+ "view_sequence_number",
2732
+ "player_sequence_number",
2733
+ "beacon_domain",
2734
+ "player_playhead_time",
2735
+ "viewer_time",
2736
+ "mux_api_version",
2737
+ "event",
2738
+ "video_id",
2739
+ "player_instance_id",
2740
+ "player_error_code",
2741
+ "player_error_message",
2742
+ "player_error_context",
2743
+ "player_error_severity",
2744
+ "player_error_business_exception",
2745
+ "view_playing_time_ms_cumulative",
2746
+ "ad_playing_time_ms_cumulative"
2747
+ ], _i = [
2748
+ "adplay",
2749
+ "adplaying",
2750
+ "adpause",
2751
+ "adfirstquartile",
2752
+ "admidpoint",
2753
+ "adthirdquartile",
2754
+ "adended",
2755
+ "adresponse",
2756
+ "adrequest"
2757
+ ], fi = [
2758
+ "ad_id",
2759
+ "ad_creative_id",
2760
+ "ad_universal_id"
2761
+ ], pi = [
2762
+ "viewstart",
2763
+ "error",
2764
+ "ended",
2765
+ "viewend"
2766
+ ], mi = 600 * 1e3, Hr = function() {
2767
+ "use strict";
2768
+ function r(e, t) {
2769
+ var i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
2770
+ S(this, r);
2771
+ var a, n, o, s, u, f, h, E, y, c, p, w;
2772
+ l(this, "mux", void 0), l(this, "envKey", void 0), l(this, "options", void 0), l(this, "eventQueue", void 0), l(this, "sampleRate", void 0), l(this, "disableCookies", void 0), l(this, "respectDoNotTrack", void 0), l(this, "previousBeaconData", void 0), l(this, "lastEventTime", void 0), l(this, "rateLimited", void 0), l(this, "pageLevelData", void 0), l(this, "viewerData", void 0), this.mux = e, this.envKey = t, this.options = i, this.previousBeaconData = null, this.lastEventTime = 0, this.rateLimited = !1, this.eventQueue = new Mr(Ke(this.envKey, this.options));
2773
+ var x;
2774
+ this.sampleRate = (x = this.options.sampleRate) !== null && x !== void 0 ? x : 1;
2775
+ var v;
2776
+ this.disableCookies = (v = this.options.disableCookies) !== null && v !== void 0 ? v : !1;
2777
+ var m;
2778
+ this.respectDoNotTrack = (m = this.options.respectDoNotTrack) !== null && m !== void 0 ? m : !1, this.previousBeaconData = null, this.lastEventTime = 0, this.rateLimited = !1, this.pageLevelData = {
2779
+ mux_api_version: this.mux.API_VERSION,
2780
+ mux_embed: this.mux.NAME,
2781
+ mux_embed_version: this.mux.VERSION,
2782
+ viewer_application_name: (a = this.options.platform) === null || a === void 0 ? void 0 : a.name,
2783
+ viewer_application_version: (n = this.options.platform) === null || n === void 0 ? void 0 : n.version,
2784
+ viewer_application_engine: (o = this.options.platform) === null || o === void 0 ? void 0 : o.layout,
2785
+ viewer_device_name: (s = this.options.platform) === null || s === void 0 ? void 0 : s.product,
2786
+ viewer_device_category: "",
2787
+ viewer_device_manufacturer: (u = this.options.platform) === null || u === void 0 ? void 0 : u.manufacturer,
2788
+ viewer_os_family: (h = this.options.platform) === null || h === void 0 || (f = h.os) === null || f === void 0 ? void 0 : f.family,
2789
+ viewer_os_architecture: (y = this.options.platform) === null || y === void 0 || (E = y.os) === null || E === void 0 ? void 0 : E.architecture,
2790
+ viewer_os_version: (p = this.options.platform) === null || p === void 0 || (c = p.os) === null || c === void 0 ? void 0 : c.version,
2791
+ viewer_connection_type: sr(),
2792
+ page_url: Fe.default === null || Fe.default === void 0 || (w = Fe.default.location) === null || w === void 0 ? void 0 : w.href
2793
+ }, this.viewerData = this.disableCookies ? {} : rr();
2794
+ }
2795
+ return N(r, [
2796
+ {
2797
+ key: "send",
2798
+ value: function(t, i) {
2799
+ if (!(!t || !(i != null && i.view_id))) {
2800
+ if (this.respectDoNotTrack && ce()) return q.info("Not sending `" + t + "` because Do Not Track is enabled");
2801
+ if (!i || typeof i != "object") return q.error("A data object was expected in send() but was not provided");
2802
+ var a = this.disableCookies ? {} : ar(), n = fe(ue({}, this.pageLevelData, i, a, this.viewerData), {
2803
+ event: t,
2804
+ env_key: this.envKey
2805
+ });
2806
+ n.user_id && (n.viewer_user_id = n.user_id, delete n.user_id);
2807
+ var o, s = ((o = n.mux_sample_number) !== null && o !== void 0 ? o : 0) >= this.sampleRate, f = me(this._deduplicateBeaconData(t, n));
2808
+ if (this.lastEventTime = this.mux.utils.now(), s) return q.info("Not sending event due to sample rate restriction", t, n, f);
2809
+ if (this.envKey || q.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL", t, n, f), !this.rateLimited) if (q.info("Sending event", t, n, f), this.rateLimited = !this.eventQueue.queueEvent(t, f), this.mux.WINDOW_UNLOADING && t === "viewend") this.eventQueue.destroy(!0);
2810
+ else {
2811
+ if (this.mux.WINDOW_HIDDEN && t === "hb") this.eventQueue.flushEvents(!0);
2812
+ else if (pi.indexOf(t) >= 0) {
2813
+ if (t === "error" && i.player_error_severity === "warning") return;
2814
+ this.eventQueue.flushEvents();
2815
+ }
2816
+ if (this.rateLimited) return n.event = "eventrateexceeded", f = me(n), this.eventQueue.queueEvent(n.event, f), q.error("Beaconing disabled due to rate limit.");
2817
+ }
2818
+ }
2819
+ }
2820
+ },
2821
+ {
2822
+ key: "destroy",
2823
+ value: function() {
2824
+ this.eventQueue.destroy(!1);
2825
+ }
2826
+ },
2827
+ {
2828
+ key: "_deduplicateBeaconData",
2829
+ value: function(t, i) {
2830
+ var a = this, n = {}, o = i.view_id;
2831
+ if (o === "-1" || t === "viewstart" || t === "viewend" || !this.previousBeaconData || this.mux.utils.now() - this.lastEventTime >= mi) n = ue({}, i), o && (this.previousBeaconData = n), o && t === "viewend" && (this.previousBeaconData = null);
2832
+ else {
2833
+ var s = t.indexOf("request") === 0;
2834
+ Object.entries(i).forEach(function(u) {
2835
+ var f = H(u, 2), h = f[0], E = f[1];
2836
+ a.previousBeaconData && (E !== a.previousBeaconData[h] || ci.indexOf(h) > -1 || a.objectHasChanged(s, h, E, a.previousBeaconData[h]) || a.eventRequiresKey(t, h)) && (n[h] = E, a.previousBeaconData[h] = E);
2837
+ });
2838
+ }
2839
+ return n;
2840
+ }
2841
+ },
2842
+ {
2843
+ key: "objectHasChanged",
2844
+ value: function(t, i, a, n) {
2845
+ return !t || i.indexOf("request_") !== 0 ? !1 : i === "request_response_headers" || typeof a != "object" || typeof n != "object" ? !0 : Object.keys(a || {}).length !== Object.keys(n || {}).length;
2846
+ }
2847
+ },
2848
+ {
2849
+ key: "eventRequiresKey",
2850
+ value: function(t, i) {
2851
+ return !!(t === "renditionchange" && i.indexOf("video_source_") === 0 || fi.includes(i) && _i.includes(t) || t === "playbackmodechange" && i.indexOf("player_playback_mode") === 0);
2852
+ }
2853
+ }
2854
+ ]), r;
2855
+ }();
2856
+ var Br = function r(e) {
2857
+ "use strict";
2858
+ S(this, r);
2859
+ var t = 0, i = 0, a = 0, n = 0, o = 0, s = 0, u = 0, f = function(y, c) {
2860
+ var p = c.request_start, w = c.request_response_start, x = c.request_response_end, v = c.request_bytes_loaded;
2861
+ n++;
2862
+ var m, _;
2863
+ if (w ? (m = w - (p != null ? p : 0), _ = (x != null ? x : 0) - w) : _ = (x != null ? x : 0) - (p != null ? p : 0), _ > 0 && v && v > 0) {
2864
+ var d = v / _ * 8e3;
2865
+ o++, i += v, a += _, e.data.view_min_request_throughput = Math.min(e.data.view_min_request_throughput || Infinity, d), e.data.view_average_request_throughput = i / a * 8e3, e.data.view_request_count = n, m > 0 && (t += m, e.data.view_max_request_latency = Math.max(e.data.view_max_request_latency || 0, m), e.data.view_average_request_latency = t / o);
2866
+ }
2867
+ }, h = function(y, c) {
2868
+ n++, s++, e.data.view_request_count = n, e.data.view_request_failed_count = s;
2869
+ }, E = function(y, c) {
2870
+ n++, u++, e.data.view_request_count = n, e.data.view_request_canceled_count = u;
2871
+ };
2872
+ e.on("requestcompleted", f), e.on("requestfailed", h), e.on("requestcanceled", E);
2873
+ };
2874
+ var hi = 3600 * 1e3, Ur = function r(e) {
2875
+ "use strict";
2876
+ var t = this;
2877
+ S(this, r), l(this, "_lastEventTime", void 0), e.on("before*", function(i, a) {
2878
+ var n = a.viewer_time, o = P.now(), s = t._lastEventTime;
2879
+ if (t._lastEventTime = o, s && o - s > hi) {
2880
+ var u = Object.keys(e.data).reduce(function(h, E) {
2881
+ return E.indexOf("video_") === 0 ? Object.assign(h, l({}, E, e.data[E])) : h;
2882
+ }, {});
2883
+ e.mux.log.info("Received event after at least an hour inactivity, creating a new view");
2884
+ var f = e.playbackHeartbeat._playheadShouldBeProgressing;
2885
+ e._resetView(Object.assign({ viewer_time: n }, u)), e.playbackHeartbeat._playheadShouldBeProgressing = f, e.playbackHeartbeat._playheadShouldBeProgressing && i.type !== "play" && i.type !== "adbreakstart" && (e.emit("play", { viewer_time: n }), i.type !== "playing" && e.emit("playing", { viewer_time: n }));
2886
+ }
2887
+ });
2888
+ };
2889
+ var gi = function r(e) {
2890
+ "use strict";
2891
+ S(this, r);
2892
+ var t = function(u) {
2893
+ var f = bi(u), h = wi(u);
2894
+ if (f != null && !Fr(f, n) && o <= h) {
2895
+ n = f, o = h;
2896
+ var E = { video_cdn: f };
2897
+ e.emit("cdnchange", E);
2898
+ }
2899
+ }, i = null, a = null, n = null, o = 0;
2900
+ e.on("viewinit", function() {
2901
+ i = null, a = null, n = null, o = 0;
2902
+ }), e.on("beforecdnchange", function(s, u) {
2903
+ var f = u == null ? void 0 : u.video_cdn;
2904
+ f && (typeof u.video_previous_cdn == "undefined" || u.video_previous_cdn === null) && (Fr(f, a) ? u.video_previous_cdn = i != null ? i : void 0 : (u.video_previous_cdn = a != null ? a : void 0, i = a, a = f));
2905
+ }), e.on("requestcompleted", function(s, u) {
2906
+ t(u);
2907
+ });
2908
+ };
2909
+ function Fr(r, e) {
2910
+ return (r == null ? void 0 : r.toLowerCase()) === (e == null ? void 0 : e.toLowerCase());
2911
+ }
2912
+ function bi(r) {
2913
+ var e;
2914
+ return r != null && r.request_type && (r.request_type === "media" || r.request_type === "video") && !((e = r.request_response_headers) === null || e === void 0) && e["x-cdn"] ? r.request_response_headers["x-cdn"] : r != null && r.video_cdn ? r.video_cdn : null;
2915
+ }
2916
+ function wi(r) {
2917
+ return r != null && r.request_start ? r.request_start : r != null && r.viewer_time ? r.viewer_time : Date.now();
2918
+ }
2919
+ var Vr = gi;
2920
+ var Ti = function(r) {
2921
+ try {
2922
+ return JSON.parse(r), !0;
2923
+ } catch (e) {
2924
+ return !1;
2925
+ }
2926
+ }, jr = function r(e) {
2927
+ "use strict";
2928
+ var t = this;
2929
+ S(this, r), l(this, "_emittingAutomaticEvent", !1), l(this, "_hasInitialized", !1), l(this, "_currentMode", "standard"), e.on("viewstart", function() {
2930
+ t._hasInitialized || (t._hasInitialized = !0, t._currentMode = e.data.player_playback_mode || "standard", t._emittingAutomaticEvent = !0, e.emit("playbackmodechange", {
2931
+ player_playback_mode: t._currentMode,
2932
+ player_playback_mode_data: "{}"
2933
+ }), t._emittingAutomaticEvent = !1);
2934
+ }), e.on("viewend", function() {
2935
+ t._hasInitialized = !1;
2936
+ }), e.on("playbackmodechange", function(i, a) {
2937
+ t._emittingAutomaticEvent || (a.player_playback_mode_data ? Ti(a.player_playback_mode_data) || (e.mux.log.warn("Invalid JSON string for player_playback_mode_data"), a.player_playback_mode_data = "{}") : a.player_playback_mode_data = "{}", e.data.player_playback_mode_data = a.player_playback_mode_data, e.data.player_playback_mode = a.player_playback_mode, t._currentMode = a.player_playback_mode);
2938
+ });
2939
+ };
2940
+ var Wr = function() {
2941
+ "use strict";
2942
+ function r(e) {
2943
+ S(this, r), l(this, "pm", void 0), l(this, "_currentRangeStart", void 0), l(this, "_lastPlayheadTime", void 0), this.pm = e, this._currentRangeStart = null, this._lastPlayheadTime = null, e.on("playbackheartbeat", this._updatePlaybackRange.bind(this)), e.on("playbackheartbeatend", this._endPlaybackRange.bind(this));
2944
+ }
2945
+ return N(r, [
2946
+ {
2947
+ key: "_updateLastRangeEnd",
2948
+ value: function() {
2949
+ var t = this.pm.data.video_playback_ranges;
2950
+ if (t && t.length > 0) {
2951
+ var i = this.pm.data.player_playhead_time || 0;
2952
+ t[t.length - 1][1] = i;
2953
+ }
2954
+ }
2955
+ },
2956
+ {
2957
+ key: "_updatePlaybackRange",
2958
+ value: function() {
2959
+ var t, i = this.pm.data.player_playhead_time || 0;
2960
+ if (!(!this.pm.disableAdPlaybackRangeFiltering && !((t = this.pm.adTracker) === null || t === void 0) && t.isAdBreak && this._lastPlayheadTime !== null && i < this._lastPlayheadTime)) {
2961
+ if (this._lastPlayheadTime !== null && this._currentRangeStart !== null) {
2962
+ if (Math.abs(i - this._lastPlayheadTime) > 1e3) {
2963
+ var n = this.pm.data.video_playback_ranges;
2964
+ n && n.length > 0 && (n[n.length - 1][1] = this._lastPlayheadTime), this._currentRangeStart = null;
2965
+ }
2966
+ }
2967
+ if (this._currentRangeStart === null) {
2968
+ var o = this.pm.data.video_playback_ranges || [];
2969
+ o.length > 0 && o[o.length - 1][1] === i ? this._currentRangeStart = o[o.length - 1][0] : (this._currentRangeStart = i, o.push([i, i])), this.pm.data.video_playback_ranges = o;
2970
+ } else this._updateLastRangeEnd();
2971
+ this._lastPlayheadTime = i;
2972
+ }
2973
+ }
2974
+ },
2975
+ {
2976
+ key: "_endPlaybackRange",
2977
+ value: function() {
2978
+ this._currentRangeStart !== null && (this._updateLastRangeEnd(), this._currentRangeStart = null, this._lastPlayheadTime = null);
2979
+ }
2980
+ }
2981
+ ]), r;
2982
+ }();
2983
+ var xi = [
2984
+ "viewstart",
2985
+ "ended",
2986
+ "loadstart",
2987
+ "pause",
2988
+ "play",
2989
+ "playing",
2990
+ "ratechange",
2991
+ "waiting",
2992
+ "adplay",
2993
+ "adpause",
2994
+ "adended",
2995
+ "aderror",
2996
+ "adplaying",
2997
+ "adrequest",
2998
+ "adresponse",
2999
+ "adbreakstart",
3000
+ "adbreakend",
3001
+ "adfirstquartile",
3002
+ "admidpoint",
3003
+ "adthirdquartile",
3004
+ "rebufferstart",
3005
+ "rebufferend",
3006
+ "seeked",
3007
+ "error",
3008
+ "hb",
3009
+ "requestcompleted",
3010
+ "requestfailed",
3011
+ "requestcanceled",
3012
+ "renditionchange",
3013
+ "cdnchange",
3014
+ "playbackmodechange"
3015
+ ], Si = new Set([
3016
+ "requestcompleted",
3017
+ "requestfailed",
3018
+ "requestcanceled"
3019
+ ]), Gr = function(r) {
3020
+ "use strict";
3021
+ xt(t, r);
3022
+ var e = At(t);
3023
+ function t(i, a, n) {
3024
+ S(this, t);
3025
+ var o = e.call(this);
3026
+ l(b(o), "pageLoadEndTime", void 0), l(b(o), "pageLoadInitTime", void 0), l(b(o), "_destroyed", void 0), l(b(o), "_heartBeatTimeout", void 0), l(b(o), "adTracker", void 0), l(b(o), "dashjs", void 0), l(b(o), "data", void 0), l(b(o), "disablePlayheadRebufferTracking", void 0), l(b(o), "disableRebufferTracking", void 0), l(b(o), "disableAdPlaybackRangeFiltering", void 0), l(b(o), "errorTracker", void 0), l(b(o), "errorTranslator", void 0), l(b(o), "emitTranslator", void 0), l(b(o), "getAdData", void 0), l(b(o), "getPlayheadTime", void 0), l(b(o), "getStateData", void 0), l(b(o), "stateDataTranslator", void 0), l(b(o), "hlsjs", void 0), l(b(o), "id", void 0), l(b(o), "longResumeTracker", void 0), l(b(o), "minimumRebufferDuration", void 0), l(b(o), "mux", void 0), l(b(o), "playbackEventDispatcher", void 0), l(b(o), "playbackHeartbeat", void 0), l(b(o), "playbackHeartbeatTime", void 0), l(b(o), "playheadTime", void 0), l(b(o), "seekingTracker", void 0), l(b(o), "sustainedRebufferThreshold", void 0), l(b(o), "watchTimeTracker", void 0), l(b(o), "currentFragmentPDT", void 0), l(b(o), "currentFragmentStart", void 0), o.pageLoadInitTime = _e.navigationStart(), o.pageLoadEndTime = _e.domContentLoadedEventEnd();
3027
+ o.mux = i, o.id = a, n != null && n.beaconDomain && o.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."), n = Object.assign({
3028
+ debug: !1,
3029
+ minimumRebufferDuration: 250,
3030
+ sustainedRebufferThreshold: 1e3,
3031
+ playbackHeartbeatTime: 25,
3032
+ beaconDomain: "litix.io",
3033
+ sampleRate: 1,
3034
+ disableCookies: !1,
3035
+ respectDoNotTrack: !1,
3036
+ disableRebufferTracking: !1,
3037
+ disablePlayheadRebufferTracking: !1,
3038
+ disableAdPlaybackRangeFiltering: !1,
3039
+ errorTranslator: function(y) {
3040
+ return y;
3041
+ },
3042
+ emitTranslator: function() {
3043
+ for (var y = arguments.length, c = new Array(y), p = 0; p < y; p++) c[p] = arguments[p];
3044
+ return c;
3045
+ },
3046
+ stateDataTranslator: function(y) {
3047
+ return y;
3048
+ }
3049
+ }, n), n.data = n.data || {}, n.data.property_key && (n.data.env_key = n.data.property_key, delete n.data.property_key), q.level = n.debug ? Y.DEBUG : Y.WARN, o.getPlayheadTime = n.getPlayheadTime, o.getStateData = n.getStateData || function() {
3050
+ return {};
3051
+ }, o.getAdData = n.getAdData || function() {}, o.minimumRebufferDuration = n.minimumRebufferDuration, o.sustainedRebufferThreshold = n.sustainedRebufferThreshold, o.playbackHeartbeatTime = n.playbackHeartbeatTime, o.disableRebufferTracking = n.disableRebufferTracking, o.disableRebufferTracking && o.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."), o.disablePlayheadRebufferTracking = n.disablePlayheadRebufferTracking, o.disableAdPlaybackRangeFiltering = n.disableAdPlaybackRangeFiltering, o.errorTranslator = n.errorTranslator, o.emitTranslator = n.emitTranslator, o.stateDataTranslator = n.stateDataTranslator, o.playbackEventDispatcher = new Hr(i, n.data.env_key, n), o.data = {
3052
+ player_instance_id: ee(),
3053
+ mux_sample_rate: n.sampleRate,
3054
+ beacon_domain: n.beaconCollectionDomain || n.beaconDomain
3055
+ }, o.data.view_sequence_number = 1, o.data.player_sequence_number = 1;
3056
+ var u = function() {
3057
+ typeof this.data.view_start == "undefined" && (this.data.view_start = this.mux.utils.now(), this.emit("viewstart"), this.emit("renditionchange"));
3058
+ }.bind(b(o));
3059
+ if (o.on("viewinit", function(y, c) {
3060
+ this._resetVideoData(), this._resetViewData(), this._resetErrorData(), this._updateStateData(), Object.assign(this.data, c), this._initializeViewData(), this.one("play", u), this.one("adbreakstart", u);
3061
+ }), o.on("videochange", function(y, c) {
3062
+ this._resetView(c);
3063
+ }), o.on("programchange", function(y, c) {
3064
+ this.data.player_is_paused && this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."), this._resetView(Object.assign(c, { view_program_changed: !0 })), u(), this.emit("play"), this.emit("playing");
3065
+ }), o.on("fragmentchange", function(y, c) {
3066
+ this.currentFragmentPDT = c.currentFragmentPDT, this.currentFragmentStart = c.currentFragmentStart;
3067
+ }), o.on("destroy", o.destroy), typeof window != "undefined" && typeof window.addEventListener == "function" && typeof window.removeEventListener == "function") {
3068
+ var f = function() {
3069
+ var y = typeof o.data.view_start != "undefined";
3070
+ o.mux.WINDOW_HIDDEN = document.visibilityState === "hidden", y && o.mux.WINDOW_HIDDEN && (o.data.player_is_paused || o.emit("hb"));
3071
+ };
3072
+ window.addEventListener("visibilitychange", f, !1);
3073
+ var h = function(y) {
3074
+ y.persisted || o.destroy();
3075
+ };
3076
+ window.addEventListener("pagehide", h, !1), o.on("destroy", function() {
3077
+ window.removeEventListener("visibilitychange", f), window.removeEventListener("pagehide", h);
3078
+ });
3079
+ }
3080
+ o.on("playerready", function(y, c) {
3081
+ Object.assign(this.data, c);
3082
+ }), xi.forEach(function(y) {
3083
+ o.on(y, function(c, p) {
3084
+ y.indexOf("ad") !== 0 && this._updateStateData(), Object.assign(this.data, p), this._sanitizeData();
3085
+ }), o.on("after" + y, function() {
3086
+ (y !== "error" || this.errorTracker.viewErrored) && this.send(y);
3087
+ });
3088
+ }), o.on("viewend", function(y, c) {
3089
+ Object.assign(o.data, c);
3090
+ });
3091
+ var E = function(c) {
3092
+ var p = this.mux.utils.now();
3093
+ this.data.player_init_time && (this.data.player_startup_time = p - this.data.player_init_time), this.pageLoadInitTime = this.data.page_load_init_time || this.pageLoadInitTime, this.pageLoadEndTime = this.data.page_load_end_time || this.pageLoadEndTime, !this.mux.PLAYER_TRACKED && this.pageLoadInitTime && (this.mux.PLAYER_TRACKED = !0, (this.data.player_init_time || this.pageLoadEndTime) && (this.data.page_load_time = Math.min(this.data.player_init_time || Infinity, this.pageLoadEndTime || Infinity) - this.pageLoadInitTime)), this.send("playerready"), delete this.data.player_startup_time, delete this.data.page_load_time;
3094
+ };
3095
+ return o.one("playerready", E), o.longResumeTracker = new Ur(b(o)), o.errorTracker = new Ut(b(o)), new $t(b(o)), o.seekingTracker = new Kt(b(o)), o.playheadTime = new jt(b(o)), o.playbackHeartbeat = new Bt(b(o)), new zt(b(o)), o.watchTimeTracker = new Ft(b(o)), new Vt(b(o)), new Wr(b(o)), o.adTracker = new Xt(b(o)), new Jt(b(o)), new Gt(b(o)), new Qt(b(o)), new Br(b(o)), new Vr(b(o)), new jr(b(o)), n.hlsjs && o.addHLSJS(n), n.dashjs && o.addDashJS(n), o.emit("viewinit", n.data), o;
3096
+ }
3097
+ return N(t, [
3098
+ {
3099
+ key: "emit",
3100
+ value: function(a, n) {
3101
+ var o, s = Object.assign({ viewer_time: this.mux.utils.now() }, n), u = [a, s];
3102
+ if (this.emitTranslator) try {
3103
+ u = this.emitTranslator(a, s);
3104
+ } catch (f) {
3105
+ this.mux.log.warn("Exception in emit translator callback.", f);
3106
+ }
3107
+ u != null && u.length && (o = Se(X(t.prototype), "emit", this)).call.apply(o, [this].concat(V(u)));
3108
+ }
3109
+ },
3110
+ {
3111
+ key: "destroy",
3112
+ value: function() {
3113
+ this._destroyed || (this._destroyed = !0, typeof this.data.view_start != "undefined" && (this.emit("viewend"), this.send("viewend")), this.playbackEventDispatcher.destroy(), this.removeHLSJS(), this.removeDashJS(), window.clearTimeout(this._heartBeatTimeout));
3114
+ }
3115
+ },
3116
+ {
3117
+ key: "send",
3118
+ value: function(a) {
3119
+ if (this.data.view_id) {
3120
+ var n = Object.assign({}, this.data);
3121
+ if (n.video_source_is_live === void 0 && (n.player_source_duration === Infinity || n.video_source_duration === Infinity ? n.video_source_is_live = !0 : (n.player_source_duration > 0 || n.video_source_duration > 0) && (n.video_source_is_live = !1)), n.video_source_is_live || [
3122
+ "player_program_time",
3123
+ "player_manifest_newest_program_time",
3124
+ "player_live_edge_program_time",
3125
+ "player_program_time",
3126
+ "video_holdback",
3127
+ "video_part_holdback",
3128
+ "video_target_duration",
3129
+ "video_part_target_duration"
3130
+ ].forEach(function(h) {
3131
+ n[h] = void 0;
3132
+ }), n.video_source_url = n.video_source_url || n.player_source_url, n.video_source_url) {
3133
+ var s = H(re(n.video_source_url), 2), u = s[0];
3134
+ n.video_source_domain = s[1], n.video_source_hostname = u;
3135
+ }
3136
+ delete n.ad_request_id, n.video_playback_ranges && (n.video_playback_range = JSON.stringify(n.video_playback_ranges.filter(function(h) {
3137
+ return h[0] !== h[1];
3138
+ }).map(function(h) {
3139
+ return "".concat(h[0], ":").concat(h[1]);
3140
+ })), delete n.video_playback_ranges), this.playbackEventDispatcher.send(a, n), this.data.view_sequence_number++, this.data.player_sequence_number++, Si.has(a) || this._restartHeartBeat(), a === "viewend" && delete this.data.view_id;
3141
+ }
3142
+ }
3143
+ },
3144
+ {
3145
+ key: "_resetView",
3146
+ value: function(a) {
3147
+ this.emit("viewend"), this.send("viewend"), this.emit("viewinit", a);
3148
+ }
3149
+ },
3150
+ {
3151
+ key: "_updateStateData",
3152
+ value: function() {
3153
+ var a, n = this.getStateData();
3154
+ if (typeof this.stateDataTranslator == "function") try {
3155
+ n = this.stateDataTranslator(n);
3156
+ } catch (u) {
3157
+ this.mux.log.warn("Exception in stateDataTranslator translator callback.", u);
3158
+ }
3159
+ if (!((a = this.data) === null || a === void 0) && a.video_cdn && n != null && n.video_cdn) {
3160
+ n.video_cdn;
3161
+ n = Rt(n, ["video_cdn"]);
3162
+ }
3163
+ Object.assign(this.data, n), this.playheadTime._updatePlayheadTime(), this._sanitizeData();
3164
+ }
3165
+ },
3166
+ {
3167
+ key: "_sanitizeData",
3168
+ value: function() {
3169
+ var a = this;
3170
+ [
3171
+ "player_width",
3172
+ "player_height",
3173
+ "video_source_width",
3174
+ "video_source_height",
3175
+ "player_playhead_time",
3176
+ "video_source_bitrate"
3177
+ ].forEach(function(s) {
3178
+ var u = parseInt(a.data[s], 10);
3179
+ a.data[s] = isNaN(u) ? void 0 : u;
3180
+ });
3181
+ ["player_source_url", "video_source_url"].forEach(function(s) {
3182
+ if (a.data[s]) {
3183
+ var u = a.data[s].toLowerCase();
3184
+ (u.indexOf("data:") === 0 || u.indexOf("blob:") === 0) && (a.data[s] = "MSE style URL");
3185
+ }
3186
+ });
3187
+ }
3188
+ },
3189
+ {
3190
+ key: "_resetVideoData",
3191
+ value: function() {
3192
+ var a = this;
3193
+ Object.keys(this.data).forEach(function(n) {
3194
+ n.indexOf("video_") === 0 && delete a.data[n];
3195
+ });
3196
+ }
3197
+ },
3198
+ {
3199
+ key: "_resetViewData",
3200
+ value: function() {
3201
+ var a = this;
3202
+ Object.keys(this.data).forEach(function(n) {
3203
+ n.indexOf("view_") === 0 && delete a.data[n];
3204
+ }), this.data.view_sequence_number = 1;
3205
+ }
3206
+ },
3207
+ {
3208
+ key: "_resetErrorData",
3209
+ value: function() {
3210
+ delete this.data.player_error_code, delete this.data.player_error_message, delete this.data.player_error_context, delete this.data.player_error_severity, delete this.data.player_error_business_exception;
3211
+ }
3212
+ },
3213
+ {
3214
+ key: "_initializeViewData",
3215
+ value: function() {
3216
+ var a = this, n = this.data.view_id = ee(), o = function() {
3217
+ n === a.data.view_id && O(a.data, "player_view_count", 1);
3218
+ };
3219
+ this.data.player_is_paused ? this.one("play", o) : o();
3220
+ }
3221
+ },
3222
+ {
3223
+ key: "_restartHeartBeat",
3224
+ value: function() {
3225
+ var a = this;
3226
+ window.clearTimeout(this._heartBeatTimeout), this._heartBeatTimeout = window.setTimeout(function() {
3227
+ a.data.player_is_paused || a.emit("hb");
3228
+ }, 1e4);
3229
+ }
3230
+ },
3231
+ {
3232
+ key: "addHLSJS",
3233
+ value: function(a) {
3234
+ if (!a.hlsjs) {
3235
+ this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");
3236
+ return;
3237
+ }
3238
+ if (this.hlsjs) {
3239
+ this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");
3240
+ return;
3241
+ }
3242
+ this.hlsjs = a.hlsjs, Ot(this.mux, this.id, a.hlsjs, {}, a.Hls || window.Hls);
3243
+ }
3244
+ },
3245
+ {
3246
+ key: "removeHLSJS",
3247
+ value: function() {
3248
+ this.hlsjs && (Lt(this.hlsjs), this.hlsjs = void 0);
3249
+ }
3250
+ },
3251
+ {
3252
+ key: "addDashJS",
3253
+ value: function(a) {
3254
+ if (!a.dashjs) {
3255
+ this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");
3256
+ return;
3257
+ }
3258
+ if (this.dashjs) {
3259
+ this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");
3260
+ return;
3261
+ }
3262
+ this.dashjs = a.dashjs, Nt(this.mux, this.id, a.dashjs);
3263
+ }
3264
+ },
3265
+ {
3266
+ key: "removeDashJS",
3267
+ value: function() {
3268
+ this.dashjs && (Ct(this.dashjs), this.dashjs = void 0);
3269
+ }
3270
+ }
3271
+ ]), t;
3272
+ }(Ht);
3273
+ var he = G(nt());
3274
+ function Ae() {
3275
+ return he.default && !!(he.default.fullscreenElement || he.default.webkitFullscreenElement || he.default.mozFullScreenElement || he.default.msFullscreenElement);
3276
+ }
3277
+ var Di = [
3278
+ "loadstart",
3279
+ "pause",
3280
+ "play",
3281
+ "playing",
3282
+ "seeking",
3283
+ "seeked",
3284
+ "timeupdate",
3285
+ "ratechange",
3286
+ "stalled",
3287
+ "waiting",
3288
+ "error",
3289
+ "ended"
3290
+ ], qi = {
3291
+ 1: "MEDIA_ERR_ABORTED",
3292
+ 2: "MEDIA_ERR_NETWORK",
3293
+ 3: "MEDIA_ERR_DECODE",
3294
+ 4: "MEDIA_ERR_SRC_NOT_SUPPORTED"
3295
+ };
3296
+ function ot(r, e, t) {
3297
+ var i = H(se(e), 3), a = i[0], n = i[1], o = i[2], s = r.log, u = r.utils.getComputedStyle, f = r.utils.secondsToMs, h = { automaticErrorTracking: !0 };
3298
+ if (a) {
3299
+ if (o !== "video" && o !== "audio") return s.error("The element of `" + n + "` was not a media element.");
3300
+ } else return s.error("No element was found with the `" + n + "` query selector.");
3301
+ a.mux && (a.mux.destroy(), delete a.mux, s.warn("Already monitoring this video element, replacing existing event listeners"));
3302
+ t = Object.assign(h, t, {
3303
+ getPlayheadTime: function() {
3304
+ return f(a.currentTime);
3305
+ },
3306
+ getStateData: function() {
3307
+ var p, w, x, v = ((p = (w = this).getPlayheadTime) === null || p === void 0 ? void 0 : p.call(w)) || f(a.currentTime), m = this.hlsjs && this.hlsjs.url, _ = this.dashjs && typeof this.dashjs.getSource == "function" && this.dashjs.getSource(), d = {
3308
+ player_is_paused: a.paused,
3309
+ player_width: parseInt(u(a, "width")),
3310
+ player_height: parseInt(u(a, "height")),
3311
+ player_autoplay_on: a.autoplay,
3312
+ player_preload_on: a.preload,
3313
+ player_language_code: a.lang,
3314
+ player_is_fullscreen: Ae(),
3315
+ video_poster_url: a.poster,
3316
+ video_source_url: m || _ || a.currentSrc,
3317
+ video_source_duration: f(a.duration),
3318
+ video_source_height: a.videoHeight,
3319
+ video_source_width: a.videoWidth,
3320
+ view_dropped_frame_count: a == null || (x = a.getVideoPlaybackQuality) === null || x === void 0 ? void 0 : x.call(a).droppedVideoFrames
3321
+ };
3322
+ if (a.getStartDate && v > 0) {
3323
+ var g = a.getStartDate();
3324
+ if (g && typeof g.getTime == "function" && g.getTime()) {
3325
+ var T = g.getTime();
3326
+ if (d.player_program_time = T + v, a.seekable.length > 0) d.player_live_edge_program_time = T + a.seekable.end(a.seekable.length - 1);
3327
+ }
3328
+ }
3329
+ return d;
3330
+ }
3331
+ }), t.data = Object.assign({
3332
+ player_software: "HTML5 Video Element",
3333
+ player_mux_plugin_name: "VideoElementMonitor",
3334
+ player_mux_plugin_version: r.VERSION
3335
+ }, t.data), a.mux = a.mux || {}, a.mux.deleted = !1, a.mux.emit = function(c, p) {
3336
+ r.emit(n, c, p);
3337
+ }, a.mux.updateData = function(c) {
3338
+ a.mux.emit("hb", c);
3339
+ };
3340
+ var y = function() {
3341
+ s.error("The monitor for this video element has already been destroyed.");
3342
+ };
3343
+ a.mux.destroy = function() {
3344
+ Object.keys(a.mux.listeners).forEach(function(c) {
3345
+ a.removeEventListener(c, a.mux.listeners[c], !1);
3346
+ }), delete a.mux.listeners, a.mux.fullscreenChangeListener && (document.removeEventListener("fullscreenchange", a.mux.fullscreenChangeListener, !1), delete a.mux.fullscreenChangeListener), a.mux.destroy = y, a.mux.swapElement = y, a.mux.emit = y, a.mux.addHLSJS = y, a.mux.addDashJS = y, a.mux.removeHLSJS = y, a.mux.removeDashJS = y, a.mux.updateData = y, a.mux.setEmitTranslator = y, a.mux.setStateDataTranslator = y, a.mux.setGetPlayheadTime = y, a.mux.deleted = !0, r.emit(n, "destroy");
3347
+ }, a.mux.swapElement = function(c) {
3348
+ var p = H(se(c), 3), w = p[0], x = p[1], v = p[2];
3349
+ if (w) {
3350
+ if (v !== "video" && v !== "audio") return r.log.error("The element of `" + x + "` was not a media element.");
3351
+ } else return r.log.error("No element was found with the `" + x + "` query selector.");
3352
+ w.muxId = a.muxId, delete a.muxId, w.mux = w.mux || {}, w.mux.listeners = Object.assign({}, a.mux.listeners), delete a.mux.listeners, Object.keys(w.mux.listeners).forEach(function(m) {
3353
+ a.removeEventListener(m, w.mux.listeners[m], !1), w.addEventListener(m, w.mux.listeners[m], !1);
3354
+ }), w.mux.fullscreenChangeListener = a.mux.fullscreenChangeListener, delete a.mux.fullscreenChangeListener, w.mux.swapElement = a.mux.swapElement, w.mux.destroy = a.mux.destroy, delete a.mux, a = w;
3355
+ }, a.mux.addHLSJS = function(c) {
3356
+ r.addHLSJS(n, c);
3357
+ }, a.mux.addDashJS = function(c) {
3358
+ r.addDashJS(n, c);
3359
+ }, a.mux.removeHLSJS = function() {
3360
+ r.removeHLSJS(n);
3361
+ }, a.mux.removeDashJS = function() {
3362
+ r.removeDashJS(n);
3363
+ }, a.mux.setEmitTranslator = function(c) {
3364
+ r.setEmitTranslator(n, c);
3365
+ }, a.mux.setStateDataTranslator = function(c) {
3366
+ r.setStateDataTranslator(n, c);
3367
+ }, a.mux.setGetPlayheadTime = function(c) {
3368
+ c || (c = t.getPlayheadTime), r.setGetPlayheadTime(n, c);
3369
+ }, r.init(n, t), r.emit(n, "playerready"), a.paused || (r.emit(n, "play"), a.readyState > 2 && r.emit(n, "playing")), a.mux.listeners = {}, Di.forEach(function(c) {
3370
+ c === "error" && !t.automaticErrorTracking || (a.mux.listeners[c] = function() {
3371
+ var p = {};
3372
+ if (c === "error") {
3373
+ if (!a.error || a.error.code === 1) return;
3374
+ p.player_error_code = a.error.code, p.player_error_message = qi[a.error.code] || a.error.message;
3375
+ }
3376
+ r.emit(n, c, p);
3377
+ }, a.addEventListener(c, a.mux.listeners[c], !1));
3378
+ }), a.mux.listeners.enterpictureinpicture = function() {
3379
+ r.emit(n, "playbackmodechange", {
3380
+ player_playback_mode: "pip",
3381
+ player_playback_mode_data: "{}"
3382
+ });
3383
+ }, a.mux.listeners.leavepictureinpicture = function() {
3384
+ var c = Ae() ? "fullscreen" : "standard";
3385
+ r.emit(n, "playbackmodechange", {
3386
+ player_playback_mode: c,
3387
+ player_playback_mode_data: "{}"
3388
+ });
3389
+ }, a.addEventListener("enterpictureinpicture", a.mux.listeners.enterpictureinpicture, !1), a.addEventListener("leavepictureinpicture", a.mux.listeners.leavepictureinpicture, !1), a.mux.fullscreenChangeListener = function() {
3390
+ var c = Ae(), p = document.fullscreenElement;
3391
+ if (c && (p === a || p != null && p.contains(a))) r.emit(n, "playbackmodechange", {
3392
+ player_playback_mode: "fullscreen",
3393
+ player_playback_mode_data: "{}"
3394
+ });
3395
+ else if (!c) {
3396
+ var x = document.pictureInPictureElement === a ? "pip" : "standard";
3397
+ r.emit(n, "playbackmodechange", {
3398
+ player_playback_mode: x,
3399
+ player_playback_mode_data: "{}"
3400
+ });
3401
+ }
3402
+ }, document.addEventListener("fullscreenchange", a.mux.fullscreenChangeListener, !1);
3403
+ }
3404
+ function st(r, e, t, i) {
3405
+ var a = i;
3406
+ if (r && typeof r[e] == "function") try {
3407
+ a = r[e].apply(r, t);
3408
+ } catch (n) {
3409
+ q.info("safeCall error", n);
3410
+ }
3411
+ return a;
3412
+ }
3413
+ var ge = G(Q()), ye;
3414
+ ge.default && ge.default.WeakMap && (ye = /* @__PURE__ */ new WeakMap());
3415
+ function ut(r, e) {
3416
+ if (!r || !e || !ge.default || typeof ge.default.getComputedStyle != "function") return "";
3417
+ var t;
3418
+ return ye && ye.has(r) && (t = ye.get(r)), t || (t = ge.default.getComputedStyle(r, null), ye && ye.set(r, t)), t.getPropertyValue(e);
3419
+ }
3420
+ function lt(r) {
3421
+ return Math.floor(r * 1e3);
3422
+ }
3423
+ var de = {
3424
+ TARGET_DURATION: "#EXT-X-TARGETDURATION",
3425
+ PART_INF: "#EXT-X-PART-INF",
3426
+ SERVER_CONTROL: "#EXT-X-SERVER-CONTROL",
3427
+ INF: "#EXTINF",
3428
+ PROGRAM_DATE_TIME: "#EXT-X-PROGRAM-DATE-TIME",
3429
+ VERSION: "#EXT-X-VERSION",
3430
+ SESSION_DATA: "#EXT-X-SESSION-DATA"
3431
+ }, Ve = function(e) {
3432
+ return this.buffer = "", this.manifest = {
3433
+ segments: [],
3434
+ serverControl: {},
3435
+ sessionData: {}
3436
+ }, this.currentUri = {}, this.process(e), this.manifest;
3437
+ };
3438
+ Ve.prototype.process = function(r) {
3439
+ var e;
3440
+ for (this.buffer += r, e = this.buffer.indexOf("\n"); e > -1; e = this.buffer.indexOf("\n")) this.processLine(this.buffer.substring(0, e)), this.buffer = this.buffer.substring(e + 1);
3441
+ };
3442
+ Ve.prototype.processLine = function(r) {
3443
+ var t = Li(r, r.indexOf(":")), i = t[0], a = t.length === 2 ? ct(t[1]) : void 0;
3444
+ if (i[0] !== "#") this.currentUri.uri = i, this.manifest.segments.push(this.currentUri), this.manifest.targetDuration && !("duration" in this.currentUri) && (this.currentUri.duration = this.manifest.targetDuration), this.currentUri = {};
3445
+ else switch (i) {
3446
+ case de.TARGET_DURATION:
3447
+ if (!isFinite(a) || a < 0) return;
3448
+ this.manifest.targetDuration = a, this.setHoldBack();
3449
+ break;
3450
+ case de.PART_INF:
3451
+ dt(this.manifest, t), this.manifest.partInf.partTarget && (this.manifest.partTargetDuration = this.manifest.partInf.partTarget), this.setHoldBack();
3452
+ break;
3453
+ case de.SERVER_CONTROL:
3454
+ dt(this.manifest, t), this.setHoldBack();
3455
+ break;
3456
+ case de.INF:
3457
+ a === 0 ? this.currentUri.duration = .01 : a > 0 && (this.currentUri.duration = a);
3458
+ break;
3459
+ case de.PROGRAM_DATE_TIME:
3460
+ var n = a, o = new Date(n);
3461
+ this.manifest.dateTimeString || (this.manifest.dateTimeString = n, this.manifest.dateTimeObject = o), this.currentUri.dateTimeString = n, this.currentUri.dateTimeObject = o;
3462
+ break;
3463
+ case de.VERSION:
3464
+ dt(this.manifest, t);
3465
+ break;
3466
+ case de.SESSION_DATA:
3467
+ var u = Me(Ii(t[1]));
3468
+ Object.assign(this.manifest.sessionData, u);
3469
+ }
3470
+ };
3471
+ Ve.prototype.setHoldBack = function() {
3472
+ var r = this.manifest, e = r.serverControl, t = r.targetDuration, i = r.partTargetDuration;
3473
+ if (e) {
3474
+ var a = "holdBack", n = "partHoldBack", o = t && t * 3, s = i && i * 2;
3475
+ t && !e.hasOwnProperty(a) && (e[a] = o), o && e[a] < o && (e[a] = o), i && !e.hasOwnProperty(n) && (e[n] = i * 3), i && e[n] < s && (e[n] = s);
3476
+ }
3477
+ };
3478
+ var dt = function(r, e) {
3479
+ var t = Jr(e[0].replace("#EXT-X-", "")), i;
3480
+ Oi(e[1]) ? (i = {}, i = Object.assign(Pi(e[1]), i)) : i = ct(e[1]), r[t] = i;
3481
+ }, Jr = function(r) {
3482
+ return r.toLowerCase().replace(/-(\w)/g, function(e) {
3483
+ return e[1].toUpperCase();
3484
+ });
3485
+ }, ct = function(r) {
3486
+ if (r.toLowerCase() === "yes" || r.toLowerCase() === "no") return r.toLowerCase() === "yes";
3487
+ var e = r.indexOf(":") !== -1 ? r : parseFloat(r);
3488
+ return isNaN(e) ? r : e;
3489
+ }, Ai = function(r) {
3490
+ var e = {}, t = r.split("=");
3491
+ if (t.length > 1) {
3492
+ var i = Jr(t[0]);
3493
+ e[i] = ct(t[1]);
3494
+ }
3495
+ return e;
3496
+ }, Pi = function(r) {
3497
+ for (var e = r.split(","), t = {}, i = 0; e.length > i; i++) {
3498
+ var a = e[i], n = Ai(a);
3499
+ t = Object.assign(n, t);
3500
+ }
3501
+ return t;
3502
+ }, Oi = function(r) {
3503
+ return r.indexOf("=") > -1;
3504
+ }, Li = function(r, e) {
3505
+ return e === -1 ? [r] : [r.substring(0, e), r.substring(e + 1)];
3506
+ }, Ii = function(r) {
3507
+ var e = {};
3508
+ if (r) {
3509
+ var t = r.search(",");
3510
+ return [r.slice(0, t), r.slice(t + 1)].forEach(function(o, s) {
3511
+ for (var u = o.replace(/['"]+/g, "").split("="), f = 0; f < u.length; f++) u[f] === "DATA-ID" && (e["DATA-ID"] = u[1 - f]), u[f] === "VALUE" && (e.VALUE = u[1 - f]);
3512
+ }), { data: e };
3513
+ }
3514
+ }, Qr = Ve;
3515
+ var zr = {
3516
+ safeCall: st,
3517
+ safeIncrement: O,
3518
+ getComputedStyle: ut,
3519
+ secondsToMs: lt,
3520
+ assign: Object.assign,
3521
+ headersStringToObject: pe,
3522
+ cdnHeadersToRequestId: le,
3523
+ extractHostnameAndDomain: re,
3524
+ extractHostname: F,
3525
+ manifestParser: Qr,
3526
+ generateShortID: Oe,
3527
+ generateUUID: ee,
3528
+ now: P.now,
3529
+ findMediaElement: se
3530
+ };
3531
+ var Kr = {
3532
+ PLAYER_READY: "playerready",
3533
+ VIEW_INIT: "viewinit",
3534
+ VIDEO_CHANGE: "videochange",
3535
+ PLAY: "play",
3536
+ PAUSE: "pause",
3537
+ PLAYING: "playing",
3538
+ TIME_UPDATE: "timeupdate",
3539
+ SEEKING: "seeking",
3540
+ SEEKED: "seeked",
3541
+ REBUFFER_START: "rebufferstart",
3542
+ REBUFFER_END: "rebufferend",
3543
+ ERROR: "error",
3544
+ ENDED: "ended",
3545
+ RENDITION_CHANGE: "renditionchange",
3546
+ ORIENTATION_CHANGE: "orientationchange",
3547
+ PLAYBACK_MODE_CHANGE: "playbackmodechange",
3548
+ AD_REQUEST: "adrequest",
3549
+ AD_RESPONSE: "adresponse",
3550
+ AD_BREAK_START: "adbreakstart",
3551
+ AD_PLAY: "adplay",
3552
+ AD_PLAYING: "adplaying",
3553
+ AD_PAUSE: "adpause",
3554
+ AD_FIRST_QUARTILE: "adfirstquartile",
3555
+ AD_MID_POINT: "admidpoint",
3556
+ AD_THIRD_QUARTILE: "adthirdquartile",
3557
+ AD_ENDED: "adended",
3558
+ AD_BREAK_END: "adbreakend",
3559
+ AD_ERROR: "aderror",
3560
+ REQUEST_COMPLETED: "requestcompleted",
3561
+ REQUEST_FAILED: "requestfailed",
3562
+ REQUEST_CANCELLED: "requestcanceled",
3563
+ HEARTBEAT: "hb",
3564
+ DESTROY: "destroy"
3565
+ };
3566
+ var Mi = "mux-embed", Hi = "5.17.10", Bi = "2.1", M = {}, ne = function(e) {
3567
+ var t = arguments;
3568
+ typeof e == "string" ? ne.hasOwnProperty(e) ? be.default.setTimeout(function() {
3569
+ t = Array.prototype.splice.call(t, 1), ne[e].apply(null, t);
3570
+ }, 0) : q.warn("`" + e + "` is an unknown task") : typeof e == "function" ? be.default.setTimeout(function() {
3571
+ e(ne);
3572
+ }, 0) : q.warn("`" + e + "` is invalid.");
3573
+ }, Ui = {
3574
+ loaded: P.now(),
3575
+ NAME: Mi,
3576
+ VERSION: Hi,
3577
+ API_VERSION: Bi,
3578
+ PLAYER_TRACKED: !1,
3579
+ monitor: function(e, t) {
3580
+ return ot(ne, e, t);
3581
+ },
3582
+ destroyMonitor: function(e) {
3583
+ var i = H(se(e), 1)[0];
3584
+ i && i.mux && typeof i.mux.destroy == "function" ? i.mux.destroy() : q.error("A video element monitor for `" + e + "` has not been initialized via `mux.monitor`.");
3585
+ },
3586
+ addHLSJS: function(e, t) {
3587
+ var i = J(e);
3588
+ M[i] ? M[i].addHLSJS(t) : q.error("A monitor for `" + i + "` has not been initialized.");
3589
+ },
3590
+ addDashJS: function(e, t) {
3591
+ var i = J(e);
3592
+ M[i] ? M[i].addDashJS(t) : q.error("A monitor for `" + i + "` has not been initialized.");
3593
+ },
3594
+ removeHLSJS: function(e) {
3595
+ var t = J(e);
3596
+ M[t] ? M[t].removeHLSJS() : q.error("A monitor for `" + t + "` has not been initialized.");
3597
+ },
3598
+ removeDashJS: function(e) {
3599
+ var t = J(e);
3600
+ M[t] ? M[t].removeDashJS() : q.error("A monitor for `" + t + "` has not been initialized.");
3601
+ },
3602
+ init: function(e, t) {
3603
+ ce() && t && t.respectDoNotTrack && q.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");
3604
+ var i = J(e);
3605
+ M[i] = new Gr(ne, i, t);
3606
+ },
3607
+ emit: function(e, t, i) {
3608
+ var a = J(e);
3609
+ M[a] ? (M[a].emit(t, i), t === "destroy" && delete M[a]) : q.error("A monitor for `" + a + "` has not been initialized.");
3610
+ },
3611
+ updateData: function(e, t) {
3612
+ var i = J(e);
3613
+ M[i] ? M[i].emit("hb", t) : q.error("A monitor for `" + i + "` has not been initialized.");
3614
+ },
3615
+ setEmitTranslator: function(e, t) {
3616
+ var i = J(e);
3617
+ M[i] ? M[i].emitTranslator = t : q.error("A monitor for `" + i + "` has not been initialized.");
3618
+ },
3619
+ setStateDataTranslator: function(e, t) {
3620
+ var i = J(e);
3621
+ M[i] ? M[i].stateDataTranslator = t : q.error("A monitor for `" + i + "` has not been initialized.");
3622
+ },
3623
+ setGetPlayheadTime: function(e, t) {
3624
+ var i = J(e);
3625
+ M[i] ? M[i].getPlayheadTime = t : q.error("A monitor for `" + i + "` has not been initialized.");
3626
+ },
3627
+ checkDoNotTrack: ce,
3628
+ log: q,
3629
+ utils: zr,
3630
+ events: Kr,
3631
+ WINDOW_HIDDEN: !1,
3632
+ WINDOW_UNLOADING: !1
3633
+ };
3634
+ Object.assign(ne, Ui);
3635
+ typeof be.default != "undefined" && typeof be.default.addEventListener == "function" && be.default.addEventListener("pagehide", function(r) {
3636
+ r.persisted || (ne.WINDOW_UNLOADING = !0);
3637
+ }, !1);
3638
+ var jl = ne;
3639
+ /*!
3640
+ * JavaScript Cookie v2.1.3
3641
+ * https://github.com/js-cookie/js-cookie
3642
+ *
3643
+ * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
3644
+ * Released under the MIT license
3645
+ */
3646
+
3647
+ //#endregion
3648
+ //#region ../core/dist/dev/dom/media/mux/mux-data.js
3649
+ const MUX_VIDEO_DOMAIN = "mux.com";
3650
+ const MuxDataMediaMixin = (BaseClass) => {
3651
+ class MuxDataMedia extends BaseClass {
3652
+ #MuxDataSdk = jl;
3653
+ #MuxDataSdkInitializedBefore = false;
3654
+ #beaconCollectionDomain;
3655
+ #disableCookies = false;
3656
+ #metadata;
3657
+ #envKey;
3658
+ #playerSoftwareName = this.constructor.PLAYER_SOFTWARE_NAME;
3659
+ #playerSoftwareVersion = getPlayerVersion();
3660
+ #playerInitTime = this.#generatePlayerInitTime();
3661
+ get MuxDataSdk() {
3662
+ return this.#MuxDataSdk;
3663
+ }
3664
+ set MuxDataSdk(value) {
3665
+ this.#MuxDataSdk = value;
3666
+ }
3667
+ get beaconCollectionDomain() {
3668
+ return this.#beaconCollectionDomain;
3669
+ }
3670
+ set beaconCollectionDomain(value) {
3671
+ this.#beaconCollectionDomain = value;
3672
+ }
3673
+ get disableCookies() {
3674
+ return this.#disableCookies;
3675
+ }
3676
+ set disableCookies(value) {
3677
+ this.#disableCookies = value;
3678
+ }
3679
+ get envKey() {
3680
+ return this.#envKey;
3681
+ }
3682
+ set envKey(value) {
3683
+ this.#envKey = value;
3684
+ }
3685
+ get playerSoftwareName() {
3686
+ return this.#playerSoftwareName;
3687
+ }
3688
+ set playerSoftwareName(value) {
3689
+ this.#playerSoftwareName = value;
3690
+ }
3691
+ get playerSoftwareVersion() {
3692
+ return this.#playerSoftwareVersion;
3693
+ }
3694
+ set playerSoftwareVersion(value) {
3695
+ this.#playerSoftwareVersion = value;
3696
+ }
3697
+ get playerInitTime() {
3698
+ return this.#playerInitTime;
3699
+ }
3700
+ set playerInitTime(value) {
3701
+ this.#playerInitTime = value;
3702
+ }
3703
+ get metadata() {
3704
+ return this.#metadata;
3705
+ }
3706
+ set metadata(value) {
3707
+ this.#metadata = value;
3708
+ }
3709
+ attach(target) {
3710
+ super.attach(target);
3711
+ if (this.#MuxDataSdkInitializedBefore) this.#initializeMuxDataSdk();
3712
+ }
3713
+ detach() {
3714
+ if (this.target?.mux) {
3715
+ this.target.mux.destroy();
3716
+ delete this.target.mux;
3717
+ }
3718
+ super.detach();
3719
+ }
3720
+ load() {
3721
+ super.load();
3722
+ this.#initializeMuxDataSdk();
3723
+ }
3724
+ #initializeMuxDataSdk() {
3725
+ const target = this.target;
3726
+ if (!this.MuxDataSdk || !target || target.mux && !target.mux.deleted) return;
3727
+ this.#MuxDataSdkInitializedBefore = true;
3728
+ const { debug, beaconCollectionDomain, disableCookies, engine: hlsjs, envKey: env_key, playerSoftwareName: player_software_name, playerSoftwareVersion: player_software_version, playerInitTime: player_init_time, metadata = {} } = this;
3729
+ const { view_session_id = this.MuxDataSdk?.utils.generateUUID() } = metadata;
3730
+ const video_id = toVideoId(this);
3731
+ metadata.view_session_id = view_session_id;
3732
+ if (video_id) metadata.video_id = video_id;
3733
+ this.MuxDataSdk?.monitor(target, {
3734
+ debug,
3735
+ ...beaconCollectionDomain ? { beaconCollectionDomain } : {},
3736
+ ...disableCookies ? { disableCookies } : {},
3737
+ ...hlsjs ? { hlsjs } : {},
3738
+ Hls,
3739
+ data: {
3740
+ ...env_key ? { env_key } : {},
3741
+ ...player_software_name ? { player_software_name } : {},
3742
+ ...player_software_name ? { player_software: player_software_name } : {},
3743
+ ...player_software_version ? { player_software_version } : {},
3744
+ ...player_init_time ? { player_init_time } : {},
3745
+ ...metadata
3746
+ }
3747
+ });
3748
+ }
3749
+ #generatePlayerInitTime() {
3750
+ if (!this.MuxDataSdk) return void 0;
3751
+ return this.MuxDataSdk.utils.now();
3752
+ }
3753
+ }
3754
+ return MuxDataMedia;
3755
+ };
3756
+ function toVideoId(props) {
3757
+ if (props.metadata?.video_id) return props.metadata.video_id;
3758
+ if (!isMuxVideoSrc(props)) return props.src;
3759
+ return toPlaybackIdFromSrc(props.src) ?? props.src;
3760
+ }
3761
+ function toPlaybackIdFromSrc(src) {
3762
+ if (!src || !src.startsWith("https://stream.")) return void 0;
3763
+ const [playbackId] = new URL(src).pathname.slice(1).split(/\.m3u8|\//);
3764
+ return playbackId || void 0;
3765
+ }
3766
+ function isMuxVideoSrc({ src }) {
3767
+ if (typeof src !== "string") return false;
3768
+ const base = window?.location.href;
3769
+ return new URL(src, base).hostname.toLocaleLowerCase().includes(MUX_VIDEO_DOMAIN);
3770
+ }
3771
+
3772
+ //#endregion
3773
+ //#region ../core/dist/dev/dom/media/mux/index.js
3774
+ var MuxVideoMedia = class extends MuxDataMediaMixin(CastableMediaMixin(HlsMedia)) {
3775
+ static PLAYER_SOFTWARE_NAME = "mux-video";
3776
+ };
3777
+ var MuxAudioMedia = class extends MuxDataMediaMixin(CastableMediaMixin(HlsMedia)) {
3778
+ static PLAYER_SOFTWARE_NAME = "mux-audio";
3779
+ };
3780
+
3781
+ //#endregion
3782
+ export { MuxVideoMedia as n, MuxAudioMedia as t };
3783
+ //# sourceMappingURL=mux-BhHIeG3e.js.map