rx-player 4.5.0 → 4.6.0-dev.2026100600

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 (3763) hide show
  1. package/CHANGELOG.md +55 -13
  2. package/README.md +1 -1
  3. package/VERSION +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +20 -5
  6. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  7. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +23 -5
  8. package/dist/commonjs/__GENERATED_CODE/index.d.ts +2 -2
  9. package/dist/commonjs/__GENERATED_CODE/index.d.ts.map +1 -1
  10. package/dist/commonjs/__GENERATED_CODE/index.js +19 -6
  11. package/dist/commonjs/compat/add_class_name.js +16 -12
  12. package/dist/commonjs/compat/add_text_track.d.ts +1 -1
  13. package/dist/commonjs/compat/add_text_track.d.ts.map +1 -1
  14. package/dist/commonjs/compat/add_text_track.js +24 -15
  15. package/dist/commonjs/compat/browser_compatibility_types.d.ts +8 -7
  16. package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
  17. package/dist/commonjs/compat/browser_compatibility_types.js +24 -16
  18. package/dist/commonjs/compat/browser_version.js +30 -13
  19. package/dist/commonjs/compat/can_patch_isobmff.js +18 -9
  20. package/dist/commonjs/compat/can_patch_out_pssh.js +19 -9
  21. package/dist/commonjs/compat/can_preload_before_play.js +18 -10
  22. package/dist/commonjs/compat/can_rely_on_request_media_key_system_access.d.ts +7 -2
  23. package/dist/commonjs/compat/can_rely_on_request_media_key_system_access.d.ts.map +1 -1
  24. package/dist/commonjs/compat/can_rely_on_request_media_key_system_access.js +22 -34
  25. package/dist/commonjs/compat/can_rely_on_video_visibility_and_size.js +20 -10
  26. package/dist/commonjs/compat/can_reuse_media_keys.js +19 -14
  27. package/dist/commonjs/compat/change_source_buffer_type.d.ts +1 -1
  28. package/dist/commonjs/compat/change_source_buffer_type.d.ts.map +1 -1
  29. package/dist/commonjs/compat/change_source_buffer_type.js +25 -10
  30. package/dist/commonjs/compat/clear_element_src.d.ts +1 -1
  31. package/dist/commonjs/compat/clear_element_src.d.ts.map +1 -1
  32. package/dist/commonjs/compat/clear_element_src.js +23 -14
  33. package/dist/commonjs/compat/disable_remote_playback_on_managed_media_source.d.ts +2 -2
  34. package/dist/commonjs/compat/disable_remote_playback_on_managed_media_source.d.ts.map +1 -1
  35. package/dist/commonjs/compat/disable_remote_playback_on_managed_media_source.js +21 -12
  36. package/dist/commonjs/compat/eme/close_session.d.ts +1 -1
  37. package/dist/commonjs/compat/eme/close_session.d.ts.map +1 -1
  38. package/dist/commonjs/compat/eme/close_session.js +266 -90
  39. package/dist/commonjs/compat/eme/constants.js +13 -8
  40. package/dist/commonjs/compat/eme/custom_key_system_access.d.ts +1 -1
  41. package/dist/commonjs/compat/eme/custom_key_system_access.d.ts.map +1 -1
  42. package/dist/commonjs/compat/eme/custom_key_system_access.js +58 -34
  43. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.d.ts +2 -2
  44. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.d.ts.map +1 -1
  45. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.js +246 -113
  46. package/dist/commonjs/compat/eme/custom_media_keys/index.d.ts +5 -5
  47. package/dist/commonjs/compat/eme/custom_media_keys/index.d.ts.map +1 -1
  48. package/dist/commonjs/compat/eme/custom_media_keys/index.js +75 -15
  49. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
  50. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  51. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.js +35 -21
  52. package/dist/commonjs/compat/eme/custom_media_keys/ms_media_keys_constructor.js +20 -12
  53. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
  54. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  55. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +227 -118
  56. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts +1 -1
  57. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  58. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +257 -149
  59. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  60. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +19 -11
  61. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts +3 -3
  62. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts.map +1 -1
  63. package/dist/commonjs/compat/eme/eme-api-implementation.js +191 -148
  64. package/dist/commonjs/compat/eme/generate_key_request.d.ts +1 -1
  65. package/dist/commonjs/compat/eme/generate_key_request.d.ts.map +1 -1
  66. package/dist/commonjs/compat/eme/generate_key_request.js +73 -92
  67. package/dist/commonjs/compat/eme/get_init_data.d.ts +1 -1
  68. package/dist/commonjs/compat/eme/get_init_data.d.ts.map +1 -1
  69. package/dist/commonjs/compat/eme/get_init_data.js +78 -48
  70. package/dist/commonjs/compat/eme/get_uuid_kid_from_keystatus_kid.js +20 -13
  71. package/dist/commonjs/compat/eme/get_webkit_fairplay_initdata.js +21 -20
  72. package/dist/commonjs/compat/eme/index.d.ts +7 -7
  73. package/dist/commonjs/compat/eme/index.d.ts.map +1 -1
  74. package/dist/commonjs/compat/eme/index.js +38 -14
  75. package/dist/commonjs/compat/eme/load_session.d.ts +1 -1
  76. package/dist/commonjs/compat/eme/load_session.d.ts.map +1 -1
  77. package/dist/commonjs/compat/eme/load_session.js +170 -60
  78. package/dist/commonjs/compat/eme/set_media_keys.d.ts +2 -2
  79. package/dist/commonjs/compat/eme/set_media_keys.d.ts.map +1 -1
  80. package/dist/commonjs/compat/eme/set_media_keys.js +33 -21
  81. package/dist/commonjs/compat/enable_audio_track.d.ts +1 -1
  82. package/dist/commonjs/compat/enable_audio_track.d.ts.map +1 -1
  83. package/dist/commonjs/compat/enable_audio_track.js +18 -7
  84. package/dist/commonjs/compat/env_detector.d.ts +2 -0
  85. package/dist/commonjs/compat/env_detector.d.ts.map +1 -1
  86. package/dist/commonjs/compat/env_detector.js +88 -123
  87. package/dist/commonjs/compat/event_listeners.d.ts +4 -4
  88. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  89. package/dist/commonjs/compat/event_listeners.js +262 -183
  90. package/dist/commonjs/compat/force_media_key_instantiation_if_needed.d.ts +24 -0
  91. package/dist/commonjs/compat/force_media_key_instantiation_if_needed.d.ts.map +1 -0
  92. package/dist/commonjs/compat/force_media_key_instantiation_if_needed.js +226 -0
  93. package/dist/commonjs/compat/generate_init_data.d.ts +8 -0
  94. package/dist/commonjs/compat/generate_init_data.d.ts.map +1 -1
  95. package/dist/commonjs/compat/generate_init_data.js +64 -47
  96. package/dist/commonjs/compat/get_start_date.d.ts +1 -1
  97. package/dist/commonjs/compat/get_start_date.d.ts.map +1 -1
  98. package/dist/commonjs/compat/get_start_date.js +17 -9
  99. package/dist/commonjs/compat/has_issues_with_high_media_source_duration.js +19 -9
  100. package/dist/commonjs/compat/has_mse_in_worker.js +12 -5
  101. package/dist/commonjs/compat/has_webassembly.js +15 -4
  102. package/dist/commonjs/compat/has_worker_api.js +21 -8
  103. package/dist/commonjs/compat/is_codec_supported.d.ts +4 -3
  104. package/dist/commonjs/compat/is_codec_supported.d.ts.map +1 -1
  105. package/dist/commonjs/compat/is_codec_supported.js +35 -34
  106. package/dist/commonjs/compat/is_seeking_approximate.js +20 -10
  107. package/dist/commonjs/compat/is_vtt_cue.d.ts +1 -1
  108. package/dist/commonjs/compat/is_vtt_cue.d.ts.map +1 -1
  109. package/dist/commonjs/compat/is_vtt_cue.js +24 -8
  110. package/dist/commonjs/compat/make_vtt_cue.d.ts +1 -1
  111. package/dist/commonjs/compat/make_vtt_cue.d.ts.map +1 -1
  112. package/dist/commonjs/compat/make_vtt_cue.js +26 -14
  113. package/dist/commonjs/compat/may_media_element_fail_on_undecipherable_data.js +19 -9
  114. package/dist/commonjs/compat/on_height_width_change.d.ts +2 -2
  115. package/dist/commonjs/compat/on_height_width_change.d.ts.map +1 -1
  116. package/dist/commonjs/compat/on_height_width_change.js +42 -27
  117. package/dist/commonjs/compat/patch_webkit_source_buffer.js +30 -22
  118. package/dist/commonjs/compat/remove_cue.d.ts +1 -1
  119. package/dist/commonjs/compat/remove_cue.d.ts.map +1 -1
  120. package/dist/commonjs/compat/remove_cue.js +28 -21
  121. package/dist/commonjs/compat/reset_media_element.d.ts +1 -1
  122. package/dist/commonjs/compat/reset_media_element.d.ts.map +1 -1
  123. package/dist/commonjs/compat/reset_media_element.js +29 -14
  124. package/dist/commonjs/compat/should_await_set_media_keys.js +19 -11
  125. package/dist/commonjs/compat/should_favour_custom_safari_EME.js +21 -13
  126. package/dist/commonjs/compat/should_patch_out_dolby_vision_config_data_from_mp4.js +22 -11
  127. package/dist/commonjs/compat/should_reload_media_source_on_decipherability_update.js +19 -11
  128. package/dist/commonjs/compat/should_renew_media_key_system_access.d.ts +11 -0
  129. package/dist/commonjs/compat/should_renew_media_key_system_access.d.ts.map +1 -1
  130. package/dist/commonjs/compat/should_renew_media_key_system_access.js +31 -13
  131. package/dist/commonjs/compat/should_seek_at_zero.js +19 -9
  132. package/dist/commonjs/compat/should_unset_media_keys.js +20 -10
  133. package/dist/commonjs/compat/should_validate_metadata.js +20 -10
  134. package/dist/commonjs/compat/should_wait_for_data_before_loaded.js +21 -14
  135. package/dist/commonjs/compat/should_wait_for_have_enough_data.js +19 -9
  136. package/dist/commonjs/config.d.ts +2 -2
  137. package/dist/commonjs/config.d.ts.map +1 -1
  138. package/dist/commonjs/config.js +108 -58
  139. package/dist/commonjs/core/adaptive/adaptive_representation_selector.d.ts +9 -9
  140. package/dist/commonjs/core/adaptive/adaptive_representation_selector.d.ts.map +1 -1
  141. package/dist/commonjs/core/adaptive/adaptive_representation_selector.js +133 -142
  142. package/dist/commonjs/core/adaptive/buffer_based_chooser.d.ts +1 -1
  143. package/dist/commonjs/core/adaptive/buffer_based_chooser.d.ts.map +1 -1
  144. package/dist/commonjs/core/adaptive/buffer_based_chooser.js +144 -138
  145. package/dist/commonjs/core/adaptive/guess_based_chooser.d.ts +4 -4
  146. package/dist/commonjs/core/adaptive/guess_based_chooser.d.ts.map +1 -1
  147. package/dist/commonjs/core/adaptive/guess_based_chooser.js +171 -168
  148. package/dist/commonjs/core/adaptive/index.d.ts +2 -2
  149. package/dist/commonjs/core/adaptive/index.d.ts.map +1 -1
  150. package/dist/commonjs/core/adaptive/index.js +17 -5
  151. package/dist/commonjs/core/adaptive/network_analyzer.d.ts +4 -4
  152. package/dist/commonjs/core/adaptive/network_analyzer.d.ts.map +1 -1
  153. package/dist/commonjs/core/adaptive/network_analyzer.js +154 -147
  154. package/dist/commonjs/core/adaptive/utils/bandwidth_estimator.js +79 -46
  155. package/dist/commonjs/core/adaptive/utils/ewma.js +54 -27
  156. package/dist/commonjs/core/adaptive/utils/filter_by_bitrate.d.ts +1 -1
  157. package/dist/commonjs/core/adaptive/utils/filter_by_bitrate.d.ts.map +1 -1
  158. package/dist/commonjs/core/adaptive/utils/filter_by_bitrate.js +23 -9
  159. package/dist/commonjs/core/adaptive/utils/filter_by_resolution.d.ts +1 -1
  160. package/dist/commonjs/core/adaptive/utils/filter_by_resolution.d.ts.map +1 -1
  161. package/dist/commonjs/core/adaptive/utils/filter_by_resolution.js +25 -16
  162. package/dist/commonjs/core/adaptive/utils/get_buffer_levels.js +22 -17
  163. package/dist/commonjs/core/adaptive/utils/last_estimate_storage.d.ts +1 -1
  164. package/dist/commonjs/core/adaptive/utils/last_estimate_storage.d.ts.map +1 -1
  165. package/dist/commonjs/core/adaptive/utils/last_estimate_storage.js +43 -15
  166. package/dist/commonjs/core/adaptive/utils/pending_requests_store.d.ts +1 -1
  167. package/dist/commonjs/core/adaptive/utils/pending_requests_store.d.ts.map +1 -1
  168. package/dist/commonjs/core/adaptive/utils/pending_requests_store.js +96 -52
  169. package/dist/commonjs/core/adaptive/utils/representation_score_calculator.d.ts +1 -1
  170. package/dist/commonjs/core/adaptive/utils/representation_score_calculator.d.ts.map +1 -1
  171. package/dist/commonjs/core/adaptive/utils/representation_score_calculator.js +93 -86
  172. package/dist/commonjs/core/adaptive/utils/select_optimal_representation.d.ts +1 -1
  173. package/dist/commonjs/core/adaptive/utils/select_optimal_representation.d.ts.map +1 -1
  174. package/dist/commonjs/core/adaptive/utils/select_optimal_representation.js +21 -10
  175. package/dist/commonjs/core/cmcd/cmcd_data_builder.d.ts +4 -4
  176. package/dist/commonjs/core/cmcd/cmcd_data_builder.d.ts.map +1 -1
  177. package/dist/commonjs/core/cmcd/cmcd_data_builder.js +325 -313
  178. package/dist/commonjs/core/cmcd/index.d.ts +2 -2
  179. package/dist/commonjs/core/cmcd/index.d.ts.map +1 -1
  180. package/dist/commonjs/core/cmcd/index.js +16 -3
  181. package/dist/commonjs/core/entry/FreezeResolver.d.ts +3 -3
  182. package/dist/commonjs/core/entry/FreezeResolver.d.ts.map +1 -1
  183. package/dist/commonjs/core/entry/FreezeResolver.js +308 -324
  184. package/dist/commonjs/core/entry/content_preparer.d.ts +26 -30
  185. package/dist/commonjs/core/entry/content_preparer.d.ts.map +1 -1
  186. package/dist/commonjs/core/entry/content_preparer.js +311 -266
  187. package/dist/commonjs/core/entry/content_time_boundaries_observer.d.ts +5 -5
  188. package/dist/commonjs/core/entry/content_time_boundaries_observer.d.ts.map +1 -1
  189. package/dist/commonjs/core/entry/content_time_boundaries_observer.js +450 -347
  190. package/dist/commonjs/core/entry/core_entry.d.ts +4 -4
  191. package/dist/commonjs/core/entry/core_entry.d.ts.map +1 -1
  192. package/dist/commonjs/core/entry/core_entry.js +625 -527
  193. package/dist/commonjs/core/entry/core_text_displayer_interface.d.ts +4 -4
  194. package/dist/commonjs/core/entry/core_text_displayer_interface.d.ts.map +1 -1
  195. package/dist/commonjs/core/entry/core_text_displayer_interface.js +167 -113
  196. package/dist/commonjs/core/entry/create_content_time_boundaries_observer.d.ts +7 -7
  197. package/dist/commonjs/core/entry/create_content_time_boundaries_observer.d.ts.map +1 -1
  198. package/dist/commonjs/core/entry/create_content_time_boundaries_observer.js +26 -15
  199. package/dist/commonjs/core/entry/get_buffered_data_per_media_buffer.d.ts +4 -4
  200. package/dist/commonjs/core/entry/get_buffered_data_per_media_buffer.d.ts.map +1 -1
  201. package/dist/commonjs/core/entry/get_buffered_data_per_media_buffer.js +23 -8
  202. package/dist/commonjs/core/entry/get_thumbnail_data.d.ts +3 -3
  203. package/dist/commonjs/core/entry/get_thumbnail_data.d.ts.map +1 -1
  204. package/dist/commonjs/core/entry/get_thumbnail_data.js +152 -45
  205. package/dist/commonjs/core/entry/index.d.ts +3 -3
  206. package/dist/commonjs/core/entry/index.d.ts.map +1 -1
  207. package/dist/commonjs/core/entry/index.js +16 -3
  208. package/dist/commonjs/core/entry/track_choice_setter.d.ts +4 -4
  209. package/dist/commonjs/core/entry/track_choice_setter.d.ts.map +1 -1
  210. package/dist/commonjs/core/entry/track_choice_setter.js +187 -143
  211. package/dist/commonjs/core/entry/utils.d.ts +5 -5
  212. package/dist/commonjs/core/entry/utils.d.ts.map +1 -1
  213. package/dist/commonjs/core/entry/utils.js +117 -111
  214. package/dist/commonjs/core/fetchers/cdn_prioritizer.d.ts +3 -3
  215. package/dist/commonjs/core/fetchers/cdn_prioritizer.d.ts.map +1 -1
  216. package/dist/commonjs/core/fetchers/cdn_prioritizer.js +225 -131
  217. package/dist/commonjs/core/fetchers/index.d.ts +7 -7
  218. package/dist/commonjs/core/fetchers/index.d.ts.map +1 -1
  219. package/dist/commonjs/core/fetchers/index.js +33 -12
  220. package/dist/commonjs/core/fetchers/manifest/index.d.ts +2 -2
  221. package/dist/commonjs/core/fetchers/manifest/index.d.ts.map +1 -1
  222. package/dist/commonjs/core/fetchers/manifest/index.js +17 -5
  223. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts +5 -5
  224. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts.map +1 -1
  225. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +737 -541
  226. package/dist/commonjs/core/fetchers/segment/index.d.ts +4 -4
  227. package/dist/commonjs/core/fetchers/segment/index.d.ts.map +1 -1
  228. package/dist/commonjs/core/fetchers/segment/index.js +17 -5
  229. package/dist/commonjs/core/fetchers/segment/initialization_segment_cache.d.ts +1 -1
  230. package/dist/commonjs/core/fetchers/segment/initialization_segment_cache.d.ts.map +1 -1
  231. package/dist/commonjs/core/fetchers/segment/initialization_segment_cache.js +56 -25
  232. package/dist/commonjs/core/fetchers/segment/prioritized_segment_fetcher.d.ts +4 -4
  233. package/dist/commonjs/core/fetchers/segment/prioritized_segment_fetcher.d.ts.map +1 -1
  234. package/dist/commonjs/core/fetchers/segment/prioritized_segment_fetcher.js +23 -16
  235. package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts +8 -8
  236. package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts.map +1 -1
  237. package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +298 -175
  238. package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts +6 -6
  239. package/dist/commonjs/core/fetchers/segment/segment_queue.d.ts.map +1 -1
  240. package/dist/commonjs/core/fetchers/segment/segment_queue.js +446 -363
  241. package/dist/commonjs/core/fetchers/segment/segment_queue_creator.d.ts +7 -7
  242. package/dist/commonjs/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -1
  243. package/dist/commonjs/core/fetchers/segment/segment_queue_creator.js +96 -44
  244. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts +1 -1
  245. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  246. package/dist/commonjs/core/fetchers/segment/task_prioritizer.js +370 -305
  247. package/dist/commonjs/core/fetchers/thumbnails/index.d.ts +2 -2
  248. package/dist/commonjs/core/fetchers/thumbnails/index.d.ts.map +1 -1
  249. package/dist/commonjs/core/fetchers/thumbnails/index.js +16 -3
  250. package/dist/commonjs/core/fetchers/thumbnails/thumbnail_fetcher.d.ts +5 -5
  251. package/dist/commonjs/core/fetchers/thumbnails/thumbnail_fetcher.d.ts.map +1 -1
  252. package/dist/commonjs/core/fetchers/thumbnails/thumbnail_fetcher.js +322 -139
  253. package/dist/commonjs/core/fetchers/utils/error_selector.d.ts +1 -1
  254. package/dist/commonjs/core/fetchers/utils/error_selector.d.ts.map +1 -1
  255. package/dist/commonjs/core/fetchers/utils/error_selector.js +23 -12
  256. package/dist/commonjs/core/fetchers/utils/retry_after_delay.d.ts +7 -0
  257. package/dist/commonjs/core/fetchers/utils/retry_after_delay.d.ts.map +1 -0
  258. package/dist/commonjs/core/fetchers/utils/retry_after_delay.js +91 -0
  259. package/dist/commonjs/core/fetchers/utils/schedule_request.d.ts +3 -3
  260. package/dist/commonjs/core/fetchers/utils/schedule_request.d.ts.map +1 -1
  261. package/dist/commonjs/core/fetchers/utils/schedule_request.js +309 -230
  262. package/dist/commonjs/core/segment_sinks/garbage_collector.d.ts +5 -5
  263. package/dist/commonjs/core/segment_sinks/garbage_collector.d.ts.map +1 -1
  264. package/dist/commonjs/core/segment_sinks/garbage_collector.js +275 -131
  265. package/dist/commonjs/core/segment_sinks/implementations/audio_video/audio_video_segment_sink.d.ts +4 -4
  266. package/dist/commonjs/core/segment_sinks/implementations/audio_video/audio_video_segment_sink.d.ts.map +1 -1
  267. package/dist/commonjs/core/segment_sinks/implementations/audio_video/audio_video_segment_sink.js +479 -269
  268. package/dist/commonjs/core/segment_sinks/implementations/audio_video/index.d.ts +1 -1
  269. package/dist/commonjs/core/segment_sinks/implementations/audio_video/index.d.ts.map +1 -1
  270. package/dist/commonjs/core/segment_sinks/implementations/audio_video/index.js +17 -5
  271. package/dist/commonjs/core/segment_sinks/implementations/index.d.ts +3 -3
  272. package/dist/commonjs/core/segment_sinks/implementations/index.d.ts.map +1 -1
  273. package/dist/commonjs/core/segment_sinks/implementations/index.js +29 -20
  274. package/dist/commonjs/core/segment_sinks/implementations/text/index.d.ts +2 -2
  275. package/dist/commonjs/core/segment_sinks/implementations/text/index.d.ts.map +1 -1
  276. package/dist/commonjs/core/segment_sinks/implementations/text/index.js +16 -3
  277. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_sink.d.ts +5 -5
  278. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_sink.d.ts.map +1 -1
  279. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_sink.js +394 -203
  280. package/dist/commonjs/core/segment_sinks/implementations/types.d.ts +4 -4
  281. package/dist/commonjs/core/segment_sinks/implementations/types.d.ts.map +1 -1
  282. package/dist/commonjs/core/segment_sinks/implementations/types.js +73 -69
  283. package/dist/commonjs/core/segment_sinks/implementations/utils/manual_time_ranges.js +97 -49
  284. package/dist/commonjs/core/segment_sinks/index.d.ts +6 -6
  285. package/dist/commonjs/core/segment_sinks/index.d.ts.map +1 -1
  286. package/dist/commonjs/core/segment_sinks/index.js +40 -14
  287. package/dist/commonjs/core/segment_sinks/inventory/buffered_history.d.ts +1 -1
  288. package/dist/commonjs/core/segment_sinks/inventory/buffered_history.d.ts.map +1 -1
  289. package/dist/commonjs/core/segment_sinks/inventory/buffered_history.js +96 -76
  290. package/dist/commonjs/core/segment_sinks/inventory/index.d.ts +5 -5
  291. package/dist/commonjs/core/segment_sinks/inventory/index.d.ts.map +1 -1
  292. package/dist/commonjs/core/segment_sinks/inventory/index.js +29 -9
  293. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.d.ts +4 -4
  294. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.d.ts.map +1 -1
  295. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.js +756 -773
  296. package/dist/commonjs/core/segment_sinks/inventory/types.d.ts +1 -1
  297. package/dist/commonjs/core/segment_sinks/inventory/types.d.ts.map +1 -1
  298. package/dist/commonjs/core/segment_sinks/inventory/types.js +4 -3
  299. package/dist/commonjs/core/segment_sinks/inventory/utils.d.ts +2 -2
  300. package/dist/commonjs/core/segment_sinks/inventory/utils.d.ts.map +1 -1
  301. package/dist/commonjs/core/segment_sinks/inventory/utils.js +34 -34
  302. package/dist/commonjs/core/segment_sinks/segment_sinks_store.d.ts +6 -6
  303. package/dist/commonjs/core/segment_sinks/segment_sinks_store.d.ts.map +1 -1
  304. package/dist/commonjs/core/segment_sinks/segment_sinks_store.js +311 -256
  305. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts +2 -2
  306. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  307. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +456 -257
  308. package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.d.ts +4 -4
  309. package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.d.ts.map +1 -1
  310. package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.js +98 -71
  311. package/dist/commonjs/core/stream/adaptation/index.d.ts +2 -2
  312. package/dist/commonjs/core/stream/adaptation/index.d.ts.map +1 -1
  313. package/dist/commonjs/core/stream/adaptation/index.js +17 -5
  314. package/dist/commonjs/core/stream/adaptation/types.d.ts +8 -8
  315. package/dist/commonjs/core/stream/adaptation/types.d.ts.map +1 -1
  316. package/dist/commonjs/core/stream/adaptation/types.js +3 -1
  317. package/dist/commonjs/core/stream/index.d.ts +5 -5
  318. package/dist/commonjs/core/stream/index.d.ts.map +1 -1
  319. package/dist/commonjs/core/stream/index.js +17 -5
  320. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.d.ts +3 -3
  321. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  322. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.js +99 -82
  323. package/dist/commonjs/core/stream/orchestrator/index.d.ts +2 -2
  324. package/dist/commonjs/core/stream/orchestrator/index.d.ts.map +1 -1
  325. package/dist/commonjs/core/stream/orchestrator/index.js +17 -5
  326. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts +9 -9
  327. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  328. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +427 -262
  329. package/dist/commonjs/core/stream/period/index.d.ts +2 -2
  330. package/dist/commonjs/core/stream/period/index.d.ts.map +1 -1
  331. package/dist/commonjs/core/stream/period/index.js +17 -5
  332. package/dist/commonjs/core/stream/period/period_stream.d.ts +2 -2
  333. package/dist/commonjs/core/stream/period/period_stream.d.ts.map +1 -1
  334. package/dist/commonjs/core/stream/period/period_stream.js +566 -325
  335. package/dist/commonjs/core/stream/period/types.d.ts +15 -15
  336. package/dist/commonjs/core/stream/period/types.d.ts.map +1 -1
  337. package/dist/commonjs/core/stream/period/types.js +3 -1
  338. package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +5 -5
  339. package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.d.ts.map +1 -1
  340. package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.js +101 -75
  341. package/dist/commonjs/core/stream/representation/encryption_data_notifier.d.ts +2 -2
  342. package/dist/commonjs/core/stream/representation/encryption_data_notifier.d.ts.map +1 -1
  343. package/dist/commonjs/core/stream/representation/encryption_data_notifier.js +75 -61
  344. package/dist/commonjs/core/stream/representation/index.d.ts +2 -2
  345. package/dist/commonjs/core/stream/representation/index.d.ts.map +1 -1
  346. package/dist/commonjs/core/stream/representation/index.js +17 -5
  347. package/dist/commonjs/core/stream/representation/representation_stream.d.ts +2 -2
  348. package/dist/commonjs/core/stream/representation/representation_stream.d.ts.map +1 -1
  349. package/dist/commonjs/core/stream/representation/representation_stream.js +137 -107
  350. package/dist/commonjs/core/stream/representation/types.d.ts +9 -9
  351. package/dist/commonjs/core/stream/representation/types.d.ts.map +1 -1
  352. package/dist/commonjs/core/stream/representation/types.js +3 -1
  353. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.d.ts +6 -6
  354. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.d.ts.map +1 -1
  355. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.js +242 -90
  356. package/dist/commonjs/core/stream/representation/utils/check_for_discontinuity.d.ts +3 -3
  357. package/dist/commonjs/core/stream/representation/utils/check_for_discontinuity.d.ts.map +1 -1
  358. package/dist/commonjs/core/stream/representation/utils/check_for_discontinuity.js +68 -58
  359. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.d.ts +4 -4
  360. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.d.ts.map +1 -1
  361. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +115 -103
  362. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.d.ts +2 -2
  363. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  364. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +97 -119
  365. package/dist/commonjs/core/stream/representation/utils/get_segment_priority.js +19 -9
  366. package/dist/commonjs/core/stream/representation/utils/push_init_segment.d.ts +6 -6
  367. package/dist/commonjs/core/stream/representation/utils/push_init_segment.d.ts.map +1 -1
  368. package/dist/commonjs/core/stream/representation/utils/push_init_segment.js +173 -53
  369. package/dist/commonjs/core/stream/representation/utils/push_media_segment.d.ts +7 -7
  370. package/dist/commonjs/core/stream/representation/utils/push_media_segment.d.ts.map +1 -1
  371. package/dist/commonjs/core/stream/representation/utils/push_media_segment.js +182 -64
  372. package/dist/commonjs/core/types.d.ts +14 -14
  373. package/dist/commonjs/core/types.d.ts.map +1 -1
  374. package/dist/commonjs/core/types.js +4 -2
  375. package/dist/commonjs/default_config.d.ts +8 -0
  376. package/dist/commonjs/default_config.d.ts.map +1 -1
  377. package/dist/commonjs/default_config.js +191 -266
  378. package/dist/commonjs/errors/custom_loader_error.js +116 -30
  379. package/dist/commonjs/errors/encrypted_media_error.d.ts +2 -2
  380. package/dist/commonjs/errors/encrypted_media_error.d.ts.map +1 -1
  381. package/dist/commonjs/errors/encrypted_media_error.js +152 -43
  382. package/dist/commonjs/errors/error_codes.d.ts +1 -1
  383. package/dist/commonjs/errors/error_codes.d.ts.map +1 -1
  384. package/dist/commonjs/errors/error_codes.js +25 -10
  385. package/dist/commonjs/errors/error_message.js +11 -6
  386. package/dist/commonjs/errors/format_error.d.ts +1 -1
  387. package/dist/commonjs/errors/format_error.d.ts.map +1 -1
  388. package/dist/commonjs/errors/format_error.js +29 -13
  389. package/dist/commonjs/errors/index.d.ts +14 -14
  390. package/dist/commonjs/errors/index.d.ts.map +1 -1
  391. package/dist/commonjs/errors/index.js +92 -25
  392. package/dist/commonjs/errors/is_known_error.d.ts +1 -1
  393. package/dist/commonjs/errors/is_known_error.d.ts.map +1 -1
  394. package/dist/commonjs/errors/is_known_error.js +28 -16
  395. package/dist/commonjs/errors/media_error.d.ts +2 -2
  396. package/dist/commonjs/errors/media_error.d.ts.map +1 -1
  397. package/dist/commonjs/errors/media_error.js +165 -58
  398. package/dist/commonjs/errors/network_error.d.ts +2 -2
  399. package/dist/commonjs/errors/network_error.d.ts.map +1 -1
  400. package/dist/commonjs/errors/network_error.js +156 -50
  401. package/dist/commonjs/errors/other_error.d.ts +1 -1
  402. package/dist/commonjs/errors/other_error.d.ts.map +1 -1
  403. package/dist/commonjs/errors/other_error.js +149 -42
  404. package/dist/commonjs/errors/source_buffer_error.js +149 -43
  405. package/dist/commonjs/errors/worker_initialization_error.d.ts.map +1 -1
  406. package/dist/commonjs/errors/worker_initialization_error.js +118 -30
  407. package/dist/commonjs/experimental/features/index.d.ts +3 -3
  408. package/dist/commonjs/experimental/features/index.d.ts.map +1 -1
  409. package/dist/commonjs/experimental/features/index.js +24 -10
  410. package/dist/commonjs/experimental/features/local.d.ts +1 -1
  411. package/dist/commonjs/experimental/features/local.d.ts.map +1 -1
  412. package/dist/commonjs/experimental/features/local.js +32 -13
  413. package/dist/commonjs/experimental/features/metaplaylist.d.ts +1 -1
  414. package/dist/commonjs/experimental/features/metaplaylist.d.ts.map +1 -1
  415. package/dist/commonjs/experimental/features/metaplaylist.js +32 -13
  416. package/dist/commonjs/experimental/features/multi_thread.d.ts +1 -1
  417. package/dist/commonjs/experimental/features/multi_thread.d.ts.map +1 -1
  418. package/dist/commonjs/experimental/features/multi_thread.js +27 -11
  419. package/dist/commonjs/experimental/features/worker/index.d.ts +3 -3
  420. package/dist/commonjs/experimental/features/worker/index.d.ts.map +1 -1
  421. package/dist/commonjs/experimental/features/worker/index.js +29 -10
  422. package/dist/commonjs/experimental/index.d.ts +1 -1
  423. package/dist/commonjs/experimental/index.d.ts.map +1 -1
  424. package/dist/commonjs/experimental/index.js +15 -4
  425. package/dist/commonjs/experimental/tools/DummyMediaElement/eme.d.ts +19 -3
  426. package/dist/commonjs/experimental/tools/DummyMediaElement/eme.d.ts.map +1 -1
  427. package/dist/commonjs/experimental/tools/DummyMediaElement/eme.js +1066 -626
  428. package/dist/commonjs/experimental/tools/DummyMediaElement/html5.d.ts +7 -7
  429. package/dist/commonjs/experimental/tools/DummyMediaElement/html5.d.ts.map +1 -1
  430. package/dist/commonjs/experimental/tools/DummyMediaElement/html5.js +840 -779
  431. package/dist/commonjs/experimental/tools/DummyMediaElement/index.d.ts +1 -1
  432. package/dist/commonjs/experimental/tools/DummyMediaElement/index.d.ts.map +1 -1
  433. package/dist/commonjs/experimental/tools/DummyMediaElement/index.js +11 -3
  434. package/dist/commonjs/experimental/tools/DummyMediaElement/mse.d.ts +4 -4
  435. package/dist/commonjs/experimental/tools/DummyMediaElement/mse.d.ts.map +1 -1
  436. package/dist/commonjs/experimental/tools/DummyMediaElement/mse.js +743 -580
  437. package/dist/commonjs/experimental/tools/DummyMediaElement/utils.d.ts +4 -4
  438. package/dist/commonjs/experimental/tools/DummyMediaElement/utils.d.ts.map +1 -1
  439. package/dist/commonjs/experimental/tools/DummyMediaElement/utils.js +304 -255
  440. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
  441. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/dash.d.ts.map +1 -1
  442. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/dash.js +19 -6
  443. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
  444. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts.map +1 -1
  445. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/metaplaylist.js +19 -6
  446. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
  447. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/index.d.ts.map +1 -1
  448. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/index.js +53 -8
  449. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
  450. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts.map +1 -1
  451. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +32 -19
  452. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +3 -3
  453. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts.map +1 -1
  454. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +45 -37
  455. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -2
  456. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts.map +1 -1
  457. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +11 -6
  458. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/types.d.ts +2 -2
  459. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/types.d.ts.map +1 -1
  460. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/types.js +4 -3
  461. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +4 -4
  462. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts.map +1 -1
  463. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +493 -310
  464. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.js +119 -27
  465. package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +191 -82
  466. package/dist/commonjs/experimental/tools/createMetaplaylist/index.d.ts +1 -1
  467. package/dist/commonjs/experimental/tools/createMetaplaylist/index.d.ts.map +1 -1
  468. package/dist/commonjs/experimental/tools/createMetaplaylist/index.js +39 -15
  469. package/dist/commonjs/experimental/tools/index.d.ts +3 -3
  470. package/dist/commonjs/experimental/tools/index.d.ts.map +1 -1
  471. package/dist/commonjs/experimental/tools/index.js +29 -10
  472. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api.d.ts +1 -1
  473. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api.d.ts.map +1 -1
  474. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api.js +370 -156
  475. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/index.d.ts +2 -2
  476. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/index.d.ts.map +1 -1
  477. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/index.js +17 -5
  478. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/log.d.ts +1 -1
  479. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/log.d.ts.map +1 -1
  480. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/log.js +18 -6
  481. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +187 -65
  482. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +1 -1
  483. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  484. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +171 -78
  485. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +61 -53
  486. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/isTypeSupportedWithFeatures.d.ts +1 -1
  487. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/isTypeSupportedWithFeatures.d.ts.map +1 -1
  488. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/isTypeSupportedWithFeatures.js +166 -78
  489. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +1 -1
  490. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  491. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +23 -17
  492. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +1 -1
  493. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  494. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +21 -13
  495. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/types.js +4 -3
  496. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
  497. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/utils.d.ts.map +1 -1
  498. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/utils.js +90 -58
  499. package/dist/commonjs/features/add_features.d.ts +1 -1
  500. package/dist/commonjs/features/add_features.d.ts.map +1 -1
  501. package/dist/commonjs/features/add_features.js +36 -34
  502. package/dist/commonjs/features/features_object.d.ts +1 -1
  503. package/dist/commonjs/features/features_object.d.ts.map +1 -1
  504. package/dist/commonjs/features/features_object.js +17 -8
  505. package/dist/commonjs/features/index.d.ts +3 -3
  506. package/dist/commonjs/features/index.d.ts.map +1 -1
  507. package/dist/commonjs/features/index.js +27 -10
  508. package/dist/commonjs/features/list/dash.d.ts +1 -1
  509. package/dist/commonjs/features/list/dash.d.ts.map +1 -1
  510. package/dist/commonjs/features/list/dash.js +35 -17
  511. package/dist/commonjs/features/list/dash_wasm.d.ts +2 -2
  512. package/dist/commonjs/features/list/dash_wasm.d.ts.map +1 -1
  513. package/dist/commonjs/features/list/dash_wasm.js +37 -19
  514. package/dist/commonjs/features/list/debug_element.d.ts +1 -1
  515. package/dist/commonjs/features/list/debug_element.d.ts.map +1 -1
  516. package/dist/commonjs/features/list/debug_element.js +26 -7
  517. package/dist/commonjs/features/list/directfile.d.ts +1 -1
  518. package/dist/commonjs/features/list/directfile.d.ts.map +1 -1
  519. package/dist/commonjs/features/list/directfile.js +31 -10
  520. package/dist/commonjs/features/list/eme.d.ts +1 -1
  521. package/dist/commonjs/features/list/eme.d.ts.map +1 -1
  522. package/dist/commonjs/features/list/eme.js +27 -9
  523. package/dist/commonjs/features/list/html_sami_parser.d.ts +1 -1
  524. package/dist/commonjs/features/list/html_sami_parser.d.ts.map +1 -1
  525. package/dist/commonjs/features/list/html_sami_parser.js +29 -11
  526. package/dist/commonjs/features/list/html_srt_parser.d.ts +1 -1
  527. package/dist/commonjs/features/list/html_srt_parser.d.ts.map +1 -1
  528. package/dist/commonjs/features/list/html_srt_parser.js +29 -11
  529. package/dist/commonjs/features/list/html_text_buffer.d.ts +1 -1
  530. package/dist/commonjs/features/list/html_text_buffer.d.ts.map +1 -1
  531. package/dist/commonjs/features/list/html_text_buffer.js +27 -9
  532. package/dist/commonjs/features/list/html_ttml_parser.d.ts +1 -1
  533. package/dist/commonjs/features/list/html_ttml_parser.d.ts.map +1 -1
  534. package/dist/commonjs/features/list/html_ttml_parser.js +29 -11
  535. package/dist/commonjs/features/list/html_vtt_parser.d.ts +1 -1
  536. package/dist/commonjs/features/list/html_vtt_parser.d.ts.map +1 -1
  537. package/dist/commonjs/features/list/html_vtt_parser.js +30 -12
  538. package/dist/commonjs/features/list/index.d.ts +18 -17
  539. package/dist/commonjs/features/list/index.d.ts.map +1 -1
  540. package/dist/commonjs/features/list/index.js +84 -38
  541. package/dist/commonjs/features/list/media_source_main.d.ts +1 -1
  542. package/dist/commonjs/features/list/media_source_main.d.ts.map +1 -1
  543. package/dist/commonjs/features/list/media_source_main.js +30 -11
  544. package/dist/commonjs/features/list/multi_thread.d.ts +9 -0
  545. package/dist/commonjs/features/list/multi_thread.d.ts.map +1 -0
  546. package/dist/commonjs/features/list/multi_thread.js +35 -0
  547. package/dist/commonjs/features/list/native_sami_parser.d.ts +1 -1
  548. package/dist/commonjs/features/list/native_sami_parser.d.ts.map +1 -1
  549. package/dist/commonjs/features/list/native_sami_parser.js +29 -11
  550. package/dist/commonjs/features/list/native_srt_parser.d.ts +1 -1
  551. package/dist/commonjs/features/list/native_srt_parser.d.ts.map +1 -1
  552. package/dist/commonjs/features/list/native_srt_parser.js +29 -11
  553. package/dist/commonjs/features/list/native_text_buffer.d.ts +1 -1
  554. package/dist/commonjs/features/list/native_text_buffer.d.ts.map +1 -1
  555. package/dist/commonjs/features/list/native_text_buffer.js +27 -9
  556. package/dist/commonjs/features/list/native_ttml_parser.d.ts +1 -1
  557. package/dist/commonjs/features/list/native_ttml_parser.d.ts.map +1 -1
  558. package/dist/commonjs/features/list/native_ttml_parser.js +29 -11
  559. package/dist/commonjs/features/list/native_vtt_parser.d.ts +1 -1
  560. package/dist/commonjs/features/list/native_vtt_parser.d.ts.map +1 -1
  561. package/dist/commonjs/features/list/native_vtt_parser.js +30 -12
  562. package/dist/commonjs/features/list/smooth.d.ts +1 -1
  563. package/dist/commonjs/features/list/smooth.d.ts.map +1 -1
  564. package/dist/commonjs/features/list/smooth.js +33 -15
  565. package/dist/commonjs/features/types.d.ts +16 -16
  566. package/dist/commonjs/features/types.d.ts.map +1 -1
  567. package/dist/commonjs/features/types.js +4 -3
  568. package/dist/commonjs/importable_worker.d.ts +2 -2
  569. package/dist/commonjs/importable_worker.d.ts.map +1 -1
  570. package/dist/commonjs/importable_worker.js +178 -122
  571. package/dist/commonjs/index.d.ts +1 -1
  572. package/dist/commonjs/index.d.ts.map +1 -1
  573. package/dist/commonjs/index.js +36 -25
  574. package/dist/commonjs/initialize_worker.d.ts +1 -1
  575. package/dist/commonjs/initialize_worker.d.ts.map +1 -1
  576. package/dist/commonjs/initialize_worker.js +48 -34
  577. package/dist/commonjs/log.d.ts +1 -1
  578. package/dist/commonjs/log.d.ts.map +1 -1
  579. package/dist/commonjs/log.js +18 -6
  580. package/dist/commonjs/main_thread/api/debug/buffer_graph.d.ts +1 -1
  581. package/dist/commonjs/main_thread/api/debug/buffer_graph.d.ts.map +1 -1
  582. package/dist/commonjs/main_thread/api/debug/buffer_graph.js +187 -154
  583. package/dist/commonjs/main_thread/api/debug/buffer_size_graph.js +141 -98
  584. package/dist/commonjs/main_thread/api/debug/constants.js +11 -5
  585. package/dist/commonjs/main_thread/api/debug/index.d.ts +1 -1
  586. package/dist/commonjs/main_thread/api/debug/index.d.ts.map +1 -1
  587. package/dist/commonjs/main_thread/api/debug/index.js +16 -3
  588. package/dist/commonjs/main_thread/api/debug/modules/general_info.d.ts +2 -2
  589. package/dist/commonjs/main_thread/api/debug/modules/general_info.d.ts.map +1 -1
  590. package/dist/commonjs/main_thread/api/debug/modules/general_info.js +202 -137
  591. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_content.d.ts +3 -3
  592. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_content.d.ts.map +1 -1
  593. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_content.js +73 -79
  594. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_size.d.ts +2 -2
  595. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_size.d.ts.map +1 -1
  596. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_size.js +24 -13
  597. package/dist/commonjs/main_thread/api/debug/render.d.ts +2 -2
  598. package/dist/commonjs/main_thread/api/debug/render.d.ts.map +1 -1
  599. package/dist/commonjs/main_thread/api/debug/render.js +27 -15
  600. package/dist/commonjs/main_thread/api/debug/utils.js +46 -44
  601. package/dist/commonjs/main_thread/api/index.d.ts +1 -1
  602. package/dist/commonjs/main_thread/api/index.d.ts.map +1 -1
  603. package/dist/commonjs/main_thread/api/index.js +17 -5
  604. package/dist/commonjs/main_thread/api/option_utils.d.ts +2 -2
  605. package/dist/commonjs/main_thread/api/option_utils.d.ts.map +1 -1
  606. package/dist/commonjs/main_thread/api/option_utils.js +159 -179
  607. package/dist/commonjs/main_thread/api/public_api.d.ts +17 -17
  608. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  609. package/dist/commonjs/main_thread/api/public_api.js +3021 -2582
  610. package/dist/commonjs/main_thread/api/utils.d.ts +6 -6
  611. package/dist/commonjs/main_thread/api/utils.d.ts.map +1 -1
  612. package/dist/commonjs/main_thread/api/utils.js +79 -80
  613. package/dist/commonjs/main_thread/core_interface/base.d.ts +2 -2
  614. package/dist/commonjs/main_thread/core_interface/base.d.ts.map +1 -1
  615. package/dist/commonjs/main_thread/core_interface/base.js +68 -25
  616. package/dist/commonjs/main_thread/core_interface/monothread.d.ts +3 -3
  617. package/dist/commonjs/main_thread/core_interface/monothread.d.ts.map +1 -1
  618. package/dist/commonjs/main_thread/core_interface/monothread.js +132 -49
  619. package/dist/commonjs/main_thread/core_interface/multithread.d.ts +2 -2
  620. package/dist/commonjs/main_thread/core_interface/multithread.d.ts.map +1 -1
  621. package/dist/commonjs/main_thread/core_interface/multithread.js +107 -48
  622. package/dist/commonjs/main_thread/core_interface/types.d.ts +3 -3
  623. package/dist/commonjs/main_thread/core_interface/types.d.ts.map +1 -1
  624. package/dist/commonjs/main_thread/core_interface/types.js +3 -1
  625. package/dist/commonjs/main_thread/decrypt/clear_on_stop.d.ts +1 -1
  626. package/dist/commonjs/main_thread/decrypt/clear_on_stop.d.ts.map +1 -1
  627. package/dist/commonjs/main_thread/decrypt/clear_on_stop.js +169 -59
  628. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts +7 -7
  629. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  630. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +1105 -847
  631. package/dist/commonjs/main_thread/decrypt/create_or_load_session.d.ts +5 -5
  632. package/dist/commonjs/main_thread/decrypt/create_or_load_session.d.ts.map +1 -1
  633. package/dist/commonjs/main_thread/decrypt/create_or_load_session.js +192 -76
  634. package/dist/commonjs/main_thread/decrypt/create_session.d.ts +5 -5
  635. package/dist/commonjs/main_thread/decrypt/create_session.d.ts.map +1 -1
  636. package/dist/commonjs/main_thread/decrypt/create_session.js +253 -102
  637. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.d.ts +1 -1
  638. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.d.ts.map +1 -1
  639. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.js +144 -42
  640. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts +4 -4
  641. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  642. package/dist/commonjs/main_thread/decrypt/find_key_system.js +477 -326
  643. package/dist/commonjs/main_thread/decrypt/get_key_system_configuration.d.ts +1 -1
  644. package/dist/commonjs/main_thread/decrypt/get_key_system_configuration.d.ts.map +1 -1
  645. package/dist/commonjs/main_thread/decrypt/get_key_system_configuration.js +19 -9
  646. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts +6 -6
  647. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  648. package/dist/commonjs/main_thread/decrypt/get_media_keys.js +252 -111
  649. package/dist/commonjs/main_thread/decrypt/index.d.ts +5 -5
  650. package/dist/commonjs/main_thread/decrypt/index.d.ts.map +1 -1
  651. package/dist/commonjs/main_thread/decrypt/index.js +49 -29
  652. package/dist/commonjs/main_thread/decrypt/init_media_keys.d.ts +5 -5
  653. package/dist/commonjs/main_thread/decrypt/init_media_keys.d.ts.map +1 -1
  654. package/dist/commonjs/main_thread/decrypt/init_media_keys.js +169 -58
  655. package/dist/commonjs/main_thread/decrypt/session_events_listener.d.ts +3 -3
  656. package/dist/commonjs/main_thread/decrypt/session_events_listener.d.ts.map +1 -1
  657. package/dist/commonjs/main_thread/decrypt/session_events_listener.js +465 -200
  658. package/dist/commonjs/main_thread/decrypt/set_server_certificate.d.ts +2 -2
  659. package/dist/commonjs/main_thread/decrypt/set_server_certificate.d.ts.map +1 -1
  660. package/dist/commonjs/main_thread/decrypt/set_server_certificate.js +258 -94
  661. package/dist/commonjs/main_thread/decrypt/types.d.ts +5 -5
  662. package/dist/commonjs/main_thread/decrypt/types.d.ts.map +1 -1
  663. package/dist/commonjs/main_thread/decrypt/types.js +17 -17
  664. package/dist/commonjs/main_thread/decrypt/utils/are_init_values_compatible.d.ts +1 -1
  665. package/dist/commonjs/main_thread/decrypt/utils/are_init_values_compatible.d.ts.map +1 -1
  666. package/dist/commonjs/main_thread/decrypt/utils/are_init_values_compatible.js +46 -39
  667. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.d.ts +3 -3
  668. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.d.ts.map +1 -1
  669. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.js +317 -171
  670. package/dist/commonjs/main_thread/decrypt/utils/clean_old_loaded_sessions.d.ts +1 -1
  671. package/dist/commonjs/main_thread/decrypt/utils/clean_old_loaded_sessions.d.ts.map +1 -1
  672. package/dist/commonjs/main_thread/decrypt/utils/clean_old_loaded_sessions.js +160 -54
  673. package/dist/commonjs/main_thread/decrypt/utils/clean_old_stored_persistent_info.d.ts +1 -1
  674. package/dist/commonjs/main_thread/decrypt/utils/clean_old_stored_persistent_info.d.ts.map +1 -1
  675. package/dist/commonjs/main_thread/decrypt/utils/clean_old_stored_persistent_info.js +19 -9
  676. package/dist/commonjs/main_thread/decrypt/utils/get_drm_system_id.d.ts.map +1 -1
  677. package/dist/commonjs/main_thread/decrypt/utils/get_drm_system_id.js +21 -12
  678. package/dist/commonjs/main_thread/decrypt/utils/init_data_values_container.d.ts +1 -1
  679. package/dist/commonjs/main_thread/decrypt/utils/init_data_values_container.d.ts.map +1 -1
  680. package/dist/commonjs/main_thread/decrypt/utils/init_data_values_container.js +108 -74
  681. package/dist/commonjs/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts +1 -1
  682. package/dist/commonjs/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts.map +1 -1
  683. package/dist/commonjs/main_thread/decrypt/utils/is_compatible_codec_supported.js +36 -28
  684. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.d.ts +1 -1
  685. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.d.ts.map +1 -1
  686. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.js +30 -18
  687. package/dist/commonjs/main_thread/decrypt/utils/key_id_comparison.js +79 -64
  688. package/dist/commonjs/main_thread/decrypt/utils/key_session_record.d.ts +1 -1
  689. package/dist/commonjs/main_thread/decrypt/utils/key_session_record.d.ts.map +1 -1
  690. package/dist/commonjs/main_thread/decrypt/utils/key_session_record.js +134 -137
  691. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.d.ts +6 -4
  692. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.d.ts.map +1 -1
  693. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.js +616 -410
  694. package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.d.ts +4 -4
  695. package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.d.ts.map +1 -1
  696. package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.js +316 -140
  697. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts +3 -3
  698. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  699. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.js +373 -314
  700. package/dist/commonjs/main_thread/decrypt/utils/serializable_bytes.js +49 -23
  701. package/dist/commonjs/main_thread/decrypt/utils/server_certificate_store.d.ts +1 -1
  702. package/dist/commonjs/main_thread/decrypt/utils/server_certificate_store.d.ts.map +1 -1
  703. package/dist/commonjs/main_thread/decrypt/utils/server_certificate_store.js +36 -33
  704. package/dist/commonjs/main_thread/init/directfile_content_initializer.d.ts +7 -7
  705. package/dist/commonjs/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
  706. package/dist/commonjs/main_thread/init/directfile_content_initializer.js +277 -207
  707. package/dist/commonjs/main_thread/init/index.d.ts +2 -2
  708. package/dist/commonjs/main_thread/init/index.d.ts.map +1 -1
  709. package/dist/commonjs/main_thread/init/index.js +11 -6
  710. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +40 -24
  711. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  712. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +1831 -1539
  713. package/dist/commonjs/main_thread/init/types.d.ts +10 -10
  714. package/dist/commonjs/main_thread/init/types.d.ts.map +1 -1
  715. package/dist/commonjs/main_thread/init/types.js +73 -34
  716. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.d.ts +9 -9
  717. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
  718. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.js +44 -26
  719. package/dist/commonjs/main_thread/init/utils/get_initial_time.d.ts +1 -1
  720. package/dist/commonjs/main_thread/init/utils/get_initial_time.d.ts.map +1 -1
  721. package/dist/commonjs/main_thread/init/utils/get_initial_time.js +63 -62
  722. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.d.ts +3 -3
  723. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.d.ts.map +1 -1
  724. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.js +32 -21
  725. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts +5 -5
  726. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
  727. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.js +145 -136
  728. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.d.ts +8 -8
  729. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.d.ts.map +1 -1
  730. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.js +77 -46
  731. package/dist/commonjs/main_thread/init/utils/main_thread_text_displayer_interface.d.ts +3 -3
  732. package/dist/commonjs/main_thread/init/utils/main_thread_text_displayer_interface.d.ts.map +1 -1
  733. package/dist/commonjs/main_thread/init/utils/main_thread_text_displayer_interface.js +69 -39
  734. package/dist/commonjs/main_thread/init/utils/rebuffering_controller.d.ts +7 -7
  735. package/dist/commonjs/main_thread/init/utils/rebuffering_controller.d.ts.map +1 -1
  736. package/dist/commonjs/main_thread/init/utils/rebuffering_controller.js +345 -315
  737. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/are_same_stream_events.js +12 -6
  738. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/index.d.ts +2 -2
  739. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/index.d.ts.map +1 -1
  740. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/index.js +17 -5
  741. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +2 -2
  742. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts.map +1 -1
  743. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +71 -61
  744. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +4 -4
  745. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts.map +1 -1
  746. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.js +295 -211
  747. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/types.d.ts +1 -1
  748. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/types.d.ts.map +1 -1
  749. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/types.js +4 -3
  750. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.d.ts +3 -3
  751. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.d.ts.map +1 -1
  752. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.js +31 -27
  753. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts +8 -6
  754. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
  755. package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.js +150 -127
  756. package/dist/commonjs/main_thread/render_thumbnail.d.ts +2 -2
  757. package/dist/commonjs/main_thread/render_thumbnail.d.ts.map +1 -1
  758. package/dist/commonjs/main_thread/render_thumbnail.js +337 -137
  759. package/dist/commonjs/main_thread/text_displayer/html/html_parsers.d.ts +1 -1
  760. package/dist/commonjs/main_thread/text_displayer/html/html_parsers.d.ts.map +1 -1
  761. package/dist/commonjs/main_thread/text_displayer/html/html_parsers.js +27 -10
  762. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.d.ts +4 -4
  763. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.d.ts.map +1 -1
  764. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.js +364 -299
  765. package/dist/commonjs/main_thread/text_displayer/html/index.d.ts +1 -1
  766. package/dist/commonjs/main_thread/text_displayer/html/index.d.ts.map +1 -1
  767. package/dist/commonjs/main_thread/text_displayer/html/index.js +16 -3
  768. package/dist/commonjs/main_thread/text_displayer/html/text_track_cues_store.d.ts +1 -1
  769. package/dist/commonjs/main_thread/text_displayer/html/text_track_cues_store.d.ts.map +1 -1
  770. package/dist/commonjs/main_thread/text_displayer/html/text_track_cues_store.js +370 -312
  771. package/dist/commonjs/main_thread/text_displayer/html/update_proportional_elements.js +22 -7
  772. package/dist/commonjs/main_thread/text_displayer/html/utils.js +37 -54
  773. package/dist/commonjs/main_thread/text_displayer/index.d.ts +1 -1
  774. package/dist/commonjs/main_thread/text_displayer/index.d.ts.map +1 -1
  775. package/dist/commonjs/main_thread/text_displayer/index.js +3 -1
  776. package/dist/commonjs/main_thread/text_displayer/manual_time_ranges.js +90 -41
  777. package/dist/commonjs/main_thread/text_displayer/native/index.d.ts +1 -1
  778. package/dist/commonjs/main_thread/text_displayer/native/index.d.ts.map +1 -1
  779. package/dist/commonjs/main_thread/text_displayer/native/index.js +16 -3
  780. package/dist/commonjs/main_thread/text_displayer/native/native_parsers.d.ts +2 -2
  781. package/dist/commonjs/main_thread/text_displayer/native/native_parsers.d.ts.map +1 -1
  782. package/dist/commonjs/main_thread/text_displayer/native/native_parsers.js +27 -10
  783. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts +3 -3
  784. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
  785. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +223 -186
  786. package/dist/commonjs/main_thread/text_displayer/types.d.ts +2 -2
  787. package/dist/commonjs/main_thread/text_displayer/types.d.ts.map +1 -1
  788. package/dist/commonjs/main_thread/text_displayer/types.js +3 -1
  789. package/dist/commonjs/main_thread/tracks_store/index.d.ts +3 -3
  790. package/dist/commonjs/main_thread/tracks_store/index.d.ts.map +1 -1
  791. package/dist/commonjs/main_thread/tracks_store/index.js +29 -19
  792. package/dist/commonjs/main_thread/tracks_store/media_element_tracks_store.d.ts +3 -3
  793. package/dist/commonjs/main_thread/tracks_store/media_element_tracks_store.d.ts.map +1 -1
  794. package/dist/commonjs/main_thread/tracks_store/media_element_tracks_store.js +596 -513
  795. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.d.ts +5 -5
  796. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.d.ts.map +1 -1
  797. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +219 -148
  798. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts +6 -6
  799. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  800. package/dist/commonjs/main_thread/tracks_store/tracks_store.js +1395 -1155
  801. package/dist/commonjs/main_thread/types.d.ts +36 -34
  802. package/dist/commonjs/main_thread/types.d.ts.map +1 -1
  803. package/dist/commonjs/main_thread/types.js +3 -1
  804. package/dist/commonjs/main_thread/utils/media_capabilities.d.ts +2 -2
  805. package/dist/commonjs/main_thread/utils/media_capabilities.d.ts.map +1 -1
  806. package/dist/commonjs/main_thread/utils/media_capabilities.js +24 -6
  807. package/dist/commonjs/manifest/classes/adaptation.d.ts +5 -5
  808. package/dist/commonjs/manifest/classes/adaptation.d.ts.map +1 -1
  809. package/dist/commonjs/manifest/classes/adaptation.js +154 -133
  810. package/dist/commonjs/manifest/classes/codec_support_cache.js +83 -62
  811. package/dist/commonjs/manifest/classes/index.d.ts +14 -14
  812. package/dist/commonjs/manifest/classes/index.d.ts.map +1 -1
  813. package/dist/commonjs/manifest/classes/index.js +58 -31
  814. package/dist/commonjs/manifest/classes/manifest.d.ts +13 -13
  815. package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
  816. package/dist/commonjs/manifest/classes/manifest.js +489 -377
  817. package/dist/commonjs/manifest/classes/period.d.ts +6 -6
  818. package/dist/commonjs/manifest/classes/period.d.ts.map +1 -1
  819. package/dist/commonjs/manifest/classes/period.js +256 -184
  820. package/dist/commonjs/manifest/classes/representation.d.ts +5 -5
  821. package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
  822. package/dist/commonjs/manifest/classes/representation.js +282 -229
  823. package/dist/commonjs/manifest/classes/representation_index/index.d.ts +2 -2
  824. package/dist/commonjs/manifest/classes/representation_index/index.d.ts.map +1 -1
  825. package/dist/commonjs/manifest/classes/representation_index/index.js +16 -6
  826. package/dist/commonjs/manifest/classes/representation_index/static.d.ts +1 -1
  827. package/dist/commonjs/manifest/classes/representation_index/static.d.ts.map +1 -1
  828. package/dist/commonjs/manifest/classes/representation_index/static.js +170 -107
  829. package/dist/commonjs/manifest/classes/representation_index/types.d.ts +4 -4
  830. package/dist/commonjs/manifest/classes/representation_index/types.d.ts.map +1 -1
  831. package/dist/commonjs/manifest/classes/representation_index/types.js +4 -3
  832. package/dist/commonjs/manifest/classes/types.js +14 -11
  833. package/dist/commonjs/manifest/classes/update_period_in_place.d.ts +5 -5
  834. package/dist/commonjs/manifest/classes/update_period_in_place.d.ts.map +1 -1
  835. package/dist/commonjs/manifest/classes/update_period_in_place.js +188 -154
  836. package/dist/commonjs/manifest/classes/update_periods.d.ts +4 -4
  837. package/dist/commonjs/manifest/classes/update_periods.d.ts.map +1 -1
  838. package/dist/commonjs/manifest/classes/update_periods.js +150 -117
  839. package/dist/commonjs/manifest/classes/utils.d.ts +4 -4
  840. package/dist/commonjs/manifest/classes/utils.d.ts.map +1 -1
  841. package/dist/commonjs/manifest/classes/utils.js +27 -21
  842. package/dist/commonjs/manifest/index.d.ts +6 -6
  843. package/dist/commonjs/manifest/index.d.ts.map +1 -1
  844. package/dist/commonjs/manifest/index.js +31 -19
  845. package/dist/commonjs/manifest/types.d.ts +2 -2
  846. package/dist/commonjs/manifest/types.d.ts.map +1 -1
  847. package/dist/commonjs/manifest/types.js +3 -1
  848. package/dist/commonjs/manifest/utils.d.ts +4 -4
  849. package/dist/commonjs/manifest/utils.d.ts.map +1 -1
  850. package/dist/commonjs/manifest/utils.js +558 -445
  851. package/dist/commonjs/minimal.d.ts +1 -1
  852. package/dist/commonjs/minimal.d.ts.map +1 -1
  853. package/dist/commonjs/minimal.js +21 -11
  854. package/dist/commonjs/mse/index.d.ts +2 -2
  855. package/dist/commonjs/mse/index.d.ts.map +1 -1
  856. package/dist/commonjs/mse/index.js +3 -1
  857. package/dist/commonjs/mse/main_media_source_interface.d.ts +10 -5
  858. package/dist/commonjs/mse/main_media_source_interface.d.ts.map +1 -1
  859. package/dist/commonjs/mse/main_media_source_interface.js +666 -507
  860. package/dist/commonjs/mse/types.d.ts +3 -3
  861. package/dist/commonjs/mse/types.d.ts.map +1 -1
  862. package/dist/commonjs/mse/types.js +3 -1
  863. package/dist/commonjs/mse/utils/end_of_stream.d.ts +2 -2
  864. package/dist/commonjs/mse/utils/end_of_stream.d.ts.map +1 -1
  865. package/dist/commonjs/mse/utils/end_of_stream.js +71 -61
  866. package/dist/commonjs/mse/utils/media_source_duration_updater.d.ts +1 -1
  867. package/dist/commonjs/mse/utils/media_source_duration_updater.d.ts.map +1 -1
  868. package/dist/commonjs/mse/utils/media_source_duration_updater.js +146 -124
  869. package/dist/commonjs/mse/worker_media_source_interface.d.ts +7 -7
  870. package/dist/commonjs/mse/worker_media_source_interface.d.ts.map +1 -1
  871. package/dist/commonjs/mse/worker_media_source_interface.js +502 -328
  872. package/dist/commonjs/package.json +3 -0
  873. package/dist/commonjs/parsers/containers/isobmff/constants.js +12 -7
  874. package/dist/commonjs/parsers/containers/isobmff/create_box.js +53 -44
  875. package/dist/commonjs/parsers/containers/isobmff/drm/index.d.ts +1 -1
  876. package/dist/commonjs/parsers/containers/isobmff/drm/index.d.ts.map +1 -1
  877. package/dist/commonjs/parsers/containers/isobmff/drm/index.js +11 -6
  878. package/dist/commonjs/parsers/containers/isobmff/drm/playready.d.ts.map +1 -1
  879. package/dist/commonjs/parsers/containers/isobmff/drm/playready.js +17 -16
  880. package/dist/commonjs/parsers/containers/isobmff/extract_complete_chunks.js +53 -29
  881. package/dist/commonjs/parsers/containers/isobmff/extract_pssh.js +51 -34
  882. package/dist/commonjs/parsers/containers/isobmff/find_complete_box.js +18 -14
  883. package/dist/commonjs/parsers/containers/isobmff/get_box.js +105 -84
  884. package/dist/commonjs/parsers/containers/isobmff/index.d.ts +9 -9
  885. package/dist/commonjs/parsers/containers/isobmff/index.d.ts.map +1 -1
  886. package/dist/commonjs/parsers/containers/isobmff/index.js +124 -35
  887. package/dist/commonjs/parsers/containers/isobmff/read.js +44 -30
  888. package/dist/commonjs/parsers/containers/isobmff/remove_dolby_vision_config_data.js +71 -61
  889. package/dist/commonjs/parsers/containers/isobmff/utils.d.ts +1 -1
  890. package/dist/commonjs/parsers/containers/isobmff/utils.d.ts.map +1 -1
  891. package/dist/commonjs/parsers/containers/isobmff/utils.js +245 -237
  892. package/dist/commonjs/parsers/containers/matroska/index.d.ts +2 -2
  893. package/dist/commonjs/parsers/containers/matroska/index.d.ts.map +1 -1
  894. package/dist/commonjs/parsers/containers/matroska/index.js +19 -7
  895. package/dist/commonjs/parsers/containers/matroska/utils.js +142 -78
  896. package/dist/commonjs/parsers/images/bif.js +42 -24
  897. package/dist/commonjs/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
  898. package/dist/commonjs/parsers/manifest/dash/common/attach_trickmode_track.d.ts.map +1 -1
  899. package/dist/commonjs/parsers/manifest/dash/common/attach_trickmode_track.js +69 -47
  900. package/dist/commonjs/parsers/manifest/dash/common/content_protection_parser.d.ts +2 -2
  901. package/dist/commonjs/parsers/manifest/dash/common/content_protection_parser.d.ts.map +1 -1
  902. package/dist/commonjs/parsers/manifest/dash/common/content_protection_parser.js +245 -167
  903. package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.js +16 -20
  904. package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
  905. package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts.map +1 -1
  906. package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.js +25 -21
  907. package/dist/commonjs/parsers/manifest/dash/common/get_clock_offset.js +22 -10
  908. package/dist/commonjs/parsers/manifest/dash/common/get_hdr_information.js +65 -27
  909. package/dist/commonjs/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
  910. package/dist/commonjs/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts.map +1 -1
  911. package/dist/commonjs/parsers/manifest/dash/common/get_http_utc-timing_url.js +14 -11
  912. package/dist/commonjs/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
  913. package/dist/commonjs/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts.map +1 -1
  914. package/dist/commonjs/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +21 -11
  915. package/dist/commonjs/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
  916. package/dist/commonjs/parsers/manifest/dash/common/get_periods_time_infos.d.ts.map +1 -1
  917. package/dist/commonjs/parsers/manifest/dash/common/get_periods_time_infos.js +33 -31
  918. package/dist/commonjs/parsers/manifest/dash/common/index.d.ts +3 -3
  919. package/dist/commonjs/parsers/manifest/dash/common/index.d.ts.map +1 -1
  920. package/dist/commonjs/parsers/manifest/dash/common/index.js +35 -11
  921. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.d.ts +15 -11
  922. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.d.ts.map +1 -1
  923. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.js +212 -150
  924. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +31 -7
  925. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_init_segment.d.ts.map +1 -1
  926. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_init_segment.js +24 -14
  927. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
  928. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts.map +1 -1
  929. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +33 -31
  930. package/dist/commonjs/parsers/manifest/dash/common/indexes/index.d.ts +8 -8
  931. package/dist/commonjs/parsers/manifest/dash/common/indexes/index.d.ts.map +1 -1
  932. package/dist/commonjs/parsers/manifest/dash/common/indexes/index.js +33 -12
  933. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.d.ts +13 -9
  934. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.d.ts.map +1 -1
  935. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.js +263 -163
  936. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts +13 -9
  937. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts.map +1 -1
  938. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.js +392 -348
  939. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +2 -2
  940. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts.map +1 -1
  941. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +24 -14
  942. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +2 -2
  943. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts.map +1 -1
  944. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +41 -37
  945. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
  946. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts.map +1 -1
  947. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +23 -23
  948. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +2 -2
  949. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts.map +1 -1
  950. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +37 -35
  951. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -2
  952. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/index.d.ts.map +1 -1
  953. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/index.js +17 -5
  954. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts +1 -1
  955. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  956. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +65 -59
  957. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +17 -13
  958. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts.map +1 -1
  959. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +472 -460
  960. package/dist/commonjs/parsers/manifest/dash/common/indexes/tokens.js +37 -50
  961. package/dist/commonjs/parsers/manifest/dash/common/indexes/utils.js +17 -15
  962. package/dist/commonjs/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
  963. package/dist/commonjs/parsers/manifest/dash/common/infer_adaptation_type.d.ts.map +1 -1
  964. package/dist/commonjs/parsers/manifest/dash/common/infer_adaptation_type.js +71 -71
  965. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.js +99 -75
  966. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +5 -5
  967. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.d.ts.map +1 -1
  968. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +275 -210
  969. package/dist/commonjs/parsers/manifest/dash/common/parse_availability_start_time.d.ts +1 -1
  970. package/dist/commonjs/parsers/manifest/dash/common/parse_availability_start_time.d.ts.map +1 -1
  971. package/dist/commonjs/parsers/manifest/dash/common/parse_availability_start_time.js +18 -8
  972. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.d.ts +5 -5
  973. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.d.ts.map +1 -1
  974. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.js +169 -161
  975. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.d.ts +5 -5
  976. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.d.ts.map +1 -1
  977. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.js +211 -150
  978. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.d.ts +5 -5
  979. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.d.ts.map +1 -1
  980. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.js +151 -78
  981. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.d.ts +5 -5
  982. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.d.ts.map +1 -1
  983. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +222 -222
  984. package/dist/commonjs/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
  985. package/dist/commonjs/parsers/manifest/dash/common/resolve_base_urls.d.ts.map +1 -1
  986. package/dist/commonjs/parsers/manifest/dash/common/resolve_base_urls.js +20 -13
  987. package/dist/commonjs/parsers/manifest/dash/index.d.ts +1 -1
  988. package/dist/commonjs/parsers/manifest/dash/index.d.ts.map +1 -1
  989. package/dist/commonjs/parsers/manifest/dash/index.js +25 -9
  990. package/dist/commonjs/parsers/manifest/dash/js-parser/index.d.ts +1 -1
  991. package/dist/commonjs/parsers/manifest/dash/js-parser/index.d.ts.map +1 -1
  992. package/dist/commonjs/parsers/manifest/dash/js-parser/index.js +17 -5
  993. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +2 -2
  994. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  995. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +230 -224
  996. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +2 -2
  997. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts.map +1 -1
  998. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +23 -10
  999. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +3 -3
  1000. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts.map +1 -1
  1001. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.js +40 -33
  1002. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +2 -2
  1003. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts.map +1 -1
  1004. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.js +113 -58
  1005. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +2 -2
  1006. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts.map +1 -1
  1007. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +118 -72
  1008. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +3 -3
  1009. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts.map +1 -1
  1010. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +45 -36
  1011. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +2 -2
  1012. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts.map +1 -1
  1013. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/MPD.js +163 -124
  1014. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +2 -2
  1015. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts.map +1 -1
  1016. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Period.js +157 -115
  1017. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +2 -2
  1018. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts.map +1 -1
  1019. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.js +172 -147
  1020. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +2 -2
  1021. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts.map +1 -1
  1022. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +112 -78
  1023. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +2 -2
  1024. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts.map +1 -1
  1025. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentList.js +76 -28
  1026. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +2 -2
  1027. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts.map +1 -1
  1028. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +106 -71
  1029. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +2 -2
  1030. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts.map +1 -1
  1031. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.js +13 -8
  1032. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +2 -2
  1033. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts.map +1 -1
  1034. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +48 -40
  1035. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +6 -7
  1036. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts.map +1 -1
  1037. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/utils.js +353 -156
  1038. package/dist/commonjs/parsers/manifest/dash/js-parser/parse_from_xml_string.d.ts +5 -2
  1039. package/dist/commonjs/parsers/manifest/dash/js-parser/parse_from_xml_string.d.ts.map +1 -1
  1040. package/dist/commonjs/parsers/manifest/dash/js-parser/parse_from_xml_string.js +121 -68
  1041. package/dist/commonjs/parsers/manifest/dash/node_parser_types.d.ts +91 -57
  1042. package/dist/commonjs/parsers/manifest/dash/node_parser_types.d.ts.map +1 -1
  1043. package/dist/commonjs/parsers/manifest/dash/node_parser_types.js +4 -3
  1044. package/dist/commonjs/parsers/manifest/dash/parsers_types.d.ts +2 -2
  1045. package/dist/commonjs/parsers/manifest/dash/parsers_types.d.ts.map +1 -1
  1046. package/dist/commonjs/parsers/manifest/dash/parsers_types.js +4 -3
  1047. package/dist/commonjs/parsers/manifest/dash/wasm-parser/index.d.ts +2 -2
  1048. package/dist/commonjs/parsers/manifest/dash/wasm-parser/index.d.ts.map +1 -1
  1049. package/dist/commonjs/parsers/manifest/dash/wasm-parser/index.js +17 -5
  1050. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +4 -2
  1051. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  1052. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +558 -362
  1053. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +3 -3
  1054. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  1055. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +256 -212
  1056. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
  1057. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts.map +1 -1
  1058. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +13 -14
  1059. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +2 -2
  1060. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts.map +1 -1
  1061. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +20 -21
  1062. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +2 -2
  1063. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  1064. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +35 -34
  1065. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +3 -3
  1066. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  1067. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +81 -72
  1068. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Initialization.d.ts +4 -0
  1069. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Initialization.d.ts.map +1 -0
  1070. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Initialization.js +29 -0
  1071. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts +2 -2
  1072. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts.map +1 -1
  1073. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Label.js +14 -6
  1074. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +3 -3
  1075. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  1076. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +166 -130
  1077. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +3 -3
  1078. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  1079. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +158 -115
  1080. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +3 -3
  1081. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts.map +1 -1
  1082. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +168 -135
  1083. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +3 -3
  1084. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts.map +1 -1
  1085. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +16 -17
  1086. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +4 -2
  1087. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts.map +1 -1
  1088. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +88 -71
  1089. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +3 -3
  1090. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts.map +1 -1
  1091. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +38 -24
  1092. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +4 -2
  1093. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts.map +1 -1
  1094. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +115 -82
  1095. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
  1096. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts.map +1 -1
  1097. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +34 -34
  1098. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +3 -3
  1099. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts.map +1 -1
  1100. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +37 -27
  1101. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/index.d.ts +1 -1
  1102. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/index.d.ts.map +1 -1
  1103. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/index.js +11 -6
  1104. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
  1105. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  1106. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.js +36 -30
  1107. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts +1 -1
  1108. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts.map +1 -1
  1109. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +87 -43
  1110. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  1111. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/types.d.ts.map +1 -1
  1112. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/types.js +4 -3
  1113. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +4 -3
  1114. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/utils.d.ts.map +1 -1
  1115. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/utils.js +39 -10
  1116. package/dist/commonjs/parsers/manifest/index.d.ts +1 -1
  1117. package/dist/commonjs/parsers/manifest/index.d.ts.map +1 -1
  1118. package/dist/commonjs/parsers/manifest/index.js +4 -3
  1119. package/dist/commonjs/parsers/manifest/local/index.d.ts +2 -2
  1120. package/dist/commonjs/parsers/manifest/local/index.d.ts.map +1 -1
  1121. package/dist/commonjs/parsers/manifest/local/index.js +17 -5
  1122. package/dist/commonjs/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
  1123. package/dist/commonjs/parsers/manifest/local/parse_local_manifest.d.ts.map +1 -1
  1124. package/dist/commonjs/parsers/manifest/local/parse_local_manifest.js +59 -42
  1125. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts +2 -2
  1126. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts.map +1 -1
  1127. package/dist/commonjs/parsers/manifest/local/representation_index.js +309 -237
  1128. package/dist/commonjs/parsers/manifest/local/types.js +4 -3
  1129. package/dist/commonjs/parsers/manifest/metaplaylist/index.d.ts +2 -2
  1130. package/dist/commonjs/parsers/manifest/metaplaylist/index.d.ts.map +1 -1
  1131. package/dist/commonjs/parsers/manifest/metaplaylist/index.js +17 -5
  1132. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
  1133. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  1134. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +154 -146
  1135. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.d.ts +3 -3
  1136. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.d.ts.map +1 -1
  1137. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.js +212 -165
  1138. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts +2 -2
  1139. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  1140. package/dist/commonjs/parsers/manifest/smooth/create_parser.js +273 -262
  1141. package/dist/commonjs/parsers/manifest/smooth/get_codecs.js +27 -21
  1142. package/dist/commonjs/parsers/manifest/smooth/index.d.ts +3 -3
  1143. package/dist/commonjs/parsers/manifest/smooth/index.d.ts.map +1 -1
  1144. package/dist/commonjs/parsers/manifest/smooth/index.js +26 -8
  1145. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts +1 -1
  1146. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
  1147. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.js +28 -16
  1148. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts +1 -1
  1149. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
  1150. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.js +52 -51
  1151. package/dist/commonjs/parsers/manifest/smooth/representation_index.d.ts +3 -3
  1152. package/dist/commonjs/parsers/manifest/smooth/representation_index.d.ts.map +1 -1
  1153. package/dist/commonjs/parsers/manifest/smooth/representation_index.js +330 -270
  1154. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +1 -1
  1155. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts.map +1 -1
  1156. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.js +150 -134
  1157. package/dist/commonjs/parsers/manifest/smooth/utils/add_segment_infos.js +22 -18
  1158. package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.js +13 -10
  1159. package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.d.ts +1 -1
  1160. package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
  1161. package/dist/commonjs/parsers/manifest/smooth/utils/reduceChildren.js +25 -25
  1162. package/dist/commonjs/parsers/manifest/smooth/utils/tokens.js +21 -12
  1163. package/dist/commonjs/parsers/manifest/types.d.ts +2 -2
  1164. package/dist/commonjs/parsers/manifest/types.d.ts.map +1 -1
  1165. package/dist/commonjs/parsers/manifest/types.js +4 -3
  1166. package/dist/commonjs/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
  1167. package/dist/commonjs/parsers/manifest/utils/check_manifest_ids.d.ts.map +1 -1
  1168. package/dist/commonjs/parsers/manifest/utils/check_manifest_ids.js +35 -26
  1169. package/dist/commonjs/parsers/manifest/utils/clear_timeline_from_position.d.ts +1 -1
  1170. package/dist/commonjs/parsers/manifest/utils/clear_timeline_from_position.d.ts.map +1 -1
  1171. package/dist/commonjs/parsers/manifest/utils/clear_timeline_from_position.js +17 -16
  1172. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
  1173. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.d.ts.map +1 -1
  1174. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.js +25 -25
  1175. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
  1176. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.d.ts.map +1 -1
  1177. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.js +25 -25
  1178. package/dist/commonjs/parsers/manifest/utils/get_maximum_positions.d.ts +1 -1
  1179. package/dist/commonjs/parsers/manifest/utils/get_maximum_positions.d.ts.map +1 -1
  1180. package/dist/commonjs/parsers/manifest/utils/get_maximum_positions.js +51 -25
  1181. package/dist/commonjs/parsers/manifest/utils/get_minimum_position.d.ts +1 -1
  1182. package/dist/commonjs/parsers/manifest/utils/get_minimum_position.d.ts.map +1 -1
  1183. package/dist/commonjs/parsers/manifest/utils/get_minimum_position.js +26 -18
  1184. package/dist/commonjs/parsers/manifest/utils/index_helpers.js +48 -68
  1185. package/dist/commonjs/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
  1186. package/dist/commonjs/parsers/manifest/utils/update_segment_timeline.d.ts.map +1 -1
  1187. package/dist/commonjs/parsers/manifest/utils/update_segment_timeline.js +107 -68
  1188. package/dist/commonjs/parsers/texttracks/index.d.ts +1 -1
  1189. package/dist/commonjs/parsers/texttracks/index.d.ts.map +1 -1
  1190. package/dist/commonjs/parsers/texttracks/index.js +4 -3
  1191. package/dist/commonjs/parsers/texttracks/sami/html.d.ts +1 -1
  1192. package/dist/commonjs/parsers/texttracks/sami/html.d.ts.map +1 -1
  1193. package/dist/commonjs/parsers/texttracks/sami/html.js +91 -59
  1194. package/dist/commonjs/parsers/texttracks/sami/native.d.ts +1 -1
  1195. package/dist/commonjs/parsers/texttracks/sami/native.d.ts.map +1 -1
  1196. package/dist/commonjs/parsers/texttracks/sami/native.js +91 -53
  1197. package/dist/commonjs/parsers/texttracks/srt/find_end_of_cue_block.js +18 -8
  1198. package/dist/commonjs/parsers/texttracks/srt/get_cue_blocks.js +23 -15
  1199. package/dist/commonjs/parsers/texttracks/srt/html.js +65 -75
  1200. package/dist/commonjs/parsers/texttracks/srt/native.d.ts +1 -1
  1201. package/dist/commonjs/parsers/texttracks/srt/native.d.ts.map +1 -1
  1202. package/dist/commonjs/parsers/texttracks/srt/native.js +28 -20
  1203. package/dist/commonjs/parsers/texttracks/srt/parse_cue.js +82 -33
  1204. package/dist/commonjs/parsers/texttracks/srt/parse_timestamp.js +18 -8
  1205. package/dist/commonjs/parsers/texttracks/ttml/get_parameters.js +38 -23
  1206. package/dist/commonjs/parsers/texttracks/ttml/get_styling.js +81 -70
  1207. package/dist/commonjs/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
  1208. package/dist/commonjs/parsers/texttracks/ttml/get_time_delimiters.d.ts.map +1 -1
  1209. package/dist/commonjs/parsers/texttracks/ttml/get_time_delimiters.js +28 -18
  1210. package/dist/commonjs/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +20 -35
  1211. package/dist/commonjs/parsers/texttracks/ttml/html/apply_extent.js +33 -23
  1212. package/dist/commonjs/parsers/texttracks/ttml/html/apply_font_size.js +30 -22
  1213. package/dist/commonjs/parsers/texttracks/ttml/html/apply_line_height.js +43 -34
  1214. package/dist/commonjs/parsers/texttracks/ttml/html/apply_origin.js +33 -23
  1215. package/dist/commonjs/parsers/texttracks/ttml/html/apply_padding.js +55 -55
  1216. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.d.ts +1 -1
  1217. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.d.ts.map +1 -1
  1218. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.js +150 -147
  1219. package/dist/commonjs/parsers/texttracks/ttml/html/generate_css_test_outline.js +19 -12
  1220. package/dist/commonjs/parsers/texttracks/ttml/html/index.d.ts +1 -1
  1221. package/dist/commonjs/parsers/texttracks/ttml/html/index.d.ts.map +1 -1
  1222. package/dist/commonjs/parsers/texttracks/ttml/html/index.js +18 -7
  1223. package/dist/commonjs/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
  1224. package/dist/commonjs/parsers/texttracks/ttml/html/parse_cue.d.ts.map +1 -1
  1225. package/dist/commonjs/parsers/texttracks/ttml/html/parse_cue.js +27 -15
  1226. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
  1227. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts.map +1 -1
  1228. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.js +41 -37
  1229. package/dist/commonjs/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +30 -50
  1230. package/dist/commonjs/parsers/texttracks/ttml/native/index.d.ts +1 -1
  1231. package/dist/commonjs/parsers/texttracks/ttml/native/index.d.ts.map +1 -1
  1232. package/dist/commonjs/parsers/texttracks/ttml/native/index.js +18 -7
  1233. package/dist/commonjs/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
  1234. package/dist/commonjs/parsers/texttracks/ttml/native/parse_cue.d.ts.map +1 -1
  1235. package/dist/commonjs/parsers/texttracks/ttml/native/parse_cue.js +69 -78
  1236. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
  1237. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  1238. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +38 -34
  1239. package/dist/commonjs/parsers/texttracks/ttml/parse_ttml.d.ts +2 -2
  1240. package/dist/commonjs/parsers/texttracks/ttml/parse_ttml.d.ts.map +1 -1
  1241. package/dist/commonjs/parsers/texttracks/ttml/parse_ttml.js +109 -92
  1242. package/dist/commonjs/parsers/texttracks/ttml/regexps.js +48 -16
  1243. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
  1244. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  1245. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.js +53 -48
  1246. package/dist/commonjs/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
  1247. package/dist/commonjs/parsers/texttracks/ttml/time_parsing.d.ts.map +1 -1
  1248. package/dist/commonjs/parsers/texttracks/ttml/time_parsing.js +29 -32
  1249. package/dist/commonjs/parsers/texttracks/ttml/xml_utils.js +82 -87
  1250. package/dist/commonjs/parsers/texttracks/types.d.ts +1 -1
  1251. package/dist/commonjs/parsers/texttracks/types.d.ts.map +1 -1
  1252. package/dist/commonjs/parsers/texttracks/types.js +4 -3
  1253. package/dist/commonjs/parsers/texttracks/webvtt/create_default_style_elements.d.ts +1 -1
  1254. package/dist/commonjs/parsers/texttracks/webvtt/create_default_style_elements.d.ts.map +1 -1
  1255. package/dist/commonjs/parsers/texttracks/webvtt/create_default_style_elements.js +12 -6
  1256. package/dist/commonjs/parsers/texttracks/webvtt/get_cue_blocks.js +23 -14
  1257. package/dist/commonjs/parsers/texttracks/webvtt/get_style_blocks.js +23 -14
  1258. package/dist/commonjs/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
  1259. package/dist/commonjs/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts.map +1 -1
  1260. package/dist/commonjs/parsers/texttracks/webvtt/html/convert_payload_to_html.js +22 -14
  1261. package/dist/commonjs/parsers/texttracks/webvtt/html/create_style_attribute.js +58 -60
  1262. package/dist/commonjs/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
  1263. package/dist/commonjs/parsers/texttracks/webvtt/html/create_styled_element.d.ts.map +1 -1
  1264. package/dist/commonjs/parsers/texttracks/webvtt/html/create_styled_element.js +50 -33
  1265. package/dist/commonjs/parsers/texttracks/webvtt/html/index.d.ts +3 -3
  1266. package/dist/commonjs/parsers/texttracks/webvtt/html/index.d.ts.map +1 -1
  1267. package/dist/commonjs/parsers/texttracks/webvtt/html/index.js +26 -10
  1268. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_mp4.d.ts +1 -1
  1269. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_mp4.d.ts.map +1 -1
  1270. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_mp4.js +23 -12
  1271. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_plain_text.d.ts +1 -1
  1272. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_plain_text.d.ts.map +1 -1
  1273. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_plain_text.js +33 -24
  1274. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
  1275. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  1276. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.js +34 -21
  1277. package/dist/commonjs/parsers/texttracks/webvtt/native/index.d.ts +2 -2
  1278. package/dist/commonjs/parsers/texttracks/webvtt/native/index.d.ts.map +1 -1
  1279. package/dist/commonjs/parsers/texttracks/webvtt/native/index.js +26 -10
  1280. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_plain_text_to_cues.d.ts +1 -1
  1281. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_plain_text_to_cues.d.ts.map +1 -1
  1282. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_plain_text_to_cues.js +50 -46
  1283. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_webvtt_mp4_to_cues.d.ts +1 -1
  1284. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_webvtt_mp4_to_cues.d.ts.map +1 -1
  1285. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_webvtt_mp4_to_cues.js +24 -14
  1286. package/dist/commonjs/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
  1287. package/dist/commonjs/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts.map +1 -1
  1288. package/dist/commonjs/parsers/texttracks/webvtt/native/set_settings_on_cue.js +39 -19
  1289. package/dist/commonjs/parsers/texttracks/webvtt/native/to_native_cue.d.ts +2 -2
  1290. package/dist/commonjs/parsers/texttracks/webvtt/native/to_native_cue.d.ts.map +1 -1
  1291. package/dist/commonjs/parsers/texttracks/webvtt/native/to_native_cue.js +18 -8
  1292. package/dist/commonjs/parsers/texttracks/webvtt/parse_cue_block.js +43 -29
  1293. package/dist/commonjs/parsers/texttracks/webvtt/parse_mp4_embedded_wvtt.d.ts +1 -1
  1294. package/dist/commonjs/parsers/texttracks/webvtt/parse_mp4_embedded_wvtt.d.ts.map +1 -1
  1295. package/dist/commonjs/parsers/texttracks/webvtt/parse_mp4_embedded_wvtt.js +62 -62
  1296. package/dist/commonjs/parsers/texttracks/webvtt/parse_style_block.js +42 -37
  1297. package/dist/commonjs/parsers/texttracks/webvtt/parse_timestamp.js +19 -9
  1298. package/dist/commonjs/parsers/texttracks/webvtt/utils.js +54 -44
  1299. package/dist/commonjs/playback_observer/core_playback_observer.d.ts +7 -7
  1300. package/dist/commonjs/playback_observer/core_playback_observer.d.ts.map +1 -1
  1301. package/dist/commonjs/playback_observer/core_playback_observer.js +95 -38
  1302. package/dist/commonjs/playback_observer/index.d.ts +4 -4
  1303. package/dist/commonjs/playback_observer/index.d.ts.map +1 -1
  1304. package/dist/commonjs/playback_observer/index.js +15 -4
  1305. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts +5 -5
  1306. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  1307. package/dist/commonjs/playback_observer/media_element_playback_observer.js +476 -495
  1308. package/dist/commonjs/playback_observer/types.d.ts +3 -3
  1309. package/dist/commonjs/playback_observer/types.d.ts.map +1 -1
  1310. package/dist/commonjs/playback_observer/types.js +3 -1
  1311. package/dist/commonjs/playback_observer/utils/generate_read_only_observer.d.ts +3 -3
  1312. package/dist/commonjs/playback_observer/utils/generate_read_only_observer.d.ts.map +1 -1
  1313. package/dist/commonjs/playback_observer/utils/generate_read_only_observer.js +19 -13
  1314. package/dist/commonjs/playback_observer/utils/observation_position.js +72 -32
  1315. package/dist/commonjs/public_types.d.ts +6 -6
  1316. package/dist/commonjs/public_types.d.ts.map +1 -1
  1317. package/dist/commonjs/public_types.js +4 -3
  1318. package/dist/commonjs/tools/TextTrackRenderer/index.d.ts +6 -6
  1319. package/dist/commonjs/tools/TextTrackRenderer/index.d.ts.map +1 -1
  1320. package/dist/commonjs/tools/TextTrackRenderer/index.js +38 -15
  1321. package/dist/commonjs/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
  1322. package/dist/commonjs/tools/TextTrackRenderer/text_track_renderer.d.ts.map +1 -1
  1323. package/dist/commonjs/tools/TextTrackRenderer/text_track_renderer.js +90 -58
  1324. package/dist/commonjs/tools/index.d.ts +3 -3
  1325. package/dist/commonjs/tools/index.d.ts.map +1 -1
  1326. package/dist/commonjs/tools/index.js +59 -9
  1327. package/dist/commonjs/tools/parseBIFThumbnails/index.js +24 -11
  1328. package/dist/commonjs/tools/string_utils/index.d.ts +1 -1
  1329. package/dist/commonjs/tools/string_utils/index.d.ts.map +1 -1
  1330. package/dist/commonjs/tools/string_utils/index.js +31 -11
  1331. package/dist/commonjs/transports/dash/construct_segment_url.d.ts +2 -2
  1332. package/dist/commonjs/transports/dash/construct_segment_url.d.ts.map +1 -1
  1333. package/dist/commonjs/transports/dash/construct_segment_url.js +12 -6
  1334. package/dist/commonjs/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
  1335. package/dist/commonjs/transports/dash/get_events_out_of_emsgs.d.ts.map +1 -1
  1336. package/dist/commonjs/transports/dash/get_events_out_of_emsgs.js +47 -45
  1337. package/dist/commonjs/transports/dash/index.d.ts +1 -1
  1338. package/dist/commonjs/transports/dash/index.d.ts.map +1 -1
  1339. package/dist/commonjs/transports/dash/index.js +18 -7
  1340. package/dist/commonjs/transports/dash/init_segment_loader.d.ts +3 -3
  1341. package/dist/commonjs/transports/dash/init_segment_loader.d.ts.map +1 -1
  1342. package/dist/commonjs/transports/dash/init_segment_loader.js +118 -60
  1343. package/dist/commonjs/transports/dash/integrity_checks.d.ts +1 -1
  1344. package/dist/commonjs/transports/dash/integrity_checks.d.ts.map +1 -1
  1345. package/dist/commonjs/transports/dash/integrity_checks.js +245 -141
  1346. package/dist/commonjs/transports/dash/load_chunked_segment_data.d.ts +2 -2
  1347. package/dist/commonjs/transports/dash/load_chunked_segment_data.d.ts.map +1 -1
  1348. package/dist/commonjs/transports/dash/load_chunked_segment_data.js +169 -65
  1349. package/dist/commonjs/transports/dash/manifest_parser.d.ts +2 -2
  1350. package/dist/commonjs/transports/dash/manifest_parser.d.ts.map +1 -1
  1351. package/dist/commonjs/transports/dash/manifest_parser.js +119 -133
  1352. package/dist/commonjs/transports/dash/pipelines.d.ts +1 -1
  1353. package/dist/commonjs/transports/dash/pipelines.d.ts.map +1 -1
  1354. package/dist/commonjs/transports/dash/pipelines.js +49 -34
  1355. package/dist/commonjs/transports/dash/segment_loader.d.ts +3 -3
  1356. package/dist/commonjs/transports/dash/segment_loader.d.ts.map +1 -1
  1357. package/dist/commonjs/transports/dash/segment_loader.js +270 -142
  1358. package/dist/commonjs/transports/dash/segment_parser.d.ts +1 -1
  1359. package/dist/commonjs/transports/dash/segment_parser.d.ts.map +1 -1
  1360. package/dist/commonjs/transports/dash/segment_parser.js +59 -53
  1361. package/dist/commonjs/transports/dash/text_loader.d.ts +1 -1
  1362. package/dist/commonjs/transports/dash/text_loader.d.ts.map +1 -1
  1363. package/dist/commonjs/transports/dash/text_loader.js +247 -107
  1364. package/dist/commonjs/transports/dash/text_parser.d.ts +1 -1
  1365. package/dist/commonjs/transports/dash/text_parser.d.ts.map +1 -1
  1366. package/dist/commonjs/transports/dash/text_parser.js +81 -68
  1367. package/dist/commonjs/transports/dash/thumbnails.d.ts +4 -4
  1368. package/dist/commonjs/transports/dash/thumbnails.d.ts.map +1 -1
  1369. package/dist/commonjs/transports/dash/thumbnails.js +167 -81
  1370. package/dist/commonjs/transports/index.d.ts +1 -1
  1371. package/dist/commonjs/transports/index.d.ts.map +1 -1
  1372. package/dist/commonjs/transports/index.js +4 -3
  1373. package/dist/commonjs/transports/local/index.d.ts +1 -1
  1374. package/dist/commonjs/transports/local/index.d.ts.map +1 -1
  1375. package/dist/commonjs/transports/local/index.js +17 -5
  1376. package/dist/commonjs/transports/local/pipelines.d.ts +1 -1
  1377. package/dist/commonjs/transports/local/pipelines.d.ts.map +1 -1
  1378. package/dist/commonjs/transports/local/pipelines.js +49 -35
  1379. package/dist/commonjs/transports/local/segment_loader.d.ts +3 -3
  1380. package/dist/commonjs/transports/local/segment_loader.d.ts.map +1 -1
  1381. package/dist/commonjs/transports/local/segment_loader.js +54 -52
  1382. package/dist/commonjs/transports/local/segment_parser.d.ts +1 -1
  1383. package/dist/commonjs/transports/local/segment_parser.d.ts.map +1 -1
  1384. package/dist/commonjs/transports/local/segment_parser.js +39 -26
  1385. package/dist/commonjs/transports/local/text_parser.d.ts +1 -1
  1386. package/dist/commonjs/transports/local/text_parser.d.ts.map +1 -1
  1387. package/dist/commonjs/transports/local/text_parser.js +63 -45
  1388. package/dist/commonjs/transports/metaplaylist/index.d.ts +1 -1
  1389. package/dist/commonjs/transports/metaplaylist/index.d.ts.map +1 -1
  1390. package/dist/commonjs/transports/metaplaylist/index.js +18 -7
  1391. package/dist/commonjs/transports/metaplaylist/pipelines.d.ts +1 -1
  1392. package/dist/commonjs/transports/metaplaylist/pipelines.d.ts.map +1 -1
  1393. package/dist/commonjs/transports/metaplaylist/pipelines.js +92 -92
  1394. package/dist/commonjs/transports/smooth/extract_timings_infos.d.ts +2 -2
  1395. package/dist/commonjs/transports/smooth/extract_timings_infos.d.ts.map +1 -1
  1396. package/dist/commonjs/transports/smooth/extract_timings_infos.js +68 -50
  1397. package/dist/commonjs/transports/smooth/index.d.ts +1 -1
  1398. package/dist/commonjs/transports/smooth/index.d.ts.map +1 -1
  1399. package/dist/commonjs/transports/smooth/index.js +18 -7
  1400. package/dist/commonjs/transports/smooth/is_mp4_embedded_track.js +11 -6
  1401. package/dist/commonjs/transports/smooth/isobmff/create_audio_init_segment.js +44 -26
  1402. package/dist/commonjs/transports/smooth/isobmff/create_boxes.js +277 -172
  1403. package/dist/commonjs/transports/smooth/isobmff/create_init_segment.d.ts.map +1 -1
  1404. package/dist/commonjs/transports/smooth/isobmff/create_init_segment.js +72 -38
  1405. package/dist/commonjs/transports/smooth/isobmff/create_traf_box.d.ts.map +1 -1
  1406. package/dist/commonjs/transports/smooth/isobmff/create_traf_box.js +19 -9
  1407. package/dist/commonjs/transports/smooth/isobmff/create_video_init_segment.js +91 -42
  1408. package/dist/commonjs/transports/smooth/isobmff/get_aaces_header.js +34 -18
  1409. package/dist/commonjs/transports/smooth/isobmff/index.d.ts +6 -6
  1410. package/dist/commonjs/transports/smooth/isobmff/index.d.ts.map +1 -1
  1411. package/dist/commonjs/transports/smooth/isobmff/index.js +37 -14
  1412. package/dist/commonjs/transports/smooth/isobmff/parse_tfrf.js +21 -17
  1413. package/dist/commonjs/transports/smooth/isobmff/parse_tfxd.js +16 -11
  1414. package/dist/commonjs/transports/smooth/isobmff/patch_segment.js +59 -48
  1415. package/dist/commonjs/transports/smooth/pipelines.d.ts +1 -1
  1416. package/dist/commonjs/transports/smooth/pipelines.d.ts.map +1 -1
  1417. package/dist/commonjs/transports/smooth/pipelines.js +144 -152
  1418. package/dist/commonjs/transports/smooth/segment_loader.d.ts +3 -3
  1419. package/dist/commonjs/transports/smooth/segment_loader.d.ts.map +1 -1
  1420. package/dist/commonjs/transports/smooth/segment_loader.js +257 -153
  1421. package/dist/commonjs/transports/smooth/utils.d.ts +2 -2
  1422. package/dist/commonjs/transports/smooth/utils.d.ts.map +1 -1
  1423. package/dist/commonjs/transports/smooth/utils.js +22 -11
  1424. package/dist/commonjs/transports/types.d.ts +7 -7
  1425. package/dist/commonjs/transports/types.d.ts.map +1 -1
  1426. package/dist/commonjs/transports/types.js +4 -3
  1427. package/dist/commonjs/transports/utils/add_query_string.js +14 -11
  1428. package/dist/commonjs/transports/utils/byte_range.js +58 -23
  1429. package/dist/commonjs/transports/utils/call_custom_manifest_loader.d.ts +3 -3
  1430. package/dist/commonjs/transports/utils/call_custom_manifest_loader.d.ts.map +1 -1
  1431. package/dist/commonjs/transports/utils/call_custom_manifest_loader.js +51 -40
  1432. package/dist/commonjs/transports/utils/check_isobmff_integrity.js +22 -18
  1433. package/dist/commonjs/transports/utils/generate_manifest_loader.d.ts +2 -2
  1434. package/dist/commonjs/transports/utils/generate_manifest_loader.d.ts.map +1 -1
  1435. package/dist/commonjs/transports/utils/generate_manifest_loader.js +38 -35
  1436. package/dist/commonjs/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
  1437. package/dist/commonjs/transports/utils/get_isobmff_timing_infos.d.ts.map +1 -1
  1438. package/dist/commonjs/transports/utils/get_isobmff_timing_infos.js +25 -18
  1439. package/dist/commonjs/transports/utils/infer_segment_container.d.ts +1 -1
  1440. package/dist/commonjs/transports/utils/infer_segment_container.d.ts.map +1 -1
  1441. package/dist/commonjs/transports/utils/infer_segment_container.js +12 -8
  1442. package/dist/commonjs/transports/utils/parse_text_track.d.ts +2 -2
  1443. package/dist/commonjs/transports/utils/parse_text_track.d.ts.map +1 -1
  1444. package/dist/commonjs/transports/utils/parse_text_track.js +52 -63
  1445. package/dist/commonjs/utils/are_arrays_of_numbers_equal.js +12 -7
  1446. package/dist/commonjs/utils/are_codecs_compatible.js +62 -28
  1447. package/dist/commonjs/utils/array_find.js +12 -7
  1448. package/dist/commonjs/utils/array_find_index.js +12 -7
  1449. package/dist/commonjs/utils/array_includes.js +15 -11
  1450. package/dist/commonjs/utils/assert.js +145 -85
  1451. package/dist/commonjs/utils/base64.d.ts.map +1 -1
  1452. package/dist/commonjs/utils/base64.js +172 -47
  1453. package/dist/commonjs/utils/buffer_source_to_uint8.js +18 -7
  1454. package/dist/commonjs/utils/byte_parsing.js +119 -111
  1455. package/dist/commonjs/utils/cancellable_sleep.d.ts +1 -1
  1456. package/dist/commonjs/utils/cancellable_sleep.d.ts.map +1 -1
  1457. package/dist/commonjs/utils/cancellable_sleep.js +24 -10
  1458. package/dist/commonjs/utils/create_cancellable_promise.d.ts +1 -1
  1459. package/dist/commonjs/utils/create_cancellable_promise.d.ts.map +1 -1
  1460. package/dist/commonjs/utils/create_cancellable_promise.js +17 -11
  1461. package/dist/commonjs/utils/create_uuid.js +25 -15
  1462. package/dist/commonjs/utils/deep_merge.js +70 -47
  1463. package/dist/commonjs/utils/event_emitter.d.ts +1 -1
  1464. package/dist/commonjs/utils/event_emitter.d.ts.map +1 -1
  1465. package/dist/commonjs/utils/event_emitter.js +150 -105
  1466. package/dist/commonjs/utils/flat_map.js +41 -33
  1467. package/dist/commonjs/utils/get_fuzzed_delay.js +14 -9
  1468. package/dist/commonjs/utils/get_last_item_from_array.d.ts +8 -0
  1469. package/dist/commonjs/utils/get_last_item_from_array.d.ts.map +1 -0
  1470. package/dist/commonjs/utils/get_last_item_from_array.js +18 -0
  1471. package/dist/commonjs/utils/global_scope.js +21 -11
  1472. package/dist/commonjs/utils/hash_buffer.js +12 -7
  1473. package/dist/commonjs/utils/id_generator.js +11 -6
  1474. package/dist/commonjs/utils/is_node.js +18 -7
  1475. package/dist/commonjs/utils/is_non_empty_string.js +11 -6
  1476. package/dist/commonjs/utils/is_null_or_undefined.js +11 -6
  1477. package/dist/commonjs/utils/is_worker.js +17 -5
  1478. package/dist/commonjs/utils/languages/ISO_639-1_to_ISO_639-3.js +195 -189
  1479. package/dist/commonjs/utils/languages/ISO_639-2_to_ISO_639-3.js +32 -26
  1480. package/dist/commonjs/utils/languages/index.d.ts +2 -2
  1481. package/dist/commonjs/utils/languages/index.d.ts.map +1 -1
  1482. package/dist/commonjs/utils/languages/index.js +53 -8
  1483. package/dist/commonjs/utils/languages/normalize.js +52 -33
  1484. package/dist/commonjs/utils/logger.d.ts +1 -1
  1485. package/dist/commonjs/utils/logger.d.ts.map +1 -1
  1486. package/dist/commonjs/utils/logger.js +236 -173
  1487. package/dist/commonjs/utils/monotonic_timestamp.js +33 -17
  1488. package/dist/commonjs/utils/noop.js +13 -8
  1489. package/dist/commonjs/utils/object_assign.d.ts.map +1 -1
  1490. package/dist/commonjs/utils/object_assign.js +30 -33
  1491. package/dist/commonjs/utils/object_entries.d.ts +16 -0
  1492. package/dist/commonjs/utils/object_entries.d.ts.map +1 -0
  1493. package/dist/commonjs/utils/object_entries.js +31 -0
  1494. package/dist/commonjs/utils/object_values.js +24 -9
  1495. package/dist/commonjs/utils/queue_microtask.js +14 -6
  1496. package/dist/commonjs/utils/ranges.js +178 -133
  1497. package/dist/commonjs/utils/reference.d.ts +1 -1
  1498. package/dist/commonjs/utils/reference.d.ts.map +1 -1
  1499. package/dist/commonjs/utils/reference.js +246 -197
  1500. package/dist/commonjs/utils/request/fetch.d.ts +1 -1
  1501. package/dist/commonjs/utils/request/fetch.d.ts.map +1 -1
  1502. package/dist/commonjs/utils/request/fetch.js +253 -109
  1503. package/dist/commonjs/utils/request/index.d.ts +6 -6
  1504. package/dist/commonjs/utils/request/index.d.ts.map +1 -1
  1505. package/dist/commonjs/utils/request/index.js +69 -13
  1506. package/dist/commonjs/utils/request/request_error.d.ts +9 -1
  1507. package/dist/commonjs/utils/request/request_error.d.ts.map +1 -1
  1508. package/dist/commonjs/utils/request/request_error.js +159 -41
  1509. package/dist/commonjs/utils/request/xhr.d.ts +1 -1
  1510. package/dist/commonjs/utils/request/xhr.d.ts.map +1 -1
  1511. package/dist/commonjs/utils/request/xhr.js +107 -63
  1512. package/dist/commonjs/utils/retry_promise_with_backoff.d.ts +1 -1
  1513. package/dist/commonjs/utils/retry_promise_with_backoff.d.ts.map +1 -1
  1514. package/dist/commonjs/utils/retry_promise_with_backoff.js +190 -72
  1515. package/dist/commonjs/utils/sleep.js +11 -5
  1516. package/dist/commonjs/utils/slice_uint8array.js +13 -10
  1517. package/dist/commonjs/utils/sorted_list.js +140 -114
  1518. package/dist/commonjs/utils/starts_with.js +12 -8
  1519. package/dist/commonjs/utils/string_parsing.js +115 -102
  1520. package/dist/commonjs/utils/sync_or_async.js +27 -17
  1521. package/dist/commonjs/utils/task_canceller.js +286 -250
  1522. package/dist/commonjs/utils/url-utils.js +99 -100
  1523. package/dist/commonjs/utils/warn_once.js +19 -9
  1524. package/dist/commonjs/utils/weak_map_memory.js +55 -29
  1525. package/dist/commonjs/utils/wrapInPromise.js +17 -11
  1526. package/dist/commonjs/utils/xml-parser.js +112 -125
  1527. package/dist/commonjs/worker_entry_point.js +11 -4
  1528. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  1529. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +2 -1
  1530. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  1531. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  1532. package/dist/es2017/__GENERATED_CODE/index.d.ts +2 -2
  1533. package/dist/es2017/__GENERATED_CODE/index.d.ts.map +1 -1
  1534. package/dist/es2017/__GENERATED_CODE/index.js +2 -2
  1535. package/dist/es2017/compat/add_text_track.d.ts +1 -1
  1536. package/dist/es2017/compat/add_text_track.d.ts.map +1 -1
  1537. package/dist/es2017/compat/add_text_track.js +1 -1
  1538. package/dist/es2017/compat/browser_compatibility_types.d.ts +8 -7
  1539. package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
  1540. package/dist/es2017/compat/browser_compatibility_types.js +1 -1
  1541. package/dist/es2017/compat/browser_version.js +2 -2
  1542. package/dist/es2017/compat/can_patch_isobmff.js +1 -1
  1543. package/dist/es2017/compat/can_patch_out_pssh.js +2 -2
  1544. package/dist/es2017/compat/can_preload_before_play.js +1 -1
  1545. package/dist/es2017/compat/can_rely_on_request_media_key_system_access.d.ts +7 -2
  1546. package/dist/es2017/compat/can_rely_on_request_media_key_system_access.d.ts.map +1 -1
  1547. package/dist/es2017/compat/can_rely_on_request_media_key_system_access.js +12 -4
  1548. package/dist/es2017/compat/can_rely_on_video_visibility_and_size.js +2 -2
  1549. package/dist/es2017/compat/can_reuse_media_keys.js +2 -2
  1550. package/dist/es2017/compat/change_source_buffer_type.d.ts +1 -1
  1551. package/dist/es2017/compat/change_source_buffer_type.d.ts.map +1 -1
  1552. package/dist/es2017/compat/change_source_buffer_type.js +1 -1
  1553. package/dist/es2017/compat/clear_element_src.d.ts +1 -1
  1554. package/dist/es2017/compat/clear_element_src.d.ts.map +1 -1
  1555. package/dist/es2017/compat/clear_element_src.js +2 -2
  1556. package/dist/es2017/compat/disable_remote_playback_on_managed_media_source.d.ts +2 -2
  1557. package/dist/es2017/compat/disable_remote_playback_on_managed_media_source.d.ts.map +1 -1
  1558. package/dist/es2017/compat/disable_remote_playback_on_managed_media_source.js +1 -1
  1559. package/dist/es2017/compat/eme/close_session.d.ts +1 -1
  1560. package/dist/es2017/compat/eme/close_session.d.ts.map +1 -1
  1561. package/dist/es2017/compat/eme/close_session.js +3 -3
  1562. package/dist/es2017/compat/eme/constants.js +2 -2
  1563. package/dist/es2017/compat/eme/custom_key_system_access.d.ts +1 -1
  1564. package/dist/es2017/compat/eme/custom_key_system_access.d.ts.map +1 -1
  1565. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.d.ts +2 -2
  1566. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.d.ts.map +1 -1
  1567. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.js +6 -6
  1568. package/dist/es2017/compat/eme/custom_media_keys/index.d.ts +5 -5
  1569. package/dist/es2017/compat/eme/custom_media_keys/index.d.ts.map +1 -1
  1570. package/dist/es2017/compat/eme/custom_media_keys/index.js +5 -5
  1571. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
  1572. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  1573. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.js +2 -2
  1574. package/dist/es2017/compat/eme/custom_media_keys/ms_media_keys_constructor.js +1 -1
  1575. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
  1576. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  1577. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.js +7 -7
  1578. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts +1 -1
  1579. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  1580. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +7 -7
  1581. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts.map +1 -1
  1582. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +1 -1
  1583. package/dist/es2017/compat/eme/eme-api-implementation.d.ts +3 -3
  1584. package/dist/es2017/compat/eme/eme-api-implementation.d.ts.map +1 -1
  1585. package/dist/es2017/compat/eme/eme-api-implementation.js +15 -15
  1586. package/dist/es2017/compat/eme/generate_key_request.d.ts +1 -1
  1587. package/dist/es2017/compat/eme/generate_key_request.d.ts.map +1 -1
  1588. package/dist/es2017/compat/eme/generate_key_request.js +15 -6
  1589. package/dist/es2017/compat/eme/get_init_data.d.ts +1 -1
  1590. package/dist/es2017/compat/eme/get_init_data.d.ts.map +1 -1
  1591. package/dist/es2017/compat/eme/get_init_data.js +10 -6
  1592. package/dist/es2017/compat/eme/get_uuid_kid_from_keystatus_kid.js +2 -2
  1593. package/dist/es2017/compat/eme/get_webkit_fairplay_initdata.js +2 -2
  1594. package/dist/es2017/compat/eme/index.d.ts +7 -7
  1595. package/dist/es2017/compat/eme/index.d.ts.map +1 -1
  1596. package/dist/es2017/compat/eme/index.js +5 -5
  1597. package/dist/es2017/compat/eme/load_session.d.ts +1 -1
  1598. package/dist/es2017/compat/eme/load_session.d.ts.map +1 -1
  1599. package/dist/es2017/compat/eme/load_session.js +1 -1
  1600. package/dist/es2017/compat/eme/set_media_keys.d.ts +2 -2
  1601. package/dist/es2017/compat/eme/set_media_keys.d.ts.map +1 -1
  1602. package/dist/es2017/compat/eme/set_media_keys.js +4 -3
  1603. package/dist/es2017/compat/enable_audio_track.d.ts +1 -1
  1604. package/dist/es2017/compat/enable_audio_track.d.ts.map +1 -1
  1605. package/dist/es2017/compat/enable_audio_track.js +1 -1
  1606. package/dist/es2017/compat/env_detector.d.ts +2 -0
  1607. package/dist/es2017/compat/env_detector.d.ts.map +1 -1
  1608. package/dist/es2017/compat/env_detector.js +10 -2
  1609. package/dist/es2017/compat/event_listeners.d.ts +4 -4
  1610. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  1611. package/dist/es2017/compat/event_listeners.js +7 -7
  1612. package/dist/es2017/compat/force_media_key_instantiation_if_needed.d.ts +24 -0
  1613. package/dist/es2017/compat/force_media_key_instantiation_if_needed.d.ts.map +1 -0
  1614. package/dist/es2017/compat/force_media_key_instantiation_if_needed.js +72 -0
  1615. package/dist/es2017/compat/generate_init_data.d.ts +8 -0
  1616. package/dist/es2017/compat/generate_init_data.d.ts.map +1 -1
  1617. package/dist/es2017/compat/generate_init_data.js +28 -2
  1618. package/dist/es2017/compat/get_start_date.d.ts +1 -1
  1619. package/dist/es2017/compat/get_start_date.d.ts.map +1 -1
  1620. package/dist/es2017/compat/has_issues_with_high_media_source_duration.js +2 -2
  1621. package/dist/es2017/compat/has_worker_api.js +1 -1
  1622. package/dist/es2017/compat/is_codec_supported.d.ts +4 -3
  1623. package/dist/es2017/compat/is_codec_supported.d.ts.map +1 -1
  1624. package/dist/es2017/compat/is_codec_supported.js +9 -15
  1625. package/dist/es2017/compat/is_seeking_approximate.js +2 -2
  1626. package/dist/es2017/compat/is_vtt_cue.d.ts +1 -1
  1627. package/dist/es2017/compat/is_vtt_cue.d.ts.map +1 -1
  1628. package/dist/es2017/compat/is_vtt_cue.js +1 -1
  1629. package/dist/es2017/compat/make_vtt_cue.d.ts +1 -1
  1630. package/dist/es2017/compat/make_vtt_cue.d.ts.map +1 -1
  1631. package/dist/es2017/compat/make_vtt_cue.js +3 -3
  1632. package/dist/es2017/compat/may_media_element_fail_on_undecipherable_data.js +2 -2
  1633. package/dist/es2017/compat/on_height_width_change.d.ts +2 -2
  1634. package/dist/es2017/compat/on_height_width_change.d.ts.map +1 -1
  1635. package/dist/es2017/compat/on_height_width_change.js +3 -3
  1636. package/dist/es2017/compat/patch_webkit_source_buffer.js +5 -5
  1637. package/dist/es2017/compat/remove_cue.d.ts +1 -1
  1638. package/dist/es2017/compat/remove_cue.d.ts.map +1 -1
  1639. package/dist/es2017/compat/remove_cue.js +2 -2
  1640. package/dist/es2017/compat/reset_media_element.d.ts +1 -1
  1641. package/dist/es2017/compat/reset_media_element.d.ts.map +1 -1
  1642. package/dist/es2017/compat/reset_media_element.js +2 -2
  1643. package/dist/es2017/compat/should_await_set_media_keys.js +2 -2
  1644. package/dist/es2017/compat/should_favour_custom_safari_EME.js +3 -3
  1645. package/dist/es2017/compat/should_patch_out_dolby_vision_config_data_from_mp4.js +2 -2
  1646. package/dist/es2017/compat/should_reload_media_source_on_decipherability_update.js +1 -1
  1647. package/dist/es2017/compat/should_renew_media_key_system_access.d.ts +11 -0
  1648. package/dist/es2017/compat/should_renew_media_key_system_access.d.ts.map +1 -1
  1649. package/dist/es2017/compat/should_renew_media_key_system_access.js +17 -4
  1650. package/dist/es2017/compat/should_seek_at_zero.js +2 -2
  1651. package/dist/es2017/compat/should_unset_media_keys.js +2 -2
  1652. package/dist/es2017/compat/should_validate_metadata.js +2 -2
  1653. package/dist/es2017/compat/should_wait_for_data_before_loaded.js +2 -2
  1654. package/dist/es2017/compat/should_wait_for_have_enough_data.js +2 -2
  1655. package/dist/es2017/config.d.ts +2 -2
  1656. package/dist/es2017/config.d.ts.map +1 -1
  1657. package/dist/es2017/config.js +3 -3
  1658. package/dist/es2017/core/adaptive/adaptive_representation_selector.d.ts +9 -9
  1659. package/dist/es2017/core/adaptive/adaptive_representation_selector.d.ts.map +1 -1
  1660. package/dist/es2017/core/adaptive/adaptive_representation_selector.js +17 -17
  1661. package/dist/es2017/core/adaptive/buffer_based_chooser.d.ts +1 -1
  1662. package/dist/es2017/core/adaptive/buffer_based_chooser.d.ts.map +1 -1
  1663. package/dist/es2017/core/adaptive/buffer_based_chooser.js +5 -5
  1664. package/dist/es2017/core/adaptive/guess_based_chooser.d.ts +4 -4
  1665. package/dist/es2017/core/adaptive/guess_based_chooser.d.ts.map +1 -1
  1666. package/dist/es2017/core/adaptive/guess_based_chooser.js +4 -4
  1667. package/dist/es2017/core/adaptive/index.d.ts +2 -2
  1668. package/dist/es2017/core/adaptive/index.d.ts.map +1 -1
  1669. package/dist/es2017/core/adaptive/index.js +1 -1
  1670. package/dist/es2017/core/adaptive/network_analyzer.d.ts +4 -4
  1671. package/dist/es2017/core/adaptive/network_analyzer.d.ts.map +1 -1
  1672. package/dist/es2017/core/adaptive/network_analyzer.js +6 -6
  1673. package/dist/es2017/core/adaptive/utils/bandwidth_estimator.js +2 -2
  1674. package/dist/es2017/core/adaptive/utils/filter_by_bitrate.d.ts +1 -1
  1675. package/dist/es2017/core/adaptive/utils/filter_by_bitrate.d.ts.map +1 -1
  1676. package/dist/es2017/core/adaptive/utils/filter_by_bitrate.js +1 -1
  1677. package/dist/es2017/core/adaptive/utils/filter_by_resolution.d.ts +1 -1
  1678. package/dist/es2017/core/adaptive/utils/filter_by_resolution.d.ts.map +1 -1
  1679. package/dist/es2017/core/adaptive/utils/filter_by_resolution.js +1 -1
  1680. package/dist/es2017/core/adaptive/utils/last_estimate_storage.d.ts +1 -1
  1681. package/dist/es2017/core/adaptive/utils/last_estimate_storage.d.ts.map +1 -1
  1682. package/dist/es2017/core/adaptive/utils/pending_requests_store.d.ts +1 -1
  1683. package/dist/es2017/core/adaptive/utils/pending_requests_store.d.ts.map +1 -1
  1684. package/dist/es2017/core/adaptive/utils/pending_requests_store.js +3 -3
  1685. package/dist/es2017/core/adaptive/utils/representation_score_calculator.d.ts +1 -1
  1686. package/dist/es2017/core/adaptive/utils/representation_score_calculator.d.ts.map +1 -1
  1687. package/dist/es2017/core/adaptive/utils/representation_score_calculator.js +2 -2
  1688. package/dist/es2017/core/adaptive/utils/select_optimal_representation.d.ts +1 -1
  1689. package/dist/es2017/core/adaptive/utils/select_optimal_representation.d.ts.map +1 -1
  1690. package/dist/es2017/core/adaptive/utils/select_optimal_representation.js +1 -1
  1691. package/dist/es2017/core/cmcd/cmcd_data_builder.d.ts +4 -4
  1692. package/dist/es2017/core/cmcd/cmcd_data_builder.d.ts.map +1 -1
  1693. package/dist/es2017/core/cmcd/cmcd_data_builder.js +5 -5
  1694. package/dist/es2017/core/cmcd/index.d.ts +2 -2
  1695. package/dist/es2017/core/cmcd/index.d.ts.map +1 -1
  1696. package/dist/es2017/core/cmcd/index.js +1 -1
  1697. package/dist/es2017/core/entry/FreezeResolver.d.ts +3 -3
  1698. package/dist/es2017/core/entry/FreezeResolver.d.ts.map +1 -1
  1699. package/dist/es2017/core/entry/FreezeResolver.js +3 -3
  1700. package/dist/es2017/core/entry/content_preparer.d.ts +26 -30
  1701. package/dist/es2017/core/entry/content_preparer.d.ts.map +1 -1
  1702. package/dist/es2017/core/entry/content_preparer.js +41 -45
  1703. package/dist/es2017/core/entry/content_time_boundaries_observer.d.ts +5 -5
  1704. package/dist/es2017/core/entry/content_time_boundaries_observer.d.ts.map +1 -1
  1705. package/dist/es2017/core/entry/content_time_boundaries_observer.js +7 -7
  1706. package/dist/es2017/core/entry/core_entry.d.ts +4 -4
  1707. package/dist/es2017/core/entry/core_entry.d.ts.map +1 -1
  1708. package/dist/es2017/core/entry/core_entry.js +21 -27
  1709. package/dist/es2017/core/entry/core_text_displayer_interface.d.ts +4 -4
  1710. package/dist/es2017/core/entry/core_text_displayer_interface.d.ts.map +1 -1
  1711. package/dist/es2017/core/entry/core_text_displayer_interface.js +2 -2
  1712. package/dist/es2017/core/entry/create_content_time_boundaries_observer.d.ts +7 -7
  1713. package/dist/es2017/core/entry/create_content_time_boundaries_observer.d.ts.map +1 -1
  1714. package/dist/es2017/core/entry/create_content_time_boundaries_observer.js +2 -2
  1715. package/dist/es2017/core/entry/get_buffered_data_per_media_buffer.d.ts +4 -4
  1716. package/dist/es2017/core/entry/get_buffered_data_per_media_buffer.d.ts.map +1 -1
  1717. package/dist/es2017/core/entry/get_buffered_data_per_media_buffer.js +1 -1
  1718. package/dist/es2017/core/entry/get_thumbnail_data.d.ts +3 -3
  1719. package/dist/es2017/core/entry/get_thumbnail_data.d.ts.map +1 -1
  1720. package/dist/es2017/core/entry/get_thumbnail_data.js +2 -2
  1721. package/dist/es2017/core/entry/index.d.ts +3 -3
  1722. package/dist/es2017/core/entry/index.d.ts.map +1 -1
  1723. package/dist/es2017/core/entry/index.js +1 -1
  1724. package/dist/es2017/core/entry/track_choice_setter.d.ts +4 -4
  1725. package/dist/es2017/core/entry/track_choice_setter.d.ts.map +1 -1
  1726. package/dist/es2017/core/entry/track_choice_setter.js +4 -4
  1727. package/dist/es2017/core/entry/utils.d.ts +5 -5
  1728. package/dist/es2017/core/entry/utils.d.ts.map +1 -1
  1729. package/dist/es2017/core/entry/utils.js +4 -4
  1730. package/dist/es2017/core/fetchers/cdn_prioritizer.d.ts +3 -3
  1731. package/dist/es2017/core/fetchers/cdn_prioritizer.d.ts.map +1 -1
  1732. package/dist/es2017/core/fetchers/cdn_prioritizer.js +3 -3
  1733. package/dist/es2017/core/fetchers/index.d.ts +7 -7
  1734. package/dist/es2017/core/fetchers/index.d.ts.map +1 -1
  1735. package/dist/es2017/core/fetchers/index.js +4 -4
  1736. package/dist/es2017/core/fetchers/manifest/index.d.ts +2 -2
  1737. package/dist/es2017/core/fetchers/manifest/index.d.ts.map +1 -1
  1738. package/dist/es2017/core/fetchers/manifest/index.js +1 -1
  1739. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts +5 -5
  1740. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts.map +1 -1
  1741. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.js +10 -10
  1742. package/dist/es2017/core/fetchers/segment/index.d.ts +4 -4
  1743. package/dist/es2017/core/fetchers/segment/index.d.ts.map +1 -1
  1744. package/dist/es2017/core/fetchers/segment/index.js +1 -1
  1745. package/dist/es2017/core/fetchers/segment/initialization_segment_cache.d.ts +1 -1
  1746. package/dist/es2017/core/fetchers/segment/initialization_segment_cache.d.ts.map +1 -1
  1747. package/dist/es2017/core/fetchers/segment/prioritized_segment_fetcher.d.ts +4 -4
  1748. package/dist/es2017/core/fetchers/segment/prioritized_segment_fetcher.d.ts.map +1 -1
  1749. package/dist/es2017/core/fetchers/segment/prioritized_segment_fetcher.js +1 -1
  1750. package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts +8 -8
  1751. package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts.map +1 -1
  1752. package/dist/es2017/core/fetchers/segment/segment_fetcher.js +13 -13
  1753. package/dist/es2017/core/fetchers/segment/segment_queue.d.ts +6 -6
  1754. package/dist/es2017/core/fetchers/segment/segment_queue.d.ts.map +1 -1
  1755. package/dist/es2017/core/fetchers/segment/segment_queue.js +7 -7
  1756. package/dist/es2017/core/fetchers/segment/segment_queue_creator.d.ts +7 -7
  1757. package/dist/es2017/core/fetchers/segment/segment_queue_creator.d.ts.map +1 -1
  1758. package/dist/es2017/core/fetchers/segment/segment_queue_creator.js +5 -5
  1759. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts +1 -1
  1760. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts.map +1 -1
  1761. package/dist/es2017/core/fetchers/segment/task_prioritizer.js +4 -4
  1762. package/dist/es2017/core/fetchers/thumbnails/index.d.ts +2 -2
  1763. package/dist/es2017/core/fetchers/thumbnails/index.d.ts.map +1 -1
  1764. package/dist/es2017/core/fetchers/thumbnails/index.js +1 -1
  1765. package/dist/es2017/core/fetchers/thumbnails/thumbnail_fetcher.d.ts +5 -5
  1766. package/dist/es2017/core/fetchers/thumbnails/thumbnail_fetcher.d.ts.map +1 -1
  1767. package/dist/es2017/core/fetchers/thumbnails/thumbnail_fetcher.js +8 -8
  1768. package/dist/es2017/core/fetchers/utils/error_selector.d.ts +1 -1
  1769. package/dist/es2017/core/fetchers/utils/error_selector.d.ts.map +1 -1
  1770. package/dist/es2017/core/fetchers/utils/error_selector.js +2 -2
  1771. package/dist/es2017/core/fetchers/utils/retry_after_delay.d.ts +7 -0
  1772. package/dist/es2017/core/fetchers/utils/retry_after_delay.d.ts.map +1 -0
  1773. package/dist/es2017/core/fetchers/utils/retry_after_delay.js +77 -0
  1774. package/dist/es2017/core/fetchers/utils/schedule_request.d.ts +3 -3
  1775. package/dist/es2017/core/fetchers/utils/schedule_request.d.ts.map +1 -1
  1776. package/dist/es2017/core/fetchers/utils/schedule_request.js +13 -12
  1777. package/dist/es2017/core/segment_sinks/garbage_collector.d.ts +5 -5
  1778. package/dist/es2017/core/segment_sinks/garbage_collector.d.ts.map +1 -1
  1779. package/dist/es2017/core/segment_sinks/garbage_collector.js +4 -4
  1780. package/dist/es2017/core/segment_sinks/implementations/audio_video/audio_video_segment_sink.d.ts +4 -4
  1781. package/dist/es2017/core/segment_sinks/implementations/audio_video/audio_video_segment_sink.d.ts.map +1 -1
  1782. package/dist/es2017/core/segment_sinks/implementations/audio_video/audio_video_segment_sink.js +4 -4
  1783. package/dist/es2017/core/segment_sinks/implementations/audio_video/index.d.ts +1 -1
  1784. package/dist/es2017/core/segment_sinks/implementations/audio_video/index.d.ts.map +1 -1
  1785. package/dist/es2017/core/segment_sinks/implementations/audio_video/index.js +1 -1
  1786. package/dist/es2017/core/segment_sinks/implementations/index.d.ts +3 -3
  1787. package/dist/es2017/core/segment_sinks/implementations/index.d.ts.map +1 -1
  1788. package/dist/es2017/core/segment_sinks/implementations/index.js +2 -2
  1789. package/dist/es2017/core/segment_sinks/implementations/text/index.d.ts +2 -2
  1790. package/dist/es2017/core/segment_sinks/implementations/text/index.d.ts.map +1 -1
  1791. package/dist/es2017/core/segment_sinks/implementations/text/index.js +1 -1
  1792. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_sink.d.ts +5 -5
  1793. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_sink.d.ts.map +1 -1
  1794. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_sink.js +4 -4
  1795. package/dist/es2017/core/segment_sinks/implementations/types.d.ts +4 -4
  1796. package/dist/es2017/core/segment_sinks/implementations/types.d.ts.map +1 -1
  1797. package/dist/es2017/core/segment_sinks/implementations/types.js +1 -1
  1798. package/dist/es2017/core/segment_sinks/implementations/utils/manual_time_ranges.js +2 -2
  1799. package/dist/es2017/core/segment_sinks/index.d.ts +6 -6
  1800. package/dist/es2017/core/segment_sinks/index.d.ts.map +1 -1
  1801. package/dist/es2017/core/segment_sinks/index.js +4 -4
  1802. package/dist/es2017/core/segment_sinks/inventory/buffered_history.d.ts +1 -1
  1803. package/dist/es2017/core/segment_sinks/inventory/buffered_history.d.ts.map +1 -1
  1804. package/dist/es2017/core/segment_sinks/inventory/buffered_history.js +2 -2
  1805. package/dist/es2017/core/segment_sinks/inventory/index.d.ts +5 -5
  1806. package/dist/es2017/core/segment_sinks/inventory/index.d.ts.map +1 -1
  1807. package/dist/es2017/core/segment_sinks/inventory/index.js +2 -2
  1808. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.d.ts +4 -4
  1809. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.d.ts.map +1 -1
  1810. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.js +6 -6
  1811. package/dist/es2017/core/segment_sinks/inventory/types.d.ts +1 -1
  1812. package/dist/es2017/core/segment_sinks/inventory/types.d.ts.map +1 -1
  1813. package/dist/es2017/core/segment_sinks/inventory/utils.d.ts +2 -2
  1814. package/dist/es2017/core/segment_sinks/inventory/utils.d.ts.map +1 -1
  1815. package/dist/es2017/core/segment_sinks/segment_sinks_store.d.ts +6 -6
  1816. package/dist/es2017/core/segment_sinks/segment_sinks_store.d.ts.map +1 -1
  1817. package/dist/es2017/core/segment_sinks/segment_sinks_store.js +8 -8
  1818. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts +2 -2
  1819. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  1820. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +13 -13
  1821. package/dist/es2017/core/stream/adaptation/get_representations_switch_strategy.d.ts +4 -4
  1822. package/dist/es2017/core/stream/adaptation/get_representations_switch_strategy.d.ts.map +1 -1
  1823. package/dist/es2017/core/stream/adaptation/get_representations_switch_strategy.js +4 -4
  1824. package/dist/es2017/core/stream/adaptation/index.d.ts +2 -2
  1825. package/dist/es2017/core/stream/adaptation/index.d.ts.map +1 -1
  1826. package/dist/es2017/core/stream/adaptation/index.js +1 -1
  1827. package/dist/es2017/core/stream/adaptation/types.d.ts +8 -8
  1828. package/dist/es2017/core/stream/adaptation/types.d.ts.map +1 -1
  1829. package/dist/es2017/core/stream/index.d.ts +5 -5
  1830. package/dist/es2017/core/stream/index.d.ts.map +1 -1
  1831. package/dist/es2017/core/stream/index.js +1 -1
  1832. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.d.ts +3 -3
  1833. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.d.ts.map +1 -1
  1834. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.js +3 -3
  1835. package/dist/es2017/core/stream/orchestrator/index.d.ts +2 -2
  1836. package/dist/es2017/core/stream/orchestrator/index.d.ts.map +1 -1
  1837. package/dist/es2017/core/stream/orchestrator/index.js +1 -1
  1838. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts +9 -9
  1839. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  1840. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +12 -12
  1841. package/dist/es2017/core/stream/period/index.d.ts +2 -2
  1842. package/dist/es2017/core/stream/period/index.d.ts.map +1 -1
  1843. package/dist/es2017/core/stream/period/index.js +1 -1
  1844. package/dist/es2017/core/stream/period/period_stream.d.ts +2 -2
  1845. package/dist/es2017/core/stream/period/period_stream.d.ts.map +1 -1
  1846. package/dist/es2017/core/stream/period/period_stream.js +13 -13
  1847. package/dist/es2017/core/stream/period/types.d.ts +15 -15
  1848. package/dist/es2017/core/stream/period/types.d.ts.map +1 -1
  1849. package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +5 -5
  1850. package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.d.ts.map +1 -1
  1851. package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.js +4 -4
  1852. package/dist/es2017/core/stream/representation/encryption_data_notifier.d.ts +2 -2
  1853. package/dist/es2017/core/stream/representation/encryption_data_notifier.d.ts.map +1 -1
  1854. package/dist/es2017/core/stream/representation/index.d.ts +2 -2
  1855. package/dist/es2017/core/stream/representation/index.d.ts.map +1 -1
  1856. package/dist/es2017/core/stream/representation/index.js +1 -1
  1857. package/dist/es2017/core/stream/representation/representation_stream.d.ts +2 -2
  1858. package/dist/es2017/core/stream/representation/representation_stream.d.ts.map +1 -1
  1859. package/dist/es2017/core/stream/representation/representation_stream.js +9 -9
  1860. package/dist/es2017/core/stream/representation/types.d.ts +9 -9
  1861. package/dist/es2017/core/stream/representation/types.d.ts.map +1 -1
  1862. package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.d.ts +6 -6
  1863. package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.d.ts.map +1 -1
  1864. package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.js +5 -5
  1865. package/dist/es2017/core/stream/representation/utils/check_for_discontinuity.d.ts +3 -3
  1866. package/dist/es2017/core/stream/representation/utils/check_for_discontinuity.d.ts.map +1 -1
  1867. package/dist/es2017/core/stream/representation/utils/check_for_discontinuity.js +1 -1
  1868. package/dist/es2017/core/stream/representation/utils/get_buffer_status.d.ts +4 -4
  1869. package/dist/es2017/core/stream/representation/utils/get_buffer_status.d.ts.map +1 -1
  1870. package/dist/es2017/core/stream/representation/utils/get_buffer_status.js +5 -5
  1871. package/dist/es2017/core/stream/representation/utils/get_needed_segments.d.ts +2 -2
  1872. package/dist/es2017/core/stream/representation/utils/get_needed_segments.d.ts.map +1 -1
  1873. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +4 -4
  1874. package/dist/es2017/core/stream/representation/utils/get_segment_priority.js +1 -1
  1875. package/dist/es2017/core/stream/representation/utils/push_init_segment.d.ts +6 -6
  1876. package/dist/es2017/core/stream/representation/utils/push_init_segment.d.ts.map +1 -1
  1877. package/dist/es2017/core/stream/representation/utils/push_init_segment.js +2 -2
  1878. package/dist/es2017/core/stream/representation/utils/push_media_segment.d.ts +7 -7
  1879. package/dist/es2017/core/stream/representation/utils/push_media_segment.d.ts.map +1 -1
  1880. package/dist/es2017/core/stream/representation/utils/push_media_segment.js +3 -3
  1881. package/dist/es2017/core/types.d.ts +14 -14
  1882. package/dist/es2017/core/types.d.ts.map +1 -1
  1883. package/dist/es2017/default_config.d.ts +8 -0
  1884. package/dist/es2017/default_config.d.ts.map +1 -1
  1885. package/dist/es2017/default_config.js +8 -0
  1886. package/dist/es2017/errors/encrypted_media_error.d.ts +2 -2
  1887. package/dist/es2017/errors/encrypted_media_error.d.ts.map +1 -1
  1888. package/dist/es2017/errors/encrypted_media_error.js +2 -2
  1889. package/dist/es2017/errors/error_codes.d.ts +1 -1
  1890. package/dist/es2017/errors/error_codes.d.ts.map +1 -1
  1891. package/dist/es2017/errors/error_codes.js +1 -1
  1892. package/dist/es2017/errors/format_error.d.ts +1 -1
  1893. package/dist/es2017/errors/format_error.d.ts.map +1 -1
  1894. package/dist/es2017/errors/format_error.js +2 -2
  1895. package/dist/es2017/errors/index.d.ts +14 -14
  1896. package/dist/es2017/errors/index.d.ts.map +1 -1
  1897. package/dist/es2017/errors/index.js +9 -9
  1898. package/dist/es2017/errors/is_known_error.d.ts +1 -1
  1899. package/dist/es2017/errors/is_known_error.d.ts.map +1 -1
  1900. package/dist/es2017/errors/is_known_error.js +5 -5
  1901. package/dist/es2017/errors/media_error.d.ts +2 -2
  1902. package/dist/es2017/errors/media_error.d.ts.map +1 -1
  1903. package/dist/es2017/errors/media_error.js +3 -3
  1904. package/dist/es2017/errors/network_error.d.ts +2 -2
  1905. package/dist/es2017/errors/network_error.d.ts.map +1 -1
  1906. package/dist/es2017/errors/network_error.js +2 -2
  1907. package/dist/es2017/errors/other_error.d.ts +1 -1
  1908. package/dist/es2017/errors/other_error.d.ts.map +1 -1
  1909. package/dist/es2017/errors/other_error.js +2 -2
  1910. package/dist/es2017/errors/worker_initialization_error.d.ts.map +1 -1
  1911. package/dist/es2017/errors/worker_initialization_error.js +1 -1
  1912. package/dist/es2017/experimental/features/index.d.ts +3 -3
  1913. package/dist/es2017/experimental/features/index.d.ts.map +1 -1
  1914. package/dist/es2017/experimental/features/index.js +3 -3
  1915. package/dist/es2017/experimental/features/local.d.ts +1 -1
  1916. package/dist/es2017/experimental/features/local.d.ts.map +1 -1
  1917. package/dist/es2017/experimental/features/local.js +4 -4
  1918. package/dist/es2017/experimental/features/metaplaylist.d.ts +1 -1
  1919. package/dist/es2017/experimental/features/metaplaylist.d.ts.map +1 -1
  1920. package/dist/es2017/experimental/features/metaplaylist.js +4 -4
  1921. package/dist/es2017/experimental/features/multi_thread.d.ts +1 -1
  1922. package/dist/es2017/experimental/features/multi_thread.d.ts.map +1 -1
  1923. package/dist/es2017/experimental/features/multi_thread.js +7 -6
  1924. package/dist/es2017/experimental/features/worker/index.d.ts +3 -3
  1925. package/dist/es2017/experimental/features/worker/index.d.ts.map +1 -1
  1926. package/dist/es2017/experimental/features/worker/index.js +3 -3
  1927. package/dist/es2017/experimental/index.d.ts +1 -1
  1928. package/dist/es2017/experimental/index.d.ts.map +1 -1
  1929. package/dist/es2017/experimental/index.js +1 -1
  1930. package/dist/es2017/experimental/tools/DummyMediaElement/eme.d.ts +19 -3
  1931. package/dist/es2017/experimental/tools/DummyMediaElement/eme.d.ts.map +1 -1
  1932. package/dist/es2017/experimental/tools/DummyMediaElement/eme.js +44 -13
  1933. package/dist/es2017/experimental/tools/DummyMediaElement/html5.d.ts +7 -7
  1934. package/dist/es2017/experimental/tools/DummyMediaElement/html5.d.ts.map +1 -1
  1935. package/dist/es2017/experimental/tools/DummyMediaElement/html5.js +9 -9
  1936. package/dist/es2017/experimental/tools/DummyMediaElement/index.d.ts +1 -1
  1937. package/dist/es2017/experimental/tools/DummyMediaElement/index.d.ts.map +1 -1
  1938. package/dist/es2017/experimental/tools/DummyMediaElement/index.js +1 -1
  1939. package/dist/es2017/experimental/tools/DummyMediaElement/mse.d.ts +4 -4
  1940. package/dist/es2017/experimental/tools/DummyMediaElement/mse.d.ts.map +1 -1
  1941. package/dist/es2017/experimental/tools/DummyMediaElement/mse.js +9 -9
  1942. package/dist/es2017/experimental/tools/DummyMediaElement/utils.d.ts +4 -4
  1943. package/dist/es2017/experimental/tools/DummyMediaElement/utils.d.ts.map +1 -1
  1944. package/dist/es2017/experimental/tools/DummyMediaElement/utils.js +1 -1
  1945. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
  1946. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/dash.d.ts.map +1 -1
  1947. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/dash.js +1 -1
  1948. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
  1949. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts.map +1 -1
  1950. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/metaplaylist.js +1 -1
  1951. package/dist/es2017/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
  1952. package/dist/es2017/experimental/tools/VideoThumbnailLoader/index.d.ts.map +1 -1
  1953. package/dist/es2017/experimental/tools/VideoThumbnailLoader/index.js +1 -1
  1954. package/dist/es2017/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
  1955. package/dist/es2017/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts.map +1 -1
  1956. package/dist/es2017/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +1 -1
  1957. package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +3 -3
  1958. package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts.map +1 -1
  1959. package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +10 -10
  1960. package/dist/es2017/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +2 -2
  1961. package/dist/es2017/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts.map +1 -1
  1962. package/dist/es2017/experimental/tools/VideoThumbnailLoader/types.d.ts +2 -2
  1963. package/dist/es2017/experimental/tools/VideoThumbnailLoader/types.d.ts.map +1 -1
  1964. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +4 -4
  1965. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts.map +1 -1
  1966. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +14 -14
  1967. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.js +1 -1
  1968. package/dist/es2017/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +4 -4
  1969. package/dist/es2017/experimental/tools/createMetaplaylist/index.d.ts +1 -1
  1970. package/dist/es2017/experimental/tools/createMetaplaylist/index.d.ts.map +1 -1
  1971. package/dist/es2017/experimental/tools/createMetaplaylist/index.js +1 -1
  1972. package/dist/es2017/experimental/tools/index.d.ts +3 -3
  1973. package/dist/es2017/experimental/tools/index.d.ts.map +1 -1
  1974. package/dist/es2017/experimental/tools/index.js +3 -3
  1975. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api.d.ts +1 -1
  1976. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api.d.ts.map +1 -1
  1977. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api.js +11 -11
  1978. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/index.d.ts +2 -2
  1979. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/index.d.ts.map +1 -1
  1980. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/index.js +1 -1
  1981. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/log.d.ts +1 -1
  1982. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/log.d.ts.map +1 -1
  1983. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/log.js +1 -1
  1984. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +2 -2
  1985. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +1 -1
  1986. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts.map +1 -1
  1987. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +2 -2
  1988. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/isTypeSupportedWithFeatures.d.ts +1 -1
  1989. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/isTypeSupportedWithFeatures.d.ts.map +1 -1
  1990. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/isTypeSupportedWithFeatures.js +3 -3
  1991. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +1 -1
  1992. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
  1993. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +2 -2
  1994. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +1 -1
  1995. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts.map +1 -1
  1996. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +2 -2
  1997. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
  1998. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/utils.d.ts.map +1 -1
  1999. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/utils.js +5 -4
  2000. package/dist/es2017/features/add_features.d.ts +1 -1
  2001. package/dist/es2017/features/add_features.d.ts.map +1 -1
  2002. package/dist/es2017/features/add_features.js +2 -2
  2003. package/dist/es2017/features/features_object.d.ts +1 -1
  2004. package/dist/es2017/features/features_object.d.ts.map +1 -1
  2005. package/dist/es2017/features/index.d.ts +3 -3
  2006. package/dist/es2017/features/index.d.ts.map +1 -1
  2007. package/dist/es2017/features/index.js +2 -2
  2008. package/dist/es2017/features/list/dash.d.ts +1 -1
  2009. package/dist/es2017/features/list/dash.d.ts.map +1 -1
  2010. package/dist/es2017/features/list/dash.js +5 -5
  2011. package/dist/es2017/features/list/dash_wasm.d.ts +2 -2
  2012. package/dist/es2017/features/list/dash_wasm.d.ts.map +1 -1
  2013. package/dist/es2017/features/list/dash_wasm.js +5 -5
  2014. package/dist/es2017/features/list/debug_element.d.ts +1 -1
  2015. package/dist/es2017/features/list/debug_element.d.ts.map +1 -1
  2016. package/dist/es2017/features/list/debug_element.js +1 -1
  2017. package/dist/es2017/features/list/directfile.d.ts +1 -1
  2018. package/dist/es2017/features/list/directfile.d.ts.map +1 -1
  2019. package/dist/es2017/features/list/directfile.js +2 -2
  2020. package/dist/es2017/features/list/eme.d.ts +1 -1
  2021. package/dist/es2017/features/list/eme.d.ts.map +1 -1
  2022. package/dist/es2017/features/list/eme.js +1 -1
  2023. package/dist/es2017/features/list/html_sami_parser.d.ts +1 -1
  2024. package/dist/es2017/features/list/html_sami_parser.d.ts.map +1 -1
  2025. package/dist/es2017/features/list/html_sami_parser.js +2 -2
  2026. package/dist/es2017/features/list/html_srt_parser.d.ts +1 -1
  2027. package/dist/es2017/features/list/html_srt_parser.d.ts.map +1 -1
  2028. package/dist/es2017/features/list/html_srt_parser.js +2 -2
  2029. package/dist/es2017/features/list/html_text_buffer.d.ts +1 -1
  2030. package/dist/es2017/features/list/html_text_buffer.d.ts.map +1 -1
  2031. package/dist/es2017/features/list/html_text_buffer.js +1 -1
  2032. package/dist/es2017/features/list/html_ttml_parser.d.ts +1 -1
  2033. package/dist/es2017/features/list/html_ttml_parser.d.ts.map +1 -1
  2034. package/dist/es2017/features/list/html_ttml_parser.js +2 -2
  2035. package/dist/es2017/features/list/html_vtt_parser.d.ts +1 -1
  2036. package/dist/es2017/features/list/html_vtt_parser.d.ts.map +1 -1
  2037. package/dist/es2017/features/list/html_vtt_parser.js +2 -2
  2038. package/dist/es2017/features/list/index.d.ts +18 -17
  2039. package/dist/es2017/features/list/index.d.ts.map +1 -1
  2040. package/dist/es2017/features/list/index.js +18 -17
  2041. package/dist/es2017/features/list/media_source_main.d.ts +1 -1
  2042. package/dist/es2017/features/list/media_source_main.d.ts.map +1 -1
  2043. package/dist/es2017/features/list/media_source_main.js +3 -3
  2044. package/dist/es2017/features/list/multi_thread.d.ts +9 -0
  2045. package/dist/es2017/features/list/multi_thread.d.ts.map +1 -0
  2046. package/dist/es2017/features/list/multi_thread.js +14 -0
  2047. package/dist/es2017/features/list/native_sami_parser.d.ts +1 -1
  2048. package/dist/es2017/features/list/native_sami_parser.d.ts.map +1 -1
  2049. package/dist/es2017/features/list/native_sami_parser.js +2 -2
  2050. package/dist/es2017/features/list/native_srt_parser.d.ts +1 -1
  2051. package/dist/es2017/features/list/native_srt_parser.d.ts.map +1 -1
  2052. package/dist/es2017/features/list/native_srt_parser.js +2 -2
  2053. package/dist/es2017/features/list/native_text_buffer.d.ts +1 -1
  2054. package/dist/es2017/features/list/native_text_buffer.d.ts.map +1 -1
  2055. package/dist/es2017/features/list/native_text_buffer.js +1 -1
  2056. package/dist/es2017/features/list/native_ttml_parser.d.ts +1 -1
  2057. package/dist/es2017/features/list/native_ttml_parser.d.ts.map +1 -1
  2058. package/dist/es2017/features/list/native_ttml_parser.js +2 -2
  2059. package/dist/es2017/features/list/native_vtt_parser.d.ts +1 -1
  2060. package/dist/es2017/features/list/native_vtt_parser.d.ts.map +1 -1
  2061. package/dist/es2017/features/list/native_vtt_parser.js +2 -2
  2062. package/dist/es2017/features/list/smooth.d.ts +1 -1
  2063. package/dist/es2017/features/list/smooth.d.ts.map +1 -1
  2064. package/dist/es2017/features/list/smooth.js +4 -4
  2065. package/dist/es2017/features/types.d.ts +16 -16
  2066. package/dist/es2017/features/types.d.ts.map +1 -1
  2067. package/dist/es2017/importable_worker.d.ts +2 -2
  2068. package/dist/es2017/importable_worker.d.ts.map +1 -1
  2069. package/dist/es2017/importable_worker.js +4 -4
  2070. package/dist/es2017/index.d.ts +1 -1
  2071. package/dist/es2017/index.d.ts.map +1 -1
  2072. package/dist/es2017/index.js +4 -4
  2073. package/dist/es2017/initialize_worker.d.ts +1 -1
  2074. package/dist/es2017/initialize_worker.d.ts.map +1 -1
  2075. package/dist/es2017/initialize_worker.js +8 -8
  2076. package/dist/es2017/log.d.ts +1 -1
  2077. package/dist/es2017/log.d.ts.map +1 -1
  2078. package/dist/es2017/log.js +1 -1
  2079. package/dist/es2017/main_thread/api/debug/buffer_graph.d.ts +1 -1
  2080. package/dist/es2017/main_thread/api/debug/buffer_graph.d.ts.map +1 -1
  2081. package/dist/es2017/main_thread/api/debug/buffer_size_graph.js +1 -1
  2082. package/dist/es2017/main_thread/api/debug/index.d.ts +1 -1
  2083. package/dist/es2017/main_thread/api/debug/index.d.ts.map +1 -1
  2084. package/dist/es2017/main_thread/api/debug/index.js +1 -1
  2085. package/dist/es2017/main_thread/api/debug/modules/general_info.d.ts +2 -2
  2086. package/dist/es2017/main_thread/api/debug/modules/general_info.d.ts.map +1 -1
  2087. package/dist/es2017/main_thread/api/debug/modules/general_info.js +3 -3
  2088. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_content.d.ts +3 -3
  2089. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_content.d.ts.map +1 -1
  2090. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_content.js +5 -5
  2091. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_size.d.ts +2 -2
  2092. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_size.d.ts.map +1 -1
  2093. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_size.js +3 -3
  2094. package/dist/es2017/main_thread/api/debug/render.d.ts +2 -2
  2095. package/dist/es2017/main_thread/api/debug/render.d.ts.map +1 -1
  2096. package/dist/es2017/main_thread/api/debug/render.js +4 -4
  2097. package/dist/es2017/main_thread/api/index.d.ts +1 -1
  2098. package/dist/es2017/main_thread/api/index.d.ts.map +1 -1
  2099. package/dist/es2017/main_thread/api/index.js +1 -1
  2100. package/dist/es2017/main_thread/api/option_utils.d.ts +2 -2
  2101. package/dist/es2017/main_thread/api/option_utils.d.ts.map +1 -1
  2102. package/dist/es2017/main_thread/api/option_utils.js +5 -5
  2103. package/dist/es2017/main_thread/api/public_api.d.ts +17 -17
  2104. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  2105. package/dist/es2017/main_thread/api/public_api.js +70 -51
  2106. package/dist/es2017/main_thread/api/utils.d.ts +6 -6
  2107. package/dist/es2017/main_thread/api/utils.d.ts.map +1 -1
  2108. package/dist/es2017/main_thread/api/utils.js +5 -5
  2109. package/dist/es2017/main_thread/core_interface/base.d.ts +2 -2
  2110. package/dist/es2017/main_thread/core_interface/base.d.ts.map +1 -1
  2111. package/dist/es2017/main_thread/core_interface/monothread.d.ts +3 -3
  2112. package/dist/es2017/main_thread/core_interface/monothread.d.ts.map +1 -1
  2113. package/dist/es2017/main_thread/core_interface/monothread.js +4 -4
  2114. package/dist/es2017/main_thread/core_interface/multithread.d.ts +2 -2
  2115. package/dist/es2017/main_thread/core_interface/multithread.d.ts.map +1 -1
  2116. package/dist/es2017/main_thread/core_interface/multithread.js +2 -2
  2117. package/dist/es2017/main_thread/core_interface/types.d.ts +3 -3
  2118. package/dist/es2017/main_thread/core_interface/types.d.ts.map +1 -1
  2119. package/dist/es2017/main_thread/decrypt/clear_on_stop.d.ts +1 -1
  2120. package/dist/es2017/main_thread/decrypt/clear_on_stop.d.ts.map +1 -1
  2121. package/dist/es2017/main_thread/decrypt/clear_on_stop.js +4 -4
  2122. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts +7 -7
  2123. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  2124. package/dist/es2017/main_thread/decrypt/content_decryptor.js +24 -24
  2125. package/dist/es2017/main_thread/decrypt/create_or_load_session.d.ts +5 -5
  2126. package/dist/es2017/main_thread/decrypt/create_or_load_session.d.ts.map +1 -1
  2127. package/dist/es2017/main_thread/decrypt/create_or_load_session.js +4 -4
  2128. package/dist/es2017/main_thread/decrypt/create_session.d.ts +5 -5
  2129. package/dist/es2017/main_thread/decrypt/create_session.d.ts.map +1 -1
  2130. package/dist/es2017/main_thread/decrypt/create_session.js +2 -2
  2131. package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.d.ts +1 -1
  2132. package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.d.ts.map +1 -1
  2133. package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.js +1 -1
  2134. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts +4 -4
  2135. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  2136. package/dist/es2017/main_thread/decrypt/find_key_system.js +14 -12
  2137. package/dist/es2017/main_thread/decrypt/get_key_system_configuration.d.ts +1 -1
  2138. package/dist/es2017/main_thread/decrypt/get_key_system_configuration.d.ts.map +1 -1
  2139. package/dist/es2017/main_thread/decrypt/get_key_system_configuration.js +1 -1
  2140. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts +6 -6
  2141. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  2142. package/dist/es2017/main_thread/decrypt/get_media_keys.js +11 -9
  2143. package/dist/es2017/main_thread/decrypt/index.d.ts +5 -5
  2144. package/dist/es2017/main_thread/decrypt/index.d.ts.map +1 -1
  2145. package/dist/es2017/main_thread/decrypt/index.js +5 -5
  2146. package/dist/es2017/main_thread/decrypt/init_media_keys.d.ts +5 -5
  2147. package/dist/es2017/main_thread/decrypt/init_media_keys.d.ts.map +1 -1
  2148. package/dist/es2017/main_thread/decrypt/init_media_keys.js +3 -3
  2149. package/dist/es2017/main_thread/decrypt/session_events_listener.d.ts +3 -3
  2150. package/dist/es2017/main_thread/decrypt/session_events_listener.d.ts.map +1 -1
  2151. package/dist/es2017/main_thread/decrypt/session_events_listener.js +11 -8
  2152. package/dist/es2017/main_thread/decrypt/set_server_certificate.d.ts +2 -2
  2153. package/dist/es2017/main_thread/decrypt/set_server_certificate.d.ts.map +1 -1
  2154. package/dist/es2017/main_thread/decrypt/set_server_certificate.js +5 -3
  2155. package/dist/es2017/main_thread/decrypt/types.d.ts +5 -5
  2156. package/dist/es2017/main_thread/decrypt/types.d.ts.map +1 -1
  2157. package/dist/es2017/main_thread/decrypt/utils/are_init_values_compatible.d.ts +1 -1
  2158. package/dist/es2017/main_thread/decrypt/utils/are_init_values_compatible.d.ts.map +1 -1
  2159. package/dist/es2017/main_thread/decrypt/utils/are_init_values_compatible.js +2 -2
  2160. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.d.ts +3 -3
  2161. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.d.ts.map +1 -1
  2162. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.js +5 -5
  2163. package/dist/es2017/main_thread/decrypt/utils/clean_old_loaded_sessions.d.ts +1 -1
  2164. package/dist/es2017/main_thread/decrypt/utils/clean_old_loaded_sessions.d.ts.map +1 -1
  2165. package/dist/es2017/main_thread/decrypt/utils/clean_old_loaded_sessions.js +1 -1
  2166. package/dist/es2017/main_thread/decrypt/utils/clean_old_stored_persistent_info.d.ts +1 -1
  2167. package/dist/es2017/main_thread/decrypt/utils/clean_old_stored_persistent_info.d.ts.map +1 -1
  2168. package/dist/es2017/main_thread/decrypt/utils/clean_old_stored_persistent_info.js +1 -1
  2169. package/dist/es2017/main_thread/decrypt/utils/get_drm_system_id.d.ts.map +1 -1
  2170. package/dist/es2017/main_thread/decrypt/utils/get_drm_system_id.js +3 -2
  2171. package/dist/es2017/main_thread/decrypt/utils/init_data_values_container.d.ts +1 -1
  2172. package/dist/es2017/main_thread/decrypt/utils/init_data_values_container.d.ts.map +1 -1
  2173. package/dist/es2017/main_thread/decrypt/utils/init_data_values_container.js +3 -3
  2174. package/dist/es2017/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts +1 -1
  2175. package/dist/es2017/main_thread/decrypt/utils/is_compatible_codec_supported.d.ts.map +1 -1
  2176. package/dist/es2017/main_thread/decrypt/utils/is_compatible_codec_supported.js +1 -1
  2177. package/dist/es2017/main_thread/decrypt/utils/is_session_usable.d.ts +1 -1
  2178. package/dist/es2017/main_thread/decrypt/utils/is_session_usable.d.ts.map +1 -1
  2179. package/dist/es2017/main_thread/decrypt/utils/is_session_usable.js +2 -2
  2180. package/dist/es2017/main_thread/decrypt/utils/key_id_comparison.js +1 -1
  2181. package/dist/es2017/main_thread/decrypt/utils/key_session_record.d.ts +1 -1
  2182. package/dist/es2017/main_thread/decrypt/utils/key_session_record.d.ts.map +1 -1
  2183. package/dist/es2017/main_thread/decrypt/utils/key_session_record.js +2 -2
  2184. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.d.ts +6 -4
  2185. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.d.ts.map +1 -1
  2186. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.js +5 -5
  2187. package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.d.ts +4 -4
  2188. package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.d.ts.map +1 -1
  2189. package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.js +4 -4
  2190. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts +3 -3
  2191. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  2192. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.js +9 -9
  2193. package/dist/es2017/main_thread/decrypt/utils/serializable_bytes.js +1 -1
  2194. package/dist/es2017/main_thread/decrypt/utils/server_certificate_store.d.ts +1 -1
  2195. package/dist/es2017/main_thread/decrypt/utils/server_certificate_store.d.ts.map +1 -1
  2196. package/dist/es2017/main_thread/decrypt/utils/server_certificate_store.js +1 -1
  2197. package/dist/es2017/main_thread/init/directfile_content_initializer.d.ts +7 -7
  2198. package/dist/es2017/main_thread/init/directfile_content_initializer.d.ts.map +1 -1
  2199. package/dist/es2017/main_thread/init/directfile_content_initializer.js +13 -13
  2200. package/dist/es2017/main_thread/init/index.d.ts +2 -2
  2201. package/dist/es2017/main_thread/init/index.d.ts.map +1 -1
  2202. package/dist/es2017/main_thread/init/index.js +1 -1
  2203. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +40 -24
  2204. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  2205. package/dist/es2017/main_thread/init/media_source_content_initializer.js +42 -43
  2206. package/dist/es2017/main_thread/init/types.d.ts +10 -10
  2207. package/dist/es2017/main_thread/init/types.d.ts.map +1 -1
  2208. package/dist/es2017/main_thread/init/types.js +1 -1
  2209. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.d.ts +9 -9
  2210. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
  2211. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.js +4 -4
  2212. package/dist/es2017/main_thread/init/utils/get_initial_time.d.ts +1 -1
  2213. package/dist/es2017/main_thread/init/utils/get_initial_time.d.ts.map +1 -1
  2214. package/dist/es2017/main_thread/init/utils/get_initial_time.js +5 -5
  2215. package/dist/es2017/main_thread/init/utils/get_loaded_reference.d.ts +3 -3
  2216. package/dist/es2017/main_thread/init/utils/get_loaded_reference.d.ts.map +1 -1
  2217. package/dist/es2017/main_thread/init/utils/get_loaded_reference.js +5 -5
  2218. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts +5 -5
  2219. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
  2220. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.js +5 -5
  2221. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.d.ts +8 -8
  2222. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.d.ts.map +1 -1
  2223. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.js +7 -7
  2224. package/dist/es2017/main_thread/init/utils/main_thread_text_displayer_interface.d.ts +3 -3
  2225. package/dist/es2017/main_thread/init/utils/main_thread_text_displayer_interface.d.ts.map +1 -1
  2226. package/dist/es2017/main_thread/init/utils/rebuffering_controller.d.ts +7 -7
  2227. package/dist/es2017/main_thread/init/utils/rebuffering_controller.d.ts.map +1 -1
  2228. package/dist/es2017/main_thread/init/utils/rebuffering_controller.js +9 -9
  2229. package/dist/es2017/main_thread/init/utils/stream_events_emitter/index.d.ts +2 -2
  2230. package/dist/es2017/main_thread/init/utils/stream_events_emitter/index.d.ts.map +1 -1
  2231. package/dist/es2017/main_thread/init/utils/stream_events_emitter/index.js +1 -1
  2232. package/dist/es2017/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +2 -2
  2233. package/dist/es2017/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts.map +1 -1
  2234. package/dist/es2017/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +1 -1
  2235. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +4 -4
  2236. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts.map +1 -1
  2237. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.js +5 -5
  2238. package/dist/es2017/main_thread/init/utils/stream_events_emitter/types.d.ts +1 -1
  2239. package/dist/es2017/main_thread/init/utils/stream_events_emitter/types.d.ts.map +1 -1
  2240. package/dist/es2017/main_thread/init/utils/throw_on_media_error.d.ts +3 -3
  2241. package/dist/es2017/main_thread/init/utils/throw_on_media_error.d.ts.map +1 -1
  2242. package/dist/es2017/main_thread/init/utils/throw_on_media_error.js +2 -2
  2243. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts +8 -6
  2244. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
  2245. package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.js +7 -5
  2246. package/dist/es2017/main_thread/render_thumbnail.d.ts +2 -2
  2247. package/dist/es2017/main_thread/render_thumbnail.d.ts.map +1 -1
  2248. package/dist/es2017/main_thread/render_thumbnail.js +6 -6
  2249. package/dist/es2017/main_thread/text_displayer/html/html_parsers.d.ts +1 -1
  2250. package/dist/es2017/main_thread/text_displayer/html/html_parsers.d.ts.map +1 -1
  2251. package/dist/es2017/main_thread/text_displayer/html/html_parsers.js +2 -2
  2252. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.d.ts +4 -4
  2253. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.d.ts.map +1 -1
  2254. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.js +10 -10
  2255. package/dist/es2017/main_thread/text_displayer/html/index.d.ts +1 -1
  2256. package/dist/es2017/main_thread/text_displayer/html/index.d.ts.map +1 -1
  2257. package/dist/es2017/main_thread/text_displayer/html/index.js +1 -1
  2258. package/dist/es2017/main_thread/text_displayer/html/text_track_cues_store.d.ts +1 -1
  2259. package/dist/es2017/main_thread/text_displayer/html/text_track_cues_store.d.ts.map +1 -1
  2260. package/dist/es2017/main_thread/text_displayer/html/text_track_cues_store.js +2 -2
  2261. package/dist/es2017/main_thread/text_displayer/index.d.ts +1 -1
  2262. package/dist/es2017/main_thread/text_displayer/index.d.ts.map +1 -1
  2263. package/dist/es2017/main_thread/text_displayer/manual_time_ranges.js +2 -2
  2264. package/dist/es2017/main_thread/text_displayer/native/index.d.ts +1 -1
  2265. package/dist/es2017/main_thread/text_displayer/native/index.d.ts.map +1 -1
  2266. package/dist/es2017/main_thread/text_displayer/native/index.js +1 -1
  2267. package/dist/es2017/main_thread/text_displayer/native/native_parsers.d.ts +2 -2
  2268. package/dist/es2017/main_thread/text_displayer/native/native_parsers.d.ts.map +1 -1
  2269. package/dist/es2017/main_thread/text_displayer/native/native_parsers.js +2 -2
  2270. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts +3 -3
  2271. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
  2272. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +6 -6
  2273. package/dist/es2017/main_thread/text_displayer/types.d.ts +2 -2
  2274. package/dist/es2017/main_thread/text_displayer/types.d.ts.map +1 -1
  2275. package/dist/es2017/main_thread/tracks_store/index.d.ts +3 -3
  2276. package/dist/es2017/main_thread/tracks_store/index.d.ts.map +1 -1
  2277. package/dist/es2017/main_thread/tracks_store/index.js +2 -2
  2278. package/dist/es2017/main_thread/tracks_store/media_element_tracks_store.d.ts +3 -3
  2279. package/dist/es2017/main_thread/tracks_store/media_element_tracks_store.d.ts.map +1 -1
  2280. package/dist/es2017/main_thread/tracks_store/media_element_tracks_store.js +5 -5
  2281. package/dist/es2017/main_thread/tracks_store/track_dispatcher.d.ts +5 -5
  2282. package/dist/es2017/main_thread/tracks_store/track_dispatcher.d.ts.map +1 -1
  2283. package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +6 -6
  2284. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts +6 -6
  2285. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  2286. package/dist/es2017/main_thread/tracks_store/tracks_store.js +11 -11
  2287. package/dist/es2017/main_thread/types.d.ts +36 -34
  2288. package/dist/es2017/main_thread/types.d.ts.map +1 -1
  2289. package/dist/es2017/main_thread/utils/media_capabilities.d.ts +2 -2
  2290. package/dist/es2017/main_thread/utils/media_capabilities.d.ts.map +1 -1
  2291. package/dist/es2017/main_thread/utils/media_capabilities.js +1 -1
  2292. package/dist/es2017/manifest/classes/adaptation.d.ts +5 -5
  2293. package/dist/es2017/manifest/classes/adaptation.d.ts.map +1 -1
  2294. package/dist/es2017/manifest/classes/adaptation.js +5 -5
  2295. package/dist/es2017/manifest/classes/index.d.ts +14 -14
  2296. package/dist/es2017/manifest/classes/index.d.ts.map +1 -1
  2297. package/dist/es2017/manifest/classes/index.js +7 -7
  2298. package/dist/es2017/manifest/classes/manifest.d.ts +13 -13
  2299. package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
  2300. package/dist/es2017/manifest/classes/manifest.js +12 -12
  2301. package/dist/es2017/manifest/classes/period.d.ts +6 -6
  2302. package/dist/es2017/manifest/classes/period.d.ts.map +1 -1
  2303. package/dist/es2017/manifest/classes/period.js +7 -6
  2304. package/dist/es2017/manifest/classes/representation.d.ts +5 -5
  2305. package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
  2306. package/dist/es2017/manifest/classes/representation.js +5 -5
  2307. package/dist/es2017/manifest/classes/representation_index/index.d.ts +2 -2
  2308. package/dist/es2017/manifest/classes/representation_index/index.d.ts.map +1 -1
  2309. package/dist/es2017/manifest/classes/representation_index/index.js +1 -1
  2310. package/dist/es2017/manifest/classes/representation_index/static.d.ts +1 -1
  2311. package/dist/es2017/manifest/classes/representation_index/static.d.ts.map +1 -1
  2312. package/dist/es2017/manifest/classes/representation_index/static.js +1 -1
  2313. package/dist/es2017/manifest/classes/representation_index/types.d.ts +4 -4
  2314. package/dist/es2017/manifest/classes/representation_index/types.d.ts.map +1 -1
  2315. package/dist/es2017/manifest/classes/update_period_in_place.d.ts +5 -5
  2316. package/dist/es2017/manifest/classes/update_period_in_place.d.ts.map +1 -1
  2317. package/dist/es2017/manifest/classes/update_period_in_place.js +3 -3
  2318. package/dist/es2017/manifest/classes/update_periods.d.ts +4 -4
  2319. package/dist/es2017/manifest/classes/update_periods.d.ts.map +1 -1
  2320. package/dist/es2017/manifest/classes/update_periods.js +6 -6
  2321. package/dist/es2017/manifest/classes/utils.d.ts +4 -4
  2322. package/dist/es2017/manifest/classes/utils.d.ts.map +1 -1
  2323. package/dist/es2017/manifest/classes/utils.js +1 -1
  2324. package/dist/es2017/manifest/index.d.ts +6 -6
  2325. package/dist/es2017/manifest/index.d.ts.map +1 -1
  2326. package/dist/es2017/manifest/index.js +2 -2
  2327. package/dist/es2017/manifest/types.d.ts +2 -2
  2328. package/dist/es2017/manifest/types.d.ts.map +1 -1
  2329. package/dist/es2017/manifest/utils.d.ts +4 -4
  2330. package/dist/es2017/manifest/utils.d.ts.map +1 -1
  2331. package/dist/es2017/manifest/utils.js +6 -6
  2332. package/dist/es2017/minimal.d.ts +1 -1
  2333. package/dist/es2017/minimal.d.ts.map +1 -1
  2334. package/dist/es2017/minimal.js +2 -2
  2335. package/dist/es2017/mse/index.d.ts +2 -2
  2336. package/dist/es2017/mse/index.d.ts.map +1 -1
  2337. package/dist/es2017/mse/main_media_source_interface.d.ts +10 -5
  2338. package/dist/es2017/mse/main_media_source_interface.d.ts.map +1 -1
  2339. package/dist/es2017/mse/main_media_source_interface.js +19 -19
  2340. package/dist/es2017/mse/types.d.ts +3 -3
  2341. package/dist/es2017/mse/types.d.ts.map +1 -1
  2342. package/dist/es2017/mse/utils/end_of_stream.d.ts +2 -2
  2343. package/dist/es2017/mse/utils/end_of_stream.d.ts.map +1 -1
  2344. package/dist/es2017/mse/utils/end_of_stream.js +3 -3
  2345. package/dist/es2017/mse/utils/media_source_duration_updater.d.ts +1 -1
  2346. package/dist/es2017/mse/utils/media_source_duration_updater.d.ts.map +1 -1
  2347. package/dist/es2017/mse/utils/media_source_duration_updater.js +5 -5
  2348. package/dist/es2017/mse/worker_media_source_interface.d.ts +7 -7
  2349. package/dist/es2017/mse/worker_media_source_interface.d.ts.map +1 -1
  2350. package/dist/es2017/mse/worker_media_source_interface.js +5 -5
  2351. package/dist/es2017/parsers/containers/isobmff/create_box.js +3 -3
  2352. package/dist/es2017/parsers/containers/isobmff/drm/index.d.ts +1 -1
  2353. package/dist/es2017/parsers/containers/isobmff/drm/index.d.ts.map +1 -1
  2354. package/dist/es2017/parsers/containers/isobmff/drm/index.js +1 -1
  2355. package/dist/es2017/parsers/containers/isobmff/drm/playready.d.ts.map +1 -1
  2356. package/dist/es2017/parsers/containers/isobmff/drm/playready.js +3 -3
  2357. package/dist/es2017/parsers/containers/isobmff/extract_complete_chunks.js +2 -2
  2358. package/dist/es2017/parsers/containers/isobmff/extract_pssh.js +5 -5
  2359. package/dist/es2017/parsers/containers/isobmff/find_complete_box.js +1 -1
  2360. package/dist/es2017/parsers/containers/isobmff/get_box.js +3 -3
  2361. package/dist/es2017/parsers/containers/isobmff/index.d.ts +9 -9
  2362. package/dist/es2017/parsers/containers/isobmff/index.d.ts.map +1 -1
  2363. package/dist/es2017/parsers/containers/isobmff/index.js +8 -8
  2364. package/dist/es2017/parsers/containers/isobmff/read.js +1 -1
  2365. package/dist/es2017/parsers/containers/isobmff/remove_dolby_vision_config_data.js +3 -3
  2366. package/dist/es2017/parsers/containers/isobmff/utils.d.ts +1 -1
  2367. package/dist/es2017/parsers/containers/isobmff/utils.d.ts.map +1 -1
  2368. package/dist/es2017/parsers/containers/isobmff/utils.js +10 -10
  2369. package/dist/es2017/parsers/containers/matroska/index.d.ts +2 -2
  2370. package/dist/es2017/parsers/containers/matroska/index.d.ts.map +1 -1
  2371. package/dist/es2017/parsers/containers/matroska/index.js +1 -1
  2372. package/dist/es2017/parsers/containers/matroska/utils.js +1 -1
  2373. package/dist/es2017/parsers/images/bif.js +2 -2
  2374. package/dist/es2017/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
  2375. package/dist/es2017/parsers/manifest/dash/common/attach_trickmode_track.d.ts.map +1 -1
  2376. package/dist/es2017/parsers/manifest/dash/common/attach_trickmode_track.js +1 -1
  2377. package/dist/es2017/parsers/manifest/dash/common/content_protection_parser.d.ts +2 -2
  2378. package/dist/es2017/parsers/manifest/dash/common/content_protection_parser.d.ts.map +1 -1
  2379. package/dist/es2017/parsers/manifest/dash/common/content_protection_parser.js +13 -12
  2380. package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.js +1 -1
  2381. package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
  2382. package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts.map +1 -1
  2383. package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
  2384. package/dist/es2017/parsers/manifest/dash/common/get_clock_offset.js +2 -2
  2385. package/dist/es2017/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
  2386. package/dist/es2017/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts.map +1 -1
  2387. package/dist/es2017/parsers/manifest/dash/common/get_http_utc-timing_url.js +4 -4
  2388. package/dist/es2017/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
  2389. package/dist/es2017/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts.map +1 -1
  2390. package/dist/es2017/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +2 -2
  2391. package/dist/es2017/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
  2392. package/dist/es2017/parsers/manifest/dash/common/get_periods_time_infos.d.ts.map +1 -1
  2393. package/dist/es2017/parsers/manifest/dash/common/get_periods_time_infos.js +1 -1
  2394. package/dist/es2017/parsers/manifest/dash/common/index.d.ts +3 -3
  2395. package/dist/es2017/parsers/manifest/dash/common/index.d.ts.map +1 -1
  2396. package/dist/es2017/parsers/manifest/dash/common/index.js +2 -2
  2397. package/dist/es2017/parsers/manifest/dash/common/indexes/base.d.ts +15 -11
  2398. package/dist/es2017/parsers/manifest/dash/common/indexes/base.d.ts.map +1 -1
  2399. package/dist/es2017/parsers/manifest/dash/common/indexes/base.js +9 -8
  2400. package/dist/es2017/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +31 -7
  2401. package/dist/es2017/parsers/manifest/dash/common/indexes/get_init_segment.d.ts.map +1 -1
  2402. package/dist/es2017/parsers/manifest/dash/common/indexes/get_init_segment.js +14 -7
  2403. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
  2404. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts.map +1 -1
  2405. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +2 -2
  2406. package/dist/es2017/parsers/manifest/dash/common/indexes/index.d.ts +8 -8
  2407. package/dist/es2017/parsers/manifest/dash/common/indexes/index.d.ts.map +1 -1
  2408. package/dist/es2017/parsers/manifest/dash/common/indexes/index.js +4 -4
  2409. package/dist/es2017/parsers/manifest/dash/common/indexes/list.d.ts +13 -9
  2410. package/dist/es2017/parsers/manifest/dash/common/indexes/list.d.ts.map +1 -1
  2411. package/dist/es2017/parsers/manifest/dash/common/indexes/list.js +12 -8
  2412. package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts +13 -9
  2413. package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts.map +1 -1
  2414. package/dist/es2017/parsers/manifest/dash/common/indexes/template.js +11 -10
  2415. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +2 -2
  2416. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts.map +1 -1
  2417. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +2 -2
  2418. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +2 -2
  2419. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts.map +1 -1
  2420. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +5 -5
  2421. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
  2422. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts.map +1 -1
  2423. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +2 -2
  2424. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +2 -2
  2425. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts.map +1 -1
  2426. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +1 -1
  2427. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -2
  2428. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/index.d.ts.map +1 -1
  2429. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/index.js +1 -1
  2430. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts +1 -1
  2431. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts.map +1 -1
  2432. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +2 -2
  2433. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +17 -13
  2434. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts.map +1 -1
  2435. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +19 -18
  2436. package/dist/es2017/parsers/manifest/dash/common/indexes/tokens.js +1 -1
  2437. package/dist/es2017/parsers/manifest/dash/common/indexes/utils.js +1 -1
  2438. package/dist/es2017/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
  2439. package/dist/es2017/parsers/manifest/dash/common/infer_adaptation_type.d.ts.map +1 -1
  2440. package/dist/es2017/parsers/manifest/dash/common/infer_adaptation_type.js +19 -19
  2441. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.js +1 -1
  2442. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +5 -5
  2443. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.d.ts.map +1 -1
  2444. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.js +50 -44
  2445. package/dist/es2017/parsers/manifest/dash/common/parse_availability_start_time.d.ts +1 -1
  2446. package/dist/es2017/parsers/manifest/dash/common/parse_availability_start_time.d.ts.map +1 -1
  2447. package/dist/es2017/parsers/manifest/dash/common/parse_availability_start_time.js +1 -1
  2448. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.d.ts +5 -5
  2449. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.d.ts.map +1 -1
  2450. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.js +36 -34
  2451. package/dist/es2017/parsers/manifest/dash/common/parse_periods.d.ts +5 -5
  2452. package/dist/es2017/parsers/manifest/dash/common/parse_periods.d.ts.map +1 -1
  2453. package/dist/es2017/parsers/manifest/dash/common/parse_periods.js +19 -19
  2454. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.d.ts +5 -5
  2455. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.d.ts.map +1 -1
  2456. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.js +65 -29
  2457. package/dist/es2017/parsers/manifest/dash/common/parse_representations.d.ts +5 -5
  2458. package/dist/es2017/parsers/manifest/dash/common/parse_representations.d.ts.map +1 -1
  2459. package/dist/es2017/parsers/manifest/dash/common/parse_representations.js +30 -30
  2460. package/dist/es2017/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
  2461. package/dist/es2017/parsers/manifest/dash/common/resolve_base_urls.d.ts.map +1 -1
  2462. package/dist/es2017/parsers/manifest/dash/common/resolve_base_urls.js +1 -1
  2463. package/dist/es2017/parsers/manifest/dash/index.d.ts +1 -1
  2464. package/dist/es2017/parsers/manifest/dash/index.d.ts.map +1 -1
  2465. package/dist/es2017/parsers/manifest/dash/index.js +1 -1
  2466. package/dist/es2017/parsers/manifest/dash/js-parser/index.d.ts +1 -1
  2467. package/dist/es2017/parsers/manifest/dash/js-parser/index.d.ts.map +1 -1
  2468. package/dist/es2017/parsers/manifest/dash/js-parser/index.js +1 -1
  2469. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +2 -2
  2470. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts.map +1 -1
  2471. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +62 -99
  2472. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +2 -2
  2473. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts.map +1 -1
  2474. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +1 -1
  2475. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +3 -3
  2476. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts.map +1 -1
  2477. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.js +6 -6
  2478. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +2 -2
  2479. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts.map +1 -1
  2480. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.js +7 -7
  2481. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +2 -2
  2482. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts.map +1 -1
  2483. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +5 -6
  2484. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +3 -3
  2485. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts.map +1 -1
  2486. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +8 -7
  2487. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +2 -2
  2488. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts.map +1 -1
  2489. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/MPD.js +29 -37
  2490. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +2 -2
  2491. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts.map +1 -1
  2492. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Period.js +26 -30
  2493. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +2 -2
  2494. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts.map +1 -1
  2495. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.js +36 -58
  2496. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +2 -2
  2497. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts.map +1 -1
  2498. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +21 -25
  2499. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +2 -2
  2500. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts.map +1 -1
  2501. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentList.js +7 -5
  2502. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +2 -2
  2503. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts.map +1 -1
  2504. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +18 -21
  2505. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +2 -2
  2506. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts.map +1 -1
  2507. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +2 -2
  2508. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts.map +1 -1
  2509. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +8 -10
  2510. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +6 -7
  2511. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts.map +1 -1
  2512. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/utils.js +13 -12
  2513. package/dist/es2017/parsers/manifest/dash/js-parser/parse_from_xml_string.d.ts +5 -2
  2514. package/dist/es2017/parsers/manifest/dash/js-parser/parse_from_xml_string.d.ts.map +1 -1
  2515. package/dist/es2017/parsers/manifest/dash/js-parser/parse_from_xml_string.js +17 -13
  2516. package/dist/es2017/parsers/manifest/dash/node_parser_types.d.ts +91 -57
  2517. package/dist/es2017/parsers/manifest/dash/node_parser_types.d.ts.map +1 -1
  2518. package/dist/es2017/parsers/manifest/dash/parsers_types.d.ts +2 -2
  2519. package/dist/es2017/parsers/manifest/dash/parsers_types.d.ts.map +1 -1
  2520. package/dist/es2017/parsers/manifest/dash/wasm-parser/index.d.ts +2 -2
  2521. package/dist/es2017/parsers/manifest/dash/wasm-parser/index.d.ts.map +1 -1
  2522. package/dist/es2017/parsers/manifest/dash/wasm-parser/index.js +1 -1
  2523. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +4 -2
  2524. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts.map +1 -1
  2525. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +20 -15
  2526. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +3 -3
  2527. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts.map +1 -1
  2528. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +88 -98
  2529. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
  2530. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts.map +1 -1
  2531. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +2 -3
  2532. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +2 -2
  2533. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts.map +1 -1
  2534. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +5 -6
  2535. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +2 -2
  2536. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts.map +1 -1
  2537. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +11 -12
  2538. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +3 -3
  2539. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts.map +1 -1
  2540. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +13 -15
  2541. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Initialization.d.ts +4 -0
  2542. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Initialization.d.ts.map +1 -0
  2543. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Initialization.js +18 -0
  2544. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts +2 -2
  2545. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Label.d.ts.map +1 -1
  2546. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Label.js +4 -3
  2547. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +3 -3
  2548. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts.map +1 -1
  2549. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +38 -43
  2550. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +3 -3
  2551. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts.map +1 -1
  2552. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +42 -35
  2553. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +3 -3
  2554. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts.map +1 -1
  2555. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +48 -62
  2556. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +3 -3
  2557. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts.map +1 -1
  2558. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +3 -4
  2559. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +4 -2
  2560. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts.map +1 -1
  2561. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +25 -37
  2562. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +3 -3
  2563. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts.map +1 -1
  2564. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +11 -7
  2565. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +4 -2
  2566. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts.map +1 -1
  2567. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +31 -29
  2568. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
  2569. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts.map +1 -1
  2570. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +5 -6
  2571. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +3 -3
  2572. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts.map +1 -1
  2573. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +9 -3
  2574. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/index.d.ts +1 -1
  2575. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/index.d.ts.map +1 -1
  2576. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/index.js +1 -1
  2577. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
  2578. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts.map +1 -1
  2579. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.js +7 -6
  2580. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts +1 -1
  2581. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/parsers_stack.d.ts.map +1 -1
  2582. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +1 -1
  2583. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
  2584. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/types.d.ts.map +1 -1
  2585. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +4 -3
  2586. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/utils.d.ts.map +1 -1
  2587. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/utils.js +15 -3
  2588. package/dist/es2017/parsers/manifest/index.d.ts +1 -1
  2589. package/dist/es2017/parsers/manifest/index.d.ts.map +1 -1
  2590. package/dist/es2017/parsers/manifest/local/index.d.ts +2 -2
  2591. package/dist/es2017/parsers/manifest/local/index.d.ts.map +1 -1
  2592. package/dist/es2017/parsers/manifest/local/index.js +1 -1
  2593. package/dist/es2017/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
  2594. package/dist/es2017/parsers/manifest/local/parse_local_manifest.d.ts.map +1 -1
  2595. package/dist/es2017/parsers/manifest/local/parse_local_manifest.js +3 -3
  2596. package/dist/es2017/parsers/manifest/local/representation_index.d.ts +2 -2
  2597. package/dist/es2017/parsers/manifest/local/representation_index.d.ts.map +1 -1
  2598. package/dist/es2017/parsers/manifest/local/representation_index.js +1 -1
  2599. package/dist/es2017/parsers/manifest/metaplaylist/index.d.ts +2 -2
  2600. package/dist/es2017/parsers/manifest/metaplaylist/index.d.ts.map +1 -1
  2601. package/dist/es2017/parsers/manifest/metaplaylist/index.js +1 -1
  2602. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
  2603. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts.map +1 -1
  2604. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.js +8 -8
  2605. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.d.ts +3 -3
  2606. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.d.ts.map +1 -1
  2607. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.js +2 -2
  2608. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts +2 -2
  2609. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts.map +1 -1
  2610. package/dist/es2017/parsers/manifest/smooth/create_parser.js +22 -22
  2611. package/dist/es2017/parsers/manifest/smooth/get_codecs.js +1 -1
  2612. package/dist/es2017/parsers/manifest/smooth/index.d.ts +3 -3
  2613. package/dist/es2017/parsers/manifest/smooth/index.d.ts.map +1 -1
  2614. package/dist/es2017/parsers/manifest/smooth/index.js +2 -2
  2615. package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts +1 -1
  2616. package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.d.ts.map +1 -1
  2617. package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.js +1 -1
  2618. package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts +1 -1
  2619. package/dist/es2017/parsers/manifest/smooth/parse_protection_node.d.ts.map +1 -1
  2620. package/dist/es2017/parsers/manifest/smooth/parse_protection_node.js +4 -4
  2621. package/dist/es2017/parsers/manifest/smooth/representation_index.d.ts +3 -3
  2622. package/dist/es2017/parsers/manifest/smooth/representation_index.d.ts.map +1 -1
  2623. package/dist/es2017/parsers/manifest/smooth/representation_index.js +6 -6
  2624. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +1 -1
  2625. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts.map +1 -1
  2626. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.js +6 -6
  2627. package/dist/es2017/parsers/manifest/smooth/utils/add_segment_infos.js +1 -1
  2628. package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.d.ts +1 -1
  2629. package/dist/es2017/parsers/manifest/smooth/utils/reduceChildren.d.ts.map +1 -1
  2630. package/dist/es2017/parsers/manifest/types.d.ts +2 -2
  2631. package/dist/es2017/parsers/manifest/types.d.ts.map +1 -1
  2632. package/dist/es2017/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
  2633. package/dist/es2017/parsers/manifest/utils/check_manifest_ids.d.ts.map +1 -1
  2634. package/dist/es2017/parsers/manifest/utils/check_manifest_ids.js +2 -2
  2635. package/dist/es2017/parsers/manifest/utils/clear_timeline_from_position.d.ts +1 -1
  2636. package/dist/es2017/parsers/manifest/utils/clear_timeline_from_position.d.ts.map +1 -1
  2637. package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
  2638. package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.d.ts.map +1 -1
  2639. package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
  2640. package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.d.ts.map +1 -1
  2641. package/dist/es2017/parsers/manifest/utils/get_maximum_positions.d.ts +1 -1
  2642. package/dist/es2017/parsers/manifest/utils/get_maximum_positions.d.ts.map +1 -1
  2643. package/dist/es2017/parsers/manifest/utils/get_maximum_positions.js +2 -2
  2644. package/dist/es2017/parsers/manifest/utils/get_minimum_position.d.ts +1 -1
  2645. package/dist/es2017/parsers/manifest/utils/get_minimum_position.d.ts.map +1 -1
  2646. package/dist/es2017/parsers/manifest/utils/get_minimum_position.js +2 -2
  2647. package/dist/es2017/parsers/manifest/utils/index_helpers.js +1 -1
  2648. package/dist/es2017/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
  2649. package/dist/es2017/parsers/manifest/utils/update_segment_timeline.d.ts.map +1 -1
  2650. package/dist/es2017/parsers/manifest/utils/update_segment_timeline.js +3 -3
  2651. package/dist/es2017/parsers/texttracks/index.d.ts +1 -1
  2652. package/dist/es2017/parsers/texttracks/index.d.ts.map +1 -1
  2653. package/dist/es2017/parsers/texttracks/sami/html.d.ts +1 -1
  2654. package/dist/es2017/parsers/texttracks/sami/html.d.ts.map +1 -1
  2655. package/dist/es2017/parsers/texttracks/sami/html.js +4 -4
  2656. package/dist/es2017/parsers/texttracks/sami/native.d.ts +1 -1
  2657. package/dist/es2017/parsers/texttracks/sami/native.d.ts.map +1 -1
  2658. package/dist/es2017/parsers/texttracks/sami/native.js +5 -5
  2659. package/dist/es2017/parsers/texttracks/srt/find_end_of_cue_block.js +1 -1
  2660. package/dist/es2017/parsers/texttracks/srt/get_cue_blocks.js +2 -2
  2661. package/dist/es2017/parsers/texttracks/srt/html.js +4 -4
  2662. package/dist/es2017/parsers/texttracks/srt/native.d.ts +1 -1
  2663. package/dist/es2017/parsers/texttracks/srt/native.d.ts.map +1 -1
  2664. package/dist/es2017/parsers/texttracks/srt/native.js +5 -5
  2665. package/dist/es2017/parsers/texttracks/srt/parse_cue.js +2 -2
  2666. package/dist/es2017/parsers/texttracks/srt/parse_timestamp.js +1 -1
  2667. package/dist/es2017/parsers/texttracks/ttml/get_parameters.js +2 -2
  2668. package/dist/es2017/parsers/texttracks/ttml/get_styling.js +4 -4
  2669. package/dist/es2017/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
  2670. package/dist/es2017/parsers/texttracks/ttml/get_time_delimiters.d.ts.map +1 -1
  2671. package/dist/es2017/parsers/texttracks/ttml/get_time_delimiters.js +3 -3
  2672. package/dist/es2017/parsers/texttracks/ttml/html/apply_extent.js +3 -3
  2673. package/dist/es2017/parsers/texttracks/ttml/html/apply_font_size.js +3 -3
  2674. package/dist/es2017/parsers/texttracks/ttml/html/apply_line_height.js +3 -3
  2675. package/dist/es2017/parsers/texttracks/ttml/html/apply_origin.js +3 -3
  2676. package/dist/es2017/parsers/texttracks/ttml/html/apply_padding.js +3 -3
  2677. package/dist/es2017/parsers/texttracks/ttml/html/create_element.d.ts +1 -1
  2678. package/dist/es2017/parsers/texttracks/ttml/html/create_element.d.ts.map +1 -1
  2679. package/dist/es2017/parsers/texttracks/ttml/html/create_element.js +12 -12
  2680. package/dist/es2017/parsers/texttracks/ttml/html/generate_css_test_outline.js +1 -1
  2681. package/dist/es2017/parsers/texttracks/ttml/html/index.d.ts +1 -1
  2682. package/dist/es2017/parsers/texttracks/ttml/html/index.d.ts.map +1 -1
  2683. package/dist/es2017/parsers/texttracks/ttml/html/index.js +1 -1
  2684. package/dist/es2017/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
  2685. package/dist/es2017/parsers/texttracks/ttml/html/parse_cue.d.ts.map +1 -1
  2686. package/dist/es2017/parsers/texttracks/ttml/html/parse_cue.js +2 -2
  2687. package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
  2688. package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts.map +1 -1
  2689. package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.js +5 -5
  2690. package/dist/es2017/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +2 -2
  2691. package/dist/es2017/parsers/texttracks/ttml/native/index.d.ts +1 -1
  2692. package/dist/es2017/parsers/texttracks/ttml/native/index.d.ts.map +1 -1
  2693. package/dist/es2017/parsers/texttracks/ttml/native/index.js +1 -1
  2694. package/dist/es2017/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
  2695. package/dist/es2017/parsers/texttracks/ttml/native/parse_cue.d.ts.map +1 -1
  2696. package/dist/es2017/parsers/texttracks/ttml/native/parse_cue.js +7 -7
  2697. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
  2698. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts.map +1 -1
  2699. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +4 -4
  2700. package/dist/es2017/parsers/texttracks/ttml/parse_ttml.d.ts +2 -2
  2701. package/dist/es2017/parsers/texttracks/ttml/parse_ttml.d.ts.map +1 -1
  2702. package/dist/es2017/parsers/texttracks/ttml/parse_ttml.js +7 -7
  2703. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
  2704. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts.map +1 -1
  2705. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.js +4 -4
  2706. package/dist/es2017/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
  2707. package/dist/es2017/parsers/texttracks/ttml/time_parsing.d.ts.map +1 -1
  2708. package/dist/es2017/parsers/texttracks/ttml/time_parsing.js +1 -1
  2709. package/dist/es2017/parsers/texttracks/ttml/xml_utils.js +1 -1
  2710. package/dist/es2017/parsers/texttracks/types.d.ts +1 -1
  2711. package/dist/es2017/parsers/texttracks/types.d.ts.map +1 -1
  2712. package/dist/es2017/parsers/texttracks/webvtt/create_default_style_elements.d.ts +1 -1
  2713. package/dist/es2017/parsers/texttracks/webvtt/create_default_style_elements.d.ts.map +1 -1
  2714. package/dist/es2017/parsers/texttracks/webvtt/get_cue_blocks.js +2 -2
  2715. package/dist/es2017/parsers/texttracks/webvtt/get_style_blocks.js +2 -2
  2716. package/dist/es2017/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
  2717. package/dist/es2017/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts.map +1 -1
  2718. package/dist/es2017/parsers/texttracks/webvtt/html/convert_payload_to_html.js +1 -1
  2719. package/dist/es2017/parsers/texttracks/webvtt/html/create_style_attribute.js +1 -1
  2720. package/dist/es2017/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
  2721. package/dist/es2017/parsers/texttracks/webvtt/html/create_styled_element.d.ts.map +1 -1
  2722. package/dist/es2017/parsers/texttracks/webvtt/html/create_styled_element.js +2 -2
  2723. package/dist/es2017/parsers/texttracks/webvtt/html/index.d.ts +3 -3
  2724. package/dist/es2017/parsers/texttracks/webvtt/html/index.d.ts.map +1 -1
  2725. package/dist/es2017/parsers/texttracks/webvtt/html/index.js +2 -2
  2726. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_mp4.d.ts +1 -1
  2727. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_mp4.d.ts.map +1 -1
  2728. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_mp4.js +4 -4
  2729. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_plain_text.d.ts +1 -1
  2730. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_plain_text.d.ts.map +1 -1
  2731. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_plain_text.js +8 -8
  2732. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
  2733. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts.map +1 -1
  2734. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.js +3 -3
  2735. package/dist/es2017/parsers/texttracks/webvtt/native/index.d.ts +2 -2
  2736. package/dist/es2017/parsers/texttracks/webvtt/native/index.d.ts.map +1 -1
  2737. package/dist/es2017/parsers/texttracks/webvtt/native/index.js +2 -2
  2738. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_plain_text_to_cues.d.ts +1 -1
  2739. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_plain_text_to_cues.d.ts.map +1 -1
  2740. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_plain_text_to_cues.js +10 -10
  2741. package/dist/es2017/parsers/texttracks/webvtt/native/parse_webvtt_mp4_to_cues.d.ts +1 -1
  2742. package/dist/es2017/parsers/texttracks/webvtt/native/parse_webvtt_mp4_to_cues.d.ts.map +1 -1
  2743. package/dist/es2017/parsers/texttracks/webvtt/native/parse_webvtt_mp4_to_cues.js +4 -4
  2744. package/dist/es2017/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
  2745. package/dist/es2017/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts.map +1 -1
  2746. package/dist/es2017/parsers/texttracks/webvtt/native/set_settings_on_cue.js +2 -2
  2747. package/dist/es2017/parsers/texttracks/webvtt/native/to_native_cue.d.ts +2 -2
  2748. package/dist/es2017/parsers/texttracks/webvtt/native/to_native_cue.d.ts.map +1 -1
  2749. package/dist/es2017/parsers/texttracks/webvtt/native/to_native_cue.js +1 -1
  2750. package/dist/es2017/parsers/texttracks/webvtt/parse_cue_block.js +1 -1
  2751. package/dist/es2017/parsers/texttracks/webvtt/parse_mp4_embedded_wvtt.d.ts +1 -1
  2752. package/dist/es2017/parsers/texttracks/webvtt/parse_mp4_embedded_wvtt.d.ts.map +1 -1
  2753. package/dist/es2017/parsers/texttracks/webvtt/parse_mp4_embedded_wvtt.js +6 -6
  2754. package/dist/es2017/parsers/texttracks/webvtt/parse_style_block.js +2 -2
  2755. package/dist/es2017/parsers/texttracks/webvtt/parse_timestamp.js +1 -1
  2756. package/dist/es2017/parsers/texttracks/webvtt/utils.js +1 -1
  2757. package/dist/es2017/playback_observer/core_playback_observer.d.ts +7 -7
  2758. package/dist/es2017/playback_observer/core_playback_observer.d.ts.map +1 -1
  2759. package/dist/es2017/playback_observer/core_playback_observer.js +1 -1
  2760. package/dist/es2017/playback_observer/index.d.ts +4 -4
  2761. package/dist/es2017/playback_observer/index.d.ts.map +1 -1
  2762. package/dist/es2017/playback_observer/index.js +1 -1
  2763. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts +5 -5
  2764. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  2765. package/dist/es2017/playback_observer/media_element_playback_observer.js +12 -12
  2766. package/dist/es2017/playback_observer/types.d.ts +3 -3
  2767. package/dist/es2017/playback_observer/types.d.ts.map +1 -1
  2768. package/dist/es2017/playback_observer/utils/generate_read_only_observer.d.ts +3 -3
  2769. package/dist/es2017/playback_observer/utils/generate_read_only_observer.d.ts.map +1 -1
  2770. package/dist/es2017/public_types.d.ts +6 -6
  2771. package/dist/es2017/public_types.d.ts.map +1 -1
  2772. package/dist/es2017/tools/TextTrackRenderer/index.d.ts +6 -6
  2773. package/dist/es2017/tools/TextTrackRenderer/index.d.ts.map +1 -1
  2774. package/dist/es2017/tools/TextTrackRenderer/index.js +5 -5
  2775. package/dist/es2017/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
  2776. package/dist/es2017/tools/TextTrackRenderer/text_track_renderer.d.ts.map +1 -1
  2777. package/dist/es2017/tools/TextTrackRenderer/text_track_renderer.js +2 -2
  2778. package/dist/es2017/tools/index.d.ts +3 -3
  2779. package/dist/es2017/tools/index.d.ts.map +1 -1
  2780. package/dist/es2017/tools/index.js +3 -4
  2781. package/dist/es2017/tools/parseBIFThumbnails/index.js +1 -1
  2782. package/dist/es2017/tools/string_utils/index.d.ts +1 -1
  2783. package/dist/es2017/tools/string_utils/index.d.ts.map +1 -1
  2784. package/dist/es2017/tools/string_utils/index.js +1 -1
  2785. package/dist/es2017/transports/dash/construct_segment_url.d.ts +2 -2
  2786. package/dist/es2017/transports/dash/construct_segment_url.d.ts.map +1 -1
  2787. package/dist/es2017/transports/dash/construct_segment_url.js +1 -1
  2788. package/dist/es2017/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
  2789. package/dist/es2017/transports/dash/get_events_out_of_emsgs.d.ts.map +1 -1
  2790. package/dist/es2017/transports/dash/get_events_out_of_emsgs.js +1 -1
  2791. package/dist/es2017/transports/dash/index.d.ts +1 -1
  2792. package/dist/es2017/transports/dash/index.d.ts.map +1 -1
  2793. package/dist/es2017/transports/dash/index.js +1 -1
  2794. package/dist/es2017/transports/dash/init_segment_loader.d.ts +3 -3
  2795. package/dist/es2017/transports/dash/init_segment_loader.d.ts.map +1 -1
  2796. package/dist/es2017/transports/dash/init_segment_loader.js +4 -4
  2797. package/dist/es2017/transports/dash/integrity_checks.d.ts +1 -1
  2798. package/dist/es2017/transports/dash/integrity_checks.d.ts.map +1 -1
  2799. package/dist/es2017/transports/dash/integrity_checks.js +6 -6
  2800. package/dist/es2017/transports/dash/load_chunked_segment_data.d.ts +2 -2
  2801. package/dist/es2017/transports/dash/load_chunked_segment_data.d.ts.map +1 -1
  2802. package/dist/es2017/transports/dash/load_chunked_segment_data.js +3 -3
  2803. package/dist/es2017/transports/dash/manifest_parser.d.ts +2 -2
  2804. package/dist/es2017/transports/dash/manifest_parser.d.ts.map +1 -1
  2805. package/dist/es2017/transports/dash/manifest_parser.js +10 -10
  2806. package/dist/es2017/transports/dash/pipelines.d.ts +1 -1
  2807. package/dist/es2017/transports/dash/pipelines.d.ts.map +1 -1
  2808. package/dist/es2017/transports/dash/pipelines.js +9 -9
  2809. package/dist/es2017/transports/dash/segment_loader.d.ts +3 -3
  2810. package/dist/es2017/transports/dash/segment_loader.d.ts.map +1 -1
  2811. package/dist/es2017/transports/dash/segment_loader.js +10 -10
  2812. package/dist/es2017/transports/dash/segment_parser.d.ts +1 -1
  2813. package/dist/es2017/transports/dash/segment_parser.d.ts.map +1 -1
  2814. package/dist/es2017/transports/dash/segment_parser.js +10 -10
  2815. package/dist/es2017/transports/dash/text_loader.d.ts +1 -1
  2816. package/dist/es2017/transports/dash/text_loader.d.ts.map +1 -1
  2817. package/dist/es2017/transports/dash/text_loader.js +9 -9
  2818. package/dist/es2017/transports/dash/text_parser.d.ts +1 -1
  2819. package/dist/es2017/transports/dash/text_parser.d.ts.map +1 -1
  2820. package/dist/es2017/transports/dash/text_parser.js +5 -5
  2821. package/dist/es2017/transports/dash/thumbnails.d.ts +4 -4
  2822. package/dist/es2017/transports/dash/thumbnails.d.ts.map +1 -1
  2823. package/dist/es2017/transports/dash/thumbnails.js +4 -4
  2824. package/dist/es2017/transports/index.d.ts +1 -1
  2825. package/dist/es2017/transports/index.d.ts.map +1 -1
  2826. package/dist/es2017/transports/local/index.d.ts +1 -1
  2827. package/dist/es2017/transports/local/index.d.ts.map +1 -1
  2828. package/dist/es2017/transports/local/index.js +1 -1
  2829. package/dist/es2017/transports/local/pipelines.d.ts +1 -1
  2830. package/dist/es2017/transports/local/pipelines.d.ts.map +1 -1
  2831. package/dist/es2017/transports/local/pipelines.js +7 -7
  2832. package/dist/es2017/transports/local/segment_loader.d.ts +3 -3
  2833. package/dist/es2017/transports/local/segment_loader.d.ts.map +1 -1
  2834. package/dist/es2017/transports/local/segment_loader.js +3 -3
  2835. package/dist/es2017/transports/local/segment_parser.d.ts +1 -1
  2836. package/dist/es2017/transports/local/segment_parser.d.ts.map +1 -1
  2837. package/dist/es2017/transports/local/segment_parser.js +5 -5
  2838. package/dist/es2017/transports/local/text_parser.d.ts +1 -1
  2839. package/dist/es2017/transports/local/text_parser.d.ts.map +1 -1
  2840. package/dist/es2017/transports/local/text_parser.js +5 -5
  2841. package/dist/es2017/transports/metaplaylist/index.d.ts +1 -1
  2842. package/dist/es2017/transports/metaplaylist/index.d.ts.map +1 -1
  2843. package/dist/es2017/transports/metaplaylist/index.js +1 -1
  2844. package/dist/es2017/transports/metaplaylist/pipelines.d.ts +1 -1
  2845. package/dist/es2017/transports/metaplaylist/pipelines.d.ts.map +1 -1
  2846. package/dist/es2017/transports/metaplaylist/pipelines.js +8 -8
  2847. package/dist/es2017/transports/smooth/extract_timings_infos.d.ts +2 -2
  2848. package/dist/es2017/transports/smooth/extract_timings_infos.d.ts.map +1 -1
  2849. package/dist/es2017/transports/smooth/extract_timings_infos.js +3 -3
  2850. package/dist/es2017/transports/smooth/index.d.ts +1 -1
  2851. package/dist/es2017/transports/smooth/index.d.ts.map +1 -1
  2852. package/dist/es2017/transports/smooth/index.js +1 -1
  2853. package/dist/es2017/transports/smooth/isobmff/create_audio_init_segment.js +4 -4
  2854. package/dist/es2017/transports/smooth/isobmff/create_boxes.js +3 -3
  2855. package/dist/es2017/transports/smooth/isobmff/create_init_segment.d.ts.map +1 -1
  2856. package/dist/es2017/transports/smooth/isobmff/create_init_segment.js +3 -3
  2857. package/dist/es2017/transports/smooth/isobmff/create_traf_box.d.ts.map +1 -1
  2858. package/dist/es2017/transports/smooth/isobmff/create_traf_box.js +2 -2
  2859. package/dist/es2017/transports/smooth/isobmff/create_video_init_segment.js +4 -4
  2860. package/dist/es2017/transports/smooth/isobmff/get_aaces_header.js +2 -2
  2861. package/dist/es2017/transports/smooth/isobmff/index.d.ts +6 -6
  2862. package/dist/es2017/transports/smooth/isobmff/index.d.ts.map +1 -1
  2863. package/dist/es2017/transports/smooth/isobmff/index.js +5 -5
  2864. package/dist/es2017/transports/smooth/isobmff/parse_tfrf.js +2 -2
  2865. package/dist/es2017/transports/smooth/isobmff/parse_tfxd.js +2 -2
  2866. package/dist/es2017/transports/smooth/isobmff/patch_segment.js +5 -5
  2867. package/dist/es2017/transports/smooth/pipelines.d.ts +1 -1
  2868. package/dist/es2017/transports/smooth/pipelines.d.ts.map +1 -1
  2869. package/dist/es2017/transports/smooth/pipelines.js +16 -16
  2870. package/dist/es2017/transports/smooth/segment_loader.d.ts +3 -3
  2871. package/dist/es2017/transports/smooth/segment_loader.d.ts.map +1 -1
  2872. package/dist/es2017/transports/smooth/segment_loader.js +8 -8
  2873. package/dist/es2017/transports/smooth/utils.d.ts +2 -2
  2874. package/dist/es2017/transports/smooth/utils.d.ts.map +1 -1
  2875. package/dist/es2017/transports/smooth/utils.js +1 -1
  2876. package/dist/es2017/transports/types.d.ts +7 -7
  2877. package/dist/es2017/transports/types.d.ts.map +1 -1
  2878. package/dist/es2017/transports/utils/call_custom_manifest_loader.d.ts +3 -3
  2879. package/dist/es2017/transports/utils/call_custom_manifest_loader.d.ts.map +1 -1
  2880. package/dist/es2017/transports/utils/call_custom_manifest_loader.js +2 -2
  2881. package/dist/es2017/transports/utils/check_isobmff_integrity.js +2 -2
  2882. package/dist/es2017/transports/utils/generate_manifest_loader.d.ts +2 -2
  2883. package/dist/es2017/transports/utils/generate_manifest_loader.d.ts.map +1 -1
  2884. package/dist/es2017/transports/utils/generate_manifest_loader.js +4 -4
  2885. package/dist/es2017/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
  2886. package/dist/es2017/transports/utils/get_isobmff_timing_infos.d.ts.map +1 -1
  2887. package/dist/es2017/transports/utils/get_isobmff_timing_infos.js +2 -2
  2888. package/dist/es2017/transports/utils/infer_segment_container.d.ts +1 -1
  2889. package/dist/es2017/transports/utils/infer_segment_container.d.ts.map +1 -1
  2890. package/dist/es2017/transports/utils/parse_text_track.d.ts +2 -2
  2891. package/dist/es2017/transports/utils/parse_text_track.d.ts.map +1 -1
  2892. package/dist/es2017/transports/utils/parse_text_track.js +4 -4
  2893. package/dist/es2017/utils/are_codecs_compatible.js +2 -2
  2894. package/dist/es2017/utils/assert.js +1 -1
  2895. package/dist/es2017/utils/base64.d.ts.map +1 -1
  2896. package/dist/es2017/utils/base64.js +18 -4
  2897. package/dist/es2017/utils/cancellable_sleep.d.ts +1 -1
  2898. package/dist/es2017/utils/cancellable_sleep.d.ts.map +1 -1
  2899. package/dist/es2017/utils/cancellable_sleep.js +1 -1
  2900. package/dist/es2017/utils/create_cancellable_promise.d.ts +1 -1
  2901. package/dist/es2017/utils/create_cancellable_promise.d.ts.map +1 -1
  2902. package/dist/es2017/utils/create_uuid.js +2 -2
  2903. package/dist/es2017/utils/deep_merge.js +1 -1
  2904. package/dist/es2017/utils/event_emitter.d.ts +1 -1
  2905. package/dist/es2017/utils/event_emitter.d.ts.map +1 -1
  2906. package/dist/es2017/utils/event_emitter.js +2 -2
  2907. package/dist/es2017/utils/get_last_item_from_array.d.ts +8 -0
  2908. package/dist/es2017/utils/get_last_item_from_array.d.ts.map +1 -0
  2909. package/dist/es2017/utils/get_last_item_from_array.js +9 -0
  2910. package/dist/es2017/utils/global_scope.js +2 -2
  2911. package/dist/es2017/utils/is_node.js +1 -1
  2912. package/dist/es2017/utils/languages/index.d.ts +2 -2
  2913. package/dist/es2017/utils/languages/index.d.ts.map +1 -1
  2914. package/dist/es2017/utils/languages/index.js +1 -1
  2915. package/dist/es2017/utils/languages/normalize.js +4 -4
  2916. package/dist/es2017/utils/logger.d.ts +1 -1
  2917. package/dist/es2017/utils/logger.d.ts.map +1 -1
  2918. package/dist/es2017/utils/logger.js +3 -3
  2919. package/dist/es2017/utils/monotonic_timestamp.js +1 -1
  2920. package/dist/es2017/utils/object_assign.d.ts.map +1 -1
  2921. package/dist/es2017/utils/object_entries.d.ts +16 -0
  2922. package/dist/es2017/utils/object_entries.d.ts.map +1 -0
  2923. package/dist/es2017/utils/object_entries.js +10 -0
  2924. package/dist/es2017/utils/reference.d.ts +1 -1
  2925. package/dist/es2017/utils/reference.d.ts.map +1 -1
  2926. package/dist/es2017/utils/reference.js +2 -2
  2927. package/dist/es2017/utils/request/fetch.d.ts +1 -1
  2928. package/dist/es2017/utils/request/fetch.d.ts.map +1 -1
  2929. package/dist/es2017/utils/request/fetch.js +7 -6
  2930. package/dist/es2017/utils/request/index.d.ts +6 -6
  2931. package/dist/es2017/utils/request/index.d.ts.map +1 -1
  2932. package/dist/es2017/utils/request/index.js +3 -3
  2933. package/dist/es2017/utils/request/request_error.d.ts +9 -1
  2934. package/dist/es2017/utils/request/request_error.d.ts.map +1 -1
  2935. package/dist/es2017/utils/request/request_error.js +13 -2
  2936. package/dist/es2017/utils/request/xhr.d.ts +1 -1
  2937. package/dist/es2017/utils/request/xhr.d.ts.map +1 -1
  2938. package/dist/es2017/utils/request/xhr.js +7 -6
  2939. package/dist/es2017/utils/retry_promise_with_backoff.d.ts +1 -1
  2940. package/dist/es2017/utils/retry_promise_with_backoff.d.ts.map +1 -1
  2941. package/dist/es2017/utils/retry_promise_with_backoff.js +3 -3
  2942. package/dist/es2017/utils/sorted_list.js +2 -2
  2943. package/dist/es2017/utils/string_parsing.js +3 -3
  2944. package/dist/es2017/utils/sync_or_async.js +1 -1
  2945. package/dist/es2017/utils/task_canceller.js +3 -3
  2946. package/dist/es2017/utils/url-utils.js +2 -2
  2947. package/dist/es2017/utils/warn_once.js +1 -1
  2948. package/dist/es2017/utils/xml-parser.js +1 -1
  2949. package/dist/es2017/worker_entry_point.js +1 -1
  2950. package/dist/mpd-parser.wasm +0 -0
  2951. package/dist/worker.js +8 -8
  2952. package/eslint.config.mjs +131 -20
  2953. package/package.json +30 -16
  2954. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +3 -1
  2955. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  2956. package/src/__GENERATED_CODE/index.ts +2 -2
  2957. package/src/compat/add_text_track.ts +2 -2
  2958. package/src/compat/browser_compatibility_types.ts +10 -7
  2959. package/src/compat/browser_version.ts +2 -2
  2960. package/src/compat/can_patch_isobmff.ts +1 -1
  2961. package/src/compat/can_patch_out_pssh.ts +2 -2
  2962. package/src/compat/can_preload_before_play.ts +1 -1
  2963. package/src/compat/can_rely_on_request_media_key_system_access.ts +12 -4
  2964. package/src/compat/can_rely_on_video_visibility_and_size.ts +2 -2
  2965. package/src/compat/can_reuse_media_keys.ts +2 -2
  2966. package/src/compat/change_source_buffer_type.ts +2 -2
  2967. package/src/compat/clear_element_src.ts +3 -3
  2968. package/src/compat/disable_remote_playback_on_managed_media_source.ts +2 -2
  2969. package/src/compat/eme/close_session.ts +4 -4
  2970. package/src/compat/eme/constants.ts +2 -2
  2971. package/src/compat/eme/custom_key_system_access.ts +4 -1
  2972. package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +8 -8
  2973. package/src/compat/eme/custom_media_keys/index.ts +5 -5
  2974. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +3 -3
  2975. package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +1 -1
  2976. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +8 -8
  2977. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +9 -9
  2978. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +3 -4
  2979. package/src/compat/eme/eme-api-implementation.ts +18 -18
  2980. package/src/compat/eme/generate_key_request.ts +34 -22
  2981. package/src/compat/eme/get_init_data.ts +12 -7
  2982. package/src/compat/eme/get_uuid_kid_from_keystatus_kid.ts +2 -2
  2983. package/src/compat/eme/get_webkit_fairplay_initdata.ts +2 -2
  2984. package/src/compat/eme/index.ts +7 -7
  2985. package/src/compat/eme/load_session.ts +2 -2
  2986. package/src/compat/eme/set_media_keys.ts +6 -5
  2987. package/src/compat/enable_audio_track.ts +2 -2
  2988. package/src/compat/env_detector.ts +9 -2
  2989. package/src/compat/event_listeners.ts +11 -11
  2990. package/src/compat/force_media_key_instantiation_if_needed.ts +88 -0
  2991. package/src/compat/generate_init_data.ts +32 -2
  2992. package/src/compat/get_start_date.ts +1 -1
  2993. package/src/compat/has_issues_with_high_media_source_duration.ts +2 -2
  2994. package/src/compat/has_worker_api.ts +1 -1
  2995. package/src/compat/is_codec_supported.ts +10 -19
  2996. package/src/compat/is_seeking_approximate.ts +2 -2
  2997. package/src/compat/is_vtt_cue.ts +2 -2
  2998. package/src/compat/make_vtt_cue.ts +4 -4
  2999. package/src/compat/may_media_element_fail_on_undecipherable_data.ts +2 -2
  3000. package/src/compat/on_height_width_change.ts +5 -5
  3001. package/src/compat/patch_webkit_source_buffer.ts +5 -5
  3002. package/src/compat/remove_cue.ts +3 -3
  3003. package/src/compat/reset_media_element.ts +3 -3
  3004. package/src/compat/should_await_set_media_keys.ts +2 -2
  3005. package/src/compat/should_favour_custom_safari_EME.ts +3 -3
  3006. package/src/compat/should_patch_out_dolby_vision_config_data_from_mp4.ts +2 -2
  3007. package/src/compat/should_reload_media_source_on_decipherability_update.ts +1 -1
  3008. package/src/compat/should_renew_media_key_system_access.ts +19 -6
  3009. package/src/compat/should_seek_at_zero.ts +2 -2
  3010. package/src/compat/should_unset_media_keys.ts +2 -2
  3011. package/src/compat/should_validate_metadata.ts +2 -2
  3012. package/src/compat/should_wait_for_data_before_loaded.ts +2 -2
  3013. package/src/compat/should_wait_for_have_enough_data.ts +2 -2
  3014. package/src/config.ts +4 -4
  3015. package/src/core/adaptive/adaptive_representation_selector.ts +25 -25
  3016. package/src/core/adaptive/buffer_based_chooser.ts +7 -7
  3017. package/src/core/adaptive/guess_based_chooser.ts +11 -11
  3018. package/src/core/adaptive/index.ts +2 -2
  3019. package/src/core/adaptive/network_analyzer.ts +10 -10
  3020. package/src/core/adaptive/utils/bandwidth_estimator.ts +2 -2
  3021. package/src/core/adaptive/utils/filter_by_bitrate.ts +2 -2
  3022. package/src/core/adaptive/utils/filter_by_resolution.ts +2 -2
  3023. package/src/core/adaptive/utils/last_estimate_storage.ts +1 -1
  3024. package/src/core/adaptive/utils/pending_requests_store.ts +4 -4
  3025. package/src/core/adaptive/utils/representation_score_calculator.ts +3 -3
  3026. package/src/core/adaptive/utils/select_optimal_representation.ts +2 -2
  3027. package/src/core/cmcd/cmcd_data_builder.ts +9 -9
  3028. package/src/core/cmcd/index.ts +2 -2
  3029. package/src/core/entry/FreezeResolver.ts +7 -7
  3030. package/src/core/entry/content_preparer.ts +72 -65
  3031. package/src/core/entry/content_time_boundaries_observer.ts +11 -11
  3032. package/src/core/entry/core_entry.ts +36 -40
  3033. package/src/core/entry/core_text_displayer_interface.ts +7 -7
  3034. package/src/core/entry/create_content_time_boundaries_observer.ts +8 -8
  3035. package/src/core/entry/get_buffered_data_per_media_buffer.ts +6 -6
  3036. package/src/core/entry/get_thumbnail_data.ts +5 -5
  3037. package/src/core/entry/index.ts +3 -3
  3038. package/src/core/entry/track_choice_setter.ts +7 -7
  3039. package/src/core/entry/utils.ts +9 -9
  3040. package/src/core/fetchers/cdn_prioritizer.ts +5 -5
  3041. package/src/core/fetchers/index.ts +10 -7
  3042. package/src/core/fetchers/manifest/index.ts +2 -2
  3043. package/src/core/fetchers/manifest/manifest_fetcher.ts +14 -14
  3044. package/src/core/fetchers/segment/index.ts +4 -4
  3045. package/src/core/fetchers/segment/initialization_segment_cache.ts +1 -1
  3046. package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +5 -5
  3047. package/src/core/fetchers/segment/segment_fetcher.ts +22 -22
  3048. package/src/core/fetchers/segment/segment_queue.ts +11 -11
  3049. package/src/core/fetchers/segment/segment_queue_creator.ts +13 -11
  3050. package/src/core/fetchers/segment/task_prioritizer.ts +5 -5
  3051. package/src/core/fetchers/thumbnails/index.ts +2 -2
  3052. package/src/core/fetchers/thumbnails/thumbnail_fetcher.ts +14 -14
  3053. package/src/core/fetchers/utils/error_selector.ts +3 -3
  3054. package/src/core/fetchers/utils/retry_after_delay.ts +89 -0
  3055. package/src/core/fetchers/utils/schedule_request.ts +23 -14
  3056. package/src/core/segment_sinks/garbage_collector.ts +10 -10
  3057. package/src/core/segment_sinks/implementations/audio_video/audio_video_segment_sink.ts +7 -7
  3058. package/src/core/segment_sinks/implementations/audio_video/index.ts +1 -1
  3059. package/src/core/segment_sinks/implementations/index.ts +3 -3
  3060. package/src/core/segment_sinks/implementations/text/index.ts +2 -2
  3061. package/src/core/segment_sinks/implementations/text/text_segment_sink.ts +9 -11
  3062. package/src/core/segment_sinks/implementations/types.ts +10 -7
  3063. package/src/core/segment_sinks/implementations/utils/manual_time_ranges.ts +2 -2
  3064. package/src/core/segment_sinks/index.ts +6 -6
  3065. package/src/core/segment_sinks/inventory/buffered_history.ts +3 -3
  3066. package/src/core/segment_sinks/inventory/index.ts +5 -5
  3067. package/src/core/segment_sinks/inventory/segment_inventory.ts +15 -10
  3068. package/src/core/segment_sinks/inventory/types.ts +1 -1
  3069. package/src/core/segment_sinks/inventory/utils.ts +2 -2
  3070. package/src/core/segment_sinks/segment_sinks_store.ts +15 -15
  3071. package/src/core/stream/adaptation/adaptation_stream.ts +18 -18
  3072. package/src/core/stream/adaptation/get_representations_switch_strategy.ts +9 -9
  3073. package/src/core/stream/adaptation/index.ts +2 -2
  3074. package/src/core/stream/adaptation/types.ts +13 -8
  3075. package/src/core/stream/index.ts +5 -5
  3076. package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +4 -4
  3077. package/src/core/stream/orchestrator/index.ts +2 -2
  3078. package/src/core/stream/orchestrator/stream_orchestrator.ts +27 -23
  3079. package/src/core/stream/period/index.ts +2 -2
  3080. package/src/core/stream/period/period_stream.ts +22 -22
  3081. package/src/core/stream/period/types.ts +15 -15
  3082. package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +10 -10
  3083. package/src/core/stream/representation/encryption_data_notifier.ts +2 -2
  3084. package/src/core/stream/representation/index.ts +2 -2
  3085. package/src/core/stream/representation/representation_stream.ts +13 -13
  3086. package/src/core/stream/representation/types.ts +9 -9
  3087. package/src/core/stream/representation/utils/append_segment_to_buffer.ts +11 -11
  3088. package/src/core/stream/representation/utils/check_for_discontinuity.ts +4 -4
  3089. package/src/core/stream/representation/utils/get_buffer_status.ts +9 -9
  3090. package/src/core/stream/representation/utils/get_needed_segments.ts +7 -7
  3091. package/src/core/stream/representation/utils/get_segment_priority.ts +1 -1
  3092. package/src/core/stream/representation/utils/push_init_segment.ts +8 -8
  3093. package/src/core/stream/representation/utils/push_media_segment.ts +10 -10
  3094. package/src/core/types.ts +15 -17
  3095. package/src/default_config.ts +9 -0
  3096. package/src/errors/encrypted_media_error.ts +4 -4
  3097. package/src/errors/error_codes.ts +5 -14
  3098. package/src/errors/format_error.ts +3 -3
  3099. package/src/errors/index.ts +14 -14
  3100. package/src/errors/is_known_error.ts +6 -6
  3101. package/src/errors/media_error.ts +6 -7
  3102. package/src/errors/network_error.ts +4 -4
  3103. package/src/errors/other_error.ts +3 -3
  3104. package/src/errors/worker_initialization_error.ts +2 -4
  3105. package/src/experimental/features/index.ts +3 -3
  3106. package/src/experimental/features/local.ts +5 -5
  3107. package/src/experimental/features/metaplaylist.ts +5 -5
  3108. package/src/experimental/features/multi_thread.ts +10 -7
  3109. package/src/experimental/features/worker/index.ts +3 -3
  3110. package/src/experimental/index.ts +1 -1
  3111. package/src/experimental/tools/DummyMediaElement/eme.ts +53 -15
  3112. package/src/experimental/tools/DummyMediaElement/html5.ts +14 -15
  3113. package/src/experimental/tools/DummyMediaElement/index.ts +1 -1
  3114. package/src/experimental/tools/DummyMediaElement/mse.ts +11 -11
  3115. package/src/experimental/tools/DummyMediaElement/utils.ts +5 -5
  3116. package/src/experimental/tools/VideoThumbnailLoader/features/dash.ts +2 -2
  3117. package/src/experimental/tools/VideoThumbnailLoader/features/metaplaylist.ts +2 -2
  3118. package/src/experimental/tools/VideoThumbnailLoader/index.ts +4 -1
  3119. package/src/experimental/tools/VideoThumbnailLoader/load_and_push_segment.ts +4 -4
  3120. package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +17 -14
  3121. package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +2 -2
  3122. package/src/experimental/tools/VideoThumbnailLoader/types.ts +7 -2
  3123. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +19 -19
  3124. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.ts +1 -1
  3125. package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +5 -5
  3126. package/src/experimental/tools/createMetaplaylist/index.ts +2 -2
  3127. package/src/experimental/tools/index.ts +3 -3
  3128. package/src/experimental/tools/mediaCapabilitiesProber/api.ts +12 -15
  3129. package/src/experimental/tools/mediaCapabilitiesProber/index.ts +2 -2
  3130. package/src/experimental/tools/mediaCapabilitiesProber/log.ts +1 -1
  3131. package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +2 -2
  3132. package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +1 -1
  3133. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +2 -2
  3134. package/src/experimental/tools/mediaCapabilitiesProber/probers/isTypeSupportedWithFeatures.ts +4 -4
  3135. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +3 -3
  3136. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +3 -3
  3137. package/src/experimental/tools/mediaCapabilitiesProber/utils.ts +6 -5
  3138. package/src/features/add_features.ts +3 -3
  3139. package/src/features/features_object.ts +1 -1
  3140. package/src/features/index.ts +3 -3
  3141. package/src/features/list/dash.ts +6 -6
  3142. package/src/features/list/dash_wasm.ts +7 -7
  3143. package/src/features/list/debug_element.ts +2 -2
  3144. package/src/features/list/directfile.ts +3 -3
  3145. package/src/features/list/eme.ts +2 -2
  3146. package/src/features/list/html_sami_parser.ts +3 -3
  3147. package/src/features/list/html_srt_parser.ts +3 -3
  3148. package/src/features/list/html_text_buffer.ts +2 -2
  3149. package/src/features/list/html_ttml_parser.ts +3 -3
  3150. package/src/features/list/html_vtt_parser.ts +3 -3
  3151. package/src/features/list/index.ts +18 -17
  3152. package/src/features/list/media_source_main.ts +4 -4
  3153. package/src/features/list/multi_thread.ts +17 -0
  3154. package/src/features/list/native_sami_parser.ts +3 -3
  3155. package/src/features/list/native_srt_parser.ts +3 -3
  3156. package/src/features/list/native_text_buffer.ts +2 -2
  3157. package/src/features/list/native_ttml_parser.ts +3 -3
  3158. package/src/features/list/native_vtt_parser.ts +3 -3
  3159. package/src/features/list/smooth.ts +5 -5
  3160. package/src/features/types.ts +19 -16
  3161. package/src/importable_worker.ts +8 -8
  3162. package/src/index.ts +4 -4
  3163. package/src/initialize_worker.ts +11 -11
  3164. package/src/log.ts +1 -1
  3165. package/src/main_thread/api/debug/buffer_graph.ts +2 -2
  3166. package/src/main_thread/api/debug/buffer_size_graph.ts +1 -1
  3167. package/src/main_thread/api/debug/index.ts +1 -1
  3168. package/src/main_thread/api/debug/modules/general_info.ts +5 -5
  3169. package/src/main_thread/api/debug/modules/segment_buffer_content.ts +10 -10
  3170. package/src/main_thread/api/debug/modules/segment_buffer_size.ts +5 -5
  3171. package/src/main_thread/api/debug/render.ts +6 -6
  3172. package/src/main_thread/api/index.ts +1 -1
  3173. package/src/main_thread/api/option_utils.ts +8 -9
  3174. package/src/main_thread/api/public_api.ts +84 -65
  3175. package/src/main_thread/api/utils.ts +12 -12
  3176. package/src/main_thread/core_interface/base.ts +2 -2
  3177. package/src/main_thread/core_interface/monothread.ts +6 -6
  3178. package/src/main_thread/core_interface/multithread.ts +3 -3
  3179. package/src/main_thread/core_interface/types.ts +3 -3
  3180. package/src/main_thread/decrypt/clear_on_stop.ts +5 -5
  3181. package/src/main_thread/decrypt/content_decryptor.ts +33 -33
  3182. package/src/main_thread/decrypt/create_or_load_session.ts +10 -12
  3183. package/src/main_thread/decrypt/create_session.ts +10 -11
  3184. package/src/main_thread/decrypt/dispose_decryption_resources.ts +2 -2
  3185. package/src/main_thread/decrypt/find_key_system.ts +19 -21
  3186. package/src/main_thread/decrypt/get_key_system_configuration.ts +2 -2
  3187. package/src/main_thread/decrypt/get_media_keys.ts +17 -15
  3188. package/src/main_thread/decrypt/index.ts +5 -5
  3189. package/src/main_thread/decrypt/init_media_keys.ts +8 -8
  3190. package/src/main_thread/decrypt/session_events_listener.ts +15 -12
  3191. package/src/main_thread/decrypt/set_server_certificate.ts +7 -5
  3192. package/src/main_thread/decrypt/types.ts +5 -5
  3193. package/src/main_thread/decrypt/utils/are_init_values_compatible.ts +2 -2
  3194. package/src/main_thread/decrypt/utils/check_key_statuses.ts +7 -7
  3195. package/src/main_thread/decrypt/utils/clean_old_loaded_sessions.ts +2 -2
  3196. package/src/main_thread/decrypt/utils/clean_old_stored_persistent_info.ts +2 -2
  3197. package/src/main_thread/decrypt/utils/get_drm_system_id.ts +4 -2
  3198. package/src/main_thread/decrypt/utils/init_data_values_container.ts +4 -4
  3199. package/src/main_thread/decrypt/utils/is_compatible_codec_supported.ts +2 -2
  3200. package/src/main_thread/decrypt/utils/is_session_usable.ts +3 -3
  3201. package/src/main_thread/decrypt/utils/key_id_comparison.ts +1 -1
  3202. package/src/main_thread/decrypt/utils/key_session_record.ts +3 -3
  3203. package/src/main_thread/decrypt/utils/loaded_sessions_store.ts +13 -8
  3204. package/src/main_thread/decrypt/utils/media_keys_attacher.ts +8 -8
  3205. package/src/main_thread/decrypt/utils/persistent_sessions_store.ts +13 -13
  3206. package/src/main_thread/decrypt/utils/serializable_bytes.ts +1 -1
  3207. package/src/main_thread/decrypt/utils/server_certificate_store.ts +2 -2
  3208. package/src/main_thread/init/directfile_content_initializer.ts +20 -20
  3209. package/src/main_thread/init/index.ts +2 -2
  3210. package/src/main_thread/init/media_source_content_initializer.ts +91 -72
  3211. package/src/main_thread/init/types.ts +11 -12
  3212. package/src/main_thread/init/utils/create_core_playback_observer.ts +13 -13
  3213. package/src/main_thread/init/utils/get_initial_time.ts +6 -6
  3214. package/src/main_thread/init/utils/get_loaded_reference.ts +8 -8
  3215. package/src/main_thread/init/utils/initial_seek_and_play.ts +11 -11
  3216. package/src/main_thread/init/utils/initialize_content_decryption.ts +13 -13
  3217. package/src/main_thread/init/utils/main_thread_text_displayer_interface.ts +3 -3
  3218. package/src/main_thread/init/utils/rebuffering_controller.ts +16 -16
  3219. package/src/main_thread/init/utils/stream_events_emitter/index.ts +2 -2
  3220. package/src/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.ts +3 -3
  3221. package/src/main_thread/init/utils/stream_events_emitter/stream_events_emitter.ts +10 -10
  3222. package/src/main_thread/init/utils/stream_events_emitter/types.ts +1 -1
  3223. package/src/main_thread/init/utils/throw_on_media_error.ts +4 -4
  3224. package/src/main_thread/init/utils/update_manifest_codec_support.ts +12 -10
  3225. package/src/main_thread/render_thumbnail.ts +9 -9
  3226. package/src/main_thread/text_displayer/html/html_parsers.ts +3 -3
  3227. package/src/main_thread/text_displayer/html/html_text_displayer.ts +15 -15
  3228. package/src/main_thread/text_displayer/html/index.ts +1 -1
  3229. package/src/main_thread/text_displayer/html/text_track_cues_store.ts +3 -3
  3230. package/src/main_thread/text_displayer/index.ts +1 -1
  3231. package/src/main_thread/text_displayer/manual_time_ranges.ts +2 -2
  3232. package/src/main_thread/text_displayer/native/index.ts +1 -1
  3233. package/src/main_thread/text_displayer/native/native_parsers.ts +4 -4
  3234. package/src/main_thread/text_displayer/native/native_text_displayer.ts +10 -10
  3235. package/src/main_thread/text_displayer/types.ts +2 -2
  3236. package/src/main_thread/tracks_store/index.ts +3 -3
  3237. package/src/main_thread/tracks_store/media_element_tracks_store.ts +11 -17
  3238. package/src/main_thread/tracks_store/track_dispatcher.ts +14 -12
  3239. package/src/main_thread/tracks_store/tracks_store.ts +14 -14
  3240. package/src/main_thread/types.ts +36 -34
  3241. package/src/main_thread/utils/media_capabilities.ts +3 -3
  3242. package/src/manifest/classes/adaptation.ts +9 -9
  3243. package/src/manifest/classes/index.ts +14 -14
  3244. package/src/manifest/classes/manifest.ts +21 -21
  3245. package/src/manifest/classes/period.ts +12 -11
  3246. package/src/manifest/classes/representation.ts +10 -10
  3247. package/src/manifest/classes/representation_index/index.ts +2 -2
  3248. package/src/manifest/classes/representation_index/static.ts +2 -2
  3249. package/src/manifest/classes/representation_index/types.ts +4 -4
  3250. package/src/manifest/classes/update_period_in_place.ts +10 -7
  3251. package/src/manifest/classes/update_periods.ts +10 -10
  3252. package/src/manifest/classes/utils.ts +5 -5
  3253. package/src/manifest/index.ts +6 -6
  3254. package/src/manifest/types.ts +5 -2
  3255. package/src/manifest/utils.ts +16 -11
  3256. package/src/minimal.ts +2 -2
  3257. package/src/mse/index.ts +2 -2
  3258. package/src/mse/main_media_source_interface.ts +26 -27
  3259. package/src/mse/types.ts +3 -3
  3260. package/src/mse/utils/end_of_stream.ts +5 -5
  3261. package/src/mse/utils/media_source_duration_updater.ts +12 -8
  3262. package/src/mse/worker_media_source_interface.ts +10 -10
  3263. package/src/parsers/containers/isobmff/create_box.ts +3 -3
  3264. package/src/parsers/containers/isobmff/drm/index.ts +1 -1
  3265. package/src/parsers/containers/isobmff/drm/playready.ts +7 -3
  3266. package/src/parsers/containers/isobmff/extract_complete_chunks.ts +2 -2
  3267. package/src/parsers/containers/isobmff/extract_pssh.ts +5 -5
  3268. package/src/parsers/containers/isobmff/find_complete_box.ts +1 -1
  3269. package/src/parsers/containers/isobmff/get_box.ts +3 -3
  3270. package/src/parsers/containers/isobmff/index.ts +9 -9
  3271. package/src/parsers/containers/isobmff/read.ts +1 -1
  3272. package/src/parsers/containers/isobmff/remove_dolby_vision_config_data.ts +3 -3
  3273. package/src/parsers/containers/isobmff/utils.ts +10 -10
  3274. package/src/parsers/containers/matroska/index.ts +2 -2
  3275. package/src/parsers/containers/matroska/utils.ts +1 -1
  3276. package/src/parsers/images/bif.ts +2 -2
  3277. package/src/parsers/manifest/dash/common/attach_trickmode_track.ts +2 -2
  3278. package/src/parsers/manifest/dash/common/content_protection_parser.ts +15 -14
  3279. package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +1 -1
  3280. package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +2 -2
  3281. package/src/parsers/manifest/dash/common/get_clock_offset.ts +2 -2
  3282. package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +14 -10
  3283. package/src/parsers/manifest/dash/common/get_minimum_and_maximum_positions.ts +3 -3
  3284. package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +2 -2
  3285. package/src/parsers/manifest/dash/common/index.ts +3 -3
  3286. package/src/parsers/manifest/dash/common/indexes/base.ts +29 -27
  3287. package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +34 -11
  3288. package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +6 -6
  3289. package/src/parsers/manifest/dash/common/indexes/index.ts +8 -8
  3290. package/src/parsers/manifest/dash/common/indexes/list.ts +34 -27
  3291. package/src/parsers/manifest/dash/common/indexes/template.ts +28 -27
  3292. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +5 -5
  3293. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.ts +8 -8
  3294. package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +3 -3
  3295. package/src/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.ts +3 -3
  3296. package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +2 -2
  3297. package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +3 -3
  3298. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +41 -40
  3299. package/src/parsers/manifest/dash/common/indexes/tokens.ts +1 -1
  3300. package/src/parsers/manifest/dash/common/indexes/utils.ts +1 -1
  3301. package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +26 -31
  3302. package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +1 -1
  3303. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +68 -62
  3304. package/src/parsers/manifest/dash/common/parse_availability_start_time.ts +2 -2
  3305. package/src/parsers/manifest/dash/common/parse_mpd.ts +39 -39
  3306. package/src/parsers/manifest/dash/common/parse_periods.ts +23 -22
  3307. package/src/parsers/manifest/dash/common/parse_representation_index.ts +132 -44
  3308. package/src/parsers/manifest/dash/common/parse_representations.ts +40 -40
  3309. package/src/parsers/manifest/dash/common/resolve_base_urls.ts +2 -2
  3310. package/src/parsers/manifest/dash/index.ts +1 -1
  3311. package/src/parsers/manifest/dash/js-parser/index.ts +1 -1
  3312. package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +64 -98
  3313. package/src/parsers/manifest/dash/js-parser/node_parsers/BaseURL.ts +3 -3
  3314. package/src/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.ts +11 -9
  3315. package/src/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.ts +10 -10
  3316. package/src/parsers/manifest/dash/js-parser/node_parsers/EventStream.ts +7 -8
  3317. package/src/parsers/manifest/dash/js-parser/node_parsers/Initialization.ts +11 -10
  3318. package/src/parsers/manifest/dash/js-parser/node_parsers/MPD.ts +31 -43
  3319. package/src/parsers/manifest/dash/js-parser/node_parsers/Period.ts +28 -38
  3320. package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +38 -59
  3321. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.ts +23 -28
  3322. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentList.ts +10 -7
  3323. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.ts +20 -24
  3324. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.ts +2 -2
  3325. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.ts +10 -12
  3326. package/src/parsers/manifest/dash/js-parser/node_parsers/utils.ts +17 -18
  3327. package/src/parsers/manifest/dash/js-parser/parse_from_xml_string.ts +33 -19
  3328. package/src/parsers/manifest/dash/node_parser_types.ts +95 -62
  3329. package/src/parsers/manifest/dash/parsers_types.ts +4 -6
  3330. package/src/parsers/manifest/dash/wasm-parser/Cargo.lock +2 -20
  3331. package/src/parsers/manifest/dash/wasm-parser/Cargo.toml +3 -6
  3332. package/src/parsers/manifest/dash/wasm-parser/README.md +12 -10
  3333. package/src/parsers/manifest/dash/wasm-parser/index.ts +2 -2
  3334. package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +25 -25
  3335. package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +17 -14
  3336. package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +62 -162
  3337. package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +206 -224
  3338. package/src/parsers/manifest/dash/wasm-parser/rs/processor/s_element.rs +8 -11
  3339. package/src/parsers/manifest/dash/wasm-parser/rs/reader.rs +1 -1
  3340. package/src/parsers/manifest/dash/wasm-parser/rs/reportable.rs +8 -47
  3341. package/src/parsers/manifest/dash/wasm-parser/rs/utils.rs +1 -1
  3342. package/src/parsers/manifest/dash/wasm-parser/rs/xml.rs +796 -0
  3343. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +27 -20
  3344. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +120 -137
  3345. package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +5 -6
  3346. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.ts +8 -9
  3347. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +14 -15
  3348. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +27 -19
  3349. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Initialization.ts +26 -0
  3350. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Label.ts +7 -6
  3351. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +52 -49
  3352. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +53 -46
  3353. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +73 -86
  3354. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.ts +7 -8
  3355. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.ts +40 -47
  3356. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +20 -11
  3357. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.ts +50 -34
  3358. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.ts +8 -9
  3359. package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +13 -7
  3360. package/src/parsers/manifest/dash/wasm-parser/ts/generators/index.ts +1 -1
  3361. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +10 -9
  3362. package/src/parsers/manifest/dash/wasm-parser/ts/parsers_stack.ts +7 -2
  3363. package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +3 -0
  3364. package/src/parsers/manifest/dash/wasm-parser/ts/utils.ts +18 -8
  3365. package/src/parsers/manifest/index.ts +1 -1
  3366. package/src/parsers/manifest/local/index.ts +2 -2
  3367. package/src/parsers/manifest/local/parse_local_manifest.ts +5 -5
  3368. package/src/parsers/manifest/local/representation_index.ts +3 -3
  3369. package/src/parsers/manifest/metaplaylist/index.ts +2 -2
  3370. package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +11 -11
  3371. package/src/parsers/manifest/metaplaylist/representation_index.ts +5 -5
  3372. package/src/parsers/manifest/smooth/create_parser.ts +24 -24
  3373. package/src/parsers/manifest/smooth/get_codecs.ts +1 -1
  3374. package/src/parsers/manifest/smooth/index.ts +3 -3
  3375. package/src/parsers/manifest/smooth/parse_C_nodes.ts +2 -2
  3376. package/src/parsers/manifest/smooth/parse_protection_node.ts +5 -5
  3377. package/src/parsers/manifest/smooth/representation_index.ts +10 -10
  3378. package/src/parsers/manifest/smooth/shared_smooth_segment_timeline.ts +7 -7
  3379. package/src/parsers/manifest/smooth/utils/add_segment_infos.ts +1 -1
  3380. package/src/parsers/manifest/smooth/utils/reduceChildren.ts +1 -1
  3381. package/src/parsers/manifest/types.ts +2 -2
  3382. package/src/parsers/manifest/utils/check_manifest_ids.ts +3 -3
  3383. package/src/parsers/manifest/utils/clear_timeline_from_position.ts +1 -1
  3384. package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +1 -1
  3385. package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +1 -1
  3386. package/src/parsers/manifest/utils/get_maximum_positions.ts +3 -3
  3387. package/src/parsers/manifest/utils/get_minimum_position.ts +3 -3
  3388. package/src/parsers/manifest/utils/index_helpers.ts +1 -1
  3389. package/src/parsers/manifest/utils/update_segment_timeline.ts +4 -4
  3390. package/src/parsers/texttracks/index.ts +1 -1
  3391. package/src/parsers/texttracks/sami/html.ts +5 -5
  3392. package/src/parsers/texttracks/sami/native.ts +6 -6
  3393. package/src/parsers/texttracks/srt/find_end_of_cue_block.ts +1 -1
  3394. package/src/parsers/texttracks/srt/get_cue_blocks.ts +2 -2
  3395. package/src/parsers/texttracks/srt/html.ts +4 -4
  3396. package/src/parsers/texttracks/srt/native.ts +6 -6
  3397. package/src/parsers/texttracks/srt/parse_cue.ts +2 -2
  3398. package/src/parsers/texttracks/srt/parse_timestamp.ts +1 -1
  3399. package/src/parsers/texttracks/ttml/get_parameters.ts +2 -2
  3400. package/src/parsers/texttracks/ttml/get_styling.ts +4 -4
  3401. package/src/parsers/texttracks/ttml/get_time_delimiters.ts +4 -4
  3402. package/src/parsers/texttracks/ttml/html/apply_extent.ts +3 -3
  3403. package/src/parsers/texttracks/ttml/html/apply_font_size.ts +3 -3
  3404. package/src/parsers/texttracks/ttml/html/apply_line_height.ts +3 -3
  3405. package/src/parsers/texttracks/ttml/html/apply_origin.ts +3 -3
  3406. package/src/parsers/texttracks/ttml/html/apply_padding.ts +3 -3
  3407. package/src/parsers/texttracks/ttml/html/create_element.ts +13 -13
  3408. package/src/parsers/texttracks/ttml/html/generate_css_test_outline.ts +1 -1
  3409. package/src/parsers/texttracks/ttml/html/index.ts +1 -1
  3410. package/src/parsers/texttracks/ttml/html/parse_cue.ts +3 -3
  3411. package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +6 -6
  3412. package/src/parsers/texttracks/ttml/html/ttml_color_to_css_color.ts +2 -2
  3413. package/src/parsers/texttracks/ttml/native/index.ts +1 -1
  3414. package/src/parsers/texttracks/ttml/native/parse_cue.ts +10 -10
  3415. package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +5 -5
  3416. package/src/parsers/texttracks/ttml/parse_ttml.ts +9 -9
  3417. package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +5 -5
  3418. package/src/parsers/texttracks/ttml/time_parsing.ts +2 -2
  3419. package/src/parsers/texttracks/ttml/xml_utils.ts +1 -1
  3420. package/src/parsers/texttracks/types.ts +1 -1
  3421. package/src/parsers/texttracks/webvtt/create_default_style_elements.ts +1 -1
  3422. package/src/parsers/texttracks/webvtt/get_cue_blocks.ts +2 -2
  3423. package/src/parsers/texttracks/webvtt/get_style_blocks.ts +2 -2
  3424. package/src/parsers/texttracks/webvtt/html/convert_payload_to_html.ts +2 -2
  3425. package/src/parsers/texttracks/webvtt/html/create_style_attribute.ts +1 -1
  3426. package/src/parsers/texttracks/webvtt/html/create_styled_element.ts +3 -3
  3427. package/src/parsers/texttracks/webvtt/html/index.ts +3 -3
  3428. package/src/parsers/texttracks/webvtt/html/parse_webvtt_mp4.ts +5 -5
  3429. package/src/parsers/texttracks/webvtt/html/parse_webvtt_plain_text.ts +9 -9
  3430. package/src/parsers/texttracks/webvtt/html/to_html.ts +4 -4
  3431. package/src/parsers/texttracks/webvtt/native/index.ts +2 -2
  3432. package/src/parsers/texttracks/webvtt/native/parse_vtt_plain_text_to_cues.ts +11 -11
  3433. package/src/parsers/texttracks/webvtt/native/parse_webvtt_mp4_to_cues.ts +5 -5
  3434. package/src/parsers/texttracks/webvtt/native/set_settings_on_cue.ts +3 -3
  3435. package/src/parsers/texttracks/webvtt/native/to_native_cue.ts +3 -3
  3436. package/src/parsers/texttracks/webvtt/parse_cue_block.ts +1 -1
  3437. package/src/parsers/texttracks/webvtt/parse_mp4_embedded_wvtt.ts +7 -7
  3438. package/src/parsers/texttracks/webvtt/parse_style_block.ts +2 -2
  3439. package/src/parsers/texttracks/webvtt/parse_timestamp.ts +1 -1
  3440. package/src/parsers/texttracks/webvtt/utils.ts +1 -1
  3441. package/src/playback_observer/core_playback_observer.ts +9 -9
  3442. package/src/playback_observer/index.ts +4 -4
  3443. package/src/playback_observer/media_element_playback_observer.ts +17 -17
  3444. package/src/playback_observer/types.ts +3 -3
  3445. package/src/playback_observer/utils/generate_read_only_observer.ts +3 -3
  3446. package/src/public_types.ts +13 -14
  3447. package/src/tools/TextTrackRenderer/index.ts +6 -6
  3448. package/src/tools/TextTrackRenderer/text_track_renderer.ts +4 -4
  3449. package/src/tools/index.ts +3 -3
  3450. package/src/tools/parseBIFThumbnails/index.ts +1 -1
  3451. package/src/tools/string_utils/index.ts +1 -1
  3452. package/src/transports/dash/construct_segment_url.ts +3 -3
  3453. package/src/transports/dash/get_events_out_of_emsgs.ts +3 -3
  3454. package/src/transports/dash/index.ts +1 -1
  3455. package/src/transports/dash/init_segment_loader.ts +7 -7
  3456. package/src/transports/dash/integrity_checks.ts +8 -8
  3457. package/src/transports/dash/load_chunked_segment_data.ts +6 -6
  3458. package/src/transports/dash/manifest_parser.ts +14 -15
  3459. package/src/transports/dash/pipelines.ts +10 -10
  3460. package/src/transports/dash/segment_loader.ts +17 -14
  3461. package/src/transports/dash/segment_parser.ts +14 -11
  3462. package/src/transports/dash/text_loader.ts +12 -12
  3463. package/src/transports/dash/text_parser.ts +9 -6
  3464. package/src/transports/dash/thumbnails.ts +8 -8
  3465. package/src/transports/index.ts +1 -1
  3466. package/src/transports/local/index.ts +1 -1
  3467. package/src/transports/local/pipelines.ts +11 -11
  3468. package/src/transports/local/segment_loader.ts +8 -10
  3469. package/src/transports/local/segment_parser.ts +6 -6
  3470. package/src/transports/local/text_parser.ts +6 -6
  3471. package/src/transports/metaplaylist/index.ts +1 -1
  3472. package/src/transports/metaplaylist/pipelines.ts +19 -15
  3473. package/src/transports/smooth/extract_timings_infos.ts +6 -6
  3474. package/src/transports/smooth/index.ts +1 -1
  3475. package/src/transports/smooth/isobmff/create_audio_init_segment.ts +4 -4
  3476. package/src/transports/smooth/isobmff/create_boxes.ts +3 -3
  3477. package/src/transports/smooth/isobmff/create_init_segment.ts +6 -3
  3478. package/src/transports/smooth/isobmff/create_traf_box.ts +5 -2
  3479. package/src/transports/smooth/isobmff/create_video_init_segment.ts +4 -4
  3480. package/src/transports/smooth/isobmff/get_aaces_header.ts +2 -2
  3481. package/src/transports/smooth/isobmff/index.ts +6 -6
  3482. package/src/transports/smooth/isobmff/parse_tfrf.ts +2 -2
  3483. package/src/transports/smooth/isobmff/parse_tfxd.ts +2 -2
  3484. package/src/transports/smooth/isobmff/patch_segment.ts +5 -5
  3485. package/src/transports/smooth/pipelines.ts +19 -19
  3486. package/src/transports/smooth/segment_loader.ts +14 -11
  3487. package/src/transports/smooth/utils.ts +3 -3
  3488. package/src/transports/types.ts +9 -13
  3489. package/src/transports/utils/call_custom_manifest_loader.ts +8 -5
  3490. package/src/transports/utils/check_isobmff_integrity.ts +2 -2
  3491. package/src/transports/utils/generate_manifest_loader.ts +7 -7
  3492. package/src/transports/utils/get_isobmff_timing_infos.ts +4 -4
  3493. package/src/transports/utils/infer_segment_container.ts +1 -1
  3494. package/src/transports/utils/parse_text_track.ts +6 -6
  3495. package/src/utils/are_codecs_compatible.ts +2 -2
  3496. package/src/utils/assert.ts +1 -1
  3497. package/src/utils/base64.ts +20 -6
  3498. package/src/utils/cancellable_sleep.ts +2 -2
  3499. package/src/utils/create_cancellable_promise.ts +1 -1
  3500. package/src/utils/create_uuid.ts +2 -2
  3501. package/src/utils/deep_merge.ts +1 -1
  3502. package/src/utils/event_emitter.ts +3 -3
  3503. package/src/utils/get_last_item_from_array.ts +9 -0
  3504. package/src/utils/global_scope.ts +2 -2
  3505. package/src/utils/is_node.ts +1 -1
  3506. package/src/utils/languages/index.ts +5 -2
  3507. package/src/utils/languages/normalize.ts +4 -4
  3508. package/src/utils/logger.ts +4 -6
  3509. package/src/utils/monotonic_timestamp.ts +1 -1
  3510. package/src/utils/object_assign.ts +3 -4
  3511. package/src/utils/object_entries.ts +12 -0
  3512. package/src/utils/reference.ts +3 -3
  3513. package/src/utils/request/fetch.ts +8 -6
  3514. package/src/utils/request/index.ts +6 -6
  3515. package/src/utils/request/request_error.ts +26 -6
  3516. package/src/utils/request/xhr.ts +15 -7
  3517. package/src/utils/retry_promise_with_backoff.ts +4 -4
  3518. package/src/utils/sorted_list.ts +2 -2
  3519. package/src/utils/string_parsing.ts +3 -3
  3520. package/src/utils/sync_or_async.ts +1 -1
  3521. package/src/utils/task_canceller.ts +3 -3
  3522. package/src/utils/url-utils.ts +2 -2
  3523. package/src/utils/warn_once.ts +1 -1
  3524. package/src/utils/xml-parser.ts +2 -2
  3525. package/src/worker_entry_point.ts +1 -1
  3526. package/vitest.config.parsers.mjs +20 -0
  3527. package/vitest.config.unit.mjs +1 -1
  3528. package/dist/commonjs/transports/metaplaylist/manifest_loader.d.ts +0 -27
  3529. package/dist/commonjs/transports/metaplaylist/manifest_loader.d.ts.map +0 -1
  3530. package/dist/commonjs/transports/metaplaylist/manifest_loader.js +0 -57
  3531. package/dist/commonjs/utils/test-utils.d.ts +0 -30
  3532. package/dist/commonjs/utils/test-utils.d.ts.map +0 -1
  3533. package/dist/commonjs/utils/test-utils.js +0 -79
  3534. package/dist/es2017/transports/metaplaylist/manifest_loader.d.ts +0 -27
  3535. package/dist/es2017/transports/metaplaylist/manifest_loader.d.ts.map +0 -1
  3536. package/dist/es2017/transports/metaplaylist/manifest_loader.js +0 -53
  3537. package/dist/es2017/utils/test-utils.d.ts +0 -30
  3538. package/dist/es2017/utils/test-utils.d.ts.map +0 -1
  3539. package/dist/es2017/utils/test-utils.js +0 -36
  3540. package/src/compat/__tests__/add_text_track.test.ts +0 -157
  3541. package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -137
  3542. package/src/compat/__tests__/browser_version.test.ts +0 -98
  3543. package/src/compat/__tests__/can_patch_isobmff.test.ts +0 -30
  3544. package/src/compat/__tests__/can_patch_out_pssh.test.ts +0 -40
  3545. package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +0 -44
  3546. package/src/compat/__tests__/can_reuse_media_keys.test.ts +0 -48
  3547. package/src/compat/__tests__/change_source_buffer_type.test.ts +0 -41
  3548. package/src/compat/__tests__/clear_element_src.test.ts +0 -223
  3549. package/src/compat/__tests__/enable_audio_track.test.ts +0 -331
  3550. package/src/compat/__tests__/generate_init_data.test.ts +0 -20
  3551. package/src/compat/__tests__/is_codec_supported.test.ts +0 -65
  3552. package/src/compat/__tests__/is_seeking_approximate.test.ts +0 -22
  3553. package/src/compat/__tests__/is_vtt_cue.test.ts +0 -49
  3554. package/src/compat/__tests__/make_vtt_cue.test.ts +0 -71
  3555. package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +0 -109
  3556. package/src/compat/__tests__/remove_cue.test.ts +0 -194
  3557. package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +0 -62
  3558. package/src/compat/__tests__/should_patch_out_dolby_vision_config_data_from_mp4.test.ts +0 -78
  3559. package/src/compat/__tests__/should_reload_media_source_on_decipherability_update.test.ts +0 -38
  3560. package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +0 -50
  3561. package/src/compat/__tests__/should_unset_media_keys.test.ts +0 -25
  3562. package/src/compat/__tests__/should_validate_metadata.test.ts +0 -22
  3563. package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +0 -42
  3564. package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +0 -22
  3565. package/src/core/adaptive/__tests__/adaptive_representation_selector.test.ts +0 -845
  3566. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +0 -477
  3567. package/src/core/adaptive/__tests__/guess_based_chooser.test.ts +0 -899
  3568. package/src/core/adaptive/__tests__/mocks.ts +0 -100
  3569. package/src/core/adaptive/__tests__/network_analyzer.test.ts +0 -607
  3570. package/src/core/adaptive/utils/__tests__/bandwidth_estimator.test.ts +0 -117
  3571. package/src/core/adaptive/utils/__tests__/ewma.test.ts +0 -64
  3572. package/src/core/adaptive/utils/__tests__/filter_by_bitrate.test.ts +0 -33
  3573. package/src/core/adaptive/utils/__tests__/filter_by_resolution.test.ts +0 -83
  3574. package/src/core/adaptive/utils/__tests__/get_buffer_levels.test.ts +0 -35
  3575. package/src/core/adaptive/utils/__tests__/last_estimate_storage.test.ts +0 -89
  3576. package/src/core/adaptive/utils/__tests__/pending_requests_store.test.ts +0 -292
  3577. package/src/core/adaptive/utils/__tests__/representation_score_calculator.test.ts +0 -249
  3578. package/src/core/adaptive/utils/__tests__/select_optimal_representation.test.ts +0 -38
  3579. package/src/core/cmcd/__tests__/cmcd_data_builder.test.ts +0 -509
  3580. package/src/core/entry/__tests__/FreezeResolver.test.ts +0 -542
  3581. package/src/core/entry/__tests__/content_time_boundaries_observer.test.ts +0 -886
  3582. package/src/core/entry/__tests__/core_text_displayer_interface.test.ts +0 -225
  3583. package/src/core/entry/__tests__/get_buffered_data_per_media_buffer.test.ts +0 -95
  3584. package/src/core/entry/__tests__/track_choice_setter.test.ts +0 -288
  3585. package/src/core/entry/__tests__/utils.test.ts +0 -315
  3586. package/src/core/fetchers/__tests__/cdn_prioritizer.test.ts +0 -166
  3587. package/src/core/fetchers/manifest/__tests__/manifest_fetcher.test.ts +0 -852
  3588. package/src/core/fetchers/segment/__tests__/initialization_segment_cache.test.ts +0 -301
  3589. package/src/core/fetchers/segment/__tests__/segment_fetcher.test.ts +0 -872
  3590. package/src/core/fetchers/segment/__tests__/segment_queue.test.ts +0 -557
  3591. package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +0 -936
  3592. package/src/core/fetchers/thumbnails/__tests__/thumbnail_fetcher.test.ts +0 -505
  3593. package/src/core/fetchers/utils/__tests__/schedule_request.test.ts +0 -331
  3594. package/src/core/segment_sinks/__tests__/garbage_collector.test.ts +0 -434
  3595. package/src/core/segment_sinks/__tests__/mocks.ts +0 -49
  3596. package/src/core/segment_sinks/implementations/text/__tests__/text_segment_sink.test.ts +0 -177
  3597. package/src/core/segment_sinks/inventory/__tests__/buffered_history.test.ts +0 -215
  3598. package/src/core/segment_sinks/inventory/__tests__/segment_inventory.test.ts +0 -448
  3599. package/src/core/stream/adaptation/__tests__/adaptation_stream.test.ts +0 -973
  3600. package/src/core/stream/adaptation/__tests__/get_representations_switch_strategy.test.ts +0 -502
  3601. package/src/core/stream/orchestrator/__tests__/stream_orchestrator.test.ts +0 -707
  3602. package/src/core/stream/period/utils/__tests__/get_adaptation_switch_strategy.test.ts +0 -716
  3603. package/src/core/stream/representation/__tests__/encryption_data_notifier.test.ts +0 -561
  3604. package/src/core/stream/representation/utils/__tests__/append_segment_to_buffer.test.ts +0 -364
  3605. package/src/core/stream/representation/utils/__tests__/check_for_discontinuity.test.ts +0 -488
  3606. package/src/core/stream/representation/utils/__tests__/get_segment_priority.test.ts +0 -132
  3607. package/src/core/stream/representation/utils/__tests__/push_init_segment.test.ts +0 -252
  3608. package/src/core/stream/representation/utils/__tests__/push_media_segment.test.ts +0 -409
  3609. package/src/errors/__tests__/encrypted_media_error.test.ts +0 -43
  3610. package/src/errors/__tests__/error_message.test.ts +0 -8
  3611. package/src/errors/__tests__/format_error.test.ts +0 -53
  3612. package/src/errors/__tests__/is_known_error.test.ts +0 -47
  3613. package/src/errors/__tests__/media_error.test.ts +0 -142
  3614. package/src/errors/__tests__/network_error.test.ts +0 -53
  3615. package/src/errors/__tests__/other_error.test.ts +0 -38
  3616. package/src/experimental/features/__tests__/index.test.ts +0 -11
  3617. package/src/experimental/features/__tests__/local.test.ts +0 -27
  3618. package/src/experimental/features/__tests__/metaplaylist.test.ts +0 -27
  3619. package/src/experimental/features/__tests__/multi_thread.test.ts +0 -22
  3620. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +0 -106
  3621. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/utils.test.ts +0 -243
  3622. package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/HDCPPolicy.test.ts +0 -118
  3623. package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/decodingInfo.test.ts +0 -313
  3624. package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/defaultCodecsFinder.test.ts +0 -115
  3625. package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/mediaContentType.test.ts +0 -186
  3626. package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/mediaDisplayInfos.test.ts +0 -108
  3627. package/src/features/__tests__/add_features.test.ts +0 -43
  3628. package/src/features/list/__tests__/dash.test.ts +0 -33
  3629. package/src/features/list/__tests__/dash_wasm.test.ts +0 -31
  3630. package/src/features/list/__tests__/debug_element.test.ts +0 -13
  3631. package/src/features/list/__tests__/directfile.test.ts +0 -19
  3632. package/src/features/list/__tests__/eme.test.ts +0 -13
  3633. package/src/features/list/__tests__/html_sami_parser.test.ts +0 -20
  3634. package/src/features/list/__tests__/html_srt_parser.test.ts +0 -19
  3635. package/src/features/list/__tests__/html_text_buffer.test.ts +0 -13
  3636. package/src/features/list/__tests__/html_ttml_parser.test.ts +0 -19
  3637. package/src/features/list/__tests__/html_vtt_parser.test.ts +0 -23
  3638. package/src/features/list/__tests__/index.test.ts +0 -56
  3639. package/src/features/list/__tests__/native_sami_parser.test.ts +0 -20
  3640. package/src/features/list/__tests__/native_srt_parser.test.ts +0 -19
  3641. package/src/features/list/__tests__/native_text_buffer.test.ts +0 -13
  3642. package/src/features/list/__tests__/native_ttml_parser.test.ts +0 -19
  3643. package/src/features/list/__tests__/native_vtt_parser.test.ts +0 -28
  3644. package/src/features/list/__tests__/smooth.test.ts +0 -27
  3645. package/src/main_thread/__tests__/render_thumbnail.test.ts +0 -193
  3646. package/src/main_thread/api/__tests__/option_utils.test.ts +0 -1268
  3647. package/src/main_thread/api/__tests__/public_api.test.ts +0 -603
  3648. package/src/main_thread/api/__tests__/utils.test.ts +0 -273
  3649. package/src/main_thread/decrypt/__tests__/__global__/content_decryptor.test.ts +0 -180
  3650. package/src/main_thread/decrypt/__tests__/__global__/find_key_system.test.ts +0 -94
  3651. package/src/main_thread/decrypt/__tests__/__global__/get_license.test.ts +0 -586
  3652. package/src/main_thread/decrypt/__tests__/__global__/init_data.test.ts +0 -771
  3653. package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +0 -1255
  3654. package/src/main_thread/decrypt/__tests__/__global__/media_keys.test.ts +0 -398
  3655. package/src/main_thread/decrypt/__tests__/__global__/server_certificate.test.ts +0 -338
  3656. package/src/main_thread/decrypt/__tests__/__global__/utils.ts +0 -470
  3657. package/src/main_thread/decrypt/__tests__/find_key_system.test.ts +0 -366
  3658. package/src/main_thread/decrypt/utils/__tests__/are_init_values_compatible.test.ts +0 -162
  3659. package/src/main_thread/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -147
  3660. package/src/main_thread/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +0 -124
  3661. package/src/main_thread/decrypt/utils/__tests__/is_compatible_codec_supported.test.ts +0 -38
  3662. package/src/main_thread/init/utils/__tests__/are_same_stream_events.test.ts +0 -35
  3663. package/src/main_thread/init/utils/__tests__/refresh_scheduled_events_list.test.ts +0 -120
  3664. package/src/main_thread/init/utils/__tests__/stream_events_emitter.test.ts +0 -175
  3665. package/src/main_thread/init/utils/__tests__/update_manifest_codec_support.test.ts +0 -373
  3666. package/src/main_thread/text_displayer/html/__tests__/text_track_cues_store.test.ts +0 -325
  3667. package/src/main_thread/text_displayer/html/__tests__/utils.test.ts +0 -377
  3668. package/src/main_thread/tracks_store/__tests__/media_element_tracks_store.test.ts +0 -203
  3669. package/src/main_thread/tracks_store/__tests__/tracks_store.test.ts +0 -91
  3670. package/src/manifest/classes/__tests__/adaptation.test.ts +0 -473
  3671. package/src/manifest/classes/__tests__/manifest.test.ts +0 -507
  3672. package/src/manifest/classes/__tests__/mocks.ts +0 -202
  3673. package/src/manifest/classes/__tests__/period.test.ts +0 -950
  3674. package/src/manifest/classes/__tests__/representation.test.ts +0 -553
  3675. package/src/manifest/classes/__tests__/update_period_in_place.test.ts +0 -1716
  3676. package/src/manifest/classes/__tests__/update_periods.test.ts +0 -866
  3677. package/src/manifest/classes/representation_index/__tests__/static.test.ts +0 -64
  3678. package/src/mse/__tests__/main_media_source_interface.test.ts +0 -848
  3679. package/src/mse/__tests__/worker_media_source_interface.test.ts +0 -608
  3680. package/src/parsers/containers/isobmff/__tests__/extract_pssh.test.ts +0 -199
  3681. package/src/parsers/containers/isobmff/__tests__/find_complete_box.test.ts +0 -42
  3682. package/src/parsers/containers/isobmff/__tests__/get_box.test.ts +0 -449
  3683. package/src/parsers/containers/isobmff/__tests__/remove_dolby_vision_config_data.test.ts +0 -282
  3684. package/src/parsers/manifest/dash/common/__tests__/attach_trickmode_track.test.ts +0 -48
  3685. package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +0 -34
  3686. package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +0 -158
  3687. package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +0 -42
  3688. package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +0 -146
  3689. package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -89
  3690. package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +0 -277
  3691. package/src/parsers/manifest/dash/common/__tests__/parse_availability_start_time.test.ts +0 -65
  3692. package/src/parsers/manifest/dash/common/indexes/__tests__/tokens.test.ts +0 -48
  3693. package/src/parsers/manifest/dash/common/indexes/timeline/__tests__/parse_s_element.test.ts +0 -90
  3694. package/src/parsers/manifest/dash/js-parser/__tests__/parse_from_xml_string.test.ts +0 -25
  3695. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/AdaptationSet.test.ts +0 -600
  3696. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentComponent.test.ts +0 -48
  3697. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentProtection.test.ts +0 -157
  3698. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/Initialization.test.ts +0 -82
  3699. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentURL.test.ts +0 -121
  3700. package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/utils.test.ts +0 -188
  3701. package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +0 -227
  3702. package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +0 -227
  3703. package/src/parsers/manifest/utils/__tests__/index_helpers.test.ts +0 -25
  3704. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +0 -611
  3705. package/src/parsers/texttracks/srt/__tests__/find_end_of_cue_block.test.ts +0 -84
  3706. package/src/parsers/texttracks/srt/__tests__/get_cue_blocks.test.ts +0 -88
  3707. package/src/parsers/texttracks/srt/__tests__/parse_cue.test.ts +0 -87
  3708. package/src/parsers/texttracks/srt/__tests__/parse_timestamp.test.ts +0 -21
  3709. package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +0 -249
  3710. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.ts +0 -186
  3711. package/src/parsers/texttracks/ttml/html/__tests__/generate_css_test_outline.test.ts +0 -19
  3712. package/src/parsers/texttracks/ttml/html/__tests__/ttml_color_to_css_color.test.ts +0 -38
  3713. package/src/parsers/texttracks/webvtt/__tests__/create_default_style_elements.test.ts +0 -27
  3714. package/src/parsers/texttracks/webvtt/__tests__/get_cue_blocks.test.ts +0 -165
  3715. package/src/parsers/texttracks/webvtt/__tests__/get_style_blocks.test.ts +0 -45
  3716. package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +0 -190
  3717. package/src/parsers/texttracks/webvtt/__tests__/parse_style_block.test.ts +0 -207
  3718. package/src/parsers/texttracks/webvtt/__tests__/parse_timestamp.test.ts +0 -24
  3719. package/src/parsers/texttracks/webvtt/__tests__/utils.test.ts +0 -374
  3720. package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +0 -79
  3721. package/src/parsers/texttracks/webvtt/html/__tests__/create_style_attribute.test.ts +0 -140
  3722. package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +0 -104
  3723. package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +0 -146
  3724. package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +0 -205
  3725. package/src/playback_observer/__tests__/mocks.ts +0 -152
  3726. package/src/transports/metaplaylist/manifest_loader.ts +0 -74
  3727. package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +0 -348
  3728. package/src/transports/utils/__tests__/add_query_string.test.ts +0 -108
  3729. package/src/transports/utils/__tests__/byte_range.test.ts +0 -36
  3730. package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +0 -111
  3731. package/src/transports/utils/__tests__/infer_segment_container.test.ts +0 -66
  3732. package/src/utils/__tests__/are_arrays_of_numbers_equal.test.ts +0 -69
  3733. package/src/utils/__tests__/are_codecs_compatible.test.ts +0 -79
  3734. package/src/utils/__tests__/array_find.test.ts +0 -110
  3735. package/src/utils/__tests__/array_find_index.test.ts +0 -109
  3736. package/src/utils/__tests__/array_includes.test.ts +0 -115
  3737. package/src/utils/__tests__/assert.test.ts +0 -238
  3738. package/src/utils/__tests__/base64.test.ts +0 -181
  3739. package/src/utils/__tests__/byte_parsing.test.ts +0 -219
  3740. package/src/utils/__tests__/deep_merge.test.ts +0 -48
  3741. package/src/utils/__tests__/event_emitter.test.ts +0 -712
  3742. package/src/utils/__tests__/flat_map.test.ts +0 -43
  3743. package/src/utils/__tests__/get_fuzzed_delay.test.ts +0 -17
  3744. package/src/utils/__tests__/hash_buffer.test.ts +0 -28
  3745. package/src/utils/__tests__/id_generator.test.ts +0 -66
  3746. package/src/utils/__tests__/is_non_empty_string.test.ts +0 -28
  3747. package/src/utils/__tests__/is_null_or_undefined.test.ts +0 -18
  3748. package/src/utils/__tests__/logger.test.ts +0 -342
  3749. package/src/utils/__tests__/noop.test.ts +0 -8
  3750. package/src/utils/__tests__/object_assign.test.ts +0 -59
  3751. package/src/utils/__tests__/object_values.test.ts +0 -11
  3752. package/src/utils/__tests__/ranges.test.ts +0 -1150
  3753. package/src/utils/__tests__/retry_promise_with_backoff.test.ts +0 -40
  3754. package/src/utils/__tests__/sorted_list.test.ts +0 -302
  3755. package/src/utils/__tests__/starts_with.test.ts +0 -49
  3756. package/src/utils/__tests__/string_parsing.test.ts +0 -273
  3757. package/src/utils/__tests__/url-utils.test.ts +0 -304
  3758. package/src/utils/__tests__/warn_once.test.ts +0 -23
  3759. package/src/utils/__tests__/weak_map_memory.test.ts +0 -169
  3760. package/src/utils/__tests__/xml-parser.test.ts +0 -441
  3761. package/src/utils/languages/__tests__/normalize.test.ts +0 -326
  3762. package/src/utils/request/__tests__/request_error.test.ts +0 -30
  3763. package/src/utils/test-utils.ts +0 -50
@@ -1,3 +1,3 @@
1
- const blob = new Blob(["(function(){" + "\"use strict\";(()=>{var kd=Object.defineProperty,Md=Object.defineProperties;var Od=Object.getOwnPropertyDescriptors;var io=Object.getOwnPropertySymbols;var wd=Object.prototype.hasOwnProperty,Dd=Object.prototype.propertyIsEnumerable;var ao=(n,e,t)=>e in n?kd(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,J=(n,e)=>{for(var t in e||(e={}))wd.call(e,t)&&ao(n,t,e[t]);if(io)for(var t of io(e))Dd.call(e,t)&&ao(n,t,e[t]);return n},de=(n,e)=>Md(n,Od(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var oo={DEFAULT_REQUEST_TIMEOUT:3e4,DEFAULT_CONNECTION_TIMEOUT:15e3,DEFAULT_TEXT_TRACK_MODE:\"native\",DEFAULT_ENABLE_FAST_SWITCHING:!0,DELTA_POSITION_AFTER_RELOAD:{bitrateSwitch:-.1,trackSwitch:{audio:0,video:0,other:0}},DEFAULT_CODEC_SWITCHING_BEHAVIOR:\"continue\",DEFAULT_AUDIO_TRACKS_NOT_PLAYABLE_BEHAVIOR:\"error\",DEFAULT_VIDEO_TRACKS_NOT_PLAYABLE_BEHAVIOR:\"error\",DEFAULT_AUTO_PLAY:!1,DEFAULT_WANTED_BUFFER_AHEAD:30,DEFAULT_MAX_BUFFER_AHEAD:1/0,DEFAULT_MAX_BUFFER_BEHIND:1/0,DEFAULT_MAX_VIDEO_BUFFER_SIZE:1/0,MAXIMUM_MAX_BUFFER_AHEAD:{text:18e3},MINIMUM_MAX_BUFFER_AHEAD:{text:120},MAXIMUM_MAX_BUFFER_BEHIND:{text:18e3},DEFAULT_BASE_BANDWIDTH:0,INACTIVITY_DELAY:6e4,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:!1,DEFAULT_VIDEO_RESOLUTION_LIMIT:\"none\",DEFAULT_LIVE_GAP:{DEFAULT:10,LOW_LATENCY:3.5},BUFFER_DISCONTINUITY_THRESHOLD:.2,BITRATE_REBUFFERING_RATIO:1.5,DEFAULT_MAX_MANIFEST_REQUEST_RETRY:4,DEFAULT_CDN_DOWNGRADE_TIME:60,DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:4,INITIAL_BACKOFF_DELAY_BASE:{REGULAR:200,LOW_LATENCY:50},MAX_BACKOFF_DELAY_BASE:{REGULAR:3e3,LOW_LATENCY:1e3},SAMPLING_INTERVAL_MEDIASOURCE:1e3,SAMPLING_INTERVAL_LOW_LATENCY:500,SAMPLING_INTERVAL_NO_MEDIASOURCE:500,ABR_ENTER_BUFFER_BASED_ALGO:10,ABR_EXIT_BUFFER_BASED_ALGO:5,ABR_MINIMUM_TOTAL_BYTES:15e4,ABR_MINIMUM_CHUNK_SIZE:16e3,ABR_STARVATION_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_REGULAR_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_STARVATION_GAP:{DEFAULT:5,LOW_LATENCY:5},OUT_OF_STARVATION_GAP:{DEFAULT:7,LOW_LATENCY:7},ABR_STARVATION_DURATION_DELTA:.1,ABR_FAST_EMA:2,ABR_SLOW_EMA:10,RESUME_GAP_AFTER_SEEKING:{DEFAULT:1.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_NOT_ENOUGH_DATA:{DEFAULT:.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_BUFFERING:{DEFAULT:5,LOW_LATENCY:.5},REBUFFERING_GAP:{DEFAULT:.5,LOW_LATENCY:.2},MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:2,UNFREEZING_SEEK_DELAY:6e3,FREEZING_STALLED_DELAY:600,UNFREEZING_DELTA_POSITION:.001,FREEZING_FLUSH_FAILURE_DELAY:{MAXIMUM:2e4,MINIMUM:4e3,POSITION_DELTA:1},SEGMENT_SYNCHRONIZATION_DELAY:1500,MISSING_DATA_TRIGGER_SYNC_DELAY:.1,MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:.15,MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:.4,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:.3,MINIMUM_SEGMENT_SIZE:.001,APPEND_WINDOW_SECURITIES:{START:.2,END:.1},MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:50,TEXT_TRACK_SIZE_CHECKS_INTERVAL:250,BUFFER_PADDING:{audio:1,video:3,other:1},SEGMENT_PRIORITIES_STEPS:[2,4,8,12,18,25],MAX_HIGH_PRIORITY_LEVEL:1,MIN_CANCELABLE_PRIORITY:3,EME_DEFAULT_VIDEO_CODECS:['video/mp4;codecs=\"avc1.4d401e\"','video/mp4;codecs=\"avc1.42e01e\"','video/mp4;codecs=\"hvc1.1.6.L93.B0\"','video/webm;codecs=\"vp8\"'],EME_DEFAULT_AUDIO_CODECS:['audio/mp4;codecs=\"mp4a.40.2\"','audio/webm;codecs=\"opus\"','audio/mp4;codecs=\"ec-3\"'],EME_DEFAULT_WIDEVINE_ROBUSTNESSES:[\"HW_SECURE_ALL\",\"HW_SECURE_DECODE\",\"HW_SECURE_CRYPTO\",\"SW_SECURE_DECODE\",\"SW_SECURE_CRYPTO\"],EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:[\"3000\",\"2000\"],EME_KEY_SYSTEMS:{clearkey:[\"webkit-org.w3.clearkey\",\"org.w3.clearkey\"],widevine:[\"com.widevine.alpha\"],playready:[\"com.microsoft.playready.recommendation\",\"com.microsoft.playready\",\"com.chromecast.playready\",\"com.youtube.playready\"],fairplay:[\"com.apple.fps.1_0\"]},MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:10,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:200,MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:300,OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:3e3,FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:3e3,DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:3,EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:15,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:1e3,EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES:100,FORCED_ENDED_THRESHOLD:8e-4,ADAP_REP_SWITCH_BUFFER_PADDINGS:{video:{before:5,after:5},audio:{before:2,after:2.5},text:{before:0,after:0}},SOURCE_BUFFER_FLUSHING_INTERVAL:500,CONTENT_REPLACEMENT_PADDING:1.2,CACHE_LOAD_DURATION_THRESHOLDS:{video:50,audio:10},STREAM_EVENT_EMITTER_POLL_INTERVAL:250,DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR:.001,BUFFERED_HISTORY_RETENTION_TIME:6e4,BUFFERED_HISTORY_MAXIMUM_ENTRIES:200,MIN_BUFFER_AHEAD:5,UPTO_CURRENT_POSITION_CLEANUP:5,DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_VIDEO_TRACK_SWITCHING_MODE:\"reload\",DEFAULT_AUDIO_TRACK_SWITCHING_MODE:\"seamless\",DEFAULT_MAX_THUMBNAIL_REQUESTS_RETRY_ON_ERROR:1,DEFAULT_THUMBNAIL_REQUEST_TIMEOUT:1e4,DEFAULT_THUMBNAIL_CONNECTION_TIMEOUT:7e3,PREVENT_PSSH_PATCHING:!1,FORCE_CANNOT_RELY_ON_REQUEST_MEDIA_KEY_SYSTEM_ACCESS:!1,FORCE_CANNOT_REUSE_MEDIA_KEYS:!1,FORCE_HAS_ISSUES_WITH_HIGH_MEDIA_SOURCE_DURATION:!1,FORCE_IS_SEEKING_APPROXIMATE:!1,FORCE_MEDIA_ELEMENT_FAIL_ON_UNDECIPHERABLE_DATA:!1,FORCE_SHOULD_AWAIT_SET_MEDIA_KEYS:!1,FORCE_SHOULD_FAVOUR_CUSTOM_SAFARI_EME:!1,FORCE_SHOULD_RELOAD_MEDIA_SOURCE_ON_DECIPHERABILITY_UPDATE:!1,FORCE_SHOULD_RENEW_MEDIA_KEY_SYSTEM_ACCESS:!1,FORCE_SHOULD_UNSET_MEDIA_KEYS:!1,FORCE_SHOULD_VALIDATE_METADATA:!1,FORCE_DONT_WAIT_FOR_DATA_BEFORE_LOADED:!1,FORCE_WAIT_FOR_HAVE_ENOUGH_DATA:!1,FORCE_INITIAL_SEEK_TO_ZERO:!1},so=oo;function Nd(n,...e){if(n==null)throw new TypeError(\"Cannot convert undefined or null to object\");let t=Object(n);for(let r of e)for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i]);return t}var H=typeof Object.assign==\"function\"?Object.assign:Nd;function ai(n){return n!=null&&!Array.isArray(n)&&typeof n==\"object\"}function Jt(n,...e){if(e.length===0)return n;let t=e.shift();if(ai(n)&&ai(t))for(let r in t)if(ai(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),Jt(i,t[r])}else H(n,{[r]:t[r]});return Jt(n,...e)}function v(n){return n==null}function O(){}var ce=class{constructor(){this._listeners={}}addEventListener(e,t,r){let i=O;if(r!==void 0){if(r.isCancelled())return;i=r.register(()=>this.removeEventListener(e,t))}let a=this._listeners[e];Array.isArray(a)?a.push({cb:t,onRemove:i}):this._listeners[e]=[{cb:t,onRemove:i}]}removeEventListener(e,t){if(v(e)){for(let i of Object.keys(this._listeners)){let a=this._listeners[i];Array.isArray(a)&&a.forEach(o=>o.onRemove())}this._listeners={};return}let r=this._listeners[e];if(Array.isArray(r)){if(v(t)){r.forEach(i=>i.onRemove()),delete this._listeners[e];return}for(let i=0;i<r.length;i++)if(r[i].cb===t){r[i].onRemove(),r.splice(i,1);break}r.length===0&&delete this._listeners[e]}}trigger(e,t){let r=this._listeners[e];Array.isArray(r)&&r.slice().forEach(i=>{try{i.cb(t)}catch(a){if(I.CURRENT_ENV===I.DEV)throw a instanceof Error?a:new Error(\"EventEmitter: listener error\");console.error(\"RxPlayer: EventEmitter error\",a instanceof Error?a:null)}})}};var oi=class extends ce{constructor(){super(...arguments);this.updated=!1;this._config=so}update(t){let r=Jt(this._config,t);this._config=r,this.updated=!0,this.trigger(\"update\",t)}getCurrent(){return this._config}},Ud=new oi,L=Ud;var $e=class n extends Error{constructor(e,t,r){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"CustomLoaderError\",this.canRetry=t,this.xhr=r}};function ae(n,e,t){if(typeof Array.prototype.findIndex==\"function\")return n.findIndex(e,t);let r=n.length>>>0;for(let i=0;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}var fr=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.finish()))}getValue(){return this._value}setValue(e){if(this._isFinished){I.CURRENT_ENV===I.DEV&&console.error(\"Finished shared references cannot be updated\");return}if(this._value=e,this._listeners.length===0)return;let t=this._listeners.slice();for(let r of t)try{r.hasBeenCleared||r.trigger(e,r.complete)}catch(i){}}setValueIfChanged(e){e!==this._value&&this.setValue(e)}onUpdate(e,t){let r=()=>{if(t.clearSignal!==void 0&&t.clearSignal.deregister(r),i.hasBeenCleared)return;i.hasBeenCleared=!0;let a=this._listeners.indexOf(i);a>=0&&this._listeners.splice(a,1)},i={trigger:e,complete:r,hasBeenCleared:!1};if(this._listeners.push(i),t.emitCurrentValue===!0&&e(this._value,r),this._isFinished||i.hasBeenCleared){r();return}t.clearSignal.register(r)}waitUntilDefined(e,t){this.onUpdate((r,i)=>{r!==void 0&&(i(),e(this._value))},{clearSignal:t.clearSignal,emitCurrentValue:!0})}_onFinished(e,t){if(t.isCancelled())return O;let r=()=>{let o=ae(this._onFinishCbs,s=>s.trigger===i);o>=0&&(this._onFinishCbs[o].hasBeenCleared=!0,this._onFinishCbs.splice(o,1))},i=()=>{r(),e()},a=t.register(r);return this._onFinishCbs.push({trigger:i,hasBeenCleared:!1}),a}finish(){this._deregisterCancellation!==void 0&&this._deregisterCancellation(),this._isFinished=!0;let e=this._listeners.slice();for(let t of e)try{t.hasBeenCleared||(t.complete(),t.hasBeenCleared=!0)}catch(r){}if(this._listeners.length=0,this._onFinishCbs.length>0){let t=this._onFinishCbs.slice();for(let r of t)try{r.hasBeenCleared||(r.trigger(),r.hasBeenCleared=!0)}catch(i){}this._onFinishCbs.length=0}}};function en(n,e,t){let r=new fr(e(n.getValue()),t);return n.onUpdate(function(a){r.setValue(e(a))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var $=fr;var si=new $(0);function uo({date:n,timestamp:e}){let t=n-e,r=typeof performance!=\"undefined\"?Date.now()-performance.now():0;si.setValueIfChanged(r-t)}var Ld=typeof performance!=\"undefined\"?()=>performance.now()+si.getValue():()=>Date.now()+si.getValue(),F=Ld;var Fd=\"NONE\",tn=class extends ce{constructor(){super(),this.error=O,this.warn=O,this.info=O,this.debug=O,this._levels={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4},this._currentFormat=\"standard\",this._currentLevel=Fd}setLevel(e,t,r){let i,a=this._levels[e];typeof a==\"number\"?(i=a,this._currentLevel=e):(i=0,this._currentLevel=\"NONE\");let o;if(t===\"standard\"||t===\"full\"?o=t:o=\"standard\",o===\"full\"&&o!==this._currentFormat){let d=F();console.log(String(d.toFixed(2)),\"[Init]\",`Local-Date: ${Date.now()}`)}this._currentFormat=o;let s=this._currentFormat===\"full\"?(d,u)=>(f,...l)=>{let m=F();return u(String(m.toFixed(2)),`[${d}]`,f+\":\",...l.map(g=>typeof g==\"object\"&&g!==null&&!(g instanceof Error)?lo(g):g))}:(d,u)=>(f,...l)=>u(f+\":\",...l.map(m=>typeof m==\"object\"&&m!==null&&!(m instanceof Error)?lo(m):m));if(r===void 0)this.error=i>=this._levels.ERROR?s(\"error\",console.error.bind(console)):O,this.warn=i>=this._levels.WARNING?s(\"warn\",console.warn.bind(console)):O,this.info=i>=this._levels.INFO?s(\"info\",console.info.bind(console)):O,this.debug=i>=this._levels.DEBUG?s(\"log\",console.log.bind(console)):O;else{let d=u=>i>=this._levels[u]?(f,...l)=>r(u,f,l):O;this.error=d(\"ERROR\"),this.warn=d(\"WARNING\"),this.info=d(\"INFO\"),this.debug=d(\"DEBUG\")}this.trigger(\"onLogLevelChange\",{level:this._currentLevel,format:this._currentFormat})}getLevel(){return this._currentLevel}getFormat(){return this._currentFormat}hasLevel(e){return this._levels[e]>=this._levels[this._currentLevel]}};function lo(n){let e=\"\";for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){e.length>0&&(e+=\" \");let r=n[t];r instanceof Error?e+=`${t}=\"${JSON.stringify(r==null?void 0:r.toString())}\"`:e+=`${t}=${typeof r==\"string\"?`${JSON.stringify(r)}`:String(r)}`}return e}var zd=new tn,c=zd;var mr=typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope;var Wd=typeof window==\"undefined\"&&!mr,cr=Wd;var pr;mr?pr=self:cr?pr=global:pr=window;var ne=pr;var le=class n extends Error{constructor(e,t,r){let i;switch(r){case\"TIMEOUT\":i=\"The request timed out\";break;case\"ERROR_EVENT\":i=\"An error prevented the request to be performed successfully\";break;case\"PARSE_ERROR\":i=\"An error happened while formatting the response data\";break;case\"ERROR_HTTP_CODE\":i=\"An HTTP status code indicating failure was received: \"+String(t);break}super(i),Object.setPrototypeOf(this,n.prototype),this.name=\"RequestError\",this.url=e,this.status=t,this.type=r}serialize(){return{url:this.url,status:this.status,type:this.type}}},Pe={TIMEOUT:\"TIMEOUT\",ERROR_EVENT:\"ERROR_EVENT\",ERROR_HTTP_CODE:\"ERROR_HTTP_CODE\",PARSE_ERROR:\"PARSE_ERROR\"};var di=typeof Headers==\"function\"?Headers:null,gr=typeof AbortController==\"function\"?AbortController:null;function hr(n){var m,g;let e;if(!v(n.headers))if(v(di))e=n.headers;else{e=new di;let h=Object.keys(n.headers);for(let b=0;b<h.length;b++){let p=h[b];e.append(p,n.headers[p])}}c.debug(\"utils\",\"Fetch\",{url:n.url});let t=null,r=!1,i=!1,a=F(),o=v(gr)?null:new gr;function s(){if(v(o)){c.warn(\"utils\",\"Fetch: AbortController API not available.\");return}o.abort()}let d;n.timeout!==void 0&&(d=setTimeout(()=>{r=!0,u!==void 0&&clearTimeout(u),s()},n.timeout));let u;n.connectionTimeout!==void 0&&(u=setTimeout(()=>{i=!0,d!==void 0&&clearTimeout(d),s()},n.connectionTimeout));let f=n.cancelSignal.register(function(b){t=b,s()}),l={method:\"GET\"};if(e!==void 0&&(l.headers=e),l.signal=v(o)?null:o.signal,c.hasLevel(\"DEBUG\")){let h=\"fetch GET \"+n.url;n.timeout!==void 0&&(h+=\" to=\"+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(h+=\" cto=\"+String(n.connectionTimeout/1e3)),((m=n.headers)==null?void 0:m.Range)!==void 0&&(h+=\" Range=\"+((g=n.headers)==null?void 0:g.Range)),c.debug(\"utils\",h)}return fetch(n.url,l).then(h=>{if(u!==void 0&&clearTimeout(u),h.status>=300)throw c.warn(\"utils\",\"Fetch: Request HTTP Error\",{status:h.status,responseUrl:h.url}),new le(h.url,h.status,Pe.ERROR_HTTP_CODE);if(v(h.body))throw new le(h.url,h.status,Pe.PARSE_ERROR);let b=h.headers.get(\"Content-Length\"),p=!v(b)&&!isNaN(+b)?+b:void 0,S=h.body.getReader(),T=0;return R();async function R(){let E=await S.read();if(!E.done&&!v(E.value)){T+=E.value.byteLength;let C=F(),P={url:h.url,currentTime:C,duration:C-a,sendingTime:a,chunkSize:E.value.byteLength,chunk:E.value.buffer,size:T,totalSize:p};return n.onData(P),R()}else if(E.done){d!==void 0&&clearTimeout(d),f();let C=F();return{requestDuration:C-a,receivedTime:C,sendingTime:a,size:T,status:h.status,url:h.url}}return R()}}).catch(h=>{throw t!==null?t:(f(),r?(c.warn(\"utils\",\"Fetch: Request timed out.\",{url:n.url,timeout:n.timeout}),new le(n.url,0,Pe.TIMEOUT)):i?(c.warn(\"utils\",\"Fetch: Request connection timed out.\",{url:n.url,connectionTimeout:n.connectionTimeout}),new le(n.url,0,Pe.TIMEOUT)):h instanceof le?h:(c.warn(\"utils\",\"Fetch: Request Error\",{error:h instanceof Error?h.toString():\"Unkwown Error\"}),new le(n.url,0,Pe.ERROR_EVENT)))})}function nn(){let n=/\\[\\s*native\\s+code\\s*\\]/;return typeof ne.fetch==\"function\"&&!v(gr)&&n.test(gr.toString())&&!v(di)}function Y(n){return typeof n==\"string\"&&n.length>0}var Vd=\"json\";function rn(n){let e={url:n.url,headers:n.headers,responseType:v(n.responseType)?Vd:n.responseType,timeout:n.timeout,connectionTimeout:n.connectionTimeout};return new Promise((t,r)=>{let{onProgress:i,cancelSignal:a}=n,{url:o,headers:s,responseType:d,timeout:u,connectionTimeout:f}=e,l=new XMLHttpRequest;l.open(\"GET\",o,!0);let m;u!==void 0&&(l.timeout=u,m=setTimeout(()=>{p(),r(new le(o,l.status,Pe.TIMEOUT))},u+3e3));let g;if(f!==void 0&&(g=setTimeout(()=>{p(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new le(o,l.status,Pe.TIMEOUT))},f)),l.responseType=d,l.responseType===\"document\"&&l.overrideMimeType(\"text/xml\"),!v(s)){let S=s;for(let T in S)Object.prototype.hasOwnProperty.call(S,T)&&l.setRequestHeader(T,S[T])}let h=F(),b=null;if(a!==void 0&&(b=a.register(function(T){p(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(T)}),a.isCancelled()))return;if(l.onerror=function(){p(),r(new le(o,l.status,Pe.ERROR_EVENT))},l.ontimeout=function(){p(),r(new le(o,l.status,Pe.TIMEOUT))},f!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(T){let R=F();i({url:o,duration:R-h,sendingTime:h,currentTime:R,size:T.loaded,totalSize:T.total})}),l.onload=function(T){if(l.readyState===XMLHttpRequest.DONE)if(p(),l.status>=200&&l.status<300){let R=F(),E=l.response instanceof ArrayBuffer?l.response.byteLength:T.total,C=l.status,P=l.responseType,x=Y(l.responseURL)?l.responseURL:o,A;if(P===\"json\"?A=typeof l.response==\"object\"?l.response:qd(l.responseText):A=l.response,v(A)){r(new le(o,l.status,Pe.PARSE_ERROR));return}t({status:C,url:x,responseType:P,sendingTime:h,receivedTime:R,requestDuration:R-h,size:E,responseData:A})}else r(new le(o,l.status,Pe.ERROR_HTTP_CODE))},c.hasLevel(\"DEBUG\")){let S=\"XHR GET \"+o;n.responseType!==void 0&&(S+=\" type=\"+n.responseType),u!==void 0&&(S+=\" to=\"+String(u/1e3)),f!==void 0&&(S+=\" cto=\"+String(f/1e3)),(s==null?void 0:s.Range)!==void 0&&(S+=\" Range=\"+(s==null?void 0:s.Range)),c.debug(\"utils\",S)}l.send();function p(){m!==void 0&&clearTimeout(m),g!==void 0&&clearTimeout(g),b!==null&&b()}})}function qd(n){try{return JSON.parse(n)}catch(e){return null}}var be=rn;var Pt=Pe,qe={NETWORK_ERROR:\"NETWORK_ERROR\",MEDIA_ERROR:\"MEDIA_ERROR\",ENCRYPTED_MEDIA_ERROR:\"ENCRYPTED_MEDIA_ERROR\",OTHER_ERROR:\"OTHER_ERROR\"};function et(n,e){return`${n}: ${e}`}var an=class n extends Error{constructor(e,t,r){super(et(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"EncryptedMediaError\",this.type=qe.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,this.keyStatuses=r.keyStatuses,this.keySystemConfiguration=r.keySystemConfiguration,this.keySystem=r.keySystem}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses,keySystemConfiguration:this.keySystemConfiguration,keySystem:this.keySystem}}};var Ir=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"AssertionError\"}};function Se(n,e){if(I.DEV===I.CURRENT_ENV&&!n)throw new Ir(e===void 0?\"invalid assertion\":e)}function Ne(n){throw new Ir(\"Unreachable path taken\")}var ee=class n extends Error{constructor(e,t,r){super(et(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"MediaError\",this.type=qe.MEDIA_ERROR,this._originalMessage=t,this.code=e,this.fatal=!1,(r==null?void 0:r.tracks)!==void 0&&(r==null?void 0:r.tracks.length)>0&&(this.tracksInfo=r.tracks),(r==null?void 0:r.timeInfo)!==void 0&&(this.timeInfo=r.timeInfo)}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo,timeInfo:this.timeInfo}}};var Xe=class n extends Error{constructor(e,t){super(et(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name=\"NetworkError\",this.type=qe.NETWORK_ERROR,this.url=t.url,this.status=t.status,this.errorType=t.type,this._baseError=t,this.code=e,this.fatal=!1}isHttpError(e){return this.errorType===Pt.ERROR_HTTP_CODE&&this.status===e}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var _e=class n extends Error{constructor(e,t){super(et(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"OtherError\",this.type=qe.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage}}};function Ut(n){return(n instanceof an||n instanceof ee||n instanceof _e||n instanceof Xe)&&Object.keys(qe).indexOf(n.type)>=0}function ge(n,{defaultCode:e,defaultReason:t}){if(Ut(n))return n;let r=n instanceof Error?n.toString():t;return new _e(e,r)}var xe=class n extends Error{constructor(e,t,r){super(t),Object.setPrototypeOf(this,n.prototype),this.name=\"SourceBufferError\",this.errorName=e,this.isBufferFull=r}serialize(){return{errorName:this.name,message:this.message,isBufferFull:this.isBufferFull}}toString(){return`${this.errorName}: ${this.message}`}};var Gd={dashParsers:{wasm:null,js:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},monothread:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},fo=Gd;var ke=fo;function j(n,e,t){if(typeof Array.prototype.find==\"function\")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let a=n[i];if(e.call(t,a,i,n))return a}}var Hd={aa:\"aar\",ab:\"abk\",ae:\"ave\",af:\"afr\",ak:\"aka\",am:\"amh\",an:\"arg\",ar:\"ara\",as:\"asm\",av:\"ava\",ay:\"aym\",az:\"aze\",ba:\"bak\",be:\"bel\",bg:\"bul\",bi:\"bis\",bm:\"bam\",bn:\"ben\",bo:\"bod\",br:\"bre\",bs:\"bos\",ca:\"cat\",ce:\"che\",ch:\"cha\",co:\"cos\",cr:\"cre\",cs:\"ces\",cu:\"chu\",cv:\"chv\",cy:\"cym\",da:\"dan\",de:\"deu\",dv:\"div\",dz:\"dzo\",ee:\"ewe\",el:\"ell\",en:\"eng\",eo:\"epo\",es:\"spa\",et:\"est\",eu:\"eus\",fa:\"fas\",ff:\"ful\",fi:\"fin\",fj:\"fij\",fo:\"fao\",fr:\"fra\",fy:\"fry\",ga:\"gle\",gd:\"gla\",gl:\"glg\",gn:\"grn\",gu:\"guj\",gv:\"glv\",ha:\"hau\",he:\"heb\",hi:\"hin\",ho:\"hmo\",hr:\"hrv\",ht:\"hat\",hu:\"hun\",hy:\"hye\",hz:\"her\",ia:\"ina\",id:\"ind\",ie:\"ile\",ig:\"ibo\",ii:\"iii\",ik:\"ipk\",io:\"ido\",is:\"isl\",it:\"ita\",iu:\"iku\",ja:\"jpn\",jv:\"jav\",ka:\"kat\",kg:\"kon\",ki:\"kik\",kj:\"kua\",kk:\"kaz\",kl:\"kal\",km:\"khm\",kn:\"kan\",ko:\"kor\",kr:\"kau\",ks:\"kas\",ku:\"kur\",kv:\"kom\",kw:\"cor\",ky:\"kir\",la:\"lat\",lb:\"ltz\",lg:\"lug\",li:\"lim\",ln:\"lin\",lo:\"lao\",lt:\"lit\",lu:\"lub\",lv:\"lav\",mg:\"mlg\",mh:\"mah\",mi:\"mri\",mk:\"mkd\",ml:\"mal\",mn:\"mon\",mr:\"mar\",ms:\"msa\",mt:\"mlt\",my:\"mya\",na:\"nau\",nb:\"nob\",nd:\"nde\",ne:\"nep\",ng:\"ndo\",nl:\"nld\",nn:\"nno\",no:\"nor\",nr:\"nbl\",nv:\"nav\",ny:\"nya\",oc:\"oci\",oj:\"oji\",om:\"orm\",or:\"ori\",os:\"oss\",pa:\"pan\",pi:\"pli\",pl:\"pol\",ps:\"pus\",pt:\"por\",qu:\"que\",rm:\"roh\",rn:\"run\",ro:\"ron\",ru:\"rus\",rw:\"kin\",sa:\"san\",sc:\"srd\",sd:\"snd\",se:\"sme\",sg:\"sag\",si:\"sin\",sk:\"slk\",sl:\"slv\",sm:\"smo\",sn:\"sna\",so:\"som\",sq:\"sqi\",sr:\"srp\",ss:\"ssw\",st:\"sot\",su:\"sun\",sv:\"swe\",sw:\"swa\",ta:\"tam\",te:\"tel\",tg:\"tgk\",th:\"tha\",ti:\"tir\",tk:\"tuk\",tl:\"tgl\",tn:\"tsn\",to:\"ton\",tr:\"tur\",ts:\"tso\",tt:\"tat\",tw:\"twi\",ty:\"tah\",ug:\"uig\",uk:\"ukr\",ur:\"urd\",uz:\"uzb\",ve:\"ven\",vi:\"vie\",vo:\"vol\",wa:\"wln\",wo:\"wol\",xh:\"xho\",yi:\"yid\",yo:\"yor\",za:\"zha\",zh:\"zho\",zu:\"zul\"},mo=Hd;var Kd={alb:\"sqi\",arm:\"hye\",baq:\"eus\",bur:\"mya\",chi:\"zho\",cze:\"ces\",dut:\"nld\",fre:\"fra\",geo:\"kat\",ger:\"deu\",gre:\"ell\",ice:\"isl\",mac:\"mkd\",mao:\"mri\",may:\"msa\",per:\"fas\",slo:\"slk\",rum:\"ron\",tib:\"bod\",wel:\"cym\"},co=Kd;function jd(n){if(v(n)||n===\"\")return\"und\";let t=(\"\"+n).toLowerCase().split(\"-\")[0],r=Yd(t);return Y(r)?r:n}function Yd(n){let e;switch(n.length){case 2:e=mo[n];break;case 3:e=co[n];break}return e}var po=jd;var go=po;function br(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function Me(){let n=\"\",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+=\"0\",e=0),n+String(e)}}var Qd=typeof ne==\"object\"&&typeof ne.TextDecoder==\"function\",$d=typeof ne==\"object\"&&typeof ne.TextEncoder==\"function\";function on(n){if($d)try{return new TextEncoder().encode(n)}catch(i){let a=i instanceof Error?i:\"Unknown Error\";c.warn(\"utils\",\"Could not use TextEncoder to encode string into UTF-8, fallbacking to another implementation\",a)}let e,t=encodeURIComponent(n);if(typeof unescape==\"function\")e=unescape(t);else{let i=/[0-9a-fA-F]/,a=t.length;e=\"\";for(let o=0;o<t.length;o++){let s=!1;if(t[o]===\"%\"){if(o<=a-6&&t[o+1]===\"u\"&&i.test(t[o+2])&&i.test(t[o+3])&&i.test(t[o+4])&&i.test(t[o+5])){let d=parseInt(t.substring(o+1,o+6),16);e+=String.fromCharCode(d),s=!0,o+=5}else if(o<=a-3&&i.test(t[o+1])&&i.test(t[o+2])){let d=parseInt(t.substring(o+1,o+3),16);e+=String.fromCharCode(d),s=!0,o+=2}}s||(e+=t[o])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function Xd(n){let t=\"\";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function ho(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t}function Ge(n){if(Qd)try{return new TextDecoder().decode(n)}catch(i){let a=i instanceof Error?i:\"Unknown Error\";c.warn(\"utils\",\"could not use TextDecoder to parse UTF-8, fallbacking to another implementation\",a)}let e=n;e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3));let t=Xd(e),r;if(typeof escape==\"function\")r=escape(t);else{let i=/[A-Za-z0-9*_+-./]/;r=\"\";for(let a=0;a<t.length;a++)if(i.test(t[a]))r+=t[a];else{let o=t.charCodeAt(a);r+=o>=256?\"%u\"+ho(o,4):\"%\"+ho(o,2)}}return decodeURIComponent(r)}function sn(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function Sr(n,e=\"\"){let t=\"\";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function ui(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:Ge(r)}}function li(n){return Object.keys(n).map(e=>n[e])}var yr=typeof Object.values==\"function\"?Object.values:li;var Lt=[\"audio\",\"video\",\"text\"];function bo(n){var a,o;let e=n.timeBounds;if(e.timeshiftDepth===null)return(a=e.minimumSafePosition)!=null?a:0;let{maximumTimeData:t}=e,r;if(!e.maximumTimeData.isLinear)r=t.maximumSafePosition;else{let s=F()-t.time;r=t.maximumSafePosition+s/1e3}let i=r-e.timeshiftDepth;return Math.max((o=e.minimumSafePosition)!=null?o:0,i)}function So(n){let{maximumTimeData:e}=n.timeBounds;if(!n.isLive||e.livePosition===void 0)return;if(!e.isLinear)return e.livePosition;let t=F()-e.time;return e.livePosition+t/1e3}function yo(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=F()-e.time;return e.maximumSafePosition+t/1e3}function To(n,e){if(e===void 0)return mi(n).filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1);let t=n.adaptations[e];return t===void 0?[]:t.filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1)}function Eo(n,e){let t=null;for(let r=n.periods.length-1;r>=0;r--){let i=n.periods[r];if(fi(i,e,t))return i;t=i}}function _o(n,e){let t=e.end;if(t===void 0)return null;let r=j(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function fi(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function mi(n){let e=n.adaptations;return li(e).reduce((t,r)=>v(r)?t:t.concat(r),[])}function Zd(n,e){var r,i;let t={language:(r=n.language)!=null?r:\"\",normalized:(i=n.normalizedLanguage)!=null?i:\"\",audioDescription:n.isAudioDescription===!0,id:n.id,representations:(e?n.representations.filter(a=>dn(a)===!0):n.representations).map(tu),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function Jd(n){var e,t;return{language:(e=n.language)!=null?e:\"\",normalized:(t=n.normalizedLanguage)!=null?t:\"\",closedCaption:n.isClosedCaption===!0,id:n.id,label:n.label,forced:n.isForcedSubtitles}}function eu(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let a=(e?i.representations.filter(s=>dn(s)===!0):i.representations).map(Io),o={id:i.id,representations:a,isTrickModeTrack:!0};return i.isSignInterpreted===!0&&(o.signInterpreted=!0),o}):void 0,r={id:n.id,representations:(e?n.representations.filter(i=>dn(i)===!0):n.representations).map(Io),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function tu(n){let{id:e,bitrate:t,chosenCodec:r,isSpatialAudio:i,isSupported:a,decipherable:o}=n;return{id:e,bitrate:t,codec:r,isSpatialAudio:i,isCodecSupported:a,decipherable:o}}function Io(n){let{id:e,bitrate:t,frameRate:r,width:i,height:a,chosenCodec:o,hdrInfo:s,isSupported:d,decipherable:u,contentProtections:f}=n;return{id:e,bitrate:t,frameRate:r,width:i,height:a,codec:o,hdrInfo:s,isCodecSupported:d,decipherable:u,contentProtections:f!==void 0?{keyIds:f.keyIds}:void 0}}function vt(n){switch(n.type){case\"audio\":return{type:\"audio\",track:Zd(n,!1)};case\"video\":return{type:\"video\",track:eu(n,!1)};case\"text\":return{type:\"text\",track:Jd(n)}}}function dn(n){return n.decipherable===!1?!1:n.isSupported}function Ro(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}var nu=Me(),ci=class{constructor(e,t,r){var a,o,s,d;this.id=e.id,this.uniqueId=nu(),this.shouldBeAvoided=!1,this.bitrate=e.bitrate,this.baseCodecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t===\"audio\"||t===\"video\"){let u=!1;e.supplementalCodecs!==void 0&&(this.baseCodecs.push(e.supplementalCodecs),u=r.isSupported((a=this.mimeType)!=null?a:\"\",(o=e.supplementalCodecs)!=null?o:\"\",i),u===!0&&(c.debug(\"manifest\",\"supplementalCodec is supported as per the cache\",{codec:e.supplementalCodecs}),this.chosenCodec=e.supplementalCodecs)),e.codecs!==void 0&&this.baseCodecs.push(e.codecs),u===!1&&(u=r.isSupported((s=this.mimeType)!=null?s:\"\",(d=e.codecs)!=null?d:\"\",i),c.debug(\"manifest\",\"codec is supported as per the cache\",{codec:e.codecs}),this.chosenCodec=e.codecs),this.isSupported=u}else e.codecs!==void 0&&(this.baseCodecs.push(e.codecs),this.chosenCodec=e.codecs),this.isSupported=!0}refreshCodecSupport(e){var s,d;if(this.isSupported!==void 0)return;let t=this.contentProtections!==void 0,r=!1,i=(s=this.mimeType)!=null?s:\"\",a=(d=this.baseCodecs)!=null?d:[];a.length===0&&(a=[\"\"]);let o=!1;for(let u of a){if(r=e.isSupported(i,u,t),r===!0){c.debug(\"manifest\",\"codec is found to be supported\",{codec:u}),this.chosenCodec=u;break}r===void 0&&(o=!0)}r===!0?this.isSupported=!0:o?this.isSupported=void 0:this.isSupported=!1}getMimeTypeString(){var t;let e=this.chosenCodec;return e===void 0&&(c.warn(\"manifest\",\"Asked for mimetype string when codec support is yet unknown, attempting with first known linked codec\"),this.baseCodecs!==void 0&&(e=this.baseCodecs[0])),`${(t=this.mimeType)!=null?t:\"\"};codecs=\"${e!=null?e:\"\"}\"`}getEncryptionData(e){var i;let t=this.getAllEncryptionData(),r=[];for(let a=0;a<t.length;a++){let o=!1,s=t[a];for(let d=0;d<s.values.length;d++)if(s.values[d].systemId.toLowerCase()===e.toLowerCase())if(o)r[r.length-1].values.push(s.values[d]);else{let u=(i=this.contentProtections)==null?void 0:i.keyIds;r.push({type:s.type,keyIds:u,values:[s.values[d]]}),o=!0}}return r}getAllEncryptionData(){var t;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(t=this.contentProtections)==null?void 0:t.keyIds;return this.contentProtections.initData.map(r=>({type:r.type,keyIds:e,values:r.values}))}addProtectionData(e,t,r){let i=!1;if(this.contentProtections===void 0)return this.contentProtections={keyIds:t!==void 0?[t]:[],initData:[{type:e,values:r}]},!0;if(t!==void 0){let o=this.contentProtections.keyIds;if(o===void 0)this.contentProtections.keyIds=[t];else{let s=!1;for(let d of o)br(d,t)&&(s=!0);s||(c.warn(\"manifest\",\"found unanounced key id.\",{keyId:Sr(t)}),o.push(t))}}let a=this.contentProtections.initData;for(let o=0;o<a.length;o++)if(a[o].type===e){let s=a[o].values;for(let d=0;d<r.length;d++){let u=r[d],f;for(f=0;f<s.length;f++)if(u.systemId===s[f].systemId){if(br(u.data,s[f].data))break;c.warn(\"manifest\",\"different init data for the same system ID\",{systemId:u.systemId})}f===s.length&&(s.push(u),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}isPlayable(){return dn(this)}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,baseCodecs:this.baseCodecs,chosenCodec:this.chosenCodec,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable,isCodecSupportedInWebWorker:this.isCodecSupportedInWebWorker}}},un=ci;var ct=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:a,isManuallyAdded:o}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=go(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(this.trickModeTracks=i.map(u=>new n(u,t)));let s=e.representations,d=[];this.supportStatus={hasSupportedCodec:!1,hasCodecWithUndefinedSupport:!1,isDecipherable:!1};for(let u=0;u<s.length;u++){let f=new un(s[u],this.type,t),l=!0;if(!v(a)){let m={id:f.id,bitrate:f.bitrate,codecs:f.chosenCodec!==void 0?[f.chosenCodec]:f.baseCodecs,height:f.height,width:f.width,frameRate:f.frameRate,hdrInfo:f.hdrInfo};if(f.contentProtections!==void 0&&(m.contentProtections={},f.contentProtections.keyIds!==void 0)){let g=f.contentProtections.keyIds;m.contentProtections.keyIds=g}l=a(m,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(d.push(f),f.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):f.isSupported&&(this.supportStatus.hasSupportedCodec=!0),f.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):f.decipherable&&(this.supportStatus.isDecipherable=!0)):c.debug(\"manifest\",\"Filtering Representation due to representationFilter\",this.type,`Adaptation: ${this.id}`,`Representation: ${f.id}`,`(${f.bitrate})`)}d.sort((u,f)=>u.bitrate-f.bitrate),this.representations=d,this.manuallyAdded=o===!0}refreshCodecSupport(e){let t=!1,r=!1;for(let i of this.representations)i.refreshCodecSupport(e),i.isSupported===void 0?t=!0:i.isSupported&&(r=!0);r?this.supportStatus.hasSupportedCodec=!0:t?this.supportStatus.hasSupportedCodec=void 0:this.supportStatus.hasSupportedCodec=!1,this.supportStatus.hasCodecWithUndefinedSupport=t}getRepresentation(e){return j(this.representations,({id:t})=>e===t)}getMetadataSnapshot(){let e=[],t=this.representations;for(let r of t)e.push(r.getMetadataSnapshot());return{id:this.id,type:this.type,supportStatus:this.supportStatus,language:this.language,isForcedSubtitles:this.isForcedSubtitles,isClosedCaption:this.isClosedCaption,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted,normalizedLanguage:this.normalizedLanguage,representations:e,label:this.label,isDub:this.isDub}}};var ye=ne,Po,vo,Co,Ao,xo,pi=(xo=(Ao=(Co=(vo=(Po=ye==null?void 0:ye.MediaSource)!=null?Po:ye==null?void 0:ye.MozMediaSource)!=null?vo:ye==null?void 0:ye.WebKitMediaSource)!=null?Co:ye==null?void 0:ye.MSMediaSource)!=null?Ao:ye==null?void 0:ye.ManagedMediaSource)!=null?xo:void 0,ru=pi!==void 0&&pi===(ye==null?void 0:ye.ManagedMediaSource),iu={HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},au={MediaSource_:pi,isManagedMediaSource:ru,READY_STATES:iu},ln=au;var pt={EdgeChromium:0,Firefox:1,Ie11:2,OtherIeOrEdgePreEdgeChromium:3,SafariDesktop:4,SafariMobile:5,Other:6},De={A1KStb40xx:100,Panasonic:101,PhilipsNetTv:102,PlayStation4:103,PlayStation5:104,Tizen:105,WebOs2021:106,WebOs2022:107,WebOsOther:108,Xbox:109,Other:110,StreamaMdp1001S:111},he={DEVICES:De,BROWSERS:pt,browser:pt.Other,device:De.Other,isSamsungBrowser:!1};ou();function ou(){var n,e,t;cr||(typeof ne.MSInputMethodContext!=\"undefined\"&&typeof document.documentMode!=\"undefined\"?he.browser=pt.Ie11:navigator.appName===\"Microsoft Internet Explorer\"||navigator.appName===\"Netscape\"&&/(Trident|Edge)\\//.test(navigator.userAgent)?he.browser=pt.OtherIeOrEdgePreEdgeChromium:navigator.userAgent.toLowerCase().indexOf(\"edg/\")!==-1?he.browser=pt.EdgeChromium:navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1?he.browser=pt.Firefox:typeof navigator.platform==\"string\"&&/iPad|iPhone|iPod/.test(navigator.platform)?he.browser=pt.SafariMobile:(Object.prototype.toString.call(ne.HTMLElement).indexOf(\"Constructor\")>=0||((e=(n=ne.safari)==null?void 0:n.pushNotification)==null?void 0:e.toString())===\"[object SafariRemoteNotification]\"||/Safari\\/(\\d+)/.test(navigator.userAgent)&&/Version\\/(\\d+)/.test(navigator.userAgent)&&((t=navigator.vendor)==null?void 0:t.indexOf(\"Apple\"))!==-1&&!/Chrome\\/(\\d+)/.test(navigator.userAgent)&&!/Chromium\\/(\\d+)/.test(navigator.userAgent))&&(he.browser=pt.SafariDesktop),/SamsungBrowser/.test(navigator.userAgent)&&(he.isSamsungBrowser=!0),navigator.userAgent.indexOf(\"PlayStation 4\")!==-1?he.device=De.PlayStation4:navigator.userAgent.indexOf(\"PlayStation 5\")!==-1?he.device=De.PlayStation5:navigator.userAgent.indexOf(\"DStv Streama, MDMP1001S\")!==-1?he.device=De.StreamaMdp1001S:/Tizen/.test(navigator.userAgent)?he.device=De.Tizen:/[Ww]eb[O0]S/.test(navigator.userAgent)?/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/87/.test(navigator.userAgent)?he.device=De.WebOs2022:/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/79/.test(navigator.userAgent)?he.device=De.WebOs2021:he.device=De.WebOsOther:navigator.userAgent.indexOf(\"NETTV\")!==-1&&navigator.userAgent.indexOf(\"Philips\")!==-1?he.device=De.PhilipsNetTv:/[Pp]anasonic/.test(navigator.userAgent)?he.device=De.Panasonic:navigator.userAgent.indexOf(\"Xbox\")!==-1?he.device=De.Xbox:navigator.userAgent.indexOf(\"Model/a1-kstb40xx\")!==-1&&(he.device=De.A1KStb40xx))}var tt=he;function gi(n){return new Promise(e=>{setTimeout(e,n)})}function Ct(n,e){let t;return new Promise((r,i)=>{if(n.cancellationError!==null)return i(n.cancellationError);let a=!1;t=e(function(d){n.deregister(o),a=!0,r(d)},function(d){n.deregister(o),a=!0,i(d)}),a||n.register(o);function o(s){t!==void 0&&t(),i(s)}})}function fn(n,e){return Ct(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}var z=class{constructor(e){let[t,r]=su();this._isUsed=!1,this._trigger=t,this._taskName=e,this.signal=new hi(r)}isUsed(){return this._isUsed}linkToSignal(e){let t=e.register(r=>{this.cancel(r.reason)});return this.signal.register(t),t}cancel(e){if(this._isUsed)return;this._isUsed=!0;let t=new ue(this._taskName,e);this._trigger(t)}static isCancellationError(e){return e instanceof ue}},hi=class{constructor(e){this._isCancelled=!1,this.cancellationError=null,this._listeners=[],e(t=>{for(this.cancellationError=t,this._isCancelled=!0;this._listeners.length>0;)try{let r=this._listeners.pop();r==null||r(t)}catch(r){c.error(\"utils\",\"Error while calling clean up listener\",r instanceof Error?r:\"Unknown Error\")}})}isCancelled(){return this._isCancelled}register(e){return this._isCancelled?(Se(this.cancellationError!==null),e(this.cancellationError),O):(this._listeners.push(e),()=>this.deregister(e))}deregister(e){for(let t=this._listeners.length-1;t>=0;t--)this._listeners[t]===e&&this._listeners.splice(t,1)}},ue=class n extends Error{constructor(e,t){let r=e!==void 0?`\"${e}\" task cancelled.`:\"This task was cancelled.\";t!==void 0&&(r+=\" Reason: \"+t),super(r),Object.setPrototypeOf(this,n.prototype),this.name=\"CancellationError\",this.reason=t,e!==void 0&&c.debug(\"utils\",`task cancellation: \"${e}\"`+(t===void 0?\"\":` - Reason: \"${t}\"`))}};function su(){let n=O;return[function(t){n(t)},function(t){n=t}]}var du=[\"\",\"webkit\",\"moz\",\"ms\"];function uu(n,e){let t=document.createElement(n.tagName),r=\"on\"+e;return r in t?!0:(t.setAttribute(r,\"return;\"),typeof t[r]==\"function\")}function lu(n,e){return e.filter(t=>uu(n,t))[0]}function fu(n,e){return n.reduce((t,r)=>t.concat((e===void 0?du:e).map(i=>i+r)),[])}function ve(n,e){let t,r=fu(n,e);return(i,a,o)=>{if(!o.isCancelled()){if(typeof HTMLElement!=\"undefined\"&&i instanceof HTMLElement)if(typeof t==\"undefined\"&&(t=lu(i,r)),Y(t))i.addEventListener(t,a),o.register(()=>{t!==void 0&&i.removeEventListener(t,a)});else{c.warn(\"utils\",`element ${i.tagName} does not support any of these events: `+r.join(\", \"));return}r.forEach(s=>{let d=!1;typeof i.addEventListener==\"function\"?i.addEventListener(s,a):(d=!0,i[\"on\"+s]=a),o.register(()=>{typeof i.removeEventListener==\"function\"&&i.removeEventListener(s,a),d&&delete i[\"on\"+s]})})}}}var Ch=ve([\"loadedmetadata\"]),Ah=ve([\"timeupdate\"]),xh=ve([\"addtrack\"]),kh=ve([\"removetrack\"]),Ft=ve([\"sourceopen\",\"webkitsourceopen\"]),Tr=ve([\"sourceclose\",\"webkitsourceclose\"]),Er=ve([\"sourceended\",\"webkitsourceended\"]),ko=ve([\"update\"]),Mo=ve([\"removesourcebuffer\"]),Mh=ve([\"keymessage\",\"message\"]),Oh=ve([\"keyadded\",\"ready\"]),wh=ve([\"keyerror\",\"error\"]),Dh=ve([\"keystatuseschange\"]),Bh=ve([\"seeking\"]),Nh=ve([\"seeked\"]),Uh=ve([\"ended\"]);var Oo=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function _r(n){if(n>=Oo.length)throw new Error(\"Unable to parse base64 string.\");let e=Oo[n];if(e===255)throw new Error(\"Unable to parse base64 string.\");return e}function Rr(n){if(typeof Uint8Array.fromBase64==\"function\")return Uint8Array.fromBase64(n);let e=n.length%4,t=n;e!==0&&(c.warn(\"utils\",\"base64ToBytes: base64 given miss padding\",{padding:e}),t+=e===3?\"=\":e===2?\"==\":\"===\");let r=t.indexOf(\"=\");if(r!==-1&&r<t.length-2)throw new Error(\"Unable to parse base64 string.\");let i=t.endsWith(\"==\")?2:t.endsWith(\"=\")?1:0,a=t.length,o=new Uint8Array(a/4*3),s;for(let d=0,u=0;d<a;d+=4,u+=3)s=_r(t.charCodeAt(d))<<18|_r(t.charCodeAt(d+1))<<12|_r(t.charCodeAt(d+2))<<6|_r(t.charCodeAt(d+3)),o[u]=s>>16,o[u+1]=s>>8&255,o[u+2]=s&255;return o.subarray(0,o.length-i)}function At(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i==\"number\"?i:i.length;let a=new Uint8Array(r),o=0;for(t=-1;++t<e;)i=n[t],typeof i==\"number\"?o+=i:i.length>0&&(a.set(i,o),o+=i.length);return a}function wo(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function Ii(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function te(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function gt(n,e){return(n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3])*4294967296+n[e+4]*16777216+n[e+5]*65536+n[e+6]*256+n[e+7]}function Do(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer)}function Ie(n,e,t){if(typeof String.prototype.startsWith==\"function\")return n.startsWith(e,t);let r=typeof t==\"number\"?Math.max(t,0):0;return n.substring(r,r+e.length)===e}function Ze(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=te(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=gt(n,r+8)}if(isNaN(i)||i<=0)return-1;if(te(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function Pr(n){let e=0,t=[],r=null;for(;e<=n.length;){if(e===n.length){r=null;break}r=n.subarray(e,1/0);let i=Ze(r,1836019558);if(i<0)break;let a=te(n,i+e),o=e+i+a;if(o>n.length)break;let s=Ze(r,1835295092);if(s<0)break;let d=te(n,s+e),u=e+s+d;if(u>n.length)break;let f=Math.max(o,u),l=n.subarray(e,f);t.push(l),e=f}return t.length===0?[null,r]:[t,r]}function bi(){let{PREVENT_PSSH_PATCHING:n}=L.getCurrent();return!(n||tt.device===tt.DEVICES.StreamaMdp1001S)}function mu(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function cu(n,e,t){return n.slice(e,t)}var Si=typeof Uint8Array.prototype.slice==\"function\"?cu:mu;function yi(n,e){let t=n;for(let r of e){let i=re(t,r);if(i===null)return null;t=i}return t}function re(n,e){let t=nt(n,e);return t!==null?n.subarray(t[1],t[2]):null}function Bo(n,e){let t=[],r=n;for(;;){let i=nt(r,e);if(i===null)return t;Se(i[2]!==0&&r.length!==0),t.push(r.subarray(i[1],i[2])),r=r.subarray(i[2])}}function nt(n,e){let t=n.length,r=0,i,a=0,o;for(;r+8<=t;){if(o=r,a=te(n,o),o+=4,i=te(n,o),o+=4,a===0)a=t-r;else if(a===1){if(o+8>t)return null;a=gt(n,o),o+=8}if(a<0)throw new Error(\"ISOBMFF: Size out of range\");if(i===e)return e===1970628964&&(o+=16),[r,o,r+a];r+=a}return null}function Ti(n){return[n>>>24&255,n>>>16&255,n>>>8&255,n&255].map(e=>String.fromCharCode(e)).join(\"\")}function vr(n){let e=re(n,1836019574);if(e===null)return[];let t=[],r=e;for(;r.length>0;){let i;try{i=nt(r,1886614376)}catch(s){let d=s instanceof Error?s:new Error(\"Unknown ISOBMFF box reading error\");return c.warn(\"isobmff\",\"Error while removing PSSH from ISOBMFF\",d),t}if(i===null)return t;let a=Si(r,i[0],i[2]),o=No(a,i[1]-i[0]);o!==void 0&&t.push({systemId:o,data:a}),bi()&&(r[i[0]+4]=102,r[i[0]+5]=114,r[i[0]+6]=101,r[i[0]+7]=101),r=r.subarray(i[2])}return t}function No(n,e){if(n[e]>1){c.warn(\"isobmff\",\"un-handled PSSH version\");return}let t=e+4;if(t+16>n.length)return;let r=Si(n,t,t+16);return Sr(r)}function Cr(n){let e=re(n,1836019574);if(e===null)return;let t=0;for(;t<e.length;){let r;try{r=nt(e.subarray(t),1953653099)}catch(a){let o=a instanceof Error?a:\"\";c.warn(\"isobmff\",\"Error while iterating trak boxes in ISOBMFF\",o);return}if(r===null)break;let i=re(e.subarray(t),1953653099);i!==null&&pu(i),t+=r[2]}}function pu(n){let e=[1685480259,1685485123,1685485379],t=re(n,1835297121);if(t===null)return;let r=re(t,1835626086);if(r===null)return;let i=re(r,1937007212);if(i===null)return;let a=re(i,1937011556);if(a===null)return;let o=a.subarray(8),s=0;for(;s<o.length&&!(s+8>o.length);){let d=te(o,s),u=te(o,s+4);if(d<8||s+d>o.length)break;let f=o.subarray(s,s+d),l=gu(f);if(l===null){s+=d;continue}let m=f.subarray(l);for(let g of e){let h=0;for(;h<m.length;){let b;try{b=nt(m.subarray(h),g)}catch(S){let T=S instanceof Error?S:\"\";c.warn(\"isobmff\",\"Error while patching out dvcC/dvvC/dvwC from ISOBMFF\",T);break}if(b===null)break;c.hasLevel(\"DEBUG\")&&c.debug(\"isobmff\",`Found '${Ti(g)}' inside '${Ti(u)}', overwriting with 'free'`);let p=h+b[0]+4;m[p]=102,m[p+1]=114,m[p+2]=101,m[p+3]=101,h+=b[2]-b[0]}}s+=d}}function gu(n){for(let e=16;e+8<=n.length;e++){let t=te(n,e);if(t<8||e+t>n.length)continue;let r=!0;for(let i=e+4;i<e+8;i++)if(n[i]<32||n[i]>126){r=!1;break}if(r)return e}return null}function Ei(n){let e=re(n,1836019558);return e===null?null:re(e,1953653094)}function Uo(n){return Bo(n,1836019558).reduce((t,r)=>{let i=re(r,1953653094);return i!==null&&t.push(i),t},[])}function _i(n){return re(n,1835295092)}function Ri(n){let e=re(n,1836019574);if(e===null)return null;let t=re(e,1953653099);return t===null?null:re(t,1835297121)}function Lo(n,e=0){return re(n.subarray(e),1701671783)}function mn(n,e){let t=nt(n,1936286840);if(t===null)return null;let r=e,i=t[2]-t[0],a=t[1],o=n[a];a+=8;let s=te(n,a);a+=4;let d;if(o===0)d=te(n,a),a+=4,r+=te(n,a)+i,a+=4;else if(o===1)d=gt(n,a),a+=8,r+=gt(n,a)+i,a+=8;else return null;let u=[];a+=2;let f=wo(n,a);for(a+=2;--f>=0;){let l=te(n,a);a+=4;let m=(l&2147483648)>>>31,g=l&2147483647;if(m===1)throw new Error(\"sidx with reference_type `1` not yet implemented\");let h=te(n,a);a+=4,a+=4,u.push({time:d,duration:h,timescale:s,range:[r,r+g-1]}),d+=h,r+=g}return u}function Pi(n){let e=Ei(n);if(e===null)return;let t=re(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return gt(t,4);if(r===0)return te(t,4)}function hu(n){let e=re(n,1952868452);if(e===null)return;let t=1,r=Ii(e,t);t+=3;let i=(r&1)>0,a=(r&2)>0;return(r&8)>0?(t+=4,i&&(t+=8),a&&(t+=4),te(e,t)):void 0}function vi(n){let e=Uo(n);if(e.length===0)return;let t=0;for(let r of e){let i=re(r,1953658222);if(i===null)return;let a=0,o=i[a];if(a+=1,o>1)return;let s=Ii(i,a);a+=3;let d=(s&256)>0,u=0;if(!d&&(u=hu(r),u===void 0))return;let f=(s&1)>0,l=(s&4)>0,m=(s&512)>0,g=(s&1024)>0,h=(s&2048)>0,b=te(i,a);a+=4,f&&(a+=4),l&&(a+=4);let p=b,S=0;for(;p-- >0;)d?(S+=te(i,a),a+=4):S+=u,m&&(a+=4),g&&(a+=4),h&&(a+=4);t+=S}return t}function cn(n){let e=Ri(n);if(e===null)return;let t=re(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return te(t,r+16);if(i===0)return te(t,r+8)}function Fo(n){let e=[],t=0;for(;t<n.length;){let r=Lo(n,t);if(r===null)break;let i=r.length;t+=i;let a=r[0];if(a!==0)c.warn(\"isobmff\",\"EMSG version \"+a.toString()+\" not supported.\");else{let o=4,{end:s,string:d}=ui(r,o);o=s;let{end:u,string:f}=ui(r,o);o=u;let l=te(r,o);o+=4;let m=te(r,o);o+=4;let g=te(r,o);o+=4;let h=te(r,o);o+=4;let b=r.subarray(o,i),p={schemeIdUri:d,value:f,timescale:l,presentationTimeDelta:m,eventDuration:g,id:h,messageData:b};e.push(p)}}if(e.length!==0)return e}function zo(n){let e=yi(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=re(t,1701733238),i=0;if(r===null?(i=28,r=re(t,1701733217)):i=78,r===null)return null;let a=yi(r.subarray(i),[1936289382,1935894633,1952804451]);if(a===null||a.byteLength<24)return null;let o=a.subarray(8,24);return o.every(s=>s===0)?null:o}function fe(n,e,t){if(typeof Array.prototype.includes==\"function\")return n.includes(e,t);let r=n.length>>>0;if(r===0)return!1;let i=t|0,a=i>=0?Math.min(i,r-1):Math.max(r+i,0),o=(s,d)=>s===d||typeof s==\"number\"&&typeof d==\"number\"&&isNaN(s)&&isNaN(d);for(;a<r;){if(o(n[a],e))return!0;a++}return!1}function Iu(n,e){let{mimeType:t,codecs:r}=Wo(n),{mimeType:i,codecs:a}=Wo(e);if(t!==i||r===\"\"||a===\"\")return!1;let o=r.split(\".\")[0];o=o===\"hev1\"?\"hvc1\":o;let s=a.split(\".\")[0];return s=s===\"hev1\"?\"hvc1\":s,o===s}var bu=7;function Wo(n){var i;let[e,...t]=n.split(\";\"),r=(i=j(t,a=>Ie(a,\"codecs=\")))!=null?i:\"\";return r=r.substring(bu),r[0]==='\"'&&(r=r.substring(1,r.length-1)),{mimeType:e,codecs:r}}var Vo=Iu;function Ci(n,e){return typeof Array.prototype.flatMap==\"function\"?n.flatMap(e):n.reduce((t,r)=>{let i=e(r);return Array.isArray(i)?(t.push(...i),t):(t.push(i),t)},[])}function Ai(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function qo(n){var t,r,i,a;let e=[];for(let o of n.periods){let s=[...(t=o.adaptations.video)!=null?t:[],...(r=o.adaptations.audio)!=null?r:[]];for(let d of s)if(d.supportStatus.hasCodecWithUndefinedSupport){for(let u of d.representations)if(u.isSupported===void 0)for(let f of(i=u.baseCodecs)!=null?i:[])e.push({mimeType:(a=u.mimeType)!=null?a:\"\",codec:f})}}return e}var Go=[];function rt(n){fe(Go,n)||(console.warn(n),Go.push(n))}var pn=class{constructor(e){this.supportMap=new Map,this.addCodecs(e)}addCodecs(e){for(let t of e){let r=this.supportMap.get(t.mimeType);r===void 0&&(r=new Map,this.supportMap.set(t.mimeType,r)),r.set(t.codec,{supported:t.supported,supportedIfEncrypted:t.supportedIfEncrypted})}}isSupported(e,t,r){let i=this.supportMap.get(e);if(i===void 0)return;let a=i.get(t);if(a!==void 0)return r?a.supportedIfEncrypted:a.supported}};var ht=class{constructor(e,t,r){if(this.id=e.id,this.adaptations=Su(e.adaptations,t,r),Ho(this.adaptations.video)&&Ho(this.adaptations.audio))throw new ee(\"MANIFEST_PARSE_ERROR\",\"The manifest has no video nor audio tracks.\");this.thumbnailTracks=e.thumbnailTracks.map(i=>({id:i.id,mimeType:i.mimeType,index:i.index,cdnMetadata:i.cdnMetadata,height:i.height,width:i.width,horizontalTiles:i.horizontalTiles,verticalTiles:i.verticalTiles,start:i.start,end:i.end,tileDuration:i.tileDuration})),this.duration=e.duration,this.start=e.start,!v(this.duration)&&!v(this.start)&&(this.end=this.start+this.duration),this.streamEvents=e.streamEvents===void 0?[]:e.streamEvents}refreshCodecSupport(e,t){Object.keys(this.adaptations).forEach(r=>{let i=this.adaptations[r];if(i!==void 0)for(let a of i){if(!a.supportStatus.hasCodecWithUndefinedSupport)continue;let o=a.supportStatus.hasSupportedCodec;a.refreshCodecSupport(t),o!==!1&&a.supportStatus.hasSupportedCodec===!1&&e.push(a)}},{})}getAdaptations(){return mi(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return j(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return To(this,e)}containsTime(e,t){return fi(this,e,t)}getMetadataSnapshot(){let e={},t=this.getAdaptations();for(let r of t){let i=e[r.type];i===void 0&&(i=[],e[r.type]=i),i.push(r.getMetadataSnapshot())}return{start:this.start,end:this.end,id:this.id,streamEvents:this.streamEvents,adaptations:e,thumbnailTracks:this.thumbnailTracks.map(r=>({id:r.id,mimeType:r.mimeType,height:r.height,width:r.width,horizontalTiles:r.horizontalTiles,verticalTiles:r.verticalTiles,start:r.start,end:r.end,tileDuration:r.tileDuration}))}}};function Ho(n){return Array.isArray(n)?n.length===0:!0}function Su(n,e,t){let r={};for(let[i,a]of Object.entries(n))v(a)||(r[i]=a.map(o=>new ct(o,e,{representationFilter:t})).filter(o=>o.representations.length>0));return r}function gn(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[],updatedThumbnailTracks:[],removedThumbnailTracks:[],addedThumbnailTracks:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.thumbnailTracks,a=e.thumbnailTracks;for(let d=0;d<i.length;d++){let u=i[d],f=ae(a,l=>l.id===u.id);if(f===-1){c.warn(\"manifest\",'ThumbnailTrack \"'+i[d].id+'\" not found when merging.');let[l]=i.splice(d,1);d--,r.removedThumbnailTracks.push({id:l.id})}else{let[l]=a.splice(f,1);u.mimeType=l.mimeType,u.height=l.height,u.width=l.width,u.horizontalTiles=l.horizontalTiles,u.verticalTiles=l.verticalTiles,u.start=l.start,u.end=l.end,u.tileDuration=l.tileDuration,u.cdnMetadata=l.cdnMetadata,t===0?u.index._replace(l.index):u.index._update(l.index),r.updatedThumbnailTracks.push({id:u.id,mimeType:u.mimeType,height:u.height,width:u.width,horizontalTiles:u.horizontalTiles,verticalTiles:u.verticalTiles,start:u.start,end:u.end,tileDuration:u.tileDuration})}}a.length>0&&(c.warn(\"manifest\",`${a.length} new Thumbnail tracks found when merging.`),r.addedThumbnailTracks.push(...a.map(d=>({id:d.id,mimeType:d.mimeType,height:d.height,width:d.width,horizontalTiles:d.horizontalTiles,verticalTiles:d.verticalTiles,start:d.start,end:d.end,tileDuration:d.tileDuration}))),n.thumbnailTracks.push(...a));let o=n.getAdaptations(),s=e.getAdaptations();for(let d=0;d<o.length;d++){let u=o[d],f=ae(s,l=>l.id===u.id);if(f===-1){c.warn(\"manifest\",'Adaptation \"'+o[d].id+'\" not found when merging.');let[l]=o.splice(d,1);d--,r.removedAdaptations.push({id:l.id,trackType:l.type})}else{let[l]=s.splice(f,1),m=[],g=[],h=[];r.updatedAdaptations.push({adaptation:u.id,trackType:u.type,updatedRepresentations:m,addedRepresentations:g,removedRepresentations:h});let b=u.representations,p=l.representations.slice();for(let S=0;S<b.length;S++){let T=b[S],R=ae(p,E=>E.id===T.id);if(R===-1){c.warn(\"manifest\",`Representation \"${b[S].id}\" not found when merging.`);let[E]=b.splice(S,1);S--,h.push(E.id)}else{let[E]=p.splice(R,1);m.push(T.getMetadataSnapshot()),T.cdnMetadata=E.cdnMetadata,t===0?T.index._replace(E.index):T.index._update(E.index)}}p.length>0&&(c.warn(\"manifest\",`${p.length} new Representations found when merging.`),u.representations.push(...p),g.push(...p.map(S=>S.getMetadataSnapshot())))}}if(s.length>0){c.warn(\"manifest\",`${s.length} new Adaptations found when merging.`);for(let d of s){let u=n.adaptations[d.type];u===void 0?n.adaptations[d.type]=[d]:u.push(d),r.addedAdaptations.push(d.getMetadataSnapshot())}}return r}function Ko(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let a=0;a<e.length;a++){let o=e[a],s=r,d=n[s];for(;d!==void 0&&d.id!==o.id;)s++,d=n[s];if(d!==void 0){let u=gn(d,o,0);t.updatedPeriods.push({period:{id:d.id,start:d.start,end:d.end,duration:d.duration,streamEvents:d.streamEvents},result:u});let f=e.slice(r,a),l=s-r,m=n.splice(r,l,...f);t.removedPeriods.push(...m.map(g=>({id:g.id,start:g.start,end:g.end}))),t.addedPeriods.push(...f.map(g=>g.getMetadataSnapshot())),r=a+1}}if(r>n.length)return c.error(\"manifest\",\"error when updating Periods\"),t;if(r<n.length){let a=n.splice(r,n.length-r);t.removedPeriods.push(...a.map(o=>({id:o.id,start:o.start,end:o.end})))}let i=e.slice(r,e.length);return i.length>0&&(n.push(...i),t.addedPeriods.push(...i.map(a=>a.getMetadataSnapshot()))),t}function jo(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]};if(n.length===0)return n.splice(0,0,...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t;if(e.length===0)return t;let r=n[n.length-1];if(r.start<e[0].start){if(r.end!==e[0].start)throw new ee(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=ae(n,({id:s})=>s===e[0].id);if(i<0)throw new ee(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: incoherent data\");let a=gn(n[i],e[0],1);t.updatedPeriods.push({period:H(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:a});let o=i+1;for(let s=1;s<e.length;s++){let d=e[s],u=-1;for(let f=o;f<n.length;f++)if(d.id===n[f].id){u=f;break}if(u<0){let f=-1;for(let g=o;g<n.length;g++)if(d.start<n[g].start){f=g;break}let l=f-o,m=n.splice(o,l,d);t.addedPeriods.push(d.getMetadataSnapshot()),t.removedPeriods.push(...m.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(u>o){c.warn(\"manifest\",\"old Periods not found in new when updating, removing\");let l=n.splice(o,u-o);t.removedPeriods.push(...l.map(m=>({id:m.id,start:m.start,end:m.end}))),u=o}let f=gn(n[u],d,0);t.updatedPeriods.push({period:H(n[u].getMetadataSnapshot(),{adaptations:void 0}),result:f})}o++}if(o<n.length){c.warn(\"manifest\",\"Ending Periods not found in new when updating, removing\");let s=n.splice(o,n.length-o);t.removedPeriods.push(...s.map(d=>({id:d.id,start:d.start,end:d.end})))}return t}var yu=Me(),hn=class extends ce{constructor(e,t){var a;super();let{representationFilter:r,manifestUpdateUrl:i}=t;this.manifestFormat=0,this.id=yu(),this.expired=(a=e.expired)!=null?a:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new pn([]),this.periods=e.periods.map(o=>new ht(o,this._cachedCodecSupport,r)).sort((o,s)=>o.start-s.start),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.timeBounds=e.timeBounds,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.uris=e.uris===void 0?[]:e.uris,this.updateUrl=i,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.availabilityStartTime=e.availabilityStartTime,this.publishTime=e.publishTime}updateCodecSupport(e=[]){if(e.length===0)return null;this._cachedCodecSupport.addCodecs(e);let t=[];for(let r of this.periods)r.refreshCodecSupport(t,this._cachedCodecSupport);return this.trigger(\"supportUpdate\",null),t.length>0?new ee(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:t.map(vt)}):null}getPeriod(e){return j(this.periods,t=>e===t.id)}getPeriodForTime(e){return Eo(this,e)}getNextPeriod(e){return j(this.periods,t=>t.start>e)}getPeriodAfter(e){return _o(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return bo(this)}getLivePosition(){return So(this)}getMaximumSafePosition(){return yo(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=Tu(this,e);t.length>0&&this.trigger(\"decipherabilityUpdate\",t)}addRepresentationsToAvoid(e){let t=[];for(let r of e){let i=this.getPeriod(r.period.id);if(i===void 0)continue;let a=i.getAdaptation(r.adaptation.id);if(a===void 0)continue;let o=a.getRepresentation(r.representation.id);o!==void 0&&(o.shouldBeAvoided=!0,t.push({manifest:this,period:i,adaptation:a,representation:o}))}t.length>0&&this.trigger(\"representationAvoidanceUpdate\",t)}getAdaptations(){rt(\"manifest.getAdaptations() is deprecated. Please use manifest.period[].getAdaptations() instead\");let e=this.periods[0];if(e===void 0)return[];let t=e.adaptations,r=[];for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i)){let a=t[i];r.push(...a)}return r}getAdaptationsForType(e){rt(\"manifest.getAdaptationsForType(type) is deprecated. Please use manifest.period[].getAdaptationsForType(type) instead\");let t=this.periods[0];if(t===void 0)return[];let r=t.adaptations[e];return r===void 0?[]:r}getAdaptation(e){return rt(\"manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead\"),j(this.getAdaptations(),({id:t})=>e===t)}getMetadataSnapshot(){let e=[];for(let t of this.periods)e.push(t.getMetadataSnapshot());return{manifestFormat:1,id:this.id,periods:e,isDynamic:this.isDynamic,isLive:this.isLive,isLastPeriodKnown:this.isLastPeriodKnown,suggestedPresentationDelay:this.suggestedPresentationDelay,clockOffset:this.clockOffset,uris:this.uris,availabilityStartTime:this.availabilityStartTime,timeBounds:this.timeBounds}}getCodecsWithUnknownSupport(){return qo(this)}_performUpdate(e,t){this.availabilityStartTime=e.availabilityStartTime,this.expired=e.expired,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.transport=e.transport,this.publishTime=e.publishTime;let r;if(t===0)this.timeBounds=e.timeBounds,this.uris=e.uris,r=Ko(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=jo(this.periods,e.periods);let i=this.getMinimumSafePosition();for(;this.periods.length>0;){let a=this.periods[0];if(a.end===void 0||a.end>i)break;this.periods.shift()}}this.updateCodecSupport(),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.trigger(\"manifestUpdate\",r)}};function Tu(n,e){let t=[];for(let r of n.periods)for(let i of r.getAdaptations()){let a=!0;for(let o of i.representations){let s={manifest:n,period:r,adaptation:i,representation:o},d=e(s);d!==!1&&(a=!1),d!==o.decipherable&&(t.push(s),o.decipherable=d,d===!0?i.supportStatus.isDecipherable=!0:d===void 0&&i.supportStatus.isDecipherable===!1&&(i.supportStatus.isDecipherable=void 0),c.debug(\"manifest\",`Decipherability changed for \"${o.id}\"`,`(${o.bitrate})`,String(o.decipherable)))}a&&(i.supportStatus.isDecipherable=!1)}return t}function it(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function He(n){if(v(n))return null;let{period:e,adaptation:t,representation:r,segment:i}=n;return{t:t.type[0],p:e.id,a:t.id,r:r.id,ss:i.isInit?null:i.time,se:i.isInit||!i.complete?null:i.end}}var It=hn;var xt=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};function Ar(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,a){t.isCancelled()||a.clearSignal.isCancelled()||r.onUpdate(i,{clearSignal:a.clearSignal,emitCurrentValue:a.includeLastObservation})},deriveReadOnlyObserver(i){return Ar(this,i,t)}}}var In=class{constructor(e,t,r,i){this._src=e,this._contentId=t,this._messageSender=r,this._cancelSignal=i}getCurrentTime(){}getReadyState(){}getIsPaused(){}getReference(){return this._src}setPlaybackRate(e){this._messageSender({type:\"update-playback-rate\",contentId:this._contentId,value:e})}getPlaybackRate(){}listen(e,t){this._cancelSignal.isCancelled()||t.clearSignal.isCancelled()||this._src.onUpdate(e,{clearSignal:t.clearSignal,emitCurrentValue:t.includeLastObservation})}deriveReadOnlyObserver(e){return Ar(this,e,this._cancelSignal)}};var at=typeof queueMicrotask==\"function\"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};var kt=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],a=!1;for(;!a&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),a=!0):t++;a||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error(\"Invalid index.\");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return j(this._array,e)}has(e){return fe(this._array,e)}removeElement(e){let t=this._array.indexOf(e);if(t>=0)return this._array.splice(t,1),t}head(){return this._array[0]}last(){return this._array[this._array.length-1]}shift(){return this._array.shift()}pop(){return this._array.pop()}};var bn=class{constructor(e){this._weakMap=new WeakMap,this._fn=e}get(e){let t=this._weakMap.get(e);if(t===void 0){let r=this._fn(e);return this._weakMap.set(e,r),r}else return t}destroy(e){this._weakMap.delete(e)}};var Eu=.016666666666666666;function Yo(n,e){return Math.abs(n-e)<Eu}function $o(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function _u(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Ru(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(Zo(t,r)){let i=$o(t,r);n.splice(--e,2,i)}}return n}function xi(n,e){return n.end<=e.start}function Qo({start:n,end:e},t){return n<=t&&t<e}function Xo(n,e){return Qo(n,e.start)||n.start<e.end&&e.end<n.end||Qo(e,n.start)}function Zo(n,e){return Yo(e.start,n.end)||Yo(e.end,n.start)}function ki(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function Pu(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function Jo(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let a=n[i].start,o=n[i].end;e<a||e>=o?r.push({start:a,end:o}):t={start:a,end:o}}return{outerRanges:r,innerRange:t}}function xr(n,e){let t=Pu(n,e);return t!==null?t.end-e:1/0}function bt(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],a=Xo(t,i),o=Zo(t,i);if(a||o)t=$o(t,i),n.splice(r--,1);else if(r===0){if(xi(t,n[0]))break}else if(xi(n[r-1],t)&&xi(t,i))break}return n.splice(r,0,t),Ru(_u(n))}function vu(n,e){let t=[];for(let r=0;r<e.length;r++)Xo(n,e[r])&&t.push(e[r]);return t}function kr(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],a=[],o=vu(i,e);if(o.length>0)for(let s=0;s<o.length;s++){let d=o[s];a.push({start:Math.max(i.start,d.start),end:Math.min(i.end,d.end)})}if(a.length===0)t.push(i);else{let s=i.start;for(let d=0;d<a.length;d++)a[d].start>s&&t.push({start:s,end:a[d].start}),s=a[d].end;s<i.end&&t.push({start:s,end:i.end})}}return t}function Mr({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let a,o=[];e.listen(d=>{a=d.position.getWanted(),o=d.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){o!==null&&Cu(n,a,o,t.getValue(),r.getValue(),i).catch(d=>{if(i.isCancelled()&&z.isCancellationError(d))return;let u=d instanceof Error?d.message:\"Unknown error\";c.error(\"Stream\",\"Could not run BufferGarbageCollector:\",u)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i})}async function Cu(n,e,t,r,i,a){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let o=[],{innerRange:s,outerRanges:d}=Jo(t,e),u=()=>{if(isFinite(r)){for(let l of d)e-r>=l.end?o.push(l):e>=l.end&&e-r>l.start&&e-r<l.end&&o.push({start:l.start,end:e-r});v(s)||e-r>s.start&&o.push({start:s.start,end:e-r})}},f=()=>{if(isFinite(i)){for(let l of d)e+i<=l.start?o.push(l):e<=l.start&&e+i<l.end&&e+i>l.start&&o.push({start:e+i,end:l.end});v(s)||e+i<s.end&&o.push({start:e+i,end:s.end})}};u(),f();for(let l of o)if(l.start<l.end){if(c.debug(\"Stream\",\"cleaning range from SegmentSink\",{start:l.start,end:l.end}),a.cancellationError!==null)throw a.cancellationError;await n.removeBuffer(l.start,l.end)}}var Sn=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=F();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>it(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(this._history=this._history.splice(r)),this._history.length>this._maxHistoryLength){let i=this._history.length-this._maxHistoryLength;this._history=this._history.splice(i)}}};var yn=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=L.getCurrent();this._inventory=[],this._bufferedHistory=new Sn(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var d,u,f,l,m,g,h;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:a}=L.getCurrent(),o=i==null?void 0:i.infos.adaptation.type;if(c.hasLevel(\"DEBUG\")){let b=e.map(p=>`${p.start}-${p.end}`).join(\",\");c.debug(\"SI\",`synchronizing ${o!=null?o:\"unknown\"} buffered ranges:`,b)}let s=e.length;for(let b=0;b<s;b++){if(i===void 0)return;let p=e[b].start,S=e[b].end;if(S-p<a){c.warn(\"SI\",\"skipped range when synchronizing because it was too small\",{t:o,rangeStart:p,rangeEnd:S});continue}let T=r;for(;i!==void 0&&((d=i.bufferedEnd)!=null?d:i.end)-p<a;)i=t[++r];let R=null,E=r-T;if(E>0){let P=t[T+E-1];R={end:(u=P.bufferedEnd)!=null?u:P.end,precizeEnd:P.precizeEnd},c.debug(\"SI\",`${E} segments GCed.`,{t:o});let x=t.splice(T,E);for(let A of x)A.bufferedStart===void 0&&A.bufferedEnd===void 0&&A.status!==2&&this._bufferedHistory.addBufferedSegment(A.infos,null);r=T}if(i===void 0)return;if(S-((f=i.bufferedStart)!=null?f:i.start)>=a){if(Au(i,p,R,o),r===t.length-1){ts(i,S,o);return}i=t[++r];let P=(l=i.bufferedStart)!=null?l:i.start,x=(m=i.bufferedEnd)!=null?m:i.end,A=b<s-1?e[b+1].start:void 0;for(;i!==void 0&&!(S<P||S-P<a&&x-S>=a||A!==void 0&&S-P<x-A);){let k=t[r-1];k.bufferedEnd===void 0&&(i.precizeStart?k.bufferedEnd=i.start:k.infos.segment.complete?k.bufferedEnd=k.end:k.bufferedEnd=i.start,c.debug(\"SI\",\"calculating buffered end of contiguous segment\",{t:o,prevSegmentBufferedEnd:k.bufferedEnd,pse:k.end})),i.bufferedStart=k.bufferedEnd,i=t[++r],i!==void 0&&(P=(g=i.bufferedStart)!=null?g:i.start,x=(h=i.bufferedEnd)!=null?h:i.end)}}let C=t[r-1];C!==void 0&&ts(C,S,o)}if(!v(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:b}=L.getCurrent(),p=F();for(let S=r;S<t.length;S++){let T=t[S];p-T.insertionTs>=b&&(c.debug(\"SI\",\"A segment at the end has been completely GCed\",He(T.infos)),T.bufferedStart===void 0&&T.bufferedEnd===void 0&&T.status!==2&&this._bufferedHistory.addBufferedSegment(T.infos,null),t.splice(S,1),S--)}}o!==void 0&&c.hasLevel(\"DEBUG\")&&c.debug(\"SI\",`current ${o} inventory timeline:\n`+xu(this._inventory))}insertChunk({period:e,adaptation:t,representation:r,segment:i,chunkSize:a,start:o,end:s},d,u){if(i.isInit)return;let f=t.type;if(o>=s){c.warn(\"SI\",\"Invalid chunked inserted: starts before it ends\",{t:f,start:o,end:s});return}let l=this._inventory,m={status:d?0:2,insertionTs:u,chunkSize:a,splitted:!1,start:o,end:s,precizeStart:!1,precizeEnd:!1,bufferedStart:void 0,bufferedEnd:void 0,infos:{segment:i,period:e,adaptation:t,representation:r}};for(let h=l.length-1;h>=0;h--){let b=l[h];if(b.start<=o)if(b.end<=o){for(c.debug(\"SI\",\"Pushing segment strictly after previous one.\",{t:f,pse:b.end,ss:o}),this._inventory.splice(h+1,0,m),h+=2;h<l.length&&l[h].start<m.end;){if(l[h].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,pss:l[h].start,ss:o,se:s}),l[h].start=m.end,l[h].bufferedStart=void 0,l[h].precizeStart=l[h].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l.splice(h,1)}return}else if(b.start===o)if(b.end<=s){for(c.debug(\"SI\",\"Segment pushed replace another one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end}),this._inventory.splice(h,1,m),h+=1;h<l.length&&l[h].start<m.end;){if(l[h].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l[h].start=m.end,l[h].bufferedStart=void 0,l[h].precizeStart=l[h].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l.splice(h,1)}return}else{c.debug(\"SI\",\"Segment pushed ends before another with the same start\",{t:f,ss:o,se:s,pse:b.end}),l.splice(h,0,m),b.start=m.end,b.bufferedStart=void 0,b.precizeStart=b.precizeStart&&m.precizeEnd;return}else if(b.end<=m.end){for(c.debug(\"SI\",\"Segment pushed updates end of previous one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end}),this._inventory.splice(h+1,0,m),b.end=m.start,b.bufferedEnd=void 0,b.precizeEnd=b.precizeEnd&&m.precizeStart,h+=2;h<l.length&&l[h].start<m.end;){if(l[h].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[h].start}),l[h].start=m.end,l[h].bufferedStart=void 0,l[h].precizeStart=l[h].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l.splice(h,1)}return}else{c.warn(\"SI\",\"Segment pushed is contained in a previous one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end});let p={status:b.status,insertionTs:b.insertionTs,chunkSize:b.chunkSize,splitted:!0,start:m.end,end:b.end,precizeStart:b.precizeStart&&b.precizeEnd&&m.precizeEnd,precizeEnd:b.precizeEnd,bufferedStart:void 0,bufferedEnd:b.end,infos:b.infos};b.end=m.start,b.splitted=!0,b.bufferedEnd=void 0,b.precizeEnd=b.precizeEnd&&m.precizeStart,l.splice(h+1,0,m),l.splice(h+2,0,p);return}}let g=this._inventory[0];if(g===void 0){c.debug(\"SI\",\"first segment pushed\",{t:f,ss:o,se:s}),this._inventory.push(m);return}if(g.start>=s)c.debug(\"SI\",\"Segment pushed comes before all previous ones\",{t:f,ss:o,se:s,pss:g.start}),this._inventory.splice(0,0,m);else if(g.end<=s){for(c.debug(\"SI\",\"Segment pushed starts before and completely recovers the previous first one\",{t:f,ss:o,se:s,pss:g.start,pse:g.end}),this._inventory.splice(0,1,m);l.length>1&&l[1].start<m.end;){if(l[1].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[1].start,pse:l[1].end}),l[1].start=m.end,l[1].bufferedStart=void 0,l[1].precizeStart=m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[1].start,pse:l[1].end}),l.splice(1,1)}return}else{c.debug(\"SI\",\"Segment pushed start of the next one\",f,{ss:o,se:s,pss:g.start,pse:g.end}),g.start=s,g.bufferedStart=void 0,g.precizeStart=m.precizeEnd,this._inventory.splice(0,0,m);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(it(t[i].infos,e)){let a=!1;r.length>0&&(a=!0,r.length===1&&(c.warn(\"SI\",\"Completed Segment is splitted.\",He(e)),r[0].splitted=!0));let o=i,s=t[i].chunkSize;for(i+=1;i<t.length&&it(t[i].infos,e);){let m=t[i].chunkSize;s!==void 0&&m!==void 0&&(s+=m),i++}let d=i-1,u=d-o,f=t[d].end,l=t[d].bufferedEnd;u>0&&(this._inventory.splice(o+1,u),i-=u),this._inventory[o].status===0&&(this._inventory[o].status=1),this._inventory[o].chunkSize=s,this._inventory[o].end=f,this._inventory[o].bufferedEnd=l,this._inventory[o].splitted=a,r.push(this._inventory[o])}if(r.length===0)c.warn(\"SI\",\"Completed Segment not found\",He(e));else for(let i of r)i.bufferedStart!==void 0&&i.bufferedEnd!==void 0?i.status!==2&&this._bufferedHistory.addBufferedSegment(i.infos,{start:i.bufferedStart,end:i.bufferedEnd}):c.debug(\"SI\",\"buffered range not known after sync. Skipping history.\",{ss:i.start,se:i.end})}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function Mi(n){if(n.bufferedStart===void 0||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=L.getCurrent();return Math.abs(e-n.bufferedStart)<=i&&(n.bufferedEnd===void 0||n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3))}function es(n){if(n.bufferedEnd===void 0||!n.infos.segment.complete||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=L.getCurrent();return Math.abs(t-n.bufferedEnd)<=i&&n.bufferedStart!==void 0&&n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3)}function Au(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:a,SEGMENT_SYNCHRONIZATION_DELAY:o}=L.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(c.debug(\"SI\",\"Segment partially GCed at the start\",{t:r,firstsbs:n.bufferedStart,rs:e}),n.bufferedStart=e),!n.precizeStart&&Mi(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)c.debug(\"SI\",\"buffered start is precize start\",{t:r,firstss:n.start}),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))c.debug(\"SI\",\"buffered start is end of previous segment\",{t:r,rs:e,firstss:n.start,lastdelse:t.end}),n.bufferedStart=t.end,Mi(n)&&(n.start=t.end,n.precizeStart=!0);else if(n.start-e<=i){let s=F();if(n.start-e>=a&&s-n.insertionTs<o){c.debug(\"SI\",\"Ignored bufferedStart synchronization\",{t:r,rs:e,firstss:n.start,delta:s-n.insertionTs});return}c.debug(\"SI\",\"found true buffered start\",{t:r,rs:e,firstss:n.start}),n.bufferedStart=e,Mi(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)c.debug(\"SI\",\"range start too far from expected start\",{t:r,rs:e,firstss:n.start}),n.bufferedStart=n.start;else{let s=F();if(n.start-e>=a&&s-n.insertionTs<o){c.debug(\"SI\",\"Ignored bufferedStart synchronization\",{t:r,rs:e,firstss:n.start,delta:s-n.insertionTs});return}c.debug(\"SI\",\"Segment appears immediately garbage collected at the start\",{t:r,rs:e,firstss:n.start}),n.bufferedStart=e}}function ts(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:a}=L.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(c.debug(\"SI\",\"Segment partially GCed at the end\",{t,lastsbe:n.bufferedEnd,re:e}),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&es(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)c.debug(\"SI\",\"buffered end is precize end\",{t,lastse:n.end}),n.bufferedEnd=n.end;else if(e-n.end<=r||!n.infos.segment.complete){let o=F();if(e-n.end>=i&&o-n.insertionTs<a){c.debug(\"SI\",\"Ignored bufferedEnd synchronization\",{t,re:e,lastse:n.end,delta:o-n.insertionTs});return}c.debug(\"SI\",\"found true buffered end\",{t,re:e,lastse:n.end}),n.bufferedEnd=e,es(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)c.debug(\"SI\",\"range end too far from expected end\",{t,re:e,lastse:n.end}),n.bufferedEnd=n.end;else{let o=F();if(e-n.end>=i&&o-n.insertionTs<a){c.debug(\"SI\",\"Ignored bufferedEnd synchronization\",{t,re:e,lastse:n.end,delta:o-n.insertionTs});return}c.debug(\"SI\",\"Segment appears immediately garbage collected at the end\",{t,lastsbe:n.bufferedEnd,re:e}),n.bufferedEnd=e}}function xu(n){let e=.016666666666666666,t={},r=[],i=null,a=null;function o(d){let u=String.fromCharCode(r.length+65);return r.push({letter:u,periodId:d.period.id,representationId:d.representation.id,bitrate:d.representation.bitrate}),u}let s=\"\";for(let d of n)if(d.bufferedStart!==void 0&&d.bufferedEnd!==void 0){let u=d.infos.period.id,f=d.infos.representation.id,l=t[u],m;if(l===void 0)m=o(d.infos),t[u]={[f]:m};else{let g=l[f];g===void 0?(m=o(d.infos),l[f]=m):m=g}i===null?s+=`${d.bufferedStart.toFixed(2)}|${m}|`:a===m?i.bufferedEnd+e<d.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${d.bufferedStart.toFixed(2)}|${m}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${d.bufferedStart.toFixed(2)}|${m}|`,i=d,a=m}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(d=>{var u;s+=`\n[${d.letter}] P: ${d.periodId} || R: ${d.representationId}(${(u=d.bitrate)!=null?u:\"unknown bitrate\"})`}),s}function zt(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function Wt(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var ns=yn;var Vt=class{constructor(){this._segmentInventory=new ns}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var Tn=class extends Vt{constructor(e,t,r){super(),c.info(\"Stream\",\"calling `mediaSource.addSourceBuffer`\",{codec:t});let i=r.addSourceBuffer(e,t);this.bufferType=e,this._sourceBuffer=i,this._lastInitSegmentUniqueId=null,this.codec=t,this._initSegmentsMap=new Map,this._pendingOperations=[]}declareInitSegment(e,t){rs(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){rs(e.data.chunk),c.debug(\"Stream\",\"queuing push order\",He(e.inventoryInfos));let t=this._getActualDataToPush(e.data);t.length===0&&t.push(new Uint8Array);let r=Promise.all(t.map(o=>{let{codec:s,timestampOffset:d,appendWindow:u}=e.data;return c.debug(\"Stream\",\"now pushing\",He(e.inventoryInfos)),this._sourceBuffer.appendBuffer(o,{codec:s,timestampOffset:d,appendWindow:u})}));this._addToOperationQueue(r,{type:0,value:e});let i;try{i=await r}catch(o){throw this._segmentInventory.insertChunk(e.inventoryInfos,!1,F()),o}e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,F());let a=i[i.length-1];return this._segmentInventory.synchronizeBuffered(a),a}async removeBuffer(e,t){c.debug(\"Stream\",\"queuing remove order\",{bufferType:this.bufferType,start:e,end:t});let r=this._sourceBuffer.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(e){try{c.debug(\"Stream\",\"Calling `dispose` on the SourceBufferInterface\"),this._sourceBuffer.dispose(e)}catch(t){c.debug(\"Stream\",`Failed to dispose a ${this.bufferType} SourceBufferInterface:`,t instanceof Error?t:\"Unknown Error\")}}_getActualDataToPush(e){let t=[];if(e.initSegmentUniqueId!==null&&!this._isLastInitSegment(e.initSegmentUniqueId)){let r=this._initSegmentsMap.get(e.initSegmentUniqueId);if(r===void 0)throw new Error(\"Invalid initialization segment uniqueId\");let i=new ArrayBuffer(r.byteLength),a=new Uint8Array(i);a.set(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer)),r=a,t.push(r),this._lastInitSegmentUniqueId=e.initSegmentUniqueId}return e.chunk!==null&&t.push(e.chunk),t}_isLastInitSegment(e){return this._lastInitSegmentUniqueId===null?!1:this._lastInitSegmentUniqueId===e}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function rs(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n!==null&&!(n instanceof ArrayBuffer)&&!(n.buffer instanceof ArrayBuffer)))throw new Error(\"Invalid data given to the AudioVideoSegmentSink\")}var wr=Tn;var En=class extends Vt{constructor(e){c.debug(\"Stream\",\"Creating TextSegmentSink\"),super(),this.bufferType=\"text\",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){c.warn(\"Stream\",\"Declaring initialization segment for Text SegmentSink\",{uniqueId:e})}freeInitSegment(e){c.warn(\"Stream\",\"Freeing initialization segment for Text SegmentSink\",{uniqueId:e})}async pushChunk(e){let{data:t}=e;Mu(t.chunk);let r=this._sender.pushTextData(de(J({},t),{chunk:t.chunk}));this._addToOperationQueue(r,{type:0,value:e});let i=await r;return e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,F()),this._segmentInventory.synchronizeBuffered(i),i}async removeBuffer(e,t){let r=this._sender.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(e){c.debug(\"Stream\",\"Disposing TextSegmentSink\"),this._sender.stop(e)}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function Mu(n){if(I.CURRENT_ENV!==I.PRODUCTION){if(typeof n!=\"object\"||n===null||v(n.data))throw new Error(\"Invalid format given to a TextSegmentSink\");if(!Ou(n))throw new Error(\"Invalid format given to a TextSegmentSink\");if(typeof n.data!=\"string\"&&typeof n.data.byteLength!=\"number\")throw new Error(\"Invalid format given to a TextSegmentSink\")}}function Ou(n){return!(typeof n!=\"object\"||n===null||typeof n.type!=\"string\"||n.language!==void 0&&typeof n.language!=\"string\"||n.initTimescale!==null&&typeof n.initTimescale!=\"number\"||n.start!==void 0&&typeof n.start!=\"number\"||n.end!==void 0&&typeof n.end!=\"number\")}I.CURRENT_ENV===I.DEV&&(wu=function(e){function t(r){}});var wu;var is=En;var Du=[\"audio\",\"video\",\"text\"],_n=class n{static isNative(e){return as(e)}constructor(e,t,r){this._mediaSource=e,this._textInterface=r,this._hasVideo=t,this._initializedSegmentSinks={},this._onNativeBufferAddedOrDisabled=[]}getBufferTypes(){let e=this.getNativeBufferTypes();return this._textInterface!==null&&e.push(\"text\"),e}getNativeBufferTypes(){return this._hasVideo?[\"video\",\"audio\"]:[\"audio\"]}getStatus(e){let t=this._initializedSegmentSinks[e];return t===void 0?{type:\"uninitialized\"}:t===null?{type:\"disabled\"}:{type:\"initialized\",value:t}}waitForUsableBuffers(e){return this._areNativeBuffersUsable()?Promise.resolve():Ct(e,t=>{let r=O,i=()=>{let a=this._onNativeBufferAddedOrDisabled.indexOf(r);a>=0&&this._onNativeBufferAddedOrDisabled.splice(a,1)};return r=()=>{this._areNativeBuffersUsable()&&(i(),t())},this._onNativeBufferAddedOrDisabled.push(r),i})}disableSegmentSink(e){let t=this._initializedSegmentSinks[e];if(t===null){c.warn(\"Stream\",`The ${e} SegmentSink was already disabled.`);return}if(t!==void 0)throw new Error(\"Cannot disable an active SegmentSink.\");this._initializedSegmentSinks[e]=null,n.isNative(e)&&(this._onNativeBufferAddedOrDisabled.slice().forEach(r=>r()),Se(this._onNativeBufferAddedOrDisabled.length===0))}createSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(as(e)){if(!v(r))return r instanceof wr&&r.codec!==t?c.warn(\"Stream\",\"Reusing native SegmentSink with codec\",r.codec,\"for codec\",t):c.info(\"Stream\",\"Reusing native SegmentSink with codec\",t),r;c.info(\"Stream\",\"Adding native SegmentSink with codec\",t);let a=e===\"audio\"?\"audio\":\"video\",o=new wr(a,t,this._mediaSource);return this._initializedSegmentSinks[e]=o,this._onNativeBufferAddedOrDisabled.slice().forEach(s=>s()),Se(this._onNativeBufferAddedOrDisabled.length===0),o}if(!v(r))return c.info(\"Stream\",\"Reusing a previous custom SegmentSink\",{bufferType:e}),r;let i;if(e===\"text\"){if(c.info(\"Stream\",\"Creating a new text SegmentSink\"),this._textInterface===null)throw new Error(\"HTML Text track feature not activated\");return i=new is(this._textInterface),this._initializedSegmentSinks.text=i,i}throw c.error(\"Stream\",\"Unknown buffer type:\",{bufferType:e}),new ee(\"BUFFER_TYPE_UNKNOWN\",\"The player wants to create a SegmentSink of an unknown type.\")}disposeSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(v(r)){c.warn(\"Stream\",\"Trying to dispose a SegmentSink that does not exist\",{bufferType:e});return}c.info(\"Stream\",\"Aborting SegmentSink\",{bufferType:e}),r.dispose(t),delete this._initializedSegmentSinks[e]}disposeAll(e){Du.forEach(t=>{this.getStatus(t).type===\"initialized\"&&this.disposeSegmentSink(t,e)})}_areNativeBuffersUsable(){let e=this.getNativeBufferTypes();return!(e.some(i=>this._initializedSegmentSinks[i]===void 0)||e.every(i=>this._initializedSegmentSinks[i]===null))}createSegmentSinkMetricsForType(e){var i,a;let t=(i=this._initializedSegmentSinks[e])==null?void 0:i.getLastKnownInventory(),r;if(t!==void 0){r=0;for(let o of t){if(o.chunkSize===void 0||r===void 0){r=void 0;break}r+=o.chunkSize}}return{bufferType:e,sizeEstimate:r,codec:(a=this._initializedSegmentSinks[e])==null?void 0:a.codec,segmentInventory:t==null?void 0:t.map(o=>de(J({},o),{infos:Bu(o.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType(\"audio\"),video:this.createSegmentSinkMetricsForType(\"video\"),text:this.createSegmentSinkMetricsForType(\"text\")}}}};function as(n){return n===\"audio\"||n===\"video\"}function Bu(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var St=_n;var Rn=class{constructor({drmSystemId:e,representation:t,notify:r}){if(this._hasSentEncryptionData=!1,this._representation=t,this._notify=r,e!==void 0){let i=t.getEncryptionData(e);i.length>0&&i.every(a=>a.keyIds!==void 0)&&(this._hasSentEncryptionData=!0,r(i))}}onNewProtectionData(e){for(let t of e)this._representation.addProtectionData(t.initDataType,t.keyId,t.initData);if(!this._hasSentEncryptionData){let t=this._representation.getAllEncryptionData();t.length>0&&(this._notify(t),this._hasSentEncryptionData=!0)}}};function Oi(n,e,t,r,i){let{period:a,adaptation:o,representation:s}=n,d=Nu(i,e);if(d===null){if(t===null){if(r&&a.end!==void 0&&e.end>=a.end)return{start:void 0,end:null};let l=s.index.checkDiscontinuity(e.start);if(l!==null)return{start:void 0,end:l}}return null}let u=i[d];if(u.bufferedStart!==void 0&&u.bufferedStart>e.start&&(t===null||u.infos.segment.end<=t)){let l=u.bufferedStart;return!r&&s.index.awaitSegmentBetween(e.start,l)!==!1?null:(c.debug(\"Stream\",\"current discontinuity encountered\",{bufferType:o.type,nextSegmentTime:u.bufferedStart,checkStartTime:e.start}),{start:void 0,end:l})}let f=Uu(i,e,d+1);if(f!==null){let l=i[f-1],m=i[f];if(t===null||m.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,m.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,h=m.bufferedStart;return c.debug(\"Stream\",\"future discontinuity encountered\",{bufferType:o.type,discontinuityStart:g,discontinuityEnd:h}),{start:g,end:h}}}if(t===null){if(r&&a.end!==void 0){if(e.end<a.end)return null;let l=Lu(i,a.end);if(l!==null){let m=i[l];if(m.bufferedEnd!==void 0&&m.bufferedEnd<a.end)return c.debug(\"Stream\",\"discontinuity encountered at the end of the current period\",{bufferType:o.type,segmentsEndTimeFromPeriod:m.bufferedEnd,periodEnd:a.end}),{start:m.bufferedEnd,end:null}}}if(a.end!==void 0&&e.end>=a.end)return null;for(let l=i.length-1;l>=0;l--){let m=i[l];if(m.bufferedStart===void 0)break;if(m.bufferedStart<e.end){if(m.bufferedEnd!==void 0&&m.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:m.bufferedEnd,end:g}}return null}}}return null}function Nu(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Uu(n,e,t){if(t<=0)return c.error(\"Stream\",\"Asked to check a discontinuity before the first chunk.\"),null;for(let r=t;r<n.length;r++){let i=n[r],a=n[r-1];if(i.bufferedStart===void 0||a.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-a.bufferedEnd>0)return r}return null}function Lu(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t];if(r.bufferedStart===void 0)return null;if(r.bufferedStart<e)return t}return null}function wi({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:a,segmentsBeingPushed:o,maxBufferSize:s}){let{adaptation:d,representation:u}=e,f=Fu(n,o,s),l=u.index.getSegments(a.start,a.end-a.start),m=n.filter(C=>!os(C.infos,e,t,r)),g=Ku(m,a,i),{MINIMUM_SEGMENT_SIZE:h,MIN_BUFFER_AHEAD:b}=L.getCurrent(),p=!1,S=Math.min(1/60,h),T=!1,R=[];return{segmentsToLoad:l.filter(C=>{let P=H({segment:C},e);if(o.length>0&&o.some(B=>it(P,B)))return!1;let{duration:x,time:A,end:k}=C;if(C.isInit)return!0;if(p)return R.push(C),!1;if(C.complete&&x<h||o.length>0&&o.some(B=>{if(B.period.id!==e.period.id||B.adaptation.id!==e.adaptation.id)return!1;let{segment:_}=B;if(_.time-S>A)return!1;if(_.complete){if(_.end+S<k)return!1}else if(Math.abs(A-_.time)>A)return!1;return!os(B,P,t,r)}))return!1;for(let W of g){let B=W.infos.period.id===e.period.id;if(W.status===1&&B){let _=W.infos.segment;if(A-_.time>-S){if(_.complete){if(_.end-k>-S)return!1}else if(Math.abs(A-_.time)<S)return!1}}}let N=x*e.representation.bitrate;if(f-N<0&&(T=!0,A>a.start+b))return p=!0,R.push(C),!1;let w=i(P);if(w.length>1){let W=w[w.length-1],B=w[w.length-2];if(W.buffered===null&&B.buffered===null)return c.warn(\"Stream\",\"Segment GCed multiple times in a row, ignoring it.\",\"If this happens a lot and lead to unpleasant experience, please check your device's available memory. If it's low when this message is emitted, you might want to update the RxPlayer's settings (`maxBufferAhead`, `maxVideoBufferSize` etc.) so less memory is used by regular media data buffering.\",{bufferType:d.type,representationId:u.id,segmentTime:C.time}),!1}for(let W=0;W<g.length;W++){let B=g[W];if(B.end+S>A){let _=B.start>A+S||zu(g,W).end<k-S;return _&&(f-=N),_}}return f-=N,!0}),segmentsOnHold:R,isBufferFull:T}}function Fu(n,e,t){let r=t*8e3;return r-=e.reduce((i,a)=>{let{bitrate:o}=a.representation,{duration:s}=a.segment;return i+o*s},0),n.reduce((i,a)=>a.chunkSize!==void 0?i-a.chunkSize*8:i,r)}function zu(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=L.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function os(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=L.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:a}=n;return a.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:Wu(n.representation,e.representation,r)}function Wu(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=L.getCurrent();if(t===void 0){let a=r*i;return e.bitrate>a}return r<t&&e.bitrate>r}function Vu(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=L.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(c.info(\"Stream\",\"The start of the wanted segment has been garbage collected\",{segmentStart:n.start,currentStartInBuffer:n.bufferedStart}),!0):!1}function qu(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=L.getCurrent();return n.bufferedEnd===void 0||e!==null&&e.bufferedStart!==void 0&&e.bufferedStart-n.bufferedEnd<.1?!1:t>n.bufferedEnd&&n.end-n.bufferedEnd>r?(c.info(\"Stream\",\"The end of the wanted segment has been garbage collected\",{segmentEnd:n.end,currentEndInBuffer:n.bufferedEnd}),!0):!1}function Gu(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.start;if(e!==void 0&&r!==void 0&&e-r>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.start;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function Hu(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.end;if(e!==void 0&&r!==void 0&&r-e>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.end;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function Ku(n,e,t){return n.filter((r,i,a)=>{let o=i===0?null:a[i-1],s=i>=a.length-1?null:a[i+1],d=null;if(Vu(r,o,e.start)){if(d=t(r.infos),Gu(d,r.bufferedStart))return!1;c.debug(\"Stream\",\"skipping segment gc-ed at the start\",{segmentStart:r.start,currentStartInBuffer:r.bufferedStart})}if(qu(r,s,e.end)){if(d=d!=null?d:t(r.infos),Hu(d,r.bufferedEnd))return!1;c.debug(\"Stream\",\"skipping segment gc-ed at the end\",{segmentEnd:r.end,currentEndInBuffer:r.bufferedEnd})}return!0})}function Pn(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=L.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function Di(n,e,t,r,i,a,o){var A,k,N;let{representation:s}=n,d=(k=(A=t.getIsPaused())!=null?A:t.getReference().getValue().paused.pending)!=null?k:t.getReference().getValue().paused.last,u=(N=t.getPlaybackRate())!=null?N:t.getReference().getValue().speed,f=e;(d===void 0||u===void 0||d||u<=0)&&(f-=.1);let l=ju(n,f,i),m=s.index.shouldRefresh(l.start,l.end),g=o.getPendingOperations().filter(w=>w.type===2).map(w=>w.value),h=o.getLastKnownInventory(),b=t.getCurrentTime();b===void 0&&(b=t.getReference().getValue().position.getWanted());let p=o.getSegmentHistory.bind(o),{segmentsToLoad:S,segmentsOnHold:T,isBufferFull:R}=wi({content:n,bufferedSegments:h,currentPlaybackTime:b,fastSwitchThreshold:r,getBufferedHistory:p,neededRange:l,segmentsBeingPushed:g,maxBufferSize:a}),E=S.map(w=>({priority:Pn(w.time,f),segment:w})),C=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&E.length===0&&T.length===0,P=null;return g.length>0&&(P=Math.min(...g.map(w=>w.segment.time))),T.length>0&&(P=P!==null?Math.min(P,T[0].time):T[0].time),E.length>0&&(P=P!==null?Math.min(P,E[0].segment.time):E[0].segment.time),{imminentDiscontinuity:Oi(n,l,P,C,h),hasFinishedLoading:C,neededSegments:E,isBufferFull:R,shouldRefreshManifest:m}}function ju(n,e,t){var l;let r,{manifest:i,period:a,representation:o}=n,s=o.index.getLastAvailablePosition(),d=o.index;!v(s)&&St.isNative(n.adaptation.type)&&e>=s&&d.isInitialized()&&!d.isStillAwaitingFutureSegments()&&Yu(i,a,e)?r=s-1:r=e-.1;let u=r+t,f;return!o.index.isInitialized()||o.index.isStillAwaitingFutureSegments()||a.end===void 0?f=!1:s===void 0?f=u>=a.end:s===null?f=!0:f=u>=s,{start:Math.max(r,a.start),end:Math.min(u,(l=a.end)!=null?l:1/0),hasReachedPeriodEnd:f}}function Yu(n,e,t){var i;let r=n.getPeriodAfter(e);return e.containsTime(t,r)&&n.isLastPeriodKnown&&e.id===((i=n.periods[n.periods.length-1])==null?void 0:i.id)}async function vn(n,e,t,r,i){try{return await e.pushChunk(t)}catch(a){if(i.isCancelled()&&a instanceof ue)throw a;if(!(a instanceof xe)||!a.isBufferFull){let d=a instanceof Error?a.toString():\"An unknown error happened when pushing content\";throw new ee(\"BUFFER_APPEND_ERROR\",d,{tracks:[vt(t.inventoryInfos.adaptation)]})}let{position:o}=n.getReference().getValue(),s=o.getWanted();try{c.warn(\"Stream\",\"Running garbage collector\");let d=Math.max(s-5,0),u=s+r.getValue()+12;if(d>0&&await e.removeBuffer(0,d),u<Number.MAX_VALUE&&await e.removeBuffer(u,Number.MAX_VALUE),await gi(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(d){if(d instanceof ue)throw d;let u=d instanceof Error?d.toString():\"Could not clean the buffer\";throw new ee(\"BUFFER_FULL_ERROR\",u,{tracks:[vt(t.inventoryInfos.adaptation)]})}}}async function Bi({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:a},o){let s=e.representation.getMimeTypeString(),d={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},u=H({segment:r,chunkSize:void 0,start:0,end:0},e),f=await vn(n,i,{data:d,inventoryInfos:u},a,o);return{content:e,segment:r,buffered:f}}async function Ni({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:a,segmentSink:o},s){var P,x;if(i.chunkData===null)return null;let{chunkData:d,chunkInfos:u,chunkOffset:f,chunkSize:l,appendWindow:m}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:h}=L.getCurrent(),b=[m[0]!==void 0?Math.max(0,m[0]-h.START):void 0,m[1]!==void 0?m[1]+h.END:void 0],p={initSegmentUniqueId:r,chunk:d,timestampOffset:f,appendWindow:b,codec:g},S=(P=u==null?void 0:u.time)!=null?P:a.time,T=(x=u==null?void 0:u.duration)!=null?x:a.duration,R=S+T;b[0]!==void 0&&(S=Math.max(S,b[0])),b[1]!==void 0&&(R=Math.min(R,b[1]));let E=H({segment:a,chunkSize:l,start:S,end:R},t),C=await vn(n,o,{data:p,inventoryInfos:E},e,s);return{content:t,segment:a,buffered:C}}function Ui({content:n,options:e,playbackObserver:t,segmentSink:r,segmentQueue:i,terminate:a},o,s){c.debug(\"Stream\",\"Creating RepresentationStream\",{periodStart:n.period.start,bufferType:n.adaptation.type,adaptationId:n.adaptation.id,representationBitrate:n.representation.bitrate,mimeType:n.representation.getMimeTypeString()});let{period:d,adaptation:u,representation:f}=n,{bufferGoal:l,maxBufferSize:m,drmSystemId:g,fastSwitchThreshold:h}=e,b=u.type,p=new z(\"RepresentationStream \"+b);p.linkToSignal(s);let S={segment:f.index.getInitSegment(),uniqueId:null,isLoaded:!1};p.signal.register(()=>{S.uniqueId!==null&&r.freeInitSegment(S.uniqueId)});let T=S.segment!==null;T||(S.isLoaded=!0);let R=new Rn({drmSystemId:g,representation:f,notify:A=>o.encryptionDataEncountered(A.map(k=>H({content:n},k)))});if(p.isUsed())return;i.addEventListener(\"error\",A=>{p.signal.isCancelled()||(p.cancel(\"RepresentationStream: SegmentQueue err\"),o.error(A))},p.signal),i.addEventListener(\"parsedInitSegment\",P,p.signal),i.addEventListener(\"parsedMediaSegment\",P,p.signal),i.addEventListener(\"emptyQueue\",C,p.signal),i.addEventListener(\"requestRetry\",A=>{if(o.warning(A.error),p.signal.isCancelled())return;let k=A.segment,{index:N}=f;N.isSegmentStillAvailable(k)===!1?C():N.canBeOutOfSyncError(A.error,k)&&o.manifestMightBeOufOfSync()},p.signal),i.addEventListener(\"fullyLoadedSegment\",A=>{r.signalSegmentComplete(H({segment:A},n)).catch(x)},p.signal);let E=i.resetForContent(n,T,\"new RepresentationStream linked to SegmentQueue\");p.signal.register(A=>{i.stop(A.reason)}),t.listen(C,{includeLastObservation:!1,clearSignal:p.signal}),n.manifest.addEventListener(\"manifestUpdate\",C,p.signal),l.onUpdate(C,{emitCurrentValue:!1,clearSignal:p.signal}),m.onUpdate(C,{emitCurrentValue:!1,clearSignal:p.signal}),a.onUpdate(C,{emitCurrentValue:!1,clearSignal:p.signal}),C();return;function C(){if(p.isUsed())return;let A=t.getReference().getValue(),k=A.position.getWanted(),N=Di(n,k,t,h.getValue(),l.getValue(),m.getValue(),r),{neededSegments:w}=N,W=null;if(f.index.isInitialized()){if(w.length>0&&!S.isLoaded&&S.segment!==null){let M=w[0].priority;W={segment:S.segment,priority:M}}}else if(S.segment===null)c.warn(\"Stream\",\"Uninitialized index without an initialization segment\",{bufferType:b,representationBitrate:n.representation.bitrate});else if(S.isLoaded)c.warn(\"Stream\",\"Uninitialized index with an already loaded initialization segment\",{bufferType:b,representationBitrate:n.representation.bitrate});else{let M=A.position.getWanted();W={segment:S.segment,priority:Pn(d.start,M)}}let B=a.getValue();if(B===null)E.setValue({initSegment:W,segmentQueue:w});else if(B.urgent){c.debug(\"Stream\",\"Urgent switch, terminate now.\",{bufferType:b,representationBitrate:n.representation.bitrate}),E.setValue({initSegment:null,segmentQueue:[]}),E.finish(),p.cancel(B.reason),o.terminating();return}else{let M=w[0],D=i.getRequestedInitSegment(),U=i.getRequestedMediaSegment(),G=U===null||M===void 0||U.id!==M.segment.id?[]:[M],Q=D===null?null:W;if(E.setValue({initSegment:Q,segmentQueue:G}),G.length===0&&Q===null){c.debug(\"Stream\",\"No request left, terminate\",{bufferType:b,representationBitrate:n.representation.bitrate}),E.finish(),p.cancel(B.reason),o.terminating();return}}if(o.streamStatusUpdate({period:d,position:A.position.getWanted(),bufferType:b,imminentDiscontinuity:N.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:N.hasFinishedLoading,neededSegments:N.neededSegments}),p.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:_}=L.getCurrent();if(N.isBufferFull){let M=Math.max(0,k-_);M>0&&r.removeBuffer(0,M).catch(x)}N.shouldRefreshManifest&&o.needsManifestRefresh()}function P(A){if(R.onNewProtectionData(A.protectionData),A.segmentType===\"init\"){if(!f.index.isInitialized()&&A.segmentList!==void 0&&f.index.initialize(A.segmentList),S.isLoaded=!0,A.initializationData!==null){let k=f.uniqueId;S.uniqueId=k,r.declareInitSegment(k,A.initializationData),Bi({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:k,segment:A.segment,segmentData:A.initializationData,segmentSink:r},p.signal).then(N=>{N!==null&&o.addedSegment(N)}).catch(x)}C();return}else{let{inbandEvents:k,predictedSegments:N,needsManifestRefresh:w}=A;if(N!==void 0&&f.index.addPredictedSegments(N,A.segment),w===!0&&(o.needsManifestRefresh(),p.isUsed())||k!==void 0&&k.length>0&&(o.inbandEvent(k),p.isUsed()))return;let W=S.uniqueId;Ni({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:W,parsedSegment:A,segment:A.segment,segmentSink:r},p.signal).then(B=>{B!==null&&o.addedSegment(B)}).catch(x)}}function x(A){p.isUsed()&&A instanceof ue||(c.warn(\"Stream\",\"Received fatal buffer error\",{bufferType:b,representationBitrate:n.representation.bitrate},A instanceof Error?A:null),p.cancel(\"RepresentationStream: fatal buffer err\"),o.error(A))}}var ss=Ui;function Li(n,e,t,r,i){var m,g,h,b;if(t.switchingMode===\"lazy\")return{type:\"continue\",value:void 0};let a=r.getLastKnownInventory(),o=[];for(let p of a)p.infos.period.id===n.id&&(p.infos.adaptation.id!==e.id||!fe(t.representationIds,p.infos.representation.id))&&bt(o,{start:(m=p.bufferedStart)!=null?m:p.start,end:(g=p.bufferedEnd)!=null?g:p.end});let s=r.getPendingOperations();for(let p of s)if(p.type===0){let S=p.value.inventoryInfos;if(S.period.id===n.id&&(S.adaptation.id!==e.id||!fe(t.representationIds,S.representation.id))){let T=S.segment.time,R=T+S.segment.duration;bt(o,{start:T,end:R})}}if(o.length===0)return{type:\"continue\",value:void 0};if(t.switchingMode===\"reload\"){let p=i.getReadyState();if(p===void 0||p>1)return{type:\"needs-reload\",value:void 0}}let d=t.switchingMode===\"direct\",u=[],f=zt(a,n);if(f!==null&&(f.bufferedEnd===void 0||n.start-f.bufferedEnd<1)&&u.push({start:0,end:n.start+1}),!d){let{ADAP_REP_SWITCH_BUFFER_PADDINGS:p}=L.getCurrent(),S=e.type,T=(h=p[S].before)!=null?h:0,R=(b=p[S].after)!=null?b:0,E=i.getCurrentTime();E===void 0&&(E=i.getReference().getValue().position.getPolled()),u.push({start:E-T,end:E+R})}if(n.end!==void 0){let p=Wt(a,n);p!==null&&(p.bufferedStart===void 0||p.bufferedStart-n.end<1)&&u.push({start:n.end-1,end:Number.MAX_VALUE})}let l=kr(o,u);return l.length===0?{type:\"continue\",value:void 0}:d?{type:\"flush-buffer\",value:l}:{type:\"clean-buffer\",value:l}}function Fi({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentQueueCreator:a,wantedBufferAhead:o,maxVideoBufferSize:s},d,u){let{manifest:f,period:l,adaptation:m}=e,g=new z(\"AdaptationStream \"+m.type);g.linkToSignal(u);let h=new Map,b=new $(null,g.signal),p,S=e.representations.getValue().representationIds,T=ds(e.adaptation.representations,S),R=new $(T,g.signal),{estimates:E,callbacks:C}=r({manifest:f,period:l,adaptation:m},b,R,n,g.signal),P=new $(!1);n.listen(_=>{var D;let M=(D=_.canStream)!=null?D:!0;P.getValue()===M&&(c.debug(\"Stream\",\"isMediaSegmentQueueInterrupted updated to\",!M),P.setValue(!M))},{clearSignal:g.signal});let x=a.createSegmentQueue(m.type,{onRequestBegin:C.requestBegin,onRequestEnd:C.requestEnd,onProgress:C.requestProgress,onMetrics:C.metrics},P),A=new $(0);E.onUpdate(({bitrate:_,knownStableBitrate:M})=>{t.enableFastSwitching&&A.setValueIfChanged(M),!(_===void 0||_===p)&&(p=_,c.debug(\"Stream\",`new ${m.type} bitrate estimate received from ABR`,{bitrate:_}),d.bitrateEstimateChange({type:m.type,bitrate:_}))},{emitCurrentValue:!0,clearSignal:g.signal});let k;e.representations.onUpdate(_=>{k!==void 0&&k.cancel(\"locked representations changed\");let M=e.representations.getValue().representationIds,D=ds(e.adaptation.representations,M);R.setValueIfChanged(D);let U=new z(\"AdaptationStream: RepresentationStream Group \"+m.type);k=U,U.linkToSignal(g.signal),N(_,U.signal).catch(G=>{U.isUsed()&&z.isCancellationError(G)||(g.cancel(\"RepresentationStream err\"),d.error(G))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function N(_,M){let D=Li(l,m,_,i,n);switch(D.type){case\"continue\":break;case\"needs-reload\":return at(()=>{n.listen(()=>{if(M.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:U}=L.getCurrent(),G=U.bitrateSwitch;return d.waitingMediaSourceReload({bufferType:m.type,period:l,timeOffset:G,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:M})});case\"flush-buffer\":case\"clean-buffer\":for(let U of D.value)if(await i.removeBuffer(U.start,U.end),M.isCancelled())return;if(D.type===\"flush-buffer\"&&(d.needsBufferFlush(),M.isCancelled()))return;break;default:Ne(D)}w(M)}function w(_){let M=new z(\"AdaptationStream: RepresentationStream creation \"+m.type);M.linkToSignal(_);let{representation:D}=E.getValue();if(D===null)return;let U=new $(null,M.signal);E.onUpdate(K=>{if(!(K.representation===null||K.representation.id===D.id))return K.urgent?(c.info(\"Stream\",\"urgent Representation switch\",{bufferType:m.type,estimateBitrate:K.bitrate,prevRepresentationBitrate:D.bitrate,newRepresentationBitrate:K.representation.bitrate}),U.setValue({urgent:!0,reason:\"Urgent Representation switch\"})):(c.info(\"Stream\",\"slow Representation switch\",{bufferType:m.type,estimateBitrate:K.bitrate,prevRepresentationBitrate:D.bitrate,newRepresentationBitrate:K.representation.bitrate}),U.setValue({urgent:!1,reason:\"Non-urgent Representation switch\"}))},{clearSignal:M.signal,emitCurrentValue:!0});let G={type:m.type,adaptation:m,period:l,representation:D};if(b.setValue(D),_.isCancelled()||(d.representationChange(G),_.isCancelled()))return;let Q={streamStatusUpdate:d.streamStatusUpdate,encryptionDataEncountered:d.encryptionDataEncountered,manifestMightBeOufOfSync:d.manifestMightBeOufOfSync,needsManifestRefresh:d.needsManifestRefresh,inbandEvent:d.inbandEvent,warning:d.warning,error(K){g.cancel(\"RepresentationStream err cb\"),d.error(K)},addedSegment(K){C.addedSegment(K)},terminating(){if(!M.isUsed())return M.cancel(\"RepresentationStream terminating\"),w(_)}};W(D,U,Q,_)}function W(_,M,D,U){let G=!1,Q=new z(`RepresentationStream-linked listeners in AdaptationStream - periodStart=${l.start} type=${m.type}`);Q.linkToSignal(U);let K=en(o,X=>B(_,X),Q.signal),q=m.type===\"video\"?s:new $(1/0);c.info(\"Stream\",\"changing representation\",{bufferType:m.type,representationId:_.id,representationBitrate:_.bitrate});let Z=H({},D,{error(X){var pe;if(G){c.warn(\"Stream\",\"Ignoring RepresentationStream error\",X);return}G=!0;let me=ge(X,{defaultCode:\"NONE\",defaultReason:\"Unknown `RepresentationStream` error\"});if(me.code!==\"BUFFER_FULL_ERROR\")D.error(X);else{c.warn(\"Stream\",\"received BUFFER_FULL_ERROR\",{bufferType:m.type,representationBitrate:_.bitrate});let Qe=o.getValue(),se=((pe=h.get(_.id))!=null?pe:1)*.7;if(h.set(_.id,se),se<=.05||B(_,Qe)<=2){D.error(me);return}fn(4e3,Q.signal).then(()=>W(_,M,D,U)).catch(O)}},terminating(){Q.cancel(\"Representation terminating\"),D.terminating()}});ss({playbackObserver:n,content:{representation:_,adaptation:m,period:l,manifest:f},segmentSink:i,segmentQueue:x,terminate:M,options:{bufferGoal:K,maxBufferSize:q,drmSystemId:t.drmSystemId,fastSwitchThreshold:A}},Z,U),f.addEventListener(\"manifestUpdate\",X=>{for(let me of X.updatedPeriods)if(me.period.id===l.id){for(let pe of me.result.updatedAdaptations)if(pe.adaptation===m.id){for(let Qe of pe.removedRepresentations)if(Qe===_.id)return Q.isUsed()?void 0:d.waitingMediaSourceReload({bufferType:m.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(me.period.start>l.start)break},Q.signal)}function B(_,M){let D=h.get(_.id),U=D!==void 0?D:1;return D===void 0&&h.set(_.id,U),U<1&&M===1/0?300*U:M*U}}function ds(n,e){let t=n.filter(r=>fe(e,r.id)&&!r.shouldBeAvoided&&r.isPlayable()!==!1);return t.length>0?t:n.filter(r=>fe(e,r.id)&&r.isPlayable()!==!1)}var us=Fi;function zi(n,e,t,r,i,a){var g,h,b,p;if(n.codec!==void 0&&a.onCodecSwitch===\"reload\"&&!Qu(t,n.codec))return{type:\"needs-reload\",value:void 0};let o=n.getLastKnownInventory(),s=[];for(let S of o)S.infos.period.id===e.id&&S.infos.adaptation.id!==t.id&&bt(s,{start:(g=S.bufferedStart)!=null?g:S.start,end:(h=S.bufferedEnd)!=null?h:S.end});let d=n.getPendingOperations();for(let S of d)if(S.type===0){let T=S.value.inventoryInfos;if(T.period.id===e.id&&T.adaptation.id!==t.id){let R=T.segment.time,E=R+T.segment.duration;bt(s,{start:R,end:E})}}if(s.length===0)return{type:\"continue\",value:void 0};if(r===\"reload\"){let S=i.getReadyState();if(S===void 0||S>1)return{type:\"needs-reload\",value:void 0}}let u=r===\"direct\",f=[],l=zt(o,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&f.push({start:0,end:e.start+1}),!u){let S=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:T}=L.getCurrent(),R=(b=T[S].before)!=null?b:0,E=(p=T[S].after)!=null?p:0,C=i.getCurrentTime();C===void 0&&(C=i.getReference().getValue().position.getPolled()),f.push({start:C-R,end:C+E})}if(e.end!==void 0){let S=Wt(o,e);S!==null&&(S.bufferedStart===void 0||S.bufferedStart-e.end<1)&&f.push({start:e.end-1,end:Number.MAX_VALUE})}let m=kr(s,f);return m.length===0?{type:\"continue\",value:void 0}:u&&t.type!==\"text\"?{type:\"flush-buffer\",value:m}:{type:\"clean-buffer\",value:m}}function Qu(n,e){return n.representations.some(t=>t.isPlayable()===!0&&Vo(t.getMimeTypeString(),e))}function Wi({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentQueueCreator:a,segmentSinksStore:o,options:s,wantedBufferAhead:d,maxVideoBufferSize:u},f,l){let{manifest:m,period:g}=e,h=new $(void 0,l);if(f.periodStreamReady({type:n,manifest:m,period:g,adaptationRef:h}),l.isCancelled())return;let b,p=!0;h.onUpdate(R=>{(async()=>{var B;if(R===void 0)return;let E=new z(\"PeriodStream: Adaptation choice \"+n);if(E.linkToSignal(l),b==null||b.cancel(\"PeriodStream: Adaptation update\"),b=E,R===null){c.info(\"Stream\",\"Set no Adaptation\",{periodStart:g.start,bufferType:n});let _=o.getStatus(n);if(_.type===\"initialized\"){if(c.info(\"Stream\",\"Clearing previous SegmentSink\",{periodStart:g.start,bufferType:n}),St.isNative(n))return T(0,!0,E.signal);{let M=(B=g.end)!=null?B:1/0;if(g.start>M)c.warn(\"Stream\",\"Can't free buffer: period's start is after its end\",{periodStart:g.start,periodEnd:M,bufferType:n});else if(await _.value.removeBuffer(g.start,M),E.isUsed())return}}else if(_.type===\"uninitialized\"&&(o.disableSegmentSink(n),E.isUsed()))return;return f.adaptationChange({type:n,adaptation:null,period:g}),E.isUsed()?void 0:ls(r,d,n,{period:g},f,E.signal)}let C=g.adaptations[n],P=j(C!=null?C:[],_=>_.id===R.adaptationId);if(P===void 0){b.cancel(\"PeriodStream: Adaptation not found\"),c.warn(\"Stream\",\"Unfound chosen Adaptation choice\",{adaptationId:R.adaptationId});return}let{DELTA_POSITION_AFTER_RELOAD:x}=L.getCurrent(),A=!1,k;if(p)k=0;else if(R.relativeResumingPosition!==void 0)k=R.relativeResumingPosition;else switch(A=!0,n){case\"audio\":k=x.trackSwitch.audio;break;case\"video\":k=x.trackSwitch.video;break;default:k=x.trackSwitch.other;break}if(p=!1,St.isNative(n)&&o.getStatus(n).type===\"disabled\")return T(k,!0,E.signal);m.addEventListener(\"manifestUpdate\",_=>{for(let M of _.updatedPeriods)if(M.period.id===g.id){for(let D of M.result.removedAdaptations)if(D.id===P.id)return T(k,!0,E.signal)}else if(M.period.start>g.start)break},b.signal);let{representations:N}=R;if(c.info(\"Stream\",\"Updating adaptation\",{bufferType:P.type,periodStart:g.start,adaptationId:P.id}),f.adaptationChange({type:n,adaptation:P,period:g}),E.isUsed())return;let w=$u(o,n,P),W=zi(w,g,P,R.switchingMode,r,s);if(W.type===\"needs-reload\")return T(k,!0,E.signal);if(await o.waitForUsableBuffers(E.signal),!E.isUsed()){if(W.type===\"flush-buffer\"||W.type===\"clean-buffer\"){for(let{start:_,end:M}of W.value)if(await w.removeBuffer(_,M),E.isUsed())return;if(W.type===\"flush-buffer\"&&(f.needsBufferFlush({relativeResumingPosition:k,relativePosHasBeenDefaulted:A}),E.isUsed()))return}t.get(w)(E.signal),S(P,N,w,E.signal)}})().catch(E=>{E instanceof ue||(b==null||b.cancel(\"PeriodStream err\"),f.error(E))})},{clearSignal:l,emitCurrentValue:!0});function S(R,E,C,P){let x=Zu(r,R.type);us({content:{manifest:m,period:g,adaptation:R,representations:E},options:s,playbackObserver:x,representationEstimator:i,segmentSink:C,segmentQueueCreator:a,wantedBufferAhead:d,maxVideoBufferSize:u},de(J({},f),{error:A}),P);function A(k){if(!St.isNative(n)){c.error(\"Stream\",`${n} Stream crashed. Aborting it.`,k instanceof Error?k:\"\"),o.disposeSegmentSink(n,\"AdaptationStream err\");let N=ge(k,{defaultCode:\"NONE\",defaultReason:\"Unknown `AdaptationStream` error\"});return f.warning(N),P.isCancelled()?void 0:ls(r,d,n,{period:g},f,P)}c.error(\"Stream\",`${n} Stream crashed. Stopping playback.`,k instanceof Error?k:\"\"),f.error(k)}}function T(R,E,C){at(()=>{r.listen(()=>{C.isCancelled()||f.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:R,stayInPeriod:E})},{includeLastObservation:!0,clearSignal:C})})}}function $u(n,e,t){let r=n.getStatus(e);if(r.type===\"initialized\")return c.info(\"Stream\",\"Reusing a previous SegmentSink for the type\",{bufferType:e}),r.value;let i=Xu(t);return n.createSegmentSink(e,i)}function Xu(n){let e=n.representations.filter(t=>t.isPlayable()!==!1);if(e.length>0)return e[0].getMimeTypeString();if(n.representations.length>0)return n.representations[0].getMimeTypeString();throw new ee(\"NO_PLAYABLE_REPRESENTATION\",\"No Representation in the chosen \"+n.type+\" Adaptation can be played\",{tracks:[vt(n)]})}function Zu(n,e){return n.deriveReadOnlyObserver(function(r,i){let a=new $(o(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),a;function o(){let d=r.getValue(),u=d.buffered[e],f=u!==null?xr(u,d.position.getWanted()):0;return H({},d,{bufferGap:f,buffered:u})}function s(){a.setValue(o())}})}function ls(n,e,t,r,i,a){let{period:o}=r,s=!1;e.onUpdate(d,{emitCurrentValue:!1,clearSignal:a}),n.listen(d,{includeLastObservation:!1,clearSignal:a}),d();function d(){let u=n.getReference().getValue(),f=e.getValue(),l=u.position.getWanted();o.end!==void 0&&l+f>=o.end&&(c.debug(\"Stream\",'full \"empty\" AdaptationStream',{bufferType:t,periodEnd:o.end,position:l,wantedBufferAhead:f}),s=!0),i.streamStatusUpdate({period:o,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var fs=Wi;function Dr(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory(),i=n.getPendingOperations();for(let a of r)if(e.some(s=>a.infos.period.id===s.period.id&&a.infos.adaptation.id===s.adaptation.id&&a.infos.representation.id===s.representation.id)){let{bufferedStart:s,bufferedEnd:d}=a;if(s===void 0||d===void 0)return c.warn(\"Stream\",\"No buffered start or end found from a segment.\",{bufferType:a.infos.adaptation.type,segmentStart:a.infos.segment.time}),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===s?u.end=d:t.push({start:s,end:d})}for(let a of i){if(a.type!==0)continue;let o=a.value;e.some(d=>o.inventoryInfos.period.id===d.period.id&&o.inventoryInfos.adaptation.id===d.adaptation.id&&o.inventoryInfos.representation.id===d.representation.id)&&bt(t,{start:o.inventoryInfos.start,end:o.inventoryInfos.end})}return t}function Vi(n,e,t,r,i,a,o,s){let{manifest:d,initialPeriod:u}=n,{maxBufferAhead:f,maxBufferBehind:l,wantedBufferAhead:m,maxVideoBufferSize:g}=a,{MINIMUM_MAX_BUFFER_AHEAD:h,MAXIMUM_MAX_BUFFER_AHEAD:b,MAXIMUM_MAX_BUFFER_BEHIND:p}=L.getCurrent(),S=new bn(E=>{var A,k;let{bufferType:C}=E,P=(A=p[C])!=null?A:1/0,x=(k=b[C])!=null?k:1/0;return N=>{Mr({segmentSink:E,playbackObserver:e,maxBufferBehind:en(l,w=>Math.min(w,P),N),maxBufferAhead:en(f,w=>{var B;let W=Math.max(w,(B=h[C])!=null?B:0);return Math.min(W,x)},N)},N)}});for(let E of r.getBufferTypes())T(E,u);function T(E,C){let P=new kt((W,B)=>W.start-B.start),x=!1,A=new z(\"StreamOrchestrator Streams for \"+E);return A.linkToSignal(s),e.listen(({position:W})=>{let B=W.getWanted();if(!x||!N(B))return;let _=()=>{var D;return(D=d.getPeriodForTime(B))!=null?D:d.getNextPeriod(B)},M=_();if(!(!v(M)&&P.has(M))){for(c.info(\"Stream\",\"Destroying all PeriodStreams due to out of bounds situation\",{bufferType:E,time:B}),x=!1;P.length()>0;){let D=P.get(P.length()-1);P.removeElement(D),o.periodStreamCleared({type:E,manifest:d,period:D})}if(A.cancel(\"PeriodStream is out of bounds\"),A=new z(\"StreamOrchestrator Streams for \"+E),A.linkToSignal(s),M=_(),M===void 0){c.warn(\"Stream\",\"The wanted position is not found in the Manifest.\"),x=!0;return}k(M)}},{clearSignal:s,includeLastObservation:!0}),d.addEventListener(\"decipherabilityUpdate\",W=>{s.isCancelled()||w(W).catch(B=>{s.isCancelled()||(A.cancel(\"decipherabilityUpdate event\"),o.error(B))})},s),k(C);function k(W){let B=de(J({},o),{waitingMediaSourceReload(_){let M=P.head();M===void 0||M.id!==_.period.id?o.lockedStream({bufferType:_.bufferType,period:_.period}):o.needsMediaSourceReload({timeOffset:_.timeOffset,minimumPosition:_.stayInPeriod?_.period.start:void 0,maximumPosition:_.stayInPeriod?_.period.end:void 0})},periodStreamReady(_){x=!0,P.add(_.period),o.periodStreamReady(_)},periodStreamCleared(_){P.removeElement(_.period),o.periodStreamCleared(_)},error(_){A.cancel(\"PeriodStream err callback\"),o.error(_)}});R(E,W,B,A.signal)}function N(W){let B=P.head(),_=P.last();return B===void 0||_===void 0?!0:B.start>W||(v(_.end)?1/0:_.end)<W}async function w(W){let B=r.getStatus(E),_=W.filter(q=>q.adaptation.type===E);if(_.length===0||B.type!==\"initialized\"||_.every(q=>q.representation.decipherable===!0))return;let M=B.value,D=_.filter(q=>q.representation.decipherable===void 0),U=_.filter(q=>q.representation.decipherable===!1),G=Dr(M,U),Q=Dr(M,D);for(c.info(\"Stream\",\"Destroying all PeriodStreams for decipherability matters\",{bufferType:E}),x=!1;P.length()>0;){let q=P.get(P.length()-1);P.removeElement(q),o.periodStreamCleared({type:E,manifest:d,period:q})}A.cancel(\"decipherability update\"),A=new z(\"StreamOrchestrator Streams for \"+E),A.linkToSignal(s);let K=A;for(let{start:q,end:Z}of[...G,...Q]){if(K.isUsed())return;q<Z&&await M.removeBuffer(q,Z)}at(()=>{if(K.signal.isCancelled())return;let q=e.getReference().getValue();if(ms(q,G)){if(o.needsDecipherabilityFlush(),K.isUsed())return}else if(ms(q,Q)&&(o.needsBufferFlush(),K.isUsed()))return;let Z=q.position.getWanted(),X=d.getPeriodForTime(Z);if(X===void 0&&(X=d.getNextPeriod(Z),c.warn(\"Stream\",\"No Period found for the reloading position, selecting next one instead\",{reloadPosition:Z,nextPeriodStart:X==null?void 0:X.start})),X===void 0&&(X=d.periods[d.periods.length-1],c.warn(\"Stream\",\"No Period found for of after the reloading position, selecting the last one\",{reloadPosition:Z,nextPeriodStart:X==null?void 0:X.start,nextPeriodEnd:X==null?void 0:X.end})),X===void 0){o.error(new ee(\"MEDIA_TIME_NOT_FOUND\",\"The wanted position is not found in the Manifest.\"));return}k(X)})}}function R(E,C,P,x){c.info(\"Stream\",\"Creating new PeriodStream\",{bufferType:E,periodStart:C.start});let A=null,k=new z(\"StreamOrchestrator current consecutive Streams \"+E);k.linkToSignal(x),e.listen(({position:_},M)=>{if(C.end!==void 0&&_.getWanted()>=C.end){let D=d.getPeriodAfter(C);if(C.containsTime(_.getWanted(),D))return;c.info(\"Stream\",\"Destroying PeriodStream as the current playhead moved above it\",{bufferType:E,periodStart:C.start,periodEnd:C.end,position:_.getWanted()}),M(),P.periodStreamCleared({type:E,manifest:d,period:C}),k.cancel(\"Position ahead of PeriodStream\")}},{clearSignal:x,includeLastObservation:!0});let N={bufferType:E,content:{manifest:d,period:C},garbageCollectors:S,maxVideoBufferSize:g,segmentQueueCreator:i,segmentSinksStore:r,options:a,playbackObserver:e,representationEstimator:t,wantedBufferAhead:m},w=de(J({},P),{streamStatusUpdate(_){if(_.hasFinishedLoading){let M=d.getPeriodAfter(C);M!==null&&W(M)}else A!==null&&(c.info(\"Stream\",\"Destroying next PeriodStream due to current one being active\",{bufferType:E,periodStart:C.start,nextPeriodStart:A.period.start}),P.periodStreamCleared({type:E,manifest:d,period:A.period}),A.canceller.cancel(\"previous PeriodStream is active\"),A=null);P.streamStatusUpdate(_)},error(_){A!==null&&(A.canceller.cancel(\"previous PeriodStream err\"),A=null),k.cancel(\"PeriodStream err\"),P.error(_)}});fs(N,w,k.signal),B(k.signal);function W(_){if(A!==null){if(A.period.id===_.id)return;c.warn(\"Stream\",\"Creating next `PeriodStream` while one was already created.\",{bufferType:E,nextPeriodStart:_.start}),P.periodStreamCleared({type:E,manifest:d,period:A.period}),A.canceller.cancel(\"PeriodStream recreation\")}let M=new z(\"StreamOrchestrator next PeriodStream \"+E);M.linkToSignal(x),A={canceller:M,period:_},R(E,_,P,A.canceller.signal)}function B(_){d.addEventListener(\"manifestUpdate\",M=>{for(let D of M.removedPeriods)if(D.id===C.id){if(d.periods.length>0&&d.periods[0].start<=D.start)return at(()=>{if(!_.isCancelled())return o.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(D.start>C.start)break;if(A!==null){let D=d.getPeriodAfter(C);(D===null||A.period.id!==D.id)&&(c.warn(\"Stream\",\"Destroying next PeriodStream due to manifest update\",{bufferType:E,nextPeriodStart:A.period.start}),P.periodStreamCleared({type:E,manifest:d,period:A.period}),A.canceller.cancel(\"Next Period changed\"),A=null)}},_)}}}function ms(n,e){if(e.length===0)return!1;let t=n.position.getPolled();return n.speed>=0?e[e.length-1].end>=t-5:e[0].start<=t+5}var cs=Vi;var ps=cs;function qi(n,e){if(typeof n.changeType==\"function\"){try{n.changeType(e)}catch(t){return c.warn(\"mse\",\"Could not call 'changeType' on the given SourceBuffer:\",t instanceof Error?t:\"\"),!1}return!0}return!1}function Ju(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function Cn(n,e){if(c.debug(\"mse\",\"Trying to call endOfStream\"),n.readyState!==\"open\"){c.debug(\"mse\",\"MediaSource not open, cancel endOfStream\");return}let{sourceBuffers:t}=n,r=Ju(t);if(r.length===0){c.info(\"mse\",\"Triggering end of stream\");try{n.endOfStream()}catch(a){c.error(\"mse\",\"Unable to call endOfStream\",a instanceof Error?a:new Error(\"Unknown error\"))}return}c.debug(\"mse\",\"Waiting SourceBuffers to be updated before calling endOfStream.\");let i=new z(\"EndOfStream current iteration\");i.linkToSignal(e);for(let a of r)ko(a,()=>{i.cancel(\"SourceBuffer update\"),Cn(n,e)},i.signal);Mo(t,()=>{i.cancel(\"SourceBuffer remove\"),Cn(n,e)},i.signal)}function gs(n,e){let t=new z(\"EndOfStream\");t.linkToSignal(e),Ft(n,()=>{c.debug(\"mse\",\"MediaSource re-opened while end-of-stream is active\"),t.cancel(\"MediaSource re-opened\"),t=new z(\"EndOfStream\"),t.linkToSignal(e),Cn(n,t.signal)},e),Cn(n,t.signal)}function Gi(){let{FORCE_HAS_ISSUES_WITH_HIGH_MEDIA_SOURCE_DURATION:n}=L.getCurrent();return n||tt.device===tt.DEVICES.PlayStation5}var el=365*24*3600,An=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(\"manual duration update\"),this._currentMediaSourceDurationUpdateCanceller=new z(\"MediaSource Duration Update\");let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,a=rl(r,i),o=new z(void 0);o.linkToSignal(i),a.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(o.cancel(\"MediaSource open status changed\"),!a.getValue())return;o=new z(void 0),o.linkToSignal(i);let d=nl(r.sourceBuffers,o.signal),u=new z(void 0);return u.linkToSignal(o.signal),d.onUpdate(f=>{u.cancel(\"SourceBuffer status update\"),u=new z(void 0),u.linkToSignal(o.signal),!f&&Is(r,e,t,u.signal)},{clearSignal:o.signal,emitCurrentValue:!0})}}stopUpdating(e){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(e!=null?e:\"stop MSDU\"),this._currentMediaSourceDurationUpdateCanceller=null)}};function tl(n,e,t){let r=e;t||(r=Gi()?1/0:hs(e));let i=0;for(let a=0;a<n.sourceBuffers.length;a++){let o=n.sourceBuffers[a],s=o.buffered.length;s>0&&(i=Math.max(i,o.buffered.end(s-1)))}if(r===n.duration)return\"success\";if(i>r){if(i<n.duration)try{c.info(\"mse\",\"Updating duration to what is currently buffered\",{maxBufferedEnd:i}),n.duration=i}catch(a){return c.warn(\"mse\",\"Can't update duration on the MediaSource.\",a instanceof Error?a:\"\"),\"failed\"}return\"partial\"}else{let a=n.duration;try{if(c.info(\"mse\",\"Updating duration\",{newDuration:r}),n.duration=r,n.readyState===\"open\"&&!isFinite(r)){let s=hs(e);c.info(\"mse\",\"calling `mediaSource.setLiveSeekableRange`\",{maxSeekable:s}),n.setLiveSeekableRange(0,s)}}catch(s){return c.warn(\"mse\",\"Can't update duration on the MediaSource.\",s instanceof Error?s:\"\"),\"failed\"}let o=Math.abs(n.duration-r);if(o>=.1){let s=Math.abs(n.duration-a);return o<s?\"partial\":\"failed\"}return\"success\"}}function nl(n,e){if(n.length===0){let i=new $(!1);return i.finish(),i}let t=new $(!1,e);r();for(let i=0;i<n.length;i++){let a=n[i];a.addEventListener(\"updatestart\",r),a.addEventListener(\"update\",r),e.register(()=>{a.removeEventListener(\"updatestart\",r),a.removeEventListener(\"update\",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function rl(n,e){let t=new $(n.readyState===\"open\",e);return Ft(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource open in duration updater\"),t.setValueIfChanged(!0)},e),Er(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource ended in duration updater\"),t.setValueIfChanged(!1)},e),Tr(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource close in duration updater\"),t.setValueIfChanged(!1)},e),t}function Is(n,e,t,r){if(tl(n,e,t)===\"success\")return;let a=setTimeout(()=>{o(),Is(n,e,t,r)},2e3),o=r.register(()=>{clearTimeout(a)})}function hs(n){return Math.max(Math.pow(2,32),n+el)}var xn=class extends ce{constructor(e,t){super(),this.id=e,this.sourceBuffers=[],this._canceller=new z(\"MainMediaSourceInterface\");let{MediaSource_:r}=ln;if(v(r))throw new ee(\"MEDIA_SOURCE_NOT_SUPPORTED\",\"No MediaSource Object was found in the current browser.\");c.info(\"mse\",\"Creating MediaSource\");let i=t!==void 0?new t:new r,a=i.handle;this.handle=v(a)?{type:\"media-source\",value:i}:{type:\"handle\",value:a},this._mediaSource=i,this.readyState=i.readyState,this._durationUpdater=new An(i),this._endOfStreamCanceller=null,Ft(i,()=>{this.readyState=i.readyState,this.trigger(\"mediaSourceOpen\",null)},this._canceller.signal),Er(i,()=>{this.readyState=i.readyState,this.trigger(\"mediaSourceEnded\",null)},this._canceller.signal),Tr(i,()=>{this.readyState=i.readyState,this.trigger(\"mediaSourceClose\",null)},this._canceller.signal),this._mediaSource.streaming!==void 0&&(this.streaming=this._mediaSource.streaming),this._mediaSource.addEventListener(\"startstreaming\",()=>{this.streaming=!0,this.trigger(\"streamingChanged\",null)}),this._mediaSource.addEventListener(\"endstreaming\",()=>{this.streaming=!1,this.trigger(\"streamingChanged\",null)})}addSourceBuffer(e,t){let r=this._mediaSource.addSourceBuffer(t),i=new Hi(e,t,r);return this.sourceBuffers.push(i),i}setDuration(e,t){this._durationUpdater.updateDuration(e,t)}interruptDurationSetting(e){this._durationUpdater.stopUpdating(e)}maintainEndOfStream(){this._endOfStreamCanceller===null&&(this._endOfStreamCanceller=new z(\"MainMediaSourceInterface EndOfStream\"),this._endOfStreamCanceller.linkToSignal(this._canceller.signal),c.debug(\"mse\",\"end-of-stream order received.\"),gs(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(c.debug(\"mse\",\"resume-stream order received.\"),this._endOfStreamCanceller.cancel(\"MediaSourceInterface stopEndOfStream\"),this._endOfStreamCanceller=null)}dispose(e){this.sourceBuffers.forEach(t=>t.dispose(e)),this._canceller.cancel(e!=null?e:\"MainMediaSourceInterface dispose\"),il(this._mediaSource)}},Hi=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new z(\"MainSourceBufferInterface \"+e),this._sourceBuffer=r,this._operationQueue=[],this._currentOperations=[];let i=this._onError.bind(this),a=this._onUpdateEnd.bind(this);r.addEventListener(\"updateend\",a),r.addEventListener(\"error\",i),this._canceller.signal.register(()=>{r.removeEventListener(\"updateend\",a),r.removeEventListener(\"error\",i)})}appendBuffer(...e){return c.debug(\"mse\",\"receiving order to push data to the SourceBuffer\",{type:this.type}),this._addToQueue({operationName:0,params:e})}remove(e,t){return c.debug(\"mse\",\"receiving order to remove data from the SourceBuffer\",{type:this.type,start:e,end:t}),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return ki(this._sourceBuffer.buffered)}catch(e){return c.error(\"mse\",\"Failed to get buffered time range of SourceBuffer\",{type:this.type},e instanceof Error?e:\"Unknown Error\"),[]}}abort(e){try{this._sourceBuffer.abort()}catch(t){c.debug(\"mse\",\"Failed to abort SourceBuffer:\",t instanceof Error?t:\"Unknown Error\")}this._emptyCurrentQueue(e)}dispose(e){try{this._sourceBuffer.abort()}catch(t){}this._emptyCurrentQueue(e)}_onError(e){let t;e instanceof Error?t=e:e.error instanceof Error?t=e.error:t=new Error(\"Unknown SourceBuffer Error\");let r=this._currentOperations;if(this._currentOperations=[],r.length===0)c.error(\"mse\",\"error for an unknown operation\",t);else{let i=new xe(t.name,t.message,t.name===\"QuotaExceededError\");for(let a of r)a.reject(i)}}_onUpdateEnd(){let e=this._currentOperations;this._currentOperations=[];try{for(let t of e)t.resolve(ki(this._sourceBuffer.buffered))}catch(t){for(let r of e)t instanceof Error&&t.name===\"InvalidStateError\"?r.resolve([]):r.reject(t)}this._performNextOperation()}_emptyCurrentQueue(e){let t=new ue(\"MainSourceBufferInterface queue \"+this.type,e);this._currentOperations.length>0&&(this._currentOperations.forEach(r=>{r.reject(t)}),this._currentOperations=[]),this._operationQueue.length>0&&(this._operationQueue.forEach(r=>{r.reject(t)}),this._operationQueue=[])}_addToQueue(e){return new Promise((t,r)=>{let i=this._operationQueue.length===0&&this._currentOperations.length===0,a=H({resolve:t,reject:r},e);this._operationQueue.push(a),i&&this._performNextOperation()})}_performNextOperation(){var t,r,i,a,o;if(this._currentOperations.length!==0||this._sourceBuffer.updating)return;let e=this._operationQueue.shift();if(e!==void 0)if(e.operationName===0){this._currentOperations=[{operationName:0,resolve:e.resolve,reject:e.reject}];let s=e.params[0],d=e.params[1],u=s;if(this._operationQueue.length>0&&this._operationQueue[0].operationName===0){let f;s instanceof ArrayBuffer?f=new Uint8Array(s):s instanceof Uint8Array?f=s:f=new Uint8Array(s.buffer);let l=[f];for(;((t=this._operationQueue[0])==null?void 0:t.operationName)===0;){let m=this._operationQueue[0],g=(r=d.appendWindow)!=null?r:[void 0,void 0],h=(i=m.params[1].appendWindow)!=null?i:[void 0,void 0],b=(a=d.timestampOffset)!=null?a:0,p=(o=m.params[1].timestampOffset)!=null?o:0;if(g[0]===h[0]&&g[1]===h[1]&&d.codec===m.params[1].codec&&b===p){let S=m.params[0],T;S instanceof ArrayBuffer?T=new Uint8Array(S):S instanceof Uint8Array?T=S:T=new Uint8Array(S.buffer),l.push(T),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:m.resolve,reject:m.reject})}else break}l.length>1&&(c.info(\"mse\",`: Merging ${l.length} segments together for perf`,{type:this.type}),u=At(...l).buffer)}try{this._appendBufferNow(u,d)}catch(f){let l=f instanceof Error?new xe(f.name,f.message,f.name===\"QuotaExceededError\"):new xe(\"Error\",\"Unknown SourceBuffer Error during appendBuffer\",!1);this._currentOperations.forEach(m=>{m.reject(l)}),this._currentOperations=[],this._performNextOperation()}}else{this._currentOperations=[e];let[s,d]=e.params;c.debug(\"mse\",\"removing data from SourceBuffer\",{type:this.type,start:s,end:d});try{this._sourceBuffer.remove(s,d)}catch(u){let f=u instanceof Error?new xe(u.name,u.message,!1):new xe(\"Error\",\"Unknown SourceBuffer Error during remove\",!1);e.reject(f),this._currentOperations.forEach(l=>{l.reject(f)}),this._currentOperations=[],this._performNextOperation()}}}_appendBufferNow(e,t){let r=this._sourceBuffer,{codec:i,timestampOffset:a,appendWindow:o=[]}=t;if(i!==void 0&&i!==this.codec&&(c.debug(\"mse\",\"updating codec\",{type:this.type,prevCodec:this.codec,newCodec:i}),qi(r,i)?this.codec=i:c.debug(\"mse\",\"could not update codec\",{type:this.type,prevCodec:this.codec,newCodec:i})),a!==void 0&&r.timestampOffset!==a){let s=a;c.debug(\"mse\",\"updating timestampOffset\",{type:this.type,codec:i,prevTimestampOffset:r.timestampOffset,newTimestampOffset:s}),r.timestampOffset=s}if(o[0]===void 0)r.appendWindowStart>0&&(c.debug(\"mse\",\"re-setting `appendWindowStart`\",{type:this.type,prevWindowStart:r.appendWindowStart}),r.appendWindowStart=0);else if(o[0]!==r.appendWindowStart){if(o[0]>=r.appendWindowEnd){let s=o[0]+1;c.debug(\"mse\",\"pre-updating `appendWindowEnd`\",{type:this.type,prevWindowEnd:r.appendWindowEnd,newWindowEnd:s}),r.appendWindowEnd=s}c.debug(\"mse\",\"setting `appendWindowStart`\",{type:this.type,appendWindowStart:o[0]}),r.appendWindowStart=o[0]}o[1]===void 0?r.appendWindowEnd!==1/0&&(c.debug(\"mse\",\"re-setting `appendWindowEnd`\",{type:this.type,prevWindowStart:r.appendWindowStart}),r.appendWindowEnd=1/0):o[1]!==r.appendWindowEnd&&(c.debug(\"mse\",\"setting `appendWindowEnd`\",{type:this.type,prevWindowEnd:r.appendWindowEnd,newWindowEnd:o[1]}),r.appendWindowEnd=o[1]),c.debug(\"mse\",\"pushing segment\",{type:this.type}),r.appendBuffer(e)}};function il(n){if(n.readyState!==\"closed\"){let{readyState:e,sourceBuffers:t}=n;for(let r=t.length-1;r>=0;r--){let i=t[r];try{if(e===\"open\"){c.info(\"mse\",\"Aborting SourceBuffer before removing\");try{i.abort()}catch(a){}}c.info(\"mse\",\"Removing SourceBuffer from mediaSource\"),n.removeSourceBuffer(i)}catch(a){}}t.length>0&&c.info(\"mse\",\"Not all SourceBuffers could have been removed.\")}}var al=Me(),Br=Me(),bs=1/0,kn=class extends ce{constructor(e,t,r){super(),this.id=e,this.sourceBuffers=[],this._canceller=new z(\"WorkerMediaSourceInterface\"),this.readyState=\"closed\",this._messageSender=r;let i=al();this._messageSender({type:\"create-media-source\",contentId:t,mediaSourceId:i})}onMediaSourceReadyStateChanged(e){switch(e){case\"closed\":this.readyState=\"closed\",this.trigger(\"mediaSourceClose\",null);break;case\"open\":this.readyState=\"open\",this.trigger(\"mediaSourceOpen\",null);break;case\"ended\":this.readyState=\"ended\",this.trigger(\"mediaSourceEnded\",null);break}}addSourceBuffer(e,t){this._messageSender({type:\"add-source-buffer\",mediaSourceId:this.id,value:{sourceBufferType:e,codec:t}});let r=new Ki(e,t,this.id,this._messageSender);return this.sourceBuffers.push(r),r}setDuration(e,t){this._messageSender({type:\"update-media-source-duration\",mediaSourceId:this.id,value:{duration:e,isRealEndKnown:t}})}interruptDurationSetting(){this._messageSender({type:\"stop-media-source-duration\",mediaSourceId:this.id,value:null})}maintainEndOfStream(){this._messageSender({type:\"end-of-stream\",mediaSourceId:this.id,value:null})}stopEndOfStream(){this._messageSender({type:\"stop-end-of-stream\",mediaSourceId:this.id,value:null})}dispose(e){this.sourceBuffers.forEach(t=>t.dispose(e)),this._canceller.cancel(\"WorkerMediaSourceInterface dispose\"),this._messageSender({type:\"dispose-media-source\",mediaSourceId:this.id,value:null})}},Ki=class{constructor(e,t,r,i){this.type=e,this.codec=t,this._canceller=new z(\"WorkerSourceBufferInterface \"+e),this._mediaSourceId=r,this._queuedOperations=[],this._pendingOperations=new Map,this._messageSender=i}onOperationSuccess(e,t){let r=this._pendingOperations.get(e);r===void 0?c.warn(\"mse\",\"unknown SourceBuffer operation succeeded\",{type:this.type}):(this._pendingOperations.delete(e),r.resolve(t)),this._performNextQueuedOperationIfItExists()}onOperationFailure(e,t){let r=t.errorName===\"CancellationError\"?new ue(\"Pending SBI Operation \"+this.type,\"SBI Failure\"):new xe(t.errorName,t.message,t.isBufferFull),i=this._pendingOperations.get(e);i===void 0?c.info(\"mse\",\"unknown SourceBuffer operation failed\",{type:this.type},r):(this._pendingOperations.delete(e),i.reject(r));let a=new ue(\"Queued SBI Operation \"+this.type,\"SBI failure\");for(let o of this._queuedOperations)o.reject(a);this._queuedOperations=[]}appendBuffer(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=bs){this._queuedOperations.push({operationName:0,params:[e,t],resolve:r,reject:i});return}try{let a;e instanceof ArrayBuffer?a=e:e.byteLength===e.buffer.byteLength?a=e.buffer:a=e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset);let o=Br();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:o,value:{data:a,params:t}},[a]),this._addOperationToQueue(o,r,i)}catch(a){i(a)}})}remove(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=bs){this._queuedOperations.push({operationName:1,params:[e,t],resolve:r,reject:i});return}try{let a=Br();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{start:e,end:t}}),this._addOperationToQueue(a,r,i)}catch(a){i(a)}})}abort(){this._messageSender({type:\"abort-source-buffer\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,value:null})}dispose(e){this.abort(),this._canceller.cancel(e!=null?e:\"WorkerSourceBufferInterface dispose\")}getBuffered(){}_addOperationToQueue(e,t,r){this._pendingOperations.set(e,{resolve:a,reject:o});let i=this._canceller.signal.register(s=>{this._pendingOperations.delete(e),r(s)});function a(s){i(),t(s)}function o(s){i(),r(s)}}_performNextQueuedOperationIfItExists(){let e=this._queuedOperations.shift();if(e!==void 0)try{if(e.operationName===0){let[t,r]=e.params,i;t instanceof ArrayBuffer?i=t:t.byteLength===t.buffer.byteLength?i=t.buffer:i=t.buffer.slice(t.byteOffset,t.byteLength+t.byteOffset);let a=Br();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{data:i,params:r}},[i]),this._addOperationToQueue(a,e.resolve,e.reject)}else{let[t,r]=e.params,i=Br();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:i,value:{start:t,end:r}}),this._addOperationToQueue(i,e.resolve,e.reject)}}catch(t){e.reject(t)}}};function ji(n){let e=n.map(o=>Math.log(o/n[0])),t=e.map(o=>o-e[0]+1),r=(t[t.length-1]-1)/(n.length*2+10),i=1/r;return n.map((o,s)=>a(s));function a(o){if(o===0)return 0;let s=Math.min(Math.max(1,o),n.length-1);return n[s]===n[s-1]?a(o-1):i*(r+(n[s]*t[s-1]-n[s-1]*t[s])/(n[s]-n[s-1]))+4}}var Ue=class{constructor(e){this._alpha=Math.exp(Math.log(.5)/e),this._lastEstimate=0,this._totalWeight=0}addSample(e,t){let r=Math.pow(this._alpha,e),i=t*(1-r)+r*this._lastEstimate;isNaN(i)||(this._lastEstimate=i,this._totalWeight+=e)}getEstimate(){let e=1-Math.pow(this._alpha,this._totalWeight);return this._lastEstimate/e}};var Mn=class{constructor(){this._currentRepresentationData=null,this._lastRepresentationWithGoodScore=null}addSample(e,t,r){let i=r/t,a=this._currentRepresentationData,o;a!==null&&a.representation.id===e.id?(o=a.ewma,a.ewma.addSample(t,i),a.loadedDuration+=r,a.loadedSegments++):(o=new Ue(5),o.addSample(t,i),this._currentRepresentationData={representation:e,ewma:o,loadedDuration:r,loadedSegments:1}),o.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(c.debug(\"ABR\",\"New last stable representation\",{bitrate:e.bitrate}),this._lastRepresentationWithGoodScore=e)}getEstimate(e){if(this._currentRepresentationData===null||this._currentRepresentationData.representation.id!==e.id)return;let{ewma:t,loadedSegments:r,loadedDuration:i}=this._currentRepresentationData,a=t.getEstimate(),o=r>=6&&i>=10?1:0;return{score:a,confidenceLevel:o}}getLastStableRepresentation(){return this._lastRepresentationWithGoodScore}};var Ss=6e3,ol=15e3,sl=3e3,dl=1e3,ul=9e3,On=class{constructor(e){this._levelsMap=ji(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=Ss,c.debug(\"ABR\",\"Steps for buffer based chooser.\",this._levelsMap.map((t,r)=>`bufferLevel: ${t}, bitrate: ${e[r]}`).join(\" ,\"))}onAddedSegment(e){let t=this._levelsMap,r=this._bitrates,{bufferGap:i,currentBitrate:a,currentScore:o,speed:s}=e;if(v(a)){this._currentEstimate=r[0];return}let d=-1;for(let h=0;h<r.length;h++){let b=r[h];if(b===a)d=h;else if(b>a)break}if(d<0||r.length!==t.length){c.info(\"ABR\",\"Current Bitrate not found in the calculated levels\"),this._currentEstimate=r[0];return}let u;o!==void 0&&(u=s===0?o.score:o.score/s);let f=isFinite(i)?i:0,l=F();if(f<t[d]||u!==void 0&&u<1&&(o==null?void 0:o.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+ul){let p=this._blockRaiseDelay+sl;c.debug(\"ABR\",\"Incrementing blocking raise in BufferBasedChooser due to unstable quality\",{prevDelay:this._blockRaiseDelay,newDelay:p}),this._blockRaiseDelay=Math.min(p,ol)}else{let p=this._blockRaiseDelay-dl;c.debug(\"ABR\",\"Lowering quality in BufferBasedChooser\",{prevDelay:this._blockRaiseDelay,newDelay:p}),this._blockRaiseDelay=Math.max(Ss,p)}this._lastUnsuitableQualityTimestamp=l;let b=ae(r,p=>p===a);for(let p=b-1;p>=0;p--)if(f>=t[p]){this._currentEstimate=r[p];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||u===void 0||u<1.15||(o==null?void 0:o.confidenceLevel)!==1){this._currentEstimate=a;return}let m=t[d],g=(()=>{for(let h=d+1;h<t.length;h++)if(t[h]>m)return h})();if(g!==void 0){let h=t[g];if(i>=h){c.debug(\"ABR\",\"Raising quality in BufferBasedChooser\",{bitrate:r[g]}),this._currentEstimate=r[g];return}}this._currentEstimate=a}getLastEstimate(){return this._currentEstimate}};function ll(n,e){let t=-1;for(let o=0;o<n.length;o++){let{segment:s}=n[o].content;if(s.duration<=0)continue;let d=s.time+s.duration;if(!s.complete&&o===n.length-1&&e-s.time>-1.2){t=o;break}if(d>e&&e-s.time>-1.2){t=o;break}}if(t<0)return[];let r=n[t],i=r.content.segment.time,a=[r];for(let o=t+1;o<n.length&&n[o].content.segment.time===i;o++)a.push(n[o]);return a}function Nr(n){if(n.progress.length<5)return;let e=new Ue(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,a=t[r].timestamp-t[r-1].timestamp,o=i*8/(a/1e3);e.addSample(a/1e3,o)}return e.getEstimate()}function ys(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function fl(n,e,t,r,i){if(r)return;let{bufferGap:a,speed:o,position:s}=e,d=isFinite(a)?a:0,u=s.getWanted()+d,f=ll(n,u);if(f.length!==1)return;let l=f[0],m=F(),g=l.content.segment.duration*1500;if(g=Math.max(g,3e3),g=Math.min(g,12e3),m-l.requestTimestamp<g)return;let h=l.progress.length>0?l.progress[l.progress.length-1]:void 0,b=Nr(l);if(h!==void 0&&b!==void 0){let C=ys(h,b);if((m-h.timestamp)/1e3<=C&&C-d/o>2500)return b}if(!l.content.segment.complete)return;let p=l.content.segment.duration,S=(m-l.requestTimestamp)/1e3,T=S<=(p*1.5+2)/o;if(v(t)||T)return;let R=p/S,E=t.bitrate*Math.min(.7,R);if(i===void 0||E<i)return E}function ml(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,a=j(e,({content:l})=>l.segment.duration>0&&l.segment.time+l.segment.duration>i);if(a===void 0)return!0;let o=F(),s=a.progress.length>0?a.progress[a.progress.length-1]:void 0,d=Nr(a);if(s===void 0||d===void 0)return!0;let u=ys(s,d);return(o-s.timestamp)/1e3>u*1.2?!0:u-r/n.speed>-1.5}var wn=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:a,ABR_REGULAR_FACTOR:o}=L.getCurrent();this._initialBitrate=e,this._inStarvationMode=!1,this._lowLatencyMode=t,t?this._config={starvationGap:r.LOW_LATENCY,outOfStarvationGap:i.LOW_LATENCY,starvationBitrateFactor:a.LOW_LATENCY,regularBitrateFactor:o.LOW_LATENCY}:this._config={starvationGap:r.DEFAULT,outOfStarvationGap:i.DEFAULT,starvationBitrateFactor:a.DEFAULT,regularBitrateFactor:o.DEFAULT}}getBandwidthEstimate(e,t,r,i,a){let o,s,d=this._config,{bufferGap:u,position:f,duration:l}=e,m=isFinite(u)?u:0,{ABR_STARVATION_DURATION_DELTA:g}=L.getCurrent();return isNaN(l)||m+f.getWanted()<l-g?!this._inStarvationMode&&m<=d.starvationGap?(c.info(\"ABR\",\"enter starvation mode.\",{buffergap:m,enterStarvation:d.starvationGap}),this._inStarvationMode=!0):this._inStarvationMode&&m>=d.outOfStarvationGap&&(c.info(\"ABR\",\"exit starvation mode.\",{bufferGap:m,outOfStarvation:d.starvationGap}),this._inStarvationMode=!1):this._inStarvationMode&&(c.info(\"ABR\",\"exit starvation mode.\",{bufferGap:m}),this._inStarvationMode=!1),this._inStarvationMode&&(s=fl(i,e,r,this._lowLatencyMode,a),s!==void 0&&(c.info(\"ABR\",\"starvation mode emergency estimate:\",{bandwidth:s}),t.reset(),o=v(r)?s:Math.min(s,r.bitrate))),v(o)&&(s=t.getEstimate(),s!==void 0?o=s*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):a!==void 0?o=a*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):o=this._initialBitrate),e.speed>1&&(o/=e.speed),{bandwidthEstimate:s,bitrateChosen:o}}isUrgent(e,t,r,i){return t===null?!0:e>=t.bitrate?!1:ml(i,r,this._lowLatencyMode)}};var Dn=class{constructor(){this.bandwidth=void 0,this.representation=null,this.algorithmType=3}update(e,t,r){this.representation=e,this.bandwidth=t,this.algorithmType=r}};var Bn=class{constructor(e,t){this._scoreCalculator=e,this._lastAbrEstimate=t,this._consecutiveWrongGuesses=0,this._blockGuessesUntil=0,this._lastMaintanableBitrate=null}getGuess(e,t,r,i,a){let{bufferGap:o,speed:s}=t,d=this._lastAbrEstimate.representation;if(d===null)return null;if(i>d.bitrate)return this._lastAbrEstimate.algorithmType===2&&(this._lastAbrEstimate.representation!==null&&(this._lastMaintanableBitrate=this._lastAbrEstimate.representation.bitrate),this._consecutiveWrongGuesses=0),null;let u=this._scoreCalculator.getEstimate(r);if(this._lastAbrEstimate.algorithmType!==2){if(u===void 0)return null;if(this._canGuessHigher(o,s,u)){let l=Ts(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(d,i,u)&&(c.debug(\"ABR\",\"Guessed Representation validated\",{chosenBitrate:d.bitrate,otherAbrAlgosBitrate:i,scoreData:u==null?void 0:u.score,scoreConfidence:u==null?void 0:u.confidenceLevel}),this._lastMaintanableBitrate=d.bitrate,this._consecutiveWrongGuesses=0),r.id!==d.id)return d;if(this._shouldStopGuess(r,u,o,a))return this._consecutiveWrongGuesses++,this._blockGuessesUntil=F()+Math.min(this._consecutiveWrongGuesses*15e3,12e4),cl(e,r);if(u===void 0)return r;if(this._canGuessHigher(o,s,u)){let l=Ts(e,r);if(l!==null)return l}return r}_canGuessHigher(e,t,{score:r,confidenceLevel:i}){return isFinite(e)&&e>=2.5&&F()>this._blockGuessesUntil&&i===1&&r/t>1.01}_shouldStopGuess(e,t,r,i){if(t!==void 0&&t.score<1.01)return!0;if((t===void 0||t.score<1.2)&&r<.6)return!0;let a=i.filter(s=>s.content.representation.id===e.id),o=F();for(let s of a){let d=o-s.requestTimestamp;if(s.content.segment.isInit){if(d>1e3)return!0}else{if(d>s.content.segment.duration*1e3+200)return!0;{let u=Nr(s);if(u!==void 0&&u<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function Ts(n,e){let t=n.length,r=ae(n,({id:i})=>i===e.id);if(r<0)return c.error(\"ABR\",\"Current Representation not found.\"),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function cl(n,e){let t=ae(n,({id:r})=>r===e.id);if(t<0)return c.error(\"ABR\",\"Current Representation not found.\"),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var Nn=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=L.getCurrent();this._fastEWMA=new Ue(e),this._slowEWMA=new Ue(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=L.getCurrent();if(t<r)return;let i=t*8e3/e,a=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(a,i),this._slowEWMA.addSample(a,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=L.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=L.getCurrent();this._fastEWMA=new Ue(e),this._slowEWMA=new Ue(t),this._bytesSampled=0}};function Yi(n,e){if(n.length===0)return[];n.sort((a,o)=>a.bitrate-o.bitrate);let t=n[0].bitrate,r=Math.max(e,t),i=ae(n,a=>a.bitrate>r);return i===-1?n:n.slice(0,i)}function Qi(n,e){if(e.width===void 0||e.height===void 0)return n;let t=e.width*e.pixelRatio,r=e.height*e.pixelRatio,i=n.slice().sort((s,d)=>{var u,f;return((u=s.width)!=null?u:0)-((f=d.width)!=null?f:0)}),a=j(i,s=>typeof s.width==\"number\"&&s.width>=t&&typeof s.height==\"number\"&&s.height>=r);if(a===void 0)return n;let o=typeof a.width==\"number\"?a.width:0;return n.filter(s=>typeof s.width==\"number\"?s.width<=o:!0)}var Un=class{constructor(){this._currentRequests={}}add(e){let{id:t,requestTimestamp:r,content:i}=e;this._currentRequests[t]={requestTimestamp:r,progress:[],content:i}}addProgress(e){let t=this._currentRequests[e.id];if(v(t)){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: progress for a request not added\");c.warn(\"ABR\",\"progress for a request not added\",{requestId:e.id});return}t.progress.push(e)}remove(e){if(v(this._currentRequests[e])){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: can't remove unknown request\");c.warn(\"ABR\",\"can't remove unknown request\",{requestId:e})}delete this._currentRequests[e]}getRequests(){return yr(this._currentRequests).filter(e=>!v(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function Ur(n,e){let t=ae(n,r=>r.bitrate>e);return t===-1?n[n.length-1]:t===0?n[0]:n[t-1]}var Es=new $(void 0);Es.finish();var _s=new $(1/0);_s.finish();function $i(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,d,u,f,l){var p,S,T;let{type:m}=s.adaptation,g=a(m),h=(p=t[m])!=null?p:0,b={limitResolution:(S=r.limitResolution[m])!=null?S:Es,throttleBitrate:(T=r.throttleBitrate[m])!=null?T:_s};return pl({bandwidthEstimator:g,context:s,currentRepresentation:d,filters:b,initialBitrate:h,playbackObserver:f,representations:u,lowLatencyMode:i},l)};function a(o){let s=e[o];if(v(s)){c.debug(\"ABR\",\"Creating new BandwidthEstimator\",{bufferType:o});let d=new Nn;return e[o]=d,d}return s}}function pl({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:a,playbackObserver:o,representations:s},d){let u=new Mn,f=new wn(i!=null?i:0,a),l=new Un,m=O,g={metrics:T,requestBegin:R,requestProgress:E,requestEnd:C,addedSegment(P){m(P)}},h=new z(\"ABR \"+e.adaptation.type);h.linkToSignal(d);let b=p(s.getValue(),h.signal);return s.onUpdate(S,{clearSignal:d}),{estimates:b,callbacks:g};function p(P,x){if(P.length<=1)return new $({bitrate:void 0,representation:P[0],urgent:!0,knownStableBitrate:void 0});let A=!1,k=P.sort((U,G)=>U.bitrate-G.bitrate),N=new On(k.map(U=>U.bitrate)),w=new Dn,W=new Bn(u,w),B=o.getReference().getValue(),_=new $(D());return o.listen(U=>{B=U,M()},{includeLastObservation:!1,clearSignal:x}),m=function(U){if(B===null)return;let{position:G,speed:Q}=B,K=U.buffered,q=xr(K,G.getWanted()),{representation:Z}=U.content,X=u.getEstimate(Z),me=Z.bitrate,pe={bufferGap:q,currentBitrate:me,currentScore:X,speed:Q};N.onAddedSegment(pe),M()},x.register(()=>{m=O}),r.throttleBitrate.onUpdate(M,{clearSignal:x}),r.limitResolution.onUpdate(M,{clearSignal:x}),_;function M(){_.setValue(D())}function D(){let{bufferGap:U,position:G,maximumPosition:Q}=B,K=r.limitResolution.getValue(),q=r.throttleBitrate.getValue(),Z=t.getValue(),X=gl(k,K,q),me=l.getRequests(),{bandwidthEstimate:pe,bitrateChosen:Qe}=f.getBandwidthEstimate(B,n,Z,me,w.bandwidth),ie=u.getLastStableRepresentation(),se=ie===null?void 0:ie.bitrate/(B.speed>0?B.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:$t,ABR_EXIT_BUFFER_BASED_ALGO:Xt}=L.getCurrent();A&&U<=Xt?A=!1:!A&&isFinite(U)&&U>=$t&&(A=!0);let Re=Ur(X,Qe),Zt=N.getLastEstimate(),lr=Re.bitrate,ft=null;A&&Zt!==void 0&&Zt>lr&&(ft=Ur(X,Zt),lr=ft.bitrate);let mt=null;return a&&Z!==null&&e.manifest.isDynamic&&Q-G.getWanted()<40&&(mt=W.getGuess(k,B,Z,lr,me)),mt!==null&&mt.bitrate>lr?(c.debug(\"ABR\",\"new guess-based estimate\",{bitrate:mt.bitrate,representation:mt.id}),w.update(mt,pe,2),{bitrate:pe,representation:mt,urgent:Z===null||mt.bitrate<Z.bitrate,knownStableBitrate:se}):ft!==null?(c.debug(\"ABR\",\"new buffer-based estimate\",{bitrate:ft.bitrate,representation:ft.id}),w.update(ft,pe,0),{bitrate:pe,representation:ft,urgent:f.isUrgent(ft.bitrate,Z,me,B),knownStableBitrate:se}):(c.debug(\"ABR\",\"new bandwidth estimate\",{bitrate:Re.bitrate,representation:Re.id}),w.update(Re,pe,1),{bitrate:pe,representation:Re,urgent:f.isUrgent(Re.bitrate,Z,me,B),knownStableBitrate:se})}}function S(){let P=s.getValue();h.cancel(\"restart\"),h=new z(\"ABR \"+e.adaptation.type),h.linkToSignal(d),p(P,h.signal).onUpdate(function(k){b.setValue(k)},{clearSignal:h.signal,emitCurrentValue:!0})}function T(P){let{requestDuration:x,segmentDuration:A,size:k,content:N}=P;if(n.addSample(x,k),!N.segment.isInit){let{segment:w,representation:W}=N;if(A===void 0&&!w.complete)return;let B=A!=null?A:w.duration;u.addSample(W,x/1e3,B)}}function R(P){l.add(P)}function E(P){l.addProgress(P)}function C(P){l.remove(P.id)}}function gl(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=Yi(r,t)),e!==void 0&&(r=Qi(r,e)),r}var Rs=$i;function Lr(){var t;if(typeof((t=ne.crypto)==null?void 0:t.randomUUID)==\"function\")return ne.crypto.randomUUID();let n=new Date().getTime(),e=F();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(i=(n+i)%16|0,n=Math.floor(n/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(r===\"x\"?i:i&3|8).toString(16)})}var hl=/^(?:[a-z]+:)?\\/\\//i,Il=/^(?:([^:/?#]+):)?(?:\\/\\/([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;function Zi(n){let e=n.lastIndexOf(\"/\");if(e<0)return n.length;if(hl.test(n)){let r=n.indexOf(\"/\");if(r>=0&&e===r+1)return n.length}let t=n.indexOf(\"?\");return t>=0&&t<e?Zi(n.substring(0,t)):e+1}function Ps(n,e){let t=Fr(n),r=Fr(e);if(t.scheme!==r.scheme||t.authority!==r.authority||t.path[0]!==void 0&&t.path[0]!==\"/\"&&r.path[0]===\"/\"||r.path[0]!==void 0&&r.path[0]!==\"/\"&&t.path[0]===\"/\")return null;let i=Fn(t.path),a=Fn(r.path),o;if(i===a)o=\"\";else{let d=i.split(\"/\");d.pop();let u=a.split(\"/\");for(;d.length>0&&u.length>0&&d[0]===u[0];)d.shift(),u.shift();for(;d.length>0;)d.shift(),u.unshift(\"..\");let f=u.join(\"/\");(f.endsWith(\"../\")||f.endsWith(\"./\"))&&(f=f.slice(0,f.length-1)),o=f===\"\"?\".\":f}let s=o;return o===\"\"&&r.query===t.query||Y(r.query)&&(s+=\"?\",s+=r.query),Y(r.fragment)&&(s+=\"#\",s+=r.fragment),s}function bl(n,e){let t=Fr(n),r=Fr(e);if(Y(r.scheme))return Xi(r);let i={scheme:t.scheme,authority:t.authority,path:\"\",query:r.query,fragment:r.fragment};return Y(r.authority)?(i.authority=r.authority,i.path=Fn(r.path),Xi(i)):(r.path===\"\"?(i.path=t.path,Y(r.query)||(i.query=t.query)):Ie(r.path,\"/\")?i.path=Fn(r.path):i.path=Fn(yl(t,r.path)),Xi(i))}var Ln=new Map,Sl=200;function Fr(n){var r,i,a,o,s;if(Ln.has(n))return Ln.get(n);let e=n.match(Il),t;return e===null?t={scheme:\"\",authority:\"\",path:\"\",query:\"\",fragment:\"\"}:t={scheme:(r=e[1])!=null?r:\"\",authority:(i=e[2])!=null?i:\"\",path:(a=e[3])!=null?a:\"\",query:(o=e[4])!=null?o:\"\",fragment:(s=e[5])!=null?s:\"\"},Ln.size>=Sl&&Ln.clear(),Ln.set(n,t),t}function Xi(n){let e=\"\";return Y(n.scheme)&&(e+=n.scheme+\":\"),Y(n.authority)&&(e+=\"//\"+n.authority),e+=n.path,Y(n.query)&&(e+=\"?\"+n.query),Y(n.fragment)&&(e+=\"#\"+n.fragment),e}function Fn(n){let e=n.split(/(?=\\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===\"..\"||i===\".\"||i===\"\")){if(i===\"/..\"){t.pop(),r===e.length-1&&t.push(\"/\");continue}if(i===\"/.\"){r===e.length-1&&t.push(\"/\");continue}t.push(i)}}return t.join(\"\")}function yl(n,e){if(Y(n.authority)&&n.path===\"\")return\"/\"+e;let t=n.path;return t.substring(0,t.lastIndexOf(\"/\")+1)+e}function zn(...n){var r,i,a;let e=n.filter(o=>o!==\"\"),t=e.length;if(t===0)return\"\";if(t===1)return(r=e[0])!=null?r:\"\";{let o=(i=e[0])!=null?i:\"\",s=(a=e[1])!=null?a:\"\",d=bl(o,s),u=e.slice(2);return zn(d,...u)}}var Tl=4,Wn=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:Lr(),this._contentId=(r=e.contentId)!=null?r:Lr(),this._typePreference=e.communicationType===\"headers\"?0:1,this._bufferStarvationToggle=!1,this._playbackObserver=null,this._lastThroughput={},this._canceller=null}startMonitoringPlayback(e){var t;(t=this._canceller)==null||t.cancel(\"CmcdDataBuilder start\"),this._canceller=new z(\"CMCD monitoring\"),this._playbackObserver=e,e.listen(r=>{r.rebuffering!==null&&(this._bufferStarvationToggle=!0)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}stopMonitoringPlayback(){var e;(e=this._canceller)==null||e.cancel(\"CmcdDataBuilder stop\"),this._canceller=null,this._playbackObserver=null}updateThroughput(e,t){this._lastThroughput[e]=t}_getCommonCmcdData(e){var i;let t={};t.bs=this._bufferStarvationToggle,this._bufferStarvationToggle=!1,t.cid=this._contentId,t.mtp=e!==void 0?Math.floor(Math.round(e/1e3/100)*100):void 0,t.sid=this._sessionId;let r=(i=this._playbackObserver)==null?void 0:i.getReference().getValue();return t.pr=r===void 0||!isFinite(r.speed)||r.speed<0||r.speed===1?void 0:r.speed,r!==void 0&&(t.su=r.rebuffering!==null),t}getCmcdDataForManifest(e){var r;let t=this._getCommonCmcdData((r=this._lastThroughput.video)!=null?r:this._lastThroughput.audio);switch(t.ot=\"m\",e){case\"dash\":t.sf=\"d\";break;case\"smooth\":t.sf=\"s\";break;default:t.sf=\"o\";break}return this._producePayload(t)}getCmcdDataForSegmentRequest(e){var o,s,d,u;let t=(o=this._playbackObserver)==null?void 0:o.getReference().getValue(),r=this._getCommonCmcdData(this._lastThroughput[e.adaptation.type]);switch(r.br=Math.round(e.representation.bitrate/1e3),r.d=Math.round(e.segment.duration*1e3),e.adaptation.type){case\"video\":r.ot=\"v\";break;case\"audio\":r.ot=\"a\";break;case\"text\":r.ot=\"c\";break}if(e.segment.isInit&&(r.ot=\"i\"),!v(e.nextSegment)&&e.segment.url!==null&&e.nextSegment.url!==null&&(!e.nextSegment.isInit||e.nextSegment.indexRange===void 0)){let f=e.segment.url,l=e.nextSegment.url,m=Ps(f,l);m!==null&&(m!==\".\"&&(r.nor=encodeURIComponent(m)),e.nextSegment.range!==void 0&&(r.nrr=String(e.nextSegment.range[0])+\"-\",isFinite(e.nextSegment.range[1])&&(r.nrr+=String(e.nextSegment.range[1]))))}let i;if(t!==void 0&&(r.ot===\"v\"||r.ot===\"a\"||r.ot===\"av\")){let f=t.buffered[e.adaptation.type];if(!v(f)){let l=(u=(d=(s=this._playbackObserver)==null?void 0:s.getCurrentTime())!=null?d:t.position.getWanted())!=null?u:t.position.getPolled();for(let m of f)if(l>=m.start&&l<m.end){i=(m.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let a=i===void 0||t===void 0||!isFinite(t.speed)||t.speed<=0?void 0:i/t.speed;if(r.dl=a===void 0?void 0:Math.floor(Math.round(a/100)*100),a!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(a/1e3);r.rtp=Math.floor(Math.round(l*Tl/100)*100)}switch(e.manifest.transport){case\"dash\":r.sf=\"d\";break;case\"smooth\":r.sf=\"s\";break;default:r.sf=\"o\";break}return r.st=e.manifest.isDynamic?\"l\":\"v\",r.tb=e.adaptation.representations.reduce((f,l)=>l.isPlayable()!==!0?f:f===void 0?Math.round(l.bitrate/1e3):Math.max(f,Math.round(l.bitrate/1e3)),void 0),this._producePayload(r)}_producePayload(e){let t={object:\"\",request:\"\",session:\"\",status:\"\"},r=\"\",i=(u,f)=>{this._typePreference===0?t[f]+=u:r+=u},a=(u,f)=>{let l=e[u];if(l!==void 0){let m=`${u}=${String(l)},`;i(m,f)}},o=(u,f)=>{if(e[u]===!0){let l=`${u},`;i(l,f)}},s=(u,f)=>{let l=e[u];if(l!==void 0){let m=`\"${l.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}\"`,g=`${u}=${m},`;i(g,f)}},d=(u,f)=>{let l=e[u];if(l!==void 0){let m=`${u}=${l},`;i(m,f)}};return a(\"bl\",\"request\"),a(\"br\",\"object\"),o(\"bs\",\"status\"),s(\"cid\",\"session\"),a(\"d\",\"object\"),a(\"dl\",\"request\"),a(\"mtp\",\"request\"),s(\"nor\",\"request\"),s(\"nrr\",\"request\"),d(\"ot\",\"object\"),a(\"pr\",\"session\"),a(\"rtp\",\"status\"),d(\"sf\",\"session\"),s(\"sid\",\"session\"),d(\"st\",\"session\"),o(\"su\",\"request\"),a(\"tb\",\"object\"),this._typePreference===0?(t.object[t.object.length-1]===\",\"&&(t.object=t.object.substring(0,t.object.length-1)),t.request[t.request.length-1]===\",\"&&(t.request=t.request.substring(0,t.request.length-1)),t.session[t.session.length-1]===\",\"&&(t.session=t.session.substring(0,t.session.length-1)),t.status[t.status.length-1]===\",\"&&(t.status=t.status.substring(0,t.status.length-1)),c.debug(\"CMCD\",\"proposing headers payload\"),{type:\"headers\",value:{\"CMCD-Object\":t.object,\"CMCD-Request\":t.request,\"CMCD-Session\":t.session,\"CMCD-Status\":t.status}}):(r[r.length-1]===\",\"&&(r=r.substring(0,r.length-1)),r=encodeURIComponent(r),c.debug(\"CMCD\",\"proposing query string payload\",{queryString:r}),{type:\"query\",value:[[\"CMCD\",r]]})}};var vs=Wn;var Vn=class extends ce{constructor(e){super(),this._downgradedCdnList={metadata:[],timeouts:[]},e.register(()=>{for(let t of this._downgradedCdnList.timeouts)clearTimeout(t);this._downgradedCdnList={metadata:[],timeouts:[]}})}getCdnPreferenceForResource(e){return e.length<=1?e:this._innerGetCdnPreferenceForResource(e)}downgradeCdn(e){let t=Cs(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=L.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let a=setTimeout(()=>{let o=Cs(this._downgradedCdnList.metadata,e);o>=0&&this._removeIndexFromDowngradeList(o),this.trigger(\"priorityChange\",null)},i);this._downgradedCdnList.timeouts.push(a),this.trigger(\"priorityChange\",null)}_innerGetCdnPreferenceForResource(e){let[t,r]=e.reduce((i,a)=>(this._downgradedCdnList.metadata.some(o=>o.id===a.id&&o.baseUrl===a.baseUrl)?i[1].push(a):i[0].push(a),i),[[],[]]);return t.concat(r)}_removeIndexFromDowngradeList(e){this._downgradedCdnList.metadata.splice(e,1);let t=this._downgradedCdnList.timeouts.splice(e,1);clearTimeout(t[0])}};function Cs(n,e){return n.length===0?-1:e.id!==void 0?ae(n,t=>t.id===e.id):ae(n,t=>t.baseUrl===e.baseUrl)}function Le(n){return n instanceof le?new Xe(\"PIPELINE_LOAD_ERROR\",n):ge(n,{defaultCode:\"PIPELINE_LOAD_ERROR\",defaultReason:\"Unknown error when fetching the Manifest\"})}function El(n){return n instanceof le?n.type===Pt.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412||n.status===429:n.type===Pt.TIMEOUT||n.type===Pt.ERROR_EVENT:n instanceof $e?typeof n.canRetry==\"boolean\"?n.canRetry:n.xhr!==void 0?n.xhr.status>=500||n.xhr.status===404||n.xhr.status===415||n.xhr.status===412||n.xhr.status===429:!1:Ut(n)&&n.code===\"INTEGRITY_ERROR\"}async function qn(n,e,t,r,i){if(i.cancellationError!==null)return Promise.reject(i.cancellationError);let{baseDelay:a,maxDelay:o,maxRetry:s,onRetry:d}=r;n!==null&&n.length===0&&c.warn(\"utils\",\"No CDN given to `scheduleRequestWithCdns`.\");let u=new Map,f=l();if(f===void 0)throw new Error(\"No CDN to request\");return m(f);function l(){if(n===null){let p=u.get(null);return p!==void 0&&p.isBlacklisted?void 0:null}else{if(e===null)return b(n);{let p=e.getCdnPreferenceForResource(n);return b(p)}}}async function m(p){try{return await t(p,i)}catch(S){if(z.isCancellationError(S))throw S;p!==null&&e!==null&&e.downgradeCdn(p);let T=u.get(p);if(T===void 0?(T={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},u.set(p,T)):T.errorCounter++,!El(S))return T.blockedUntil=void 0,T.isBlacklisted=!0,g(S);if(T.errorCounter>s)T.blockedUntil=void 0,T.isBlacklisted=!0;else{let R=T.errorCounter,E=Math.min(a*Math.pow(2,R-1),o),C=Ai(E);T.blockedUntil=F()+C}return g(S)}}async function g(p){let S=l();if(i.isCancelled())throw i.cancellationError;if(S===void 0)throw p;if(d(p),i.isCancelled())throw i.cancellationError;return h(S,p)}function h(p,S){let T=u.get(p);if(T===void 0||T.blockedUntil===void 0)return m(p);let R=F(),E=T.blockedUntil-R;if(E<=0)return m(p);let C=new z(\"Request Backoff\"),P=C.linkToSignal(i);return new Promise((x,A)=>{e==null||e.addEventListener(\"priorityChange\",()=>{let w=l();if(!i.isCancelled()){if(w===void 0)return N(S);w!==p&&(C.cancel(\"new prioritized CDN\"),h(w,S).then(k,N))}},C.signal),fn(E,C.signal).then(()=>m(p).then(k,N),w=>N(i.isCancelled()?i.cancellationError:w));function k(w){P(),x(w)}function N(w){P(),A(w)}})}function b(p){var T;if(u.size===0)return p[0];let S=F();return(T=p.filter(R=>{var E;return((E=u.get(R))==null?void 0:E.isBlacklisted)!==!0}).reduce((R,E)=>{var P;let C=(P=u.get(E))==null?void 0:P.blockedUntil;return C!==void 0&&C<=S&&(C=void 0),R===void 0?[E,C]:R[1]===void 0?R:C===void 0?[E,void 0]:C<R[1]?[E,C]:R},void 0))==null?void 0:T[0]}}function Ji(n,e,t){return qn(null,null,n,e,t)}var Gn=class extends ce{constructor(e,t,r){super(),this.scheduleManualRefresh=O,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new z(\"ManifestFetcher\"),this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(e){this._canceller.cancel(e!=null?e:\"ManifestFetcher dispose\"),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof It?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.parse({previousManifest:null,unsafeMode:!1})),e.then(r=>{this.trigger(\"manifestReady\",r.manifest),this._canceller.isUsed()||this._recursivelyRefreshManifest(r.manifest,r)}).catch(r=>this._onFatalError(r))}updateContentUrls(e,t){var r;this._manifestUrls=e,this._prioritizedContentUrl=(r=e==null?void 0:e[0])!=null?r:void 0,t&&this.scheduleManualRefresh({enablePartialRefresh:!1,delay:0,canUseUnsafeMode:!1})}async _fetchManifest(e){var u;let t=this._canceller.signal,r=this._settings,i=this._transportName,a=this._pipelines,o=e!=null?e:(u=this._manifestUrls)==null?void 0:u[0],s=this._getBackoffSetting(f=>{this.trigger(\"warning\",Le(f))});try{let f=await d(o);return{parse:l=>this._parseLoadedManifest(f,l,o)}}catch(f){throw Le(f)}function d(f){var p;let{loadManifest:l}=a,m=r.requestTimeout===void 0?L.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?L.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;m<0&&(m=void 0),g<0&&(g=void 0);let h={timeout:m,connectionTimeout:g,cmcdPayload:(p=r.cmcdDataBuilder)==null?void 0:p.getCmcdDataForManifest(i)};return Ji(()=>l(f,h,t),s,t)}}parse(e,t,r){return this._parseLoadedManifest({responseData:e,size:void 0,requestDuration:void 0},t,r)}async _parseLoadedManifest(e,t,r){var b;let i=F(),a=this._canceller.signal,o=this.trigger.bind(this),{sendingTime:s,receivedTime:d}=e,u=this._getBackoffSetting(p=>{this.trigger(\"warning\",Le(p))}),f=r!=null?r:(b=this._manifestUrls)==null?void 0:b[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:f};try{let p=this._pipelines.parseManifest(e,l,g,a,m);if(_l(p)){let{manifest:S}=await p;return h(S)}else return h(p.manifest)}catch(p){throw ge(p,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"})}async function m(p){try{return await Ji(p,u,a)}catch(S){throw Le(S)}}function g(p){for(let S of p){if(a.isCancelled())return;let T=ge(S,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"});o(\"warning\",T)}}function h(p){let S=F()-i;return c.info(\"MF\",`Manifest parsed in ${S}ms`),{manifest:p,sendingTime:s,receivedTime:d,parsingTime:S}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=L.getCurrent(),{lowLatencyMode:a,maxRetry:o}=this._settings,s=a?r.LOW_LATENCY:r.REGULAR,d=a?i.LOW_LATENCY:i.REGULAR,u=o!=null?o:t;return{onRetry:e,baseDelay:s,maxDelay:d,maxRetry:u}}_recursivelyRefreshManifest(e,{sendingTime:t,parsingTime:r,updatingTime:i}){let{MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:a,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:o}=L.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,d=!1;this._consecutiveUnsafeMode>0?d=this._consecutiveUnsafeMode<a:s!==void 0&&(d=s>=o);let u=t===void 0?0:F()-t,f=Math.max(this._settings.minimumManifestUpdateInterval-u,0),l=new z(\"ManifestFetcher refresh handling\");if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=m=>{let{enablePartialRefresh:g,delay:h,canUseUnsafeMode:b}=m,p=b&&d,S=t===void 0?0:F()-t,T=Math.max(this._settings.minimumManifestUpdateInterval-S,0),R=setTimeout(()=>{l.cancel(\"manifest request timeout\"),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:p})},Math.max((h!=null?h:0)-S,T));l.signal.register(()=>{clearTimeout(R)})},e.expired!==null){let m=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(\"manifest expiration\"),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},O)},f);l.signal.register(()=>{clearTimeout(m)})}if(e.lifetime!==void 0&&e.lifetime>=0){let m=e.lifetime*1e3-u,g;s===void 0?g=m:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-u,Math.max(m,0)+s),m*6),c.info(\"MF\",\"Manifest update rythm is too frequent. Postponing next request.\",{regularRefreshDelay:m,newRefreshDelay:g})):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(m,0)+s,m*6),c.info(\"MF\",\"Manifest took too long to parse. Postponing next request\",{regularRefreshDelay:m,newRefreshDelay:g})):g=m;let h=setTimeout(()=>{l.cancel(\"manifest request timeout\"),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},Math.max(g,f));l.signal.register(()=>{clearTimeout(h)})}}_triggerNextManifestRefresh(e,{enablePartialRefresh:t,unsafeMode:r}){let i=e.updateUrl,a,o;this._prioritizedContentUrl!==null?(a=!0,o=this._prioritizedContentUrl,this._prioritizedContentUrl=null):(a=!t||i===void 0,o=a?e.getUrls()[0]:i);let s=e.clockOffset;r?(this._consecutiveUnsafeMode+=1,c.info(\"MF\",'Refreshing the Manifest in \"unsafeMode\" for the '+String(this._consecutiveUnsafeMode)+\" consecutive time.\")):this._consecutiveUnsafeMode>0&&(c.info(\"MF\",'Not parsing the Manifest in \"unsafeMode\" anymore after '+String(this._consecutiveUnsafeMode)+\" consecutive times.\"),this._consecutiveUnsafeMode=0),!this._isRefreshPending&&(this._isRefreshPending=!0,this._fetchManifest(o).then(d=>d.parse({externalClockOffset:s,previousManifest:e,unsafeMode:r})).then(d=>{this._isRefreshPending=!1;let{manifest:u,sendingTime:f,parsingTime:l}=d,m=F();if(a)e.replace(u);else try{e.update(u)}catch(h){let b=h instanceof Error?h.message:\"unknown error\";c.warn(\"MF\",`Attempt to update Manifest failed: ${b}`,\"Re-downloading the Manifest fully\");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:p}=L.getCurrent(),S=f===void 0?0:F()-f,T=Math.max(this._settings.minimumManifestUpdateInterval-S,0),R=O,E=setTimeout(()=>{R(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(p-S,T));R=this._canceller.signal.register(()=>{clearTimeout(E)});return}let g=F()-m;this._recursivelyRefreshManifest(e,{sendingTime:f,parsingTime:l,updatingTime:g})}).catch(d=>{this._isRefreshPending=!1,this._onFatalError(d)}))}_onFatalError(e){this._canceller.isUsed()||(this.trigger(\"error\",e),this.dispose(\"ManifestFetcher fatal err\"))}};function _l(n){return n instanceof Promise}var ea=Gn;function ta(n,e){let t=new WeakMap;return{createRequest(r,i,a,o){let s=u=>e(r,a,u),d=n.create(s,i,a,o);return t.set(d,s),d},updatePriority(r,i){let a=t.get(r);if(a===void 0){c.warn(\"SF\",\"Cannot update the priority of a request: task not found.\");return}n.updatePriority(a,i)}}}var na=class{constructor(){this._cache=new WeakMap}add({representation:e,segment:t},r){t.isInit&&this._cache.set(e,r)}get({representation:e,segment:t}){if(t.isInit){let r=this._cache.get(e);if(r!==void 0)return r}return null}},As=na;var Rl=Me();function ra({bufferType:n,pipeline:e,cdnPrioritizer:t,cmcdDataBuilder:r,eventListeners:i,requestOptions:a}){let o;a.connectionTimeout===void 0||a.connectionTimeout<0?o=void 0:o=a.connectionTimeout;let s={timeout:a.requestTimeout<0?void 0:a.requestTimeout,connectionTimeout:o,cmcdPayload:void 0},d=fe([\"audio\",\"video\"],n)?new As:void 0,{loadSegment:u,parseSegment:f}=e;return async function(m,g,h){var G,Q,K;let{segment:b,adaptation:p,representation:S,manifest:T,period:R}=m,E=He(m),C=Rl(),P,x=[],A=0,k=!1,N={segment:b,type:p.type,language:p.language,isLive:T.isLive,periodStart:R.start,periodEnd:R.end,mimeType:S.mimeType,baseCodecs:S.baseCodecs,chosenCodec:S.chosenCodec,manifestPublishTime:T.publishTime},w={onProgress(q){var Z;P===void 0&&q.totalSize!==void 0&&q.size<q.totalSize&&((Z=i.onProgress)==null||Z.call(i,{duration:q.duration,size:q.size,totalSize:q.totalSize,timestamp:F(),id:C}))},onNewChunk(q){g.onChunk(M(q,!0))}},W=d!==void 0?d.get(m):null;if(W!==null)return c.debug(\"SF\",\"Found wanted segment in cache\",E),g.onChunk(M(W,!1)),Promise.resolve();c.debug(\"SF\",\"Beginning request\",E),(G=i.onRequestBegin)==null||G.call(i,{requestTimestamp:F(),id:C,content:m}),h.register(B);try{let q=await qn(m.representation.cdnMetadata,t,_,H({onRetry:D},a),h);if(q.resultType===\"segment-loaded\"){let Z=q.resultData.responseData;d!==void 0&&d.add(m,q.resultData.responseData),g.onChunk(M(Z,!1))}else q.resultType===\"segment-created\"&&g.onChunk(M(q.resultData,!1));c.debug(\"SF\",\"Segment request ended with success\",E),g.onAllChunksReceived(),q.resultType!==\"segment-created\"?(P=q.resultData,U()):P=null,h.isCancelled()||(Q=i.onRequestEnd)==null||Q.call(i,{id:C}),h.deregister(B)}catch(q){throw h.deregister(B),P=null,q instanceof ue?(c.debug(\"SF\",\"Segment request aborted\",E),q):(c.debug(\"SF\",\"Segment request failed\",E),(K=i.onRequestEnd)==null||K.call(i,{id:C}),Le(q))}function B(){var q;P===void 0&&(c.debug(\"SF\",\"Segment request cancelled\",E),P=null,(q=i.onRequestEnd)==null||q.call(i,{id:C}))}function _(q){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(m),u(q,N,s,h,w)}function M(q,Z){x.push(!1);let X=x.length-1;return function(pe){let Qe={data:q,isChunked:Z};try{let ie=f(Qe,N,pe);return x[X]||(A=A!==void 0&&ie.segmentType===\"media\"&&ie.chunkInfos!==null&&ie.chunkInfos.duration!==void 0?A+ie.chunkInfos.duration:void 0,x[X]=!0,U()),ie}catch(ie){throw ge(ie,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}}function D(q){g.onRetry(Le(q))}function U(){var q;k||!v(P)&&P.size!==void 0&&P.requestDuration!==void 0&&x.length>0&&x.every(Z=>Z)&&(k=!0,(q=i.onMetrics)==null||q.call(i,{size:P.size,requestDuration:P.requestDuration,content:m,segmentDuration:A}))}}}function xs({maxRetry:n,lowLatencyMode:e,requestTimeout:t,connectionTimeout:r}){let{DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:i,DEFAULT_REQUEST_TIMEOUT:a,DEFAULT_CONNECTION_TIMEOUT:o,INITIAL_BACKOFF_DELAY_BASE:s,MAX_BACKOFF_DELAY_BASE:d}=L.getCurrent();return{maxRetry:n!=null?n:i,baseDelay:e?s.LOW_LATENCY:s.REGULAR,maxDelay:e?d.LOW_LATENCY:d.REGULAR,requestTimeout:t===void 0?a:t,connectionTimeout:r===void 0?o:r}}var Hn=class extends ce{constructor(e,t){super(),this._segmentFetcher=e,this._currentContentInfo=null,this.isMediaSegmentQueueInterrupted=t}getRequestedInitSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.initSegmentRequest)==null?void 0:t.segment)!=null?r:null}getRequestedMediaSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.mediaSegmentRequest)==null?void 0:t.segment)!=null?r:null}resetForContent(e,t,r){var s;(s=this._currentContentInfo)==null||s.currentCanceller.cancel(r!=null?r:\"SegmentQueue reset\");let i=new $({initSegment:null,segmentQueue:[]}),a=new z(\"SegmentQueue \"+e.adaptation.type);a.signal.register(()=>{i.finish()});let o={content:e,downloadQueue:i,initSegmentInfoRef:t?new $(void 0):new $(null),currentCanceller:a,initSegmentRequest:null,mediaSegmentRequest:null,mediaSegmentAwaitingInitMetadata:null};return this._currentContentInfo=o,this.isMediaSegmentQueueInterrupted.onUpdate(d=>{d||(c.debug(\"SF\",\"Media segment can be loaded again, restarting queue.\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(o,\"interrupt end\"))},{clearSignal:a.signal}),i.onUpdate(d=>{let{segmentQueue:u}=d;if(u.length>0&&u[0].segment.id===o.mediaSegmentAwaitingInitMetadata)return;let f=o.mediaSegmentRequest;if(u.length===0){if(f===null)return;c.debug(\"SF\",\"no more media segment to request. Cancelling queue.\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(o,\"media segment queue empty\");return}else if(f===null){c.debug(\"SF\",\"Media segments now need to be requested. Starting queue.\",{type:e.adaptation.type,queueLength:u.length}),this._restartMediaSegmentDownloadingQueue(o,\"media segment queue start\");return}else{let l=u[0];if(f.segment.id!==l.segment.id){c.debug(\"SF\",\"Next media segment changed, cancelling previous\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(o,\"next media segment changed\");return}f.priority!==l.priority&&(c.debug(\"SF\",\"Priority of next media segment changed, updating\",{type:e.adaptation.type,prevPriority:f.priority,newPriority:l.priority}),this._segmentFetcher.updatePriority(f.request,l.priority));return}},{emitCurrentValue:!0,clearSignal:a.signal}),i.onUpdate(d=>{var f;let u=o.initSegmentRequest;if(d.initSegment!==null&&u!==null){d.initSegment.priority!==u.priority&&this._segmentFetcher.updatePriority(u.request,d.initSegment.priority);return}else if(((f=d.initSegment)==null?void 0:f.segment.id)===(u==null?void 0:u.segment.id))return;d.initSegment===null&&c.debug(\"SF\",\"no more init segment to request. Cancelling queue.\",{type:e.adaptation.type}),this._restartInitSegmentDownloadingQueue(o,d.initSegment,\"init segment queue empty\")},{emitCurrentValue:!0,clearSignal:a.signal}),i}stop(e){var t;(t=this._currentContentInfo)==null||t.currentCanceller.cancel(e!=null?e:\"SegmentQueue stop\"),this._currentContentInfo=null}_restartMediaSegmentDownloadingQueue(e,t){e.mediaSegmentRequest!==null&&e.mediaSegmentRequest.canceller.cancel(t!=null?t:\"SegmentQueue media restart\");let{downloadQueue:r,content:i,initSegmentInfoRef:a,currentCanceller:o}=e,s=()=>{var E;if(this.isMediaSegmentQueueInterrupted.getValue()){c.debug(\"SF\",\"Segment fetching postponed because it cannot stream now.\");return}let{segmentQueue:d}=r.getValue(),u=d[0];if(o!==null&&o.isUsed()){e.mediaSegmentRequest=null;return}if(u===void 0){e.mediaSegmentRequest=null,this.trigger(\"emptyQueue\",null);return}let f=new z(\"SegmentQueue media segments queue \"+i.adaptation.type),l=o===null?O:f.linkToSignal(o.signal),{segment:m,priority:g}=u,h=H({segment:m,nextSegment:(E=d[1])==null?void 0:E.segment},i),b=!1,p=!1;f.signal.register(()=>{e.mediaSegmentRequest=null,!b&&(e.mediaSegmentAwaitingInitMetadata===m.id&&(e.mediaSegmentAwaitingInitMetadata=null),b=!0,p=!1)});let S=C=>{Se(C.segmentType===\"media\",\"Should have loaded a media segment.\"),this.trigger(\"parsedMediaSegment\",H({},C,{segment:m}))},T=()=>{let C=r.getValue().segmentQueue;if(C.length===0){b=!0,this.trigger(\"emptyQueue\",null);return}else C[0].segment.id===m.id&&C.shift();b=!0,s()},R=this._segmentFetcher.createRequest(h,g,{onRetry:C=>{this.trigger(\"requestRetry\",{segment:m,error:C})},beforeInterrupted(){c.info(\"SF\",\"segment request interrupted temporarly.\",{segmentId:m.id,segmentTime:m.time})},onChunk:C=>{let P=a.getValue();P!==void 0?S(C(P!=null?P:void 0)):(p=!0,a.waitUntilDefined(x=>{S(C(x!=null?x:void 0))},{clearSignal:f.signal}))},onAllChunksReceived:()=>{p?(e.mediaSegmentAwaitingInitMetadata=m.id,a.waitUntilDefined(()=>{e.mediaSegmentAwaitingInitMetadata=null,p=!1,this.trigger(\"fullyLoadedSegment\",m)},{clearSignal:f.signal})):this.trigger(\"fullyLoadedSegment\",m)},beforeEnded:()=>{l(),e.mediaSegmentRequest=null,p?a.waitUntilDefined(T,{clearSignal:f.signal}):T()}},f.signal);R.catch(C=>{l(),b||(b=!0,this.stop(\"request err\"),this.trigger(\"error\",C))}),e.mediaSegmentRequest={segment:m,priority:g,request:R,canceller:f}};s()}_restartInitSegmentDownloadingQueue(e,t,r){let{content:i,initSegmentInfoRef:a}=e;if(e.initSegmentRequest!==null&&e.initSegmentRequest.canceller.cancel(r!=null?r:\"SegmentQueue init restart\"),t===null)return;let o=new z(\"SegmentQueue init segment \"+i.adaptation.type),s=e.currentCanceller===null?O:o.linkToSignal(e.currentCanceller.signal),{segment:d,priority:u}=t,f=H({segment:d,nextSegment:void 0},i),l=!1,m=this._segmentFetcher.createRequest(f,u,{onRetry:g=>{this.trigger(\"requestRetry\",{segment:d,error:g})},beforeInterrupted:()=>{c.info(\"SF\",\"init segment request interrupted temporarly.\",{segmentId:d.id})},beforeEnded:()=>{s(),e.initSegmentRequest=null,l=!0},onChunk:g=>{var b;let h=g(void 0);Se(h.segmentType===\"init\",\"Should have loaded an init segment.\"),this.trigger(\"parsedInitSegment\",H({},h,{segment:d})),h.segmentType===\"init\"&&a.setValue((b=h.initTimescale)!=null?b:null)},onAllChunksReceived:()=>{this.trigger(\"fullyLoadedSegment\",d)}},o.signal);m.catch(g=>{s(),l||(l=!0,this.stop(\"request err\"),this.trigger(\"error\",g))}),o.signal.register(()=>{e.initSegmentRequest=null,!l&&(l=!0)}),e.initSegmentRequest={segment:d,priority:u,request:m,canceller:o}}};var jn=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error(\"The max high level priority should be given a lowerpriority number than the min low priority.\")}create(e,t,r,i){let a;return Ct(i,(o,s)=>(a={hasEnded:!1,priority:t,trigger:()=>{if(a.hasEnded)return;let u=()=>{g(),this._endTask(a)},f=h=>{r.beforeEnded(),u(),o(h)},l=h=>{u(),s(h)},m=new z(void 0),g=m.linkToSignal(i);a.interrupter=m,m.signal.register(()=>{a.interrupter=null,i.isCancelled()||r.beforeInterrupted()}),this._minPendingPriority=this._minPendingPriority===null?a.priority:Math.min(this._minPendingPriority,a.priority),this._pendingTasks.push(a),a.taskFn(m.signal).then(f).catch(h=>{!i.isCancelled()&&m.isUsed()&&h instanceof ue||l(h)})},taskFn:e,interrupter:null},this._canBeStartedNow(a)?(a.trigger(),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()):this._waitingQueue.push(a),()=>this._endTask(a)))}_endTask(e){e.hasEnded=!0;let t=Kn(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=Kn(e.taskFn,this._pendingTasks);if(r<0)return;this._pendingTasks.splice(r,1),this._pendingTasks.length>0?this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))):this._minPendingPriority=null,this._loopThroughWaitingQueue()}}updatePriority(e,t){let r=Kn(e,this._waitingQueue);if(r>=0){let s=this._waitingQueue[r];if(s.priority===t||(s.priority=t,!this._canBeStartedNow(s)))return;this._findAndRunWaitingQueueTask(r),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks();return}let i=Kn(e,this._pendingTasks);if(i<0){c.warn(\"SF\",\"request to update the priority of a non-existent task\");return}let a=this._pendingTasks[i];if(a.priority===t)return;let o=a.priority;a.priority=t,this._minPendingPriority===null||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===o&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.priority)),this._loopThroughWaitingQueue()),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()}_loopThroughWaitingQueue(){let e=this._waitingQueue.reduce((t,r)=>t===null||t>r.priority?r.priority:t,null);if(!(e===null||this._minPendingPriority!==null&&this._minPendingPriority<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e of this._pendingTasks)if(e.priority>=this._prioritySteps.low)return this._interruptPendingTask(e),this._interruptCancellableTasks()}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(c.warn(\"SF\",\"Tried to start a non existing task\"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=Kn(e.taskFn,this._pendingTasks);if(t<0){c.warn(\"SF\",\"Interrupting a non-existent pending task. Aborting...\");return}this._pendingTasks.splice(t,1),this._waitingQueue.push(e),this._pendingTasks.length===0?this._minPendingPriority=null:this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))),(r=e.interrupter)==null||r.cancel(\"TaskPrioritizer interrupt\")}_canBeStartedNow(e){return this._minPendingPriority===null||e.priority<=this._minPendingPriority}_isRunningHighPriorityTasks(){return this._minPendingPriority!==null&&this._minPendingPriority<=this._prioritySteps.high}};function Kn(n,e){return ae(e,t=>t.taskFn===n)}var Yn=class{constructor(e,t,r,i){let{MIN_CANCELABLE_PRIORITY:a,MAX_HIGH_PRIORITY_LEVEL:o}=L.getCurrent();this._transport=e,this._prioritizer=new jn({prioritySteps:{high:o,low:a}}),this._cdnPrioritizer=t,this._backoffOptions=i,this._cmcdDataBuilder=r}createSegmentQueue(e,t,r){let i=xs(this._backoffOptions),a=this._transport[e],o=ra({bufferType:e,pipeline:a,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:i}),s=ta(this._prioritizer,o);return new Hn(s,r)}};var ia=Yn;function aa(n,e){let{loadThumbnail:t}=n,r=[];return async function(a,o){o.register(E);let{segment:s,track:d}=a,u,f=j(r,({thumbnailContext:x})=>x.period.id===a.period.id&&x.track.id===a.track.id&&x.segment.id===a.segment.id);if(f!==void 0){c.debug(\"Thumbnails\",\"Requesting same thumbnail than the pending one\",{time:a.segment.time}),u=f,u.referenceCount++;let x;try{x=await u.promise}catch(A){throw o.deregister(E),A}if(o.deregister(E),o.isCancelled())throw o.cancellationError;return R(x)}let l=Pl({}),m;l.connectionTimeout===void 0||l.connectionTimeout<0?m=void 0:m=l.connectionTimeout;let g={timeout:l.requestTimeout<0?void 0:l.requestTimeout,connectionTimeout:m,cmcdPayload:void 0},h=new z(\"Thumbnail request\"),b=T();u={thumbnailContext:a,promise:b,referenceCount:1},r.push(u);let p=()=>{let x=r.indexOf(u);x>=0&&r.splice(x,1)},S;try{S=await b}catch(x){throw p(),o.deregister(E),x}if(p(),o.deregister(E),o.isCancelled())throw o.cancellationError;return R(S);async function T(){c.debug(\"Thumbnails\",\"Beginning thumbnail request\",{time:s.time});try{let x=await qn(d.cdnMetadata,e,C,H({onRetry:P},l),h.signal);return c.debug(\"Thumbnails\",\"Thumbnail request ended with success\",{time:s.time}),x}catch(x){throw x instanceof ue?(c.debug(\"Thumbnails\",\"Thumbnail request aborted\",{time:s.time}),x):(c.debug(\"Thumbnails\",\"Thumbnail request failed\",{time:s.time}),Le(x))}}function R(x){try{return n.parseThumbnail(x.responseData,{thumbnail:s,thumbnailTrack:d})}catch(A){throw ge(A,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}function E(){c.debug(\"Thumbnails\",\"Thumbnail request cancelled\",{time:s.time});let x=r.indexOf(u);x<0||(r[x].referenceCount--,r[x].referenceCount<=0&&(h.cancel(\"Thumbnail request aborted\"),r.splice(x,1)))}function C(x){return t(x,s,g,h.signal)}function P(x){let A=Le(x);c.warn(\"Thumbnails\",\"Thumbnail request retry \",{time:s.time},A)}}}function Pl({maxRetry:n,requestTimeout:e,connectionTimeout:t}){let{DEFAULT_MAX_THUMBNAIL_REQUESTS_RETRY_ON_ERROR:r,DEFAULT_THUMBNAIL_REQUEST_TIMEOUT:i,DEFAULT_THUMBNAIL_CONNECTION_TIMEOUT:a,INITIAL_BACKOFF_DELAY_BASE:o,MAX_BACKOFF_DELAY_BASE:s}=L.getCurrent();return{maxRetry:n!=null?n:r,baseDelay:o.REGULAR,maxDelay:s.REGULAR,requestTimeout:e===void 0?i:e,connectionTimeout:t===void 0?a:t}}var Qn=class{constructor(e,t){this._contentId=e,this._messageSender=t,this._queues={pushTextData:[],remove:[]}}pushTextData(e){return new Promise((t,r)=>{this._queues.pushTextData.push({resolve:t,reject:r}),this._messageSender({type:\"push-text-data\",contentId:this._contentId,value:e})})}remove(e,t){return new Promise((r,i)=>{this._queues.remove.push({resolve:r,reject:i}),this._messageSender({type:\"remove-text-data\",contentId:this._contentId,value:{start:e,end:t}})})}reset(){this._messageSender({type:\"reset-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue(\"WorkerTextDisplayerInterface reset\")}stop(e){this._messageSender({type:\"stop-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue(e)}_resetCurrentQueue(e){let t=new ue(\"WorkerTextDisplayerInterface queue\",e!=null?e:\"reset\");this._queues.pushTextData.forEach(r=>{r.reject(t)}),this._queues.pushTextData.length=0,this._queues.remove.forEach(r=>{r.reject(t)}),this._queues.remove.length=0}onPushedTrackSuccess(e){let t=this._queues.pushTextData.shift();if(t===void 0){c.error(\"text\",\"pushTextData success for inexistant operation\");return}t.resolve(e)}onPushedTrackError(e){let t=this._queues.pushTextData.shift();if(t===void 0){c.error(\"text\",\"pushTextData error for inexistant operation\");return}t.reject(e)}onRemoveSuccess(e){let t=this._queues.remove.shift();if(t===void 0){c.error(\"text\",\"remove success for inexistant operation\");return}t.resolve(e)}onRemoveError(e){let t=this._queues.remove.shift();if(t===void 0){c.error(\"text\",\"remove error for inexistant operation\");return}t.reject(e)}};var ks=6,oa=4e3,zr=6e3,vl=6e4,qt=class{constructor(e){this._segmentSinksStore=e,this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=null,this._lastFlushAttempt=null,this._lastSegmentInfo={audio:[],video:[]}}onNewObservation(e){var p,S;let t=F();if(this._addPositionToHistory(e,t),this._ignoreFreezeUntil!==null&&t<this._ignoreFreezeUntil)return null;this._ignoreFreezeUntil=null;let{UNFREEZING_SEEK_DELAY:r,UNFREEZING_DELTA_POSITION:i,FREEZING_FLUSH_FAILURE_DELAY:a}=L.getCurrent(),{readyState:o,rebuffering:s,freezing:d,fullyLoaded:u}=e,f=e.position.getPolled(),l=Ms(e.bufferGap);if(!(d!==null||o===1&&(l>=ks||u)))return this._decipherabilityFreezeStartingTimestamp=null,null;let g=(S=(p=d==null?void 0:d.timestamp)!=null?p:s==null?void 0:s.timestamp)!=null?S:null;if(c.info(\"Freeze\",\"Freeze detected\",{freezeStart:g,timeFrozen:t-(g!=null?g:t)}),this._lastFlushAttempt!==null&&t-this._lastFlushAttempt.timestamp<a.MAXIMUM&&t-this._lastFlushAttempt.timestamp>=a.MINIMUM&&Math.abs(f-this._lastFlushAttempt.position)<a.POSITION_DELTA){let T=this._getStrategyIfFlushingFails(f);return this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+zr,T}let b=this._checkForDecipherabilityRelatedFreeze(e,t);return b!==null?b:g!==null&&t-g>r?(this._lastFlushAttempt={timestamp:t,position:f+i},c.debug(\"Freeze\",\"Trying to flush to un-freeze\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+zr,{type:\"flush\",value:{relativeSeek:i}}):null}_checkForDecipherabilityRelatedFreeze(e,t){let{readyState:r,rebuffering:i,freezing:a,fullyLoaded:o}=e,s=Ms(e.bufferGap),d=i!==null&&t-i.timestamp>oa,{hasUndecipherableData:u,hasEncryptedData:f}=Cl(this._segmentSinksStore);if(u===!0)return c.warn(\"Freeze\",\"we have undecipherable segments left in the buffer, reloading\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+zr,{type:\"reload\",value:null};let l=a!==null&&t-a.timestamp>oa;return(d||l)&&(s>=ks||o)&&r<=1?this._decipherabilityFreezeStartingTimestamp===null&&(c.debug(\"Freeze\",\"Start of a potential decipherability freeze detected\"),this._decipherabilityFreezeStartingTimestamp=t):this._decipherabilityFreezeStartingTimestamp=null,this._decipherabilityFreezeStartingTimestamp!==null&&F()-this._decipherabilityFreezeStartingTimestamp>oa&&f&&u===!1?(c.warn(\"Freeze\",\"we are frozen despite only having decipherable segments left in the buffer, reloading\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+zr,{type:\"reload\",value:null}):null}_getStrategyIfFlushingFails(e){c.warn(\"Freeze\",\"A recent flush seemed to have no effect on freeze, checking for transitions\");let t=[];for(let r of[\"audio\",\"video\"]){let i=this._lastSegmentInfo[r];if(i.length===0)continue;let a=i[i.length-1];if(a.segment===null)continue;let o=a.segment,s;for(let d=i.length-2;d>=0;d--){let u=i[d];if(u.segment===null){s=u;break}else if(u.segment.infos.representation.uniqueId!==o.infos.representation.uniqueId&&a.timestamp-u.timestamp<5e3){s=u;break}else u.segment.start===o.start&&e-u.position<3e3&&(a=u)}if(s===void 0||s.segment===null)c.debug(\"Freeze\",\"Freeze when beginning to play a content, try avoiding this quality\"),t.push({adaptation:o.infos.adaptation,period:o.infos.period,representation:o.infos.representation});else{if(o.infos.period.id!==s.segment.infos.period.id)return c.debug(\"Freeze\",\"Freeze when switching Period, reloading\"),{type:\"reload\",value:null};o.infos.representation.uniqueId!==s.segment.infos.representation.uniqueId&&(c.warn(\"Freeze\",\"Freeze when switching Representation, avoiding\",{bitrate:o.infos.representation.bitrate}),t.push({adaptation:o.infos.adaptation,period:o.infos.period,representation:o.infos.representation}))}}return t.length>0?{type:\"avoid-representations\",value:t}:(c.debug(\"Freeze\",\"Reloading because flush doesn't work\"),{type:\"reload\",value:null})}_addPositionToHistory(e,t){var i,a;let r=e.position.getPolled();for(let o of[\"audio\",\"video\"]){let s=this._segmentSinksStore.getStatus(o);if(s.type===\"initialized\")for(let f of s.value.getLastKnownInventory())((i=f.bufferedStart)!=null?i:f.start)<=r&&((a=f.bufferedEnd)!=null?a:f.end)>r&&this._lastSegmentInfo[o].push({segment:f,position:r,timestamp:t});else this._lastSegmentInfo[o].push({segment:null,position:r,timestamp:t});if(this._lastSegmentInfo[o].length>100){let f=this._lastSegmentInfo[o].length-100;this._lastSegmentInfo[o].splice(0,f)}let d=t-vl,u;for(u=0;u<this._lastSegmentInfo[o].length&&!(this._lastSegmentInfo[o][u].timestamp>d);u++);u>0&&this._lastSegmentInfo[o].splice(0,u)}}};function Cl(n){let e=!0,t=!0;for(let r of[\"audio\",\"video\"]){let i=n.getStatus(r);if(i.type===\"initialized\")for(let a of i.value.getLastKnownInventory()){let{representation:o}=a.infos;if(o.decipherable===!1)return{hasUndecipherableData:!0,hasEncryptedData:!0};o.contentProtections!==void 0&&(t=!1,o.decipherable!==!0&&(e=!1))}}return{hasEncryptedData:!t,hasUndecipherableData:e?!1:void 0}}function Ms(n){return n!==void 0&&isFinite(n)?n:0}var $n=class{constructor(){this._refs=new Map}reset(){var e,t,r,i,a,o,s,d,u,f,l,m;for(let g of this._refs.keys())(t=(e=this._refs.get(g))==null?void 0:e.audio)==null||t.trackReference.finish(),(i=(r=this._refs.get(g))==null?void 0:r.audio)==null||i.representations.finish(),(o=(a=this._refs.get(g))==null?void 0:a.video)==null||o.trackReference.finish(),(d=(s=this._refs.get(g))==null?void 0:s.video)==null||d.representations.finish(),(f=(u=this._refs.get(g))==null?void 0:u.text)==null||f.trackReference.finish(),(m=(l=this._refs.get(g))==null?void 0:l.text)==null||m.representations.finish();this._refs=new Map}addTrackSetter(e,t,r){var s,d;let i=this._refs.get(e);i===void 0&&(i={},this._refs.set(e,i)),i[t]!==void 0&&(c.warn(\"Track\",\"Track for periodId already declared\",{periodId:e,bufferType:t}),(s=i[t])==null||s.trackReference.finish(),(d=i[t])==null||d.representations.finish());let a=r.getValue(),o;v(a)?o=new $({representationIds:[],switchingMode:\"lazy\"}):(o=new $(a.representations.getValue()),r.setValue(H({},a,{representations:o}))),i[t]={trackReference:r,representations:o}}setTrack(e,t,r){var a;let i=(a=this._refs.get(e))==null?void 0:a[t];return i===void 0?(c.debug(\"Track\",\"Setting track for inexistent periodId\",{periodId:e,bufferType:t}),!1):(v(r)?(i.representations=new $({representationIds:[],switchingMode:\"lazy\"}),i.trackReference.setValue(r)):(i.representations=new $(r.initialRepresentations),i.trackReference.setValue({adaptationId:r.adaptationId,switchingMode:r.switchingMode,representations:i.representations,relativeResumingPosition:r.relativeResumingPosition})),!0)}updateRepresentations(e,t,r,i){var s;let a=(s=this._refs.get(e))==null?void 0:s[r];if(a===void 0)return c.debug(\"Track\",\"Setting track for inexistent periodId\",{periodId:e,bufferType:r}),!1;let o=a.trackReference.getValue();return v(o)||o.adaptationId!==t?(c.debug(\"Track\",\"Desynchronized Adaptation id\",{oldId:o==null?void 0:o.adaptationId,newId:t}),!1):(a.representations.setValue(i),!0)}removeTrackSetter(e,t){let r=this._refs.get(e),i=r==null?void 0:r[t];return r===void 0||i===void 0?(c.debug(\"Track\",\"Removing track setter for inexistent periodId\",{periodId:e,bufferType:t}),!1):(i.trackReference.finish(),i.representations.finish(),delete r[t],Object.keys(r).length===0&&this._refs.delete(e),!0)}};function Oe(n){return ge(n,{defaultCode:\"NONE\",defaultReason:\"An unknown error stopped content playback.\"}).serialize()}function Os(n,e){[\"video\",\"audio\",\"text\"].forEach(t=>{var i;let r=e.getStatus(t);r.type===\"initialized\"&&r.value.synchronizeInventory((i=n.buffered[t])!=null?i:[])})}function ws(n){var t,r;if(v(ln.MediaSource_))return;let e=new Map;for(let i of n.periods){let a=[...(t=i.adaptations.video)!=null?t:[],...(r=i.adaptations.audio)!=null?r:[]];for(let o of a)for(let s of o.representations){let d=s.getMimeTypeString();if(e.has(d))s.isCodecSupportedInWebWorker=e.get(d);else{let u=ln.MediaSource_.isTypeSupported(d);s.isCodecSupportedInWebWorker=u,e.set(d,u)}}}}function Ds(n,e){var a,o,s,d,u,f,l;let t,r,i;return typeof((a=n.representationFilter)==null?void 0:a.fn)==\"function\"?i=n.representationFilter.fn:typeof((o=n.representationFilter)==null?void 0:o.eval)==\"string\"?i=Ro(n.representationFilter.eval):typeof((s=n.representationFilter)==null?void 0:s.workerId)==\"string\"&&(i=e.representationFilters.get(n.representationFilter.workerId)),typeof((d=n.manifestLoader)==null?void 0:d.fn)==\"function\"?t=n.manifestLoader.fn:typeof((u=n.manifestLoader)==null?void 0:u.workerId)==\"string\"&&(t=e.manifestLoaders.get(n.manifestLoader.workerId)),typeof((f=n.segmentLoader)==null?void 0:f.fn)==\"function\"?r=n.segmentLoader.fn:typeof((l=n.segmentLoader)==null?void 0:l.workerId)==\"string\"&&(r=e.segmentLoaders.get(n.segmentLoader.workerId)),{manifestLoader:t,segmentLoader:r,representationFilter:i}}var Bs=Me(),Gt=class{constructor({hasVideo:e}){this._currentContent=null,this._currentMediaSourceCanceller=new z(\"ContentPreparer MediaSource\"),this._hasVideo=e;let t=new z(\"ContentPreparer\");this._contentCanceller=t}initializeNewContent(e,t,r,i){return new Promise((a,o)=>{var D,U;this.disposeCurrentContent(\"new init\");let s=this._contentCanceller,d=new z(\"ContentPreparer MediaSource\");this._currentMediaSourceCanceller=d,d.linkToSignal(s.signal);let{contentId:u,url:f,hasText:l,transportOptions:m,useMseInWorker:g,enableRepresentationAvoidance:h,transport:b}=t,p=null,S=ke.transports[b];if(typeof S!=\"function\"){o(new Error(`transport \"${b}\" not supported. Did you add the corresponding feature?`));return}let T=S(J(J({},m),Ds(m,i))),R=t.cmcd===void 0?null:new vs(t.cmcd),E=new ea(f===void 0?void 0:[f],T,J({cmcdDataBuilder:R},t.manifestRetryOptions)),C=Rs({initialBitrates:{audio:(D=t.initialAudioBitrate)!=null?D:0,video:(U=t.initialVideoBitrate)!=null?U:0},lowLatencyMode:m.lowLatencyMode,throttlers:r}),P=d.signal.register(G=>{o(G)}),x=new Vn(s.signal),A=new ia(T,x,R,t.segmentRetryOptions),k=aa(T.thumbnails,x),N=new $n,[w,W,B]=Ns(e,u,{useMseInWorker:g,hasVideo:this._hasVideo,hasText:l},d.signal),_=new qt(W);this._currentContent={cmcdDataBuilder:R,contentId:u,enableRepresentationAvoidance:h,freezeResolver:_,mediaSource:w,manifest:null,manifestFetcher:E,representationEstimator:C,segmentSinksStore:W,segmentQueueCreator:A,fetchThumbnailData:k,coreTextSender:B,trackChoiceSetter:N,useMseInWorker:g},w.addEventListener(\"mediaSourceOpen\",function(){M()},d.signal),s.signal.register(G=>{E.dispose(G.reason)}),E.addEventListener(\"warning\",G=>{e({type:\"warning\",contentId:u,value:Oe(G)})},s.signal),E.addEventListener(\"manifestReady\",G=>{if(p!==null){c.warn(\"Core\",\"Multiple `manifestReady` events, ignoring\");return}p=G,this._currentContent!==null&&(this._currentContent.manifest=p),M()},d.signal),E.addEventListener(\"error\",G=>{o(G)},s.signal),E.start();function M(){p===null||w.readyState===\"closed\"||d.isUsed()||(ws(p),p.addEventListener(\"manifestUpdate\",G=>{p!==null&&e({type:\"manifest-update\",contentId:u,value:{manifest:p,updates:G}})},s.signal),P(),a(p))}})}getCurrentContent(){return this._currentContent}scheduleManifestRefresh(e){var t;(t=this._currentContent)==null||t.manifestFetcher.scheduleManualRefresh(e)}reloadMediaSource(e){var a;if(this._currentMediaSourceCanceller.cancel(\"ContentPreparer MediaSource reload\"),this._currentContent===null)return Promise.reject(new Error(\"CP: No content anymore\"));this._currentContent.trackChoiceSetter.reset(),(a=this._currentContent.coreTextSender)==null||a.stop(\"ContentPreparer MediaSource reload\"),this._currentMediaSourceCanceller=new z(\"ContentPreparer MediaSource\"),this._currentMediaSourceCanceller.linkToSignal(this._contentCanceller.signal);let[t,r,i]=Ns(e,this._currentContent.contentId,{useMseInWorker:this._currentContent.useMseInWorker,hasVideo:this._hasVideo,hasText:this._currentContent.coreTextSender!==null},this._currentMediaSourceCanceller.signal);return this._currentContent.mediaSource=t,this._currentContent.segmentSinksStore=r,this._currentContent.freezeResolver=new qt(r),this._currentContent.coreTextSender=i,new Promise((o,s)=>{t.addEventListener(\"mediaSourceOpen\",function(){o()},this._currentMediaSourceCanceller.signal),t.addEventListener(\"mediaSourceClose\",function(){s(new Error(\"MediaSource ReadyState changed to close during init.\"))},this._currentMediaSourceCanceller.signal),this._currentMediaSourceCanceller.signal.register(d=>{s(d)})})}disposeCurrentContent(e){this._contentCanceller.cancel(e),this._contentCanceller=new z(\"ContentPreparer\")}};function Ns(n,e,t,r){let i;if(t.useMseInWorker){let d=new xn(Bs());i=d;let u,f=d.handle;if(f.type===\"handle\")u={type:\"handle\",value:f.value};else{let l=URL.createObjectURL(f.value);u={type:\"url\",value:l},r.register(()=>{URL.revokeObjectURL(l)})}n({type:\"attach-media-source\",contentId:e,value:u,mediaSourceId:i.id},[f.value])}else i=new kn(Bs(),e,n);let a=t.hasText?new Qn(e,n):null,{hasVideo:o}=t,s=new St(i,o,a);return r.register(d=>{s.disposeAll(d.reason),a==null||a.stop(d.reason),i.dispose(d.reason)}),[i,s,a]}var Us=.001,Xn=class extends ce{constructor(e,t,r){super(),this._canceller=new z(\"Boundaries Observation\"),this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new sa(e);fe(this._allBufferTypes,\"video\")||i.updateLastVideoAdaptation(null),fe(this._allBufferTypes,\"audio\")||i.updateLastAudioAdaptation(null),this._maximumPositionCalculator=i;let a=this._canceller.signal;at(()=>{t.listen(({position:o})=>{let s=o.getWanted(),d=e.getMinimumSafePosition(),u=i.getMaximumAvailablePosition();if(s<d-Us){let f=new ee(\"MEDIA_TIME_BEFORE_MANIFEST\",\"The current position is behind the earliest time announced in the Manifest.\",{timeInfo:{position:s,minPosition:d,maxPosition:u}});this.trigger(\"warning\",f)}else if(s>u+Us){let f=new ee(\"MEDIA_TIME_AFTER_MANIFEST\",\"The current position is after the latest time announced in the Manifest.\",{timeInfo:{position:s,minPosition:d,maxPosition:u}});this.trigger(\"warning\",f)}},{includeLastObservation:!1,clearSignal:a})}),e.addEventListener(\"manifestUpdate\",()=>{this.trigger(\"endingPositionChange\",this._getManifestEndTime()),!a.isCancelled()&&this._checkEndOfStream()},a)}getCurrentEndingTime(){return this._getManifestEndTime()}onAdaptationChange(e,t,r){if(this._manifest.isLastPeriodKnown){let i=this._manifest.periods[this._manifest.periods.length-1];if(t.id===(i==null?void 0:i.id)&&(e===\"audio\"||e===\"video\")){e===\"audio\"?this._maximumPositionCalculator.updateLastAudioAdaptation(r):this._maximumPositionCalculator.updateLastVideoAdaptation(r);let a=this._maximumPositionCalculator.getEndingPosition(),o=a!==void 0?{isEnd:!0,endingPosition:a}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()};this.trigger(\"endingPositionChange\",o)}}this._canceller.isUsed()||r===null&&this._addActivelyLoadedPeriod(t,e)}onRepresentationChange(e,t){this._addActivelyLoadedPeriod(t,e)}onPeriodCleared(e,t){this._removeActivelyLoadedPeriod(t,e)}onLastSegmentFinishedLoading(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod||(t.hasFinishedLoadingLastPeriod=!0,this._checkEndOfStream())}onLastSegmentLoadingResume(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod&&(t.hasFinishedLoadingLastPeriod=!1,this._checkEndOfStream())}dispose(e){this.removeEventListener(),this._canceller.cancel(e!=null?e:\"ContentTimeBoundariesObserver dispose\")}_addActivelyLoadedPeriod(e,t){let r=this._lazilyCreateActiveStreamInfo(t);r.activePeriods.has(e)||(r.activePeriods.add(e),this._checkCurrentPeriod())}_removeActivelyLoadedPeriod(e,t){let r=this._activeStreams.get(t);r!==void 0&&r.activePeriods.has(e)&&(r.activePeriods.removeElement(e),this._checkCurrentPeriod())}_checkCurrentPeriod(){if(this._allBufferTypes.length===0)return;let e=this._activeStreams.get(this._allBufferTypes[0]);if(e!==void 0)for(let t of e.activePeriods.toArray()){let r=!0;for(let i of this._allBufferTypes){let a=this._activeStreams.get(i);if(a===void 0)return;if(!a.activePeriods.toArray().some(d=>d.id===t.id)){r=!1;break}}if(r){this._lastCurrentPeriodId!==t.id&&(this._lastCurrentPeriodId=t.id,this.trigger(\"periodChange\",t));return}}}_getManifestEndTime(){let e=this._maximumPositionCalculator.getEndingPosition();return e!==void 0?{isEnd:!0,endingPosition:e}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()}}_lazilyCreateActiveStreamInfo(e){let t=this._activeStreams.get(e);return t===void 0&&(t={activePeriods:new kt((r,i)=>r.start-i.start),hasFinishedLoadingLastPeriod:!1},this._activeStreams.set(e,t)),t}_checkEndOfStream(){if(!this._manifest.isLastPeriodKnown)return;this._allBufferTypes.every(t=>{let r=this._activeStreams.get(t);return r!==void 0&&r.hasFinishedLoadingLastPeriod})?this.trigger(\"endOfStream\",null):this.trigger(\"resumeStream\",null)}},sa=class{constructor(e){this._manifest=e,this._lastAudioAdaptation=void 0,this._lastVideoAdaptation=void 0}updateLastAudioAdaptation(e){this._lastAudioAdaptation=e}updateLastVideoAdaptation(e){this._lastVideoAdaptation=e}getMaximumAvailablePosition(){if(this._manifest.isDynamic)return this._manifest.getMaximumSafePosition();if(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)return this._manifest.getMaximumSafePosition();if(this._lastAudioAdaptation===null){if(this._lastVideoAdaptation===null)return this._manifest.getMaximumSafePosition();{let e=Wr(this._lastVideoAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Wr(this._lastAudioAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}else{let e=Wr(this._lastAudioAdaptation),t=Wr(this._lastVideoAdaptation);return typeof e!=\"number\"||typeof t!=\"number\"?this._manifest.getMaximumSafePosition():Math.min(e,t)}}getEndingPosition(){var e,t;if(!this._manifest.isDynamic)return this.getMaximumAvailablePosition();if(!(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)){if(this._lastAudioAdaptation===null)return this._lastVideoAdaptation===null?void 0:(e=Vr(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=Vr(this._lastAudioAdaptation))!=null?t:void 0;{let r=Vr(this._lastAudioAdaptation),i=Vr(this._lastVideoAdaptation);return typeof r!=\"number\"||typeof i!=\"number\"?void 0:Math.min(r,i)}}}};function Wr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getLastAvailablePosition();if(a===void 0)return;a!==null&&(t=v(t)?a:Math.min(t,a))}return t}function Vr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getEnd();if(a===void 0)return;a!==null&&(t=v(t)?a:Math.min(t,a))}return t}function da(n,e,t,r,i,a){a.register(d=>{e.interruptDurationSetting(d.reason)});let o=new Xn(n,t,r.getBufferTypes());a.register(d=>{o.dispose(d.reason)}),o.addEventListener(\"warning\",d=>i.onWarning(d)),o.addEventListener(\"periodChange\",d=>i.onPeriodChanged(d)),o.addEventListener(\"endingPositionChange\",d=>{e.setDuration(d.endingPosition,d.isEnd)}),o.addEventListener(\"endOfStream\",()=>{c.debug(\"mse\",\"Start applying end-of-stream order.\"),e.maintainEndOfStream()}),o.addEventListener(\"resumeStream\",()=>{e.stopEndOfStream()});let s=o.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),o}function ua(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=j(n.sourceBuffers,s=>s.type===\"audio\"),i=j(n.sourceBuffers,s=>s.type===\"video\"),a=r==null?void 0:r.getBuffered();a!==void 0&&(t.audio=a);let o=i==null?void 0:i.getBuffered();return o!==void 0&&(t.video=o),t}async function la(n,e,t,r,i){let a=e.getPeriod(t);if(a===void 0)throw new Error(\"Wanted Period not found.\");let o=j(a.thumbnailTracks,d=>d.id===r);if(o===void 0)throw new Error(\"Wanted Period has no thumbnail track.\");let s=o.index.getSegments(i,1)[0];if(s===void 0)throw new Error(\"No thumbnail for the given timestamp\");return n({segment:s,track:o,period:a},new z(void 0).signal)}function fa(n,e,t){let{DEFAULT_WANTED_BUFFER_AHEAD:r,DEFAULT_MAX_VIDEO_BUFFER_SIZE:i,DEFAULT_MAX_BUFFER_AHEAD:a,DEFAULT_MAX_BUFFER_BEHIND:o}=L.getCurrent(),s={wantedBufferAhead:new $(r),maxVideoBufferSize:new $(i),maxBufferAhead:new $(a),maxBufferBehind:new $(o),limitVideoResolution:new $({height:void 0,width:void 0,pixelRatio:1}),throttleVideoBitrate:new $(1/0)},d=!1,u=new Gt({hasVideo:!0}),f=null,l=null;n(m=>{var h,b;c.debug(\"Core\",\"received message\",{name:m.data.type});let g=m.data;switch(g.type){case\"init\":{if(Se(!d),d=!0,uo(g.value),Ls(g.value.logLevel,g.value.logFormat,g.value.sendBackLogs),!v(g.value.dashWasmUrl)){let p=ke.dashParsers.wasm;p===null?c.error(\"Core\",\"Could not initialize DASH_WASM parser: DASH_WASM feature not added\"):p.isCompatible()?p.initialize({wasmUrl:g.value.dashWasmUrl}).catch(S=>{let T=S instanceof Error?S.toString():\"Unknown Error\";c.error(\"Core\",\"Could not initialize DASH_WASM parser\",T)}):c.warn(\"Core\",\"Could not initialize DASH_WASM parser: Browser not compatible\")}g.value.hasVideo||(u.disposeCurrentContent(\"Received Init msg\"),u=new Gt({hasVideo:g.value.hasVideo})),e({type:\"init-success\",value:null})}break;case\"log-level-update\":Ls(g.value.logLevel,g.value.logFormat,g.value.sendBackLogs);break;case\"prepare\":Al(e,u,g.value,s,t);break;case\"start\":{let p=u.getCurrentContent();if(g.contentId!==(p==null?void 0:p.contentId))return;f==null||f.stop(),l==null||l.finish();let S=new $(H(g.value.initialObservation,{position:new xt(...g.value.initialObservation.position)}));l=S,f=kl(e,g.value,u,S,s);break}case\"observation\":{let p=u.getCurrentContent();if(g.contentId!==(p==null?void 0:p.contentId))return;let S=g.value,{buffered:T}=S,R=ua(p.mediaSource,null);R.audio!==null&&(T.audio=R.audio),R.video!==null&&(T.video=R.video),l==null||l.setValue(H(S,{position:new xt(...g.value.position)}));break}case\"ref-update\":xl(g,s);break;case\"stop\":if(g.contentId!==((h=u.getCurrentContent())==null?void 0:h.contentId))return;u.disposeCurrentContent(\"StopContent message\"),f==null||f.stop(),f=null,l==null||l.finish(),l=null;break;case\"ms-reload\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;f==null||f.signalMediaSourceReload()}break;case\"sb-success\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;let{sourceBuffers:S}=p.mediaSource,T=j(S,R=>R.type===g.sourceBufferType);if(T===void 0){c.info(\"Core\",\"Success for an unknown SourceBuffer\",{sourceBufferType:g.sourceBufferType});return}if(T.onOperationSuccess===void 0){c.warn(\"Core\",\"A SourceBufferInterface with MSE performed a cross-thread operation\",{sourceBufferType:g.sourceBufferType});return}T.onOperationSuccess(g.operationId,g.value.buffered);break}case\"sb-error\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;let{sourceBuffers:S}=p.mediaSource,T=j(S,R=>R.type===g.sourceBufferType);if(T===void 0){c.info(\"Core\",\"Error for an unknown SourceBuffer\",{sourceBufferType:g.sourceBufferType});return}if(T.onOperationFailure===void 0){c.warn(\"Core\",\"A SourceBufferInterface with MSE performed a cross-thread operation\",{sourceBufferType:g.sourceBufferType});return}T.onOperationFailure(g.operationId,g.value);break}case\"media-source-ready-state-change\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;if(p.mediaSource.onMediaSourceReadyStateChanged===void 0){c.warn(\"Core\",\"A MediaSourceInterface with MSE performed a cross-thread operation\");return}p.mediaSource.onMediaSourceReadyStateChanged(g.value);break}case\"decipherability-update\":{if(g.contentId!==((b=u.getCurrentContent())==null?void 0:b.contentId))return;let p=u.getCurrentContent();if(p===null||p.manifest===null)return;let S=g.value;p.manifest.updateRepresentationsDeciperability(T=>{for(let R of S)if(T.representation.uniqueId===R.representationUniqueId)return R.decipherable;return T.representation.decipherable});break}case\"codec-support-update\":{let p=u.getCurrentContent();if(p===null||p.manifest===null)return;let S=g.value;try{let T=p.manifest.updateCodecSupport(S);T!==null&&e({type:\"warning\",contentId:p.contentId,value:Oe(T)})}catch(T){e({type:\"error\",contentId:p.contentId,value:Oe(T)})}break}case\"urls-update\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;p.manifestFetcher.updateContentUrls(g.value.urls,g.value.refreshNow);break}case\"track-update\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;p.trackChoiceSetter.setTrack(g.value.periodId,g.value.bufferType,g.value.choice);break}case\"rep-update\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;p.trackChoiceSetter.updateRepresentations(g.value.periodId,g.value.adaptationId,g.value.bufferType,g.value.choice);break}case\"add-text-success\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Added text track but text track aren't enabled\");return}p.coreTextSender.onPushedTrackSuccess(g.value.ranges);break}case\"push-text-error\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Added text track but text track aren't enabled\");return}p.coreTextSender.onPushedTrackError(new Error(g.value.message));break}case\"remove-text-success\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Removed text track but text track aren't enabled\");return}p.coreTextSender.onRemoveSuccess(g.value.ranges);break}case\"remove-text-error\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Removed text track but text track aren't enabled\");return}p.coreTextSender.onRemoveError(new Error(g.value.message));break}case\"pull-segment-sink-store-infos\":{Ml(e,u,g.value.requestId);break}case\"thumbnail-request\":{wl(e,u,g);break}case\"config-update\":{L.update(g.value);break}case\"app-defined\":break;default:Ne(g)}})}function Al(n,e,t,r,i){e.initializeNewContent(n,t,{limitResolution:{video:r.limitVideoResolution},throttleBitrate:{video:r.throttleVideoBitrate}},i).then(a=>{n({type:\"manifest-ready\",contentId:t.contentId,value:{manifest:a}})},a=>{n({type:\"error\",contentId:t.contentId,value:Oe(a)})})}function xl(n,e){switch(n.value.name){case\"wantedBufferAhead\":e.wantedBufferAhead.setValueIfChanged(n.value.newVal);break;case\"maxVideoBufferSize\":e.maxVideoBufferSize.setValueIfChanged(n.value.newVal);break;case\"maxBufferBehind\":e.maxBufferBehind.setValueIfChanged(n.value.newVal);break;case\"maxBufferAhead\":e.maxBufferAhead.setValueIfChanged(n.value.newVal);break;case\"limitVideoResolution\":e.limitVideoResolution.setValueIfChanged(n.value.newVal);break;case\"throttleVideoBitrate\":e.throttleVideoBitrate.setValueIfChanged(n.value.newVal);break;default:Ne(n.value)}}function kl(n,e,t,r,i){c.debug(\"Core\",\"Loading pepared content.\");let a=new z(\"Start Content Worker\"),o=null;return s(e.initialTime),{signalMediaSourceReload:()=>u(),stop:()=>{a.cancel(\"ContentHandle stop\")}};function s(f){var B;o==null||o.cancel(\"Reloading content worker\"),o=new z(\"(Re)Loading Content Worker\"),o.linkToSignal(a.signal);let l=new Map,m=t.getCurrentContent();if(m===null||m.manifest===null){let _=new _e(\"NONE\",\"Loading content when none is prepared\");throw n({type:\"error\",contentId:void 0,value:Oe(_)}),_}let{contentId:g,cmcdDataBuilder:h,enableRepresentationAvoidance:b,manifest:p,mediaSource:S,representationEstimator:T,segmentSinksStore:R,segmentQueueCreator:E}=m,{drmSystemId:C,enableFastSwitching:P,onCodecSwitch:x}=e;r.onUpdate(_=>{Os(_,R);let M=m.freezeResolver.onNewObservation(_);M!==null&&Ol(n,M,{contentId:g,manifest:p,handleMediaSourceReload:d,enableRepresentationAvoidance:b})},{clearSignal:o.signal});let A=(B=p.getPeriodForTime(f))!=null?B:p.getNextPeriod(f);if(A===void 0){let _=new ee(\"MEDIA_STARTING_TIME_NOT_FOUND\",\"Wanted starting time not found in the Manifest.\");throw n({type:\"error\",contentId:g,value:Oe(_)}),_}let k=new In(r,g,n,o.signal);h==null||h.startMonitoringPlayback(k),o.signal.register(()=>{h==null||h.stopMonitoringPlayback()});let N=da(p,S,k,R,{onWarning:_=>n({type:\"warning\",contentId:g,value:Oe(_)}),onPeriodChanged:_=>{n({type:\"active-period-changed\",contentId:g,value:{periodId:_.id}})}},o.signal);ps({initialPeriod:A,manifest:p},k,T,R,E,{wantedBufferAhead:i.wantedBufferAhead,maxVideoBufferSize:i.maxVideoBufferSize,maxBufferAhead:i.maxBufferAhead,maxBufferBehind:i.maxBufferBehind,drmSystemId:C,enableFastSwitching:P,onCodecSwitch:x},w(),o.signal);function w(){return{needsBufferFlush(_){n({type:\"needs-buffer-flush\",contentId:g,value:_})},streamStatusUpdate(_){W(_),p.isLastPeriodKnown&&_.period.id===p.periods[p.periods.length-1].id&&(_.hasFinishedLoading||_.isEmptyStream?N.onLastSegmentFinishedLoading(_.bufferType):N.onLastSegmentLoadingResume(_.bufferType))},needsManifestRefresh(){t.scheduleManifestRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0})},manifestMightBeOufOfSync(){let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:_}=L.getCurrent();t.scheduleManifestRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:_})},lockedStream(_){n({type:\"locked-stream\",contentId:g,value:{periodId:_.period.id,bufferType:_.bufferType}})},adaptationChange(_){var M,D;n({type:\"adaptation-changed\",contentId:g,value:{adaptationId:(D=(M=_.adaptation)==null?void 0:M.id)!=null?D:null,periodId:_.period.id,type:_.type}}),N.onAdaptationChange(_.type,_.period,_.adaptation)},representationChange(_){var M,D;N.onRepresentationChange(_.type,_.period),!(o===null||o.signal.isCancelled())&&n({type:\"representation-changed\",contentId:g,value:{adaptationId:_.adaptation.id,representationId:(D=(M=_.representation)==null?void 0:M.id)!=null?D:null,periodId:_.period.id,type:_.type}})},inbandEvent(_){n({type:\"inband-event\",contentId:g,value:_})},warning(_){n({type:\"warning\",contentId:g,value:Oe(_)})},periodStreamReady(_){m!==null&&(m.trackChoiceSetter.addTrackSetter(_.period.id,_.type,_.adaptationRef),n({type:\"period-stream-ready\",contentId:g,value:{periodId:_.period.id,bufferType:_.type}}))},periodStreamCleared(_){if(m===null)return;let M=l.get(_.period);M!==void 0&&(M.delete(_.type),M.size===0&&l.delete(_.period)),N.onPeriodCleared(_.type,_.period),m.trackChoiceSetter.removeTrackSetter(_.period.id,_.type),n({type:\"period-stream-cleared\",contentId:g,value:{periodId:_.period.id,bufferType:_.type}})},bitrateEstimateChange(_){var M;m!==null&&((M=m.cmcdDataBuilder)==null||M.updateThroughput(_.type,_.bitrate)),n({type:\"bitrate-estimate-change\",contentId:g,value:{bitrate:_.bitrate,bufferType:_.type}})},needsMediaSourceReload(_){d(_)},needsDecipherabilityFlush(){n({type:\"needs-decipherability-flush\",contentId:g,value:null})},encryptionDataEncountered(_){for(let M of _){let D=M.content,U=J({},D);U.manifest instanceof It&&(U.manifest=U.manifest.getMetadataSnapshot()),U.period instanceof ht&&(U.period=U.period.getMetadataSnapshot()),U.adaptation instanceof ct&&(U.adaptation=U.adaptation.getMetadataSnapshot()),U.representation instanceof un&&(U.representation=U.representation.getMetadataSnapshot()),n({type:\"encryption-data-encountered\",contentId:g,value:{keyIds:M.keyIds,values:M.values,content:U,type:M.type}})}},error(_){n({type:\"error\",contentId:g,value:Oe(_)})}}}function W(_){let{imminentDiscontinuity:M}=_,D=l.get(_.period),U=D==null?void 0:D.get(_.bufferType);if(U!==void 0){if(U.discontinuity===null){if(M===null)return}else if(M!==null&&U.discontinuity.start===M.start&&U.discontinuity.end===M.end)return}D===void 0&&(D=new Map,l.set(_.period,D));let G={periodId:_.period.id,bufferType:_.bufferType,discontinuity:_.imminentDiscontinuity,position:_.position};D.set(_.bufferType,G),n({type:\"discontinuity-update\",contentId:g,value:G})}}function d(f){var m;o!==null&&(o.cancel(\"WorkerMain MediaSource reload\"),o=null);let l=(m=t.getCurrentContent())==null?void 0:m.mediaSource.id;if(l===void 0){c.warn(\"Core\",\"Cannot reload MediaSource: no MediaSource currently.\");return}c.debug(\"Core\",\"Reloading MediaSource\",{timeOffset:f.timeOffset,minimumPosition:f.minimumPosition,maximumPosition:f.maximumPosition}),n({type:\"reloading-media-source\",mediaSourceId:l,value:f},[]),u()}function u(){var g;let l=r.getValue().position.getWanted();o!==null&&(o.cancel(\"MediaSource reload\"),o=null);let m=(g=t.getCurrentContent())==null?void 0:g.contentId;t.reloadMediaSource(n).then(()=>{c.info(\"Core\",\"MediaSource Reloaded, loading content again\",{newInitialTime:l}),s(l)},h=>{if(z.isCancellationError(h)){c.info(\"Core\",\"A reloading operation was cancelled\");return}n({type:\"error\",contentId:m,value:Oe(h)})})}}function Ls(n,e,t){t?c.setLevel(n,\"standard\",(r,i,a)=>{let o=a.map(s=>s instanceof Error?Oe(s):s);postMessage({type:\"log\",value:{namespace:i,logLevel:r,logs:o}})}):c.setLevel(n,e)}function Ml(n,e,t){let r=e.getCurrentContent();if(r===null)return;let i=r.segmentSinksStore.getSegmentSinksMetrics();n({type:\"segment-sink-store-update\",contentId:r.contentId,value:{segmentSinkMetrics:i,requestId:t}})}function Ol(n,e,{contentId:t,manifest:r,handleMediaSourceReload:i,enableRepresentationAvoidance:a}){switch(e.type){case\"reload\":{c.info(\"Core\",\"Planning reload due to freeze\"),i({timeOffset:0,minimumPosition:0,maximumPosition:1/0});break}case\"flush\":{c.info(\"Core\",\"Flushing buffer due to freeze\"),n({type:\"needs-buffer-flush\",contentId:t,value:{relativeResumingPosition:e.value.relativeSeek,relativePosHasBeenDefaulted:!1}});break}case\"avoid-representations\":{c.info(\"Core\",\"Planning Representation avoidance due to freeze\");let o=e.value;a&&r.addRepresentationsToAvoid(o),i({timeOffset:0,minimumPosition:0,maximumPosition:1/0});break}default:Ne(e)}}function wl(n,e,t){let r=e.getCurrentContent(),i=a=>{n({type:\"thumbnail-response\",contentId:t.contentId,value:{status:\"error\",requestId:t.value.requestId,error:Oe(a)}})};if(r===null||r.manifest===null||r.contentId!==t.contentId)return i(new Error(\"Content changed\"));la(r.fetchThumbnailData,r.manifest,t.value.periodId,t.value.thumbnailTrackId,t.value.time).then(a=>{let o=a.data.slice(0);n({type:\"thumbnail-response\",contentId:t.contentId,value:{status:\"success\",requestId:t.value.requestId,data:de(J({},a),{data:o})}},[o])},a=>i(a))}var Fs=fa;var Dl=\"<\",Bl=60,zs=\">\",qr=62,ma=45,Ws=47,Nl=33,Vs=39,qs=34,ca=91,Ul=93,Ll=`\\r\n\t>/= `;function pa(n,e={}){var m,g;let t=(m=e.pos)!=null?m:0,r=e.keepComments===!0,i=e.keepWhitespace===!0,a;if(e.attrValue!==void 0)for(e.attrName=(g=e.attrName)!=null?g:\"id\",a=[];(t=l())!==-1;)t=n.lastIndexOf(\"<\",t),t!==-1&&a.push(u()),n=n.substring(t),t=0;else a=o(\"\");return e.filter!==void 0&&(a=Gs(a,e.filter)),a;function o(h){let b=[];for(;n[t]!==void 0;)if(n.charCodeAt(t)===Bl){if(n.charCodeAt(t+1)===Ws){let S=t+2;if(t=n.indexOf(zs,t),n.substring(S,t).indexOf(h)===-1){let R=n.substring(0,t).split(`\n`);throw new Error(`Unexpected close tag\nLine: `+(R.length-1)+`\nColumn: `+(R[R.length-1].length+1)+`\nChar: `+n[t])}return t!==-1&&(t+=1),b}else if(n.charCodeAt(t+1)===Nl){if(n.charCodeAt(t+2)===ma){let S=t;for(;t!==-1&&!(n.charCodeAt(t)===qr&&n.charCodeAt(t-1)===ma&&n.charCodeAt(t-2)===ma);)t=n.indexOf(zs,t+1);t===-1&&(t=n.length),r&&b.push(n.substring(S,t+1))}else if(n.charCodeAt(t+2)===ca&&n.charCodeAt(t+8)===ca&&n.substring(t+3,t+8).toLowerCase()===\"cdata\"){let S=n.indexOf(\"]]>\",t);S===-1?(b.push(n.substring(t+9)),t=n.length):(b.push(n.substring(t+9,S)),t=S+3);continue}else{let S=t+1;t+=2;let T=!1;for(;(n.charCodeAt(t)!==qr||T)&&n[t]!==void 0;)n.charCodeAt(t)===ca?T=!0:T&&n.charCodeAt(t)===Ul&&(T=!1),t++;b.push(n.substring(S,t))}t++;continue}let p=u();b.push(p),p.tagName[0]===\"?\"&&(b.push(...p.children),p.children=[])}else{let p=s();if(i)p.length>0&&b.push(p);else{let S=p.trim();S.length>0&&b.push(S)}t++}return b}function s(){let h=t;return t=n.indexOf(Dl,t)-1,t===-2&&(t=n.length),n.slice(h,t+1)}function d(){let h=t;for(;Ll.indexOf(n[t])===-1&&n[t]!==void 0;)t++;return n.slice(h,t)}function u(){let h=t;t++;let b=d(),p={},S=[];for(;n.charCodeAt(t)!==qr&&n[t]!==void 0;){let T=n.charCodeAt(t);if(T>64&&T<91||T>96&&T<123){let R=d(),E=n.charCodeAt(t);for(;!isNaN(E)&&E!==Vs&&E!==qs&&!(E>64&&E<91||E>96&&E<123)&&E!==qr;)t++,E=n.charCodeAt(t);let C;E===Vs||E===qs?C=f():(C=null,t--),p[R]=C===null?null:Hs(C)}t++}return n.charCodeAt(t-1)!==Ws?(t++,S=o(b)):t++,{tagName:b,attributes:p,children:S,posStart:h,posEnd:t}}function f(){let h=n[t],b=t+1;return t=n.indexOf(h,b),n.slice(b,t)}function l(){let h=new RegExp(\"\\\\s\"+e.attrName+`\\\\s*=['\"]`+e.attrValue+`['\"]`).exec(n);return h!==null?h.index:-1}}function Gs(n,e,t=0,r=\"\"){let i=[];return n.forEach(function(a,o){if(typeof a==\"object\"&&(e(a,o,t,r)&&i.push(a),a.children.length>0)){let s=Gs(a.children,e,t+1,(Y(r)?r+\".\":\"\")+o+\".\"+a.tagName);i=i.concat(s)}}),i}function Gr(n){if(Array.isArray(n)){let e=\"\";return n.forEach(function(t){e+=\" \"+Gr(t),e=e.trim()}),e}else return typeof n==\"object\"?Gr(n.children):\" \"+Hs(n)}function Hs(n){return n.indexOf(\"&\")<0?n:n.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&quot;/g,'\"').replace(/&apos;/g,\"'\").replace(/&#x([A-Fa-f0-9]+);/g,(e,t)=>String.fromCharCode(parseInt(t,16))).replace(/&amp;/g,\"&\")}function ga(n,e,t){let{repeatCount:r}=n;if(r>=0)return r;let i;return v(e)?t!==void 0?i=t:i=Number.MAX_VALUE:i=e.start,Math.ceil((i-n.start)/n.duration)-1}function Fe(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let a=ga(n,e,t);return r+(a+1)*i}function Ce(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function Je(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function Ks(n,e,t){return[n*t,(n+e)*t]}function Fl(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function js(n,e,t){let{timeline:r}=n,i=Ce(e,n);if(i<0)return null;let a=Fl(r,i);if(a<0||a>=r.length-1)return null;let o=r[a];if(o.duration<=0)return null;let s=r[a+1];if(s===void 0)return null;let d=s.start,u=Fe(o,s,t);return i>=u&&i<d?Je(d,n):null}function ot(n,e){var i;let{initialization:t}=n,r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:\"init\",isInit:!0,time:0,end:0,duration:0,timescale:1,range:v(t)?void 0:t.range,indexRange:n.indexRange,url:(i=t==null?void 0:t.url)!=null?i:null,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function zl(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join(\"0\")+t).slice(-e)}function ha(n){return(e,t,r)=>{let i=Y(r)?parseInt(r,10):1;return zl(String(n),i)}}function ze(n,e,t){return Wl(n,e,t)}function Wl(n,e,t){return n.indexOf(\"$\")===-1?n:n.replace(/\\$\\$/g,\"$\").replace(/\\$RepresentationID\\$/g,String(e)).replace(/\\$Bandwidth(%0(\\d+)d)?\\$/g,ha(t===void 0?0:t))}function Hr(n,e){return function(r){return r.indexOf(\"$\")===-1?r:r.replace(/\\$\\$/g,\"$\").replace(/\\$Number(%0(\\d+)d)?\\$/g,(i,a,o)=>{if(e===void 0)throw new Error(\"Segment number not defined in a $Number$ scheme\");return ha(e)(i,a,o)}).replace(/\\$Time(%0(\\d+)d)?\\$/g,(i,a,o)=>{if(n===void 0)throw new Error(\"Segment time not defined in a $Time$ scheme\");return ha(n)(i,a,o)})}}function Vl(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function Zn(n,e,t,r,i,a){var T;let o=r.getEstimatedMaximumPosition((T=n.availabilityTimeOffset)!=null?T:0),s=Math.min(e+t,o!=null?o:1/0),d=Ce(e,n),u=Ce(s,n),{timeline:f,timescale:l,segmentUrlTemplate:m,startNumber:g,endNumber:h}=n,b=g!=null?g:1,p=[],S=f.length;for(let R=0;R<S;R++){let E=f[R],{duration:C,start:P,range:x}=E,A;o===void 0?A=i:A=Math.min(o*l,i!=null?i:1/0);let k=ga(E,f[R+1],A),N=n.availabilityTimeComplete!==!1||R!==S-1&&k!==0,w=Vl(P,C,d),W=P+w*C;for(;W<u&&w<=k;){let B=b+w;if(h!==void 0&&B>h)break;let _=m===null?null:Hr(W,B)(m),M=W-n.indexTimeOffset,D=C;M<0&&(D=C+M,M=0);let U={id:String(W),time:M/l,end:(M+D)/l,duration:D/l,isInit:!1,range:x,timescale:1,url:_,number:B,timestampOffset:-(n.indexTimeOffset/l),complete:N,privateInfos:{isEMSGWhitelisted:a}};p.push(U),w++,W=P+w*C}if(W>=u||(b+=k+1,h!==void 0&&b>h))return p}return p}function ql(n,e){if(e.timescale!==n.timescale){let{timescale:t}=n;n.timeline.push({start:e.time/e.timescale*t,duration:e.duration/e.timescale*t,repeatCount:e.count===void 0?0:e.count,range:e.range})}else n.timeline.push({start:e.time,duration:e.duration,repeatCount:e.count===void 0?0:e.count,range:e.range});return!0}var Mt=class{constructor(e,t){var h,b,p,S;let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t,d=(h=e.timescale)!=null?h:1,f=((b=e.presentationTimeOffset)!=null?b:0)-r*d,l=((p=e.initialization)==null?void 0:p.media)===void 0?null:ze(e.initialization.media,a,o),m=e.media===void 0?null:ze(e.media,a,o),g;e.initialization!==void 0?g=e.initialization.range:e.indexRange!==void 0&&(g=[0,e.indexRange[0]-1]),this._index={indexRange:e.indexRange,indexTimeOffset:f,initialization:{url:l,range:g},segmentUrlTemplate:m,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(S=e.timeline)!=null?S:[],timescale:d},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=Ce(r,this._index),this._scaledPeriodEnd=v(i)?void 0:Ce(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return ot(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return Zn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:Je(Math.max(this._scaledPeriodStart,e.timeline[0].start),e)}getLastAvailablePosition(){var i;let{timeline:e}=this._index;if(e.length===0)return null;let t=e[e.length-1],r=Math.min(Fe(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return Je(r,this._index)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return this._isInitialized}initialize(e){if(!this._isInitialized){for(let t=0;t<e.length;t++)ql(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `BaseRepresentationIndex`\")}getTargetSegmentDuration(){let{timeline:e,timescale:t}=this._index,r=e[0];if(r!==void 0)return{duration:r.duration/t,isPrecize:!1}}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){c.error(\"dash\",\"Base RepresentationIndex: Cannot update a SegmentList\")}};var Ot=class{constructor(e,t){var g,h,b;if(e.duration===void 0)throw new Error(\"Invalid SegmentList: no duration\");let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let d=(g=e.presentationTimeOffset)!=null?g:0,u=(h=e.timescale)!=null?h:1,f=d-r*u,l=((b=e.initialization)==null?void 0:b.media)===void 0?null:ze(e.initialization.media,a,o),m=e.list.map(p=>({url:p.media===void 0?null:ze(p.media,a,o),mediaRange:p.mediaRange}));this._index={list:m,timescale:u,duration:e.duration,indexTimeOffset:f,indexRange:e.indexRange,initialization:v(e.initialization)?void 0:{url:l,range:e.initialization.range}}}getInitSegment(){let e=ot(this._index);return e.privateInfos===void 0&&(e.privateInfos={}),e.privateInfos.isEMSGWhitelisted=this._isEMSGWhitelisted,e}getSegments(e,t){let r=this._index,{duration:i,list:a,timescale:o}=r,s=i/o,d=e-this._periodStart,[u,f]=Ks(d,t,o),l=Math.min(a.length-1,Math.floor(f/i)),m=[],g=Math.floor(u/i);for(;g<=l;){let h=a[g].mediaRange,b=a[g].url,p=g*s+this._periodStart,S={id:String(g),time:p,isInit:!1,range:h,duration:s,timescale:1,end:p+s,url:b,timestampOffset:-(r.indexTimeOffset/o),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};m.push(S),g++}return m}shouldRefresh(e,t){return!1}getFirstAvailablePosition(){return this._periodStart}getLastAvailablePosition(){var i;let e=this._index,{duration:t,list:r}=e;return Math.min(r.length*t/e.timescale+this._periodStart,(i=this._periodEnd)!=null?i:1/0)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return!0}initialize(){c.error(\"dash\",\"A `ListRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `ListRepresentationIndex`\")}getTargetSegmentDuration(){let{duration:e,timescale:t}=this._index;return{duration:e/t,isPrecize:!0}}_replace(e){this._index=e._index}_update(){c.error(\"dash\",\"A `ListRepresentationIndex` cannot be updated\")}};function Ht(n){return L.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var wt=class{constructor(e,t){var S,T,R;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:a,periodEnd:o,periodStart:s,representationId:d,representationBitrate:u,isEMSGWhitelisted:f}=t,l=(S=e.timescale)!=null?S:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let m=(T=e.presentationTimeOffset)!=null?T:0,g=s*l,h=m-g;if(e.duration===void 0)throw new Error(\"Invalid SegmentTemplate: no duration\");let b=((R=e.initialization)==null?void 0:R.media)===void 0?null:ze(e.initialization.media,d,u),p=e.media===void 0?null:ze(e.media,d,u);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:h,initialization:v(e.initialization)?void 0:{url:b,range:e.initialization.range},url:p,presentationTimeOffset:m,startNumber:e.startNumber,endNumber:e.endNumber},this._isDynamic=a,this._periodStart=s,this._scaledRelativePeriodEnd=o===void 0?void 0:(o-s)*l,this._isEMSGWhitelisted=f}getInitSegment(){return ot(this._index,this._isEMSGWhitelisted)}getSegments(e,t){let r=this._index,{duration:i,startNumber:a,endNumber:o,timescale:s,url:d}=r,u=this._periodStart*s,f=this._scaledRelativePeriodEnd,l=e*s-u,m=(e+t)*s-u,g=this._getFirstSegmentStart(),h=this._getLastSegmentStart();if(v(g)||v(h))return[];let b=Math.max(g,l),p=Math.min(h,m);if(p+i<=b)return[];let S=[],T=a!=null?a:1,R=Math.floor(b/i);for(let E=R*i;E<=p;E+=i){let C=R+T;if(o!==void 0&&C>o)return S;let P=!v(f)&&E+i>f?f-E:i,x=E+u,A=E+this._index.presentationTimeOffset,k=d===null?null:Hr(A,C)(d),N={id:String(C),number:C,time:x/s,end:(x+P)/s,duration:P/s,timescale:1,isInit:!1,scaledDuration:P/s,url:k,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};S.push(N),R++}return S}getFirstAvailablePosition(){let e=this._getFirstSegmentStart();return v(e)?e:e/this._index.timescale+this._periodStart}getLastAvailablePosition(){let e=this._getLastSegmentStart();if(v(e))return e;let t=this._estimateRelativeScaledEnd();return Math.min(e+this._index.duration,t!=null?t:1/0)/this._index.timescale+this._periodStart}getEnd(){if(!this._isDynamic)return this.getLastAvailablePosition();let e=this._estimateRelativeScaledEnd();if(e===void 0)return;let{timescale:t}=this._index;return(e+this._periodStart*t)/t}awaitSegmentBetween(e,t){if(Se(e<=t),!this._isDynamic)return!1;let{timescale:r}=this._index,i=Ht(r),a=this._periodStart*r,o=e*r-a,s=t*r-a,d=this._getLastSegmentStart();if(v(d)){let l=this._estimateRelativeScaledEnd();return l===void 0?s+i>=0:s+i>=0&&o<l-i}let u=d+this._index.duration,f=this._estimateRelativeScaledEnd();return f===void 0?s>u-i:s>u-i&&o<f-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(v(r))return!0;let i=r+this._index.duration,a=Ht(t);return i+a<e}isInitialized(){return!0}initialize(){c.error(\"dash\",\"A `TemplateRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `TemplateRepresentationIndex`\")}getTargetSegmentDuration(){return{duration:this._index.duration/this._index.timescale,isPrecize:!0}}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var o;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._periodStart?(r-this._periodStart)*t:0;return Math.floor(i/e)*e}_getLastSegmentStart(){var a,o;let{duration:e,timescale:t,endNumber:r,startNumber:i=1}=this._index;if(this._isDynamic){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&this._scaledRelativePeriodEnd!==void 0&&this._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let d=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(d===void 0)return;let u=(d-this._periodStart)*t;if(u<0)return null;let f=Math.floor(u/e);return r!==void 0&&r-i+1<f&&(f=r-i+1),f<=0?null:(f-1)*e}else{let s=(o=this._scaledRelativePeriodEnd)!=null?o:0,d=Math.ceil(s/e);r!==void 0&&r-i+1<d&&(d=r-i+1);let u=(d-1)*e,f=L.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-u>f||d<2?u:(d-2)*e}}_estimateRelativeScaledEnd(){var e,t;if(this._index.endNumber!==void 0){let r=this._index.endNumber-((e=this._index.startNumber)!=null?e:1)+1;return Math.max(Math.min(r*this._index.duration,(t=this._scaledRelativePeriodEnd)!=null?t:1/0),0)}if(this._scaledRelativePeriodEnd!==void 0)return Math.max(this._scaledRelativePeriodEnd,0)}};function Ia(n,e){let t=0;for(;n.length>0;){let r=n[0];if(r.start>=e||r.repeatCount===-1)return t;if(r.repeatCount===0)n.shift(),t+=1;else{let i=n[1];if(i!==void 0&&i.start<=e)n.shift(),t+=1;else{if(r.duration<=0)return t;let a=r.start+r.duration,o=1;for(;a<e&&o<=r.repeatCount;)a+=r.duration,o++;if(o>r.repeatCount)n.shift(),t=r.repeatCount+1;else{let s=r.repeatCount-o;return r.start=a,r.repeatCount=s,t+=o,t}}}}return t}function ba(n,e){if(n.length===0)return n.push(...e),!0;if(e.length===0)return!1;let t=n.length,r=e[0].start,i=n[t-1];if(Fe(i,e[0])<r)throw new ee(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");for(let f=t-1;f>=0;f--){let l=n[f].start;if(l===r){let m=t-f;return n.splice(f,m,...e),!1}else if(l<r){let m=n[f];if(m.start+m.duration>r)return c.warn(\"utils\",\"Manifest update removed all previous segments\"),n.splice(0,t,...e),!0;if(m.repeatCount===void 0||m.repeatCount<=0)return m.repeatCount<0&&(m.repeatCount=Math.floor((r-m.start)/m.duration)-1),n.splice(f+1,t-(f+1),...e),!1;if(m.start+m.duration*(m.repeatCount+1)<=r)return n.splice(f+1,t-(f+1),...e),!1;let h=(r-m.start)/m.duration-1;if(h%1===0&&m.duration===e[0].duration){let b=e[0].repeatCount<0?-1:e[0].repeatCount+h+1;return n.splice(f,t-f,...e),n[f].start=m.start,n[f].repeatCount=b,!1}return c.warn(\"utils\",\"Manifest update removed previous segments\"),n[f].repeatCount=Math.floor(h),n.splice(f+1,t-(f+1),...e),!1}}let o=n[n.length-1],s=e[e.length-1];if(o.repeatCount!==void 0&&o.repeatCount<0)return o.start>s.start?(c.warn(\"utils\",\"The new index is older than the previous one\"),!1):(c.warn(\"utils\",'The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0);let d=o.start+o.duration*(o.repeatCount+1),u=s.start+s.duration*(s.repeatCount+1);return d>=u?(c.warn(\"utils\",\"The new index is older than the previous one\"),!1):(c.warn(\"utils\",'The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0)}function Jn(n,e,t){let r=n.start,i=n.duration,a=n.repeatCount;return r===void 0&&(e===null?r=0:v(e.duration)||(r=e.start+e.duration*(e.repeatCount+1))),(i===void 0||isNaN(i))&&t!==null&&t.start!==void 0&&!isNaN(t.start)&&r!==void 0&&!isNaN(r)&&(i=t.start-r),r!==void 0&&!isNaN(r)&&i!==void 0&&!isNaN(i)&&(a===void 0||!isNaN(a))?{start:r,duration:i,repeatCount:a===void 0?0:a}:(c.warn(\"dash\",'A \"S\" Element could not have been parsed.'),null)}function er(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!v(r))switch(t){case\"t\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid t value for <S> element\",{val:r}):e.start=i;break}case\"d\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid d value for <S> element\",{val:r}):e.duration=i;break}case\"r\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid r value for <S> element\",{val:r}):e.repeatCount=i;break}}}return e}function yt(n){let e=[];for(let r=0;r<n.length;r++)e.push(er(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[t.length-1]===void 0?null:t[t.length-1],o=e[r+1]===void 0?null:e[r+1],s=Jn(i,a,o);s!==null&&t.push(s)}return t}function Sa(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=e[0].attributes.t,i=v(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let a=n[0],o=0;for(;;){if(a.repeatCount>0){let s=i-a.start;if(s%a.duration===0&&s/a.duration<=a.repeatCount)return{repeatNumberInPrevSegments:s/a.duration,prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInNewElements:0}}if(o++,o>=n.length)return null;if(a=n[o],a.start===i)return{prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(a.start>i)return null}}else{let a=0,o=e[0],s=i;for(;;){let d=o.attributes.d,u=v(d)?null:parseInt(d,10);if(u===null||Number.isNaN(u))return null;let f=o.attributes.r,l=v(f)?null:parseInt(f,10);if(l!==null){if(Number.isNaN(l)||l<0)return null;if(l>0){let h=t-s;if(h%u===0&&h/u<=l)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:h/u,prevSegmentsIdx:0,newElementsIdx:a}}s+=u*(l+1)}else s+=u;if(a++,a>=e.length)return null;o=e[a];let m=o.attributes.t,g=v(m)?null:parseInt(m,10);if(g!==null){if(Number.isNaN(g))return null;s=g}if(s===t)return{newElementsIdx:a,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(s>i)return null}}}function ya(n,e){var b;let t=Sa(e,n);if(t===null)return c.warn(\"dash\",'Cannot perform \"based\" update. Common segment not found.'),yt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:a,repeatNumberInNewElements:o}=t,d=e.length-r+i-1;if(d>=n.length)return c.info(\"dash\",'Cannot perform \"based\" update. New timeline too short'),yt(n);let u=e.slice(r);if(a>0){let p=u[0];p.start+=p.duration*a,u[0].repeatCount-=a}if(o>0&&i!==0)return c.info(\"dash\",'Cannot perform \"based\" update. The new timeline has a different form.'),yt(n);let f=u[u.length-1],l=er(n[d]),m=((b=l.repeatCount)!=null?b:0)-o;if(l.duration!==f.duration||f.repeatCount>m)return c.info(\"dash\",'Cannot perform \"based\" update. The new timeline has a different form at the beginning.'),yt(n);l.repeatCount!==void 0&&l.repeatCount>f.repeatCount&&(f.repeatCount=l.repeatCount);let g=[],h=[];for(let p=d+1;p<n.length;p++)h.push(er(n[p]));for(let p=0;p<h.length;p++){let S=h[p],T=g[g.length-1]===void 0?f:g[g.length-1],R=h[p+1]===void 0?null:h[p+1],E=Jn(S,T,R);E!==null&&g.push(E)}return u.concat(g)}var tr=class n{constructor(e,t){var E,C,P,x,A;if(!n.isTimelineIndexArgument(e))throw new Error(\"The given index is not compatible with a TimelineRepresentationIndex.\");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:a,isDynamic:o,isLastPeriod:s,representationId:d,representationBitrate:u,periodStart:f,periodEnd:l,isEMSGWhitelisted:m}=t,g=(E=e.timescale)!=null?E:1,h=(C=e.presentationTimeOffset)!=null?C:0,b=f*g,p=h-b;this._manifestBoundsCalculator=a,this._isEMSGWhitelisted=m,this._isLastPeriod=s,this._lastUpdate=(P=t.receivedTime)!=null?P:F(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=o,this._parseTimeline=(x=e.timelineParser)!=null?x:null;let S=((A=e.initialization)==null?void 0:A.media)===void 0?null:ze(e.initialization.media,d,u),T=e.media===void 0?null:ze(e.media,d,u),R;i===void 0&&r===void 0?R=1/0:R=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:R,indexRange:e.indexRange,indexTimeOffset:p,initialization:v(e.initialization)?void 0:{url:S,range:e.initialization.range},segmentUrlTemplate:T,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:Ta(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=Ce(f,this._index),this._scaledPeriodEnd=l===void 0?void 0:Ce(l,this._index)}getInitSegment(){return ot(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),Zn(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:Je(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=Kr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return Je(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(Fe(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return Je(t,this._index)}awaitSegmentBetween(e,t){var u,f;if(Se(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,a=Ht(r),o=Ce(t,this._index),s=Kr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(u=this._scaledPeriodEnd)!=null?u:1/0)+a>=Math.min(o,(f=this._scaledPeriodEnd)!=null?f:1/0))return!1;let d=Ce(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=Fe(l,null,this._scaledPeriodEnd)+a;if(d<g+a)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?o+a>this._scaledPeriodStart?void 0:!1:d-a<this._scaledPeriodEnd&&o+a>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),Gl(e,this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd))}checkDiscontinuity(e){this._refreshTimeline();let t=this._index.timeline;return t===null&&(t=this._getTimeline(),this._index.timeline=t),js({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof Xe&&e.isHttpError(404):!1}_replace(e){this._parseTimeline=e._parseTimeline,this._index=e._index,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._manifestBoundsCalculator=e._manifestBoundsCalculator,this._isLastPeriod=e._isLastPeriod}_update(e){this._index.timeline===null&&(this._index.timeline=this._getTimeline()),e._index.timeline===null&&(e._index.timeline=e._getTimeline()),ba(this._index.timeline,e._index.timeline)&&(this._index.startNumber=e._index.startNumber),this._index.availabilityTimeOffset=e._index.availabilityTimeOffset,this._index.availabilityTimeComplete=e._index.availabilityTimeComplete,this._index.endNumber=e._index.endNumber,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._isLastPeriod=e._isLastPeriod}isStillAwaitingFutureSegments(){var o;if(!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timeline:e}=this._index;if(e.length===0){if(this._scaledPeriodEnd!==void 0){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&Ce(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=Ht(this._index.timescale),r=Kr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(r!==null&&!r.isLastOfTimeline){let s=Math.min(r.end,(o=this._scaledPeriodEnd)!=null?o:1/0);return!(this._scaledPeriodEnd!==void 0&&s+t>=this._scaledPeriodEnd)}if(!this._isLastPeriod)return!1;if(this._scaledPeriodEnd===void 0)return!0;let i=e[e.length-1];return Fe(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){c.error(\"dash\",\"A `TimelineRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `TimelineRepresentationIndex`\")}getTargetSegmentDuration(){this._refreshTimeline();let{timeline:e,timescale:t}=this._index;if(e===null)return;let r=e[0];if(r!==void 0)return{duration:r.duration/t,isPrecize:!1}}static isTimelineIndexArgument(e){return typeof e.timelineParser==\"function\"||Array.isArray(e.timeline)}_refreshTimeline(){var i,a;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((a=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?a:0)/this._index.timescale);if(v(e))return;let t=Ce(e,this._index),r=Ia(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(c.error(\"dash\",\"Timeline already lazily parsed.\"),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=L.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return Ta(yt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,Ta(ya(e,r),this._index.startNumber,this._index.endNumber)}};function Ta(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let a=n[i];if(r+=a.repeatCount+1,r>t){if(r===t+1)return n.slice(0,i+1);{let o=n.slice(0,i),s=J({},a),d=r-a.repeatCount-1;return s.repeatCount=Math.max(0,t-d),o.push(s),o}}}return n}function Gl(n,e,t,r){let i=Kr(e,t,r);if(i===null)return!1;for(let a=0;a<e.timeline.length;a++){if(i.timelineIdx<a)return!1;let o=e.timeline[a],s=(o.start-e.indexTimeOffset)/e.timescale;if(s>n.time)return!1;if(s===n.time)return o.range===void 0?n.range===void 0:!v(n.range)&&o.range[0]===n.range[0]&&o.range[1]===n.range[1];if(o.repeatCount>=0&&o.duration!==void 0){let u=(s-o.start)/o.duration-1;return u%1===0&&u<=i.newRepeatCount}}return!1}function Kr(n,e,t){if(n.timeline.length<=0)return null;if(n.availabilityTimeOffset===1/0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Fe(a,null,t)}}let r=e.getEstimatedMaximumPosition(n.availabilityTimeOffset);if(r===void 0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:Fe(a,null,t)}}for(let i=n.timeline.length-1;i>=n.timeline.length;i--){let a=n.timeline[i],o=a.start+a.duration;if(Je(o,n)<=r){let s=Fe(a,n.timeline[i+1],t);if(Je(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:a.repeatCount,end:o};{let u=Ce(r,n)-a.start,f=Math.floor(u/a.duration);return Se(f>=1),{isLastOfTimeline:!1,timelineIdx:i,newRepeatCount:f-1,end:a.start+f*a.duration}}}}return null}var jr=tr;var nr=class{constructor(){this._refs=new Map,this._stored=[]}addReferences(e){for(let t of e)t.attributes.refId!==void 0&&this._refs.set(t.attributes.refId,t)}add(e,t){this._tryParsing(e,t,!1)||this._stored.push([e,t]),t.attributes.refId!==void 0&&(this._refs.set(t.attributes.refId,t),this._resolveStoredRefs(!1))}finalize(){this._resolveStoredRefs(!0)}_resolveStoredRefs(e){for(let t=this._stored.length-1;t>=0;t--){let[r,i]=this._stored[t];(this._tryParsing(r,i,e)||e)&&this._stored.splice(t,1)}return this._stored.length===0}_tryParsing(e,t,r){if(t.attributes.ref===void 0)return Ea(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(c.warn(\"dash\",\"forcing the parsing of a referencing ContentProtection\"),Ea(e,t)),!1):(t.children.cencPssh.push(...i.children.cencPssh),t.attributes.keyId===void 0&&i.attributes.keyId!==void 0&&(t.attributes.keyId=i.attributes.keyId),t.attributes.schemeIdUri===void 0&&i.attributes.schemeIdUri!==void 0&&(t.attributes.schemeIdUri=i.attributes.schemeIdUri),t.attributes.value===void 0&&i.attributes.value!==void 0&&(t.attributes.value=i.attributes.value),Ea(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function Ea(n,e){let t;if(e.attributes.schemeIdUri!==void 0&&e.attributes.schemeIdUri.substring(0,9)===\"urn:uuid:\"&&(t=e.attributes.schemeIdUri.substring(9).replace(/-/g,\"\").toLowerCase()),e.attributes.keyId!==void 0&&e.attributes.keyId.length>0){let o=e.attributes.keyId;n.contentProtections===void 0?n.contentProtections={keyIds:[o],initData:[]}:n.contentProtections.keyIds===void 0?n.contentProtections.keyIds=[o]:n.contentProtections.keyIds.push(o)}if(t===void 0)return;let{cencPssh:r}=e.children,i=[];for(let o of r)i.push({systemId:t,data:o});if(i.length===0)return;if(n.contentProtections===void 0){n.contentProtections={keyIds:[],initData:[{type:\"cenc\",values:i}]};return}let a=j(n.contentProtections.initData,o=>o.type===\"cenc\");a===void 0?n.contentProtections.initData.push({type:\"cenc\",values:i}):a.values.push(...i)}function Yr(n){let e=Date.parse(n)-F();if(isNaN(e)){c.warn(\"dash\",\"Invalid clock received\",{clock:n});return}return e}function _a(n){let e=n.children.utcTimings.filter(t=>(t.schemeIdUri===\"urn:mpeg:dash:utc:http-iso:2014\"||t.schemeIdUri===\"urn:mpeg:dash:utc:http-xsdate:2014\")&&t.value!==void 0);return e.length>0?e[0].value:void 0}function Qr(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getLastAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.min(t,i))}return t===null?null:t}function Ra(n){for(let e=n.length-1;e>=0;e--){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=Qr(r);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(i!==void 0){let s=Qr(i);if(s===void 0)return{safe:void 0,unsafe:void 0};o=s}if(r!==void 0&&a===null||i!==void 0&&o===null)return c.info(\"utils\",\"found Period with no segment. \",\"Going to previous one to calculate last position\"),{safe:void 0,unsafe:void 0};if(o!==null)return a!==null?{safe:Math.min(a,o),unsafe:Math.max(a,o)}:{safe:o,unsafe:o};if(a!==null)return{safe:a,unsafe:a}}}return{safe:void 0,unsafe:void 0}}function $r(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getFirstAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.max(t,i))}return t===null?null:t}function Pa(n){for(let e=0;e<=n.length-1;e++){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=$r(r);if(s===void 0)return;a=s}if(i!==void 0){let s=$r(i);if(s===void 0)return;o=s}if(r!==void 0&&a===null||i!==void 0&&o===null){c.info(\"utils\",\"found Period with no segment. \",\"Going to next one to calculate first position\");return}if(o!==null)return a!==null?Math.max(a,o):o;if(a!==null)return a}}}function va(n){if(n.length===0)throw new Error(\"DASH Parser: no period available for a dynamic content\");let e=Pa(n),t=Ra(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var rr=class{constructor(e){this._isDynamic=e.isDynamic,this._timeShiftBufferDepth=!e.isDynamic||e.timeShiftBufferDepth===void 0?null:e.timeShiftBufferDepth,this._serverTimestampOffset=e.serverTimestampOffset,this._availabilityStartTime=e.availabilityStartTime}setLastPosition(e,t){this._lastPosition=e,this._positionTime=t}lastPositionIsKnown(){return this._isDynamic?this._positionTime!==void 0&&this._lastPosition!==void 0:this._lastPosition!==void 0}getEstimatedMinimumSegmentTime(e){var i;if(!this._isDynamic||this._timeShiftBufferDepth===null)return 0;let t=(i=this.getEstimatedLiveEdge())!=null?i:this.getEstimatedMaximumPosition(0);return t===void 0?void 0:t-(this._timeShiftBufferDepth+e)}getEstimatedLiveEdge(){if(!(!this._isDynamic||this._serverTimestampOffset===void 0))return(F()+this._serverTimestampOffset)/1e3-this._availabilityStartTime}getEstimatedMaximumPosition(e){if(!this._isDynamic)return this._lastPosition;let t=this.getEstimatedLiveEdge();return t!==void 0&&e!==1/0?t+e:this._positionTime!==void 0&&this._lastPosition!==void 0?Math.max(this._lastPosition-this._positionTime+F()/1e3,0):this._lastPosition}};function Ca(n,e){return n.type!==\"dynamic\"?0:v(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Aa(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(c.warn(\"dash\",\"Updating overlapping Periods.\",{lastStart:i==null?void 0:i.start,newStart:r.start}),i.duration=r.start-i.start,i.end=r.start,!(i.duration>0));){if(e.pop(),e.length===0)break;i=e[e.length-1]}e.push(r)}return e}function xa(n,e){let t=[];return n.forEach((r,i)=>{let a;if(!v(r.attributes.start))a=r.attributes.start;else if(i===0)a=!e.isDynamic||v(e.availabilityStartTime)?0:e.availabilityStartTime;else{let u=t[t.length-1];if(!v(u)&&!v(u.periodEnd))a=u.periodEnd;else throw new Error(\"Missing start time when parsing periods.\")}let o,s=n[i+1];v(r.attributes.duration)?i===n.length-1?o=e.duration:v(s.attributes.start)||(o=s.attributes.start-a):o=r.attributes.duration;let d=v(o)?void 0:a+o;t.push({periodStart:a,periodDuration:o,periodEnd:d})}),t}function Hl(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let a of i)for(let o of Lt){let s=n[o];if(s!==void 0)for(let d of s)d.id===a&&(d.trickModeTracks===void 0&&(d.trickModeTracks=[]),d.trickModeTracks.push(r))}}}var Ys=Hl;var Kl=[\"subtitle\",\"caption\"];function ka(n,e){var s,d,u,f;let t=(f=j((s=n.children.essentialProperties)!=null?s:[],l=>l.schemeIdUri===\"http://dashif.org/guidelines/thumbnail_tile\"||l.schemeIdUri===\"http://dashif.org/thumbnail_tile\"))!=null?f:j((u=(d=e!=null?e:n.children.representations[0])==null?void 0:d.children.essentialProperties)!=null?u:[],l=>l.schemeIdUri===\"http://dashif.org/guidelines/thumbnail_tile\"||l.schemeIdUri===\"http://dashif.org/thumbnail_tile\");if(t===void 0)return null;let r=/(\\d+)x(\\d+)/;if(t===void 0||t.value===void 0||!r.test(t.value))return c.warn(\"dash\",\"Invalid thumbnails Representation, no tile-related information\"),null;let i=t.value.match(r),a=parseInt(i[1],10),o=parseInt(i[2],10);return{horizontalTiles:a,verticalTiles:o}}function Ma(n,e){if(n.attributes.contentType===\"image\")return ka(n)!==null?\"thumbnails\":void 0;let t=Y(n.attributes.mimeType)?n.attributes.mimeType:null,r=Y(n.attributes.codecs)?n.attributes.codecs:null,i=v(n.children.roles)?null:n.children.roles;function a(s,d){let u=s.split(\"/\")[0];if(fe(Lt,u))return u;if(s===\"application/ttml+xml\")return\"text\";if(s===\"application/mp4\")return d!==null&&j(d,f=>f.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&fe(Kl,f.value))!==void 0?\"text\":void 0}function o(s){switch(s.substring(0,3)){case\"avc\":case\"hev\":case\"hvc\":case\"vp8\":case\"vp9\":case\"av1\":return\"video\";case\"vtt\":return\"text\"}switch(s.substring(0,4)){case\"mp4a\":return\"audio\";case\"wvtt\":case\"stpp\":return\"text\"}}if(t!==null){let s=a(t,i);if(s!==void 0)return s}if(r!==null){let s=o(r);if(s!==void 0)return s}for(let s=0;s<e.length;s++){let d=e[s],{mimeType:u,codecs:f}=d.attributes;if(u!==void 0){let l=a(u,i);if(l!==void 0)return l}if(f!==void 0){let l=o(f);if(l!==void 0)return l}}}var jl=/[, ]+/g;function Qs(n){return Y(n)?n.trim().replace(jl,\", \"):\"\"}function $s(n){let[e,t,r,i,a,o,s,d]=n.split(\".\");if(e!==\"vp08\"&&e!==\"vp09\"&&e!==\"vp10\")return;let u,f,l;if((i!==void 0&&i===\"10\"||i===\"12\")&&(u=parseInt(i,10)),s!==void 0&&(s===\"16\"?f=\"pq\":s===\"18\"&&(f=\"hlg\")),o!==void 0&&d!==void 0&&o===\"09\"&&d===\"09\"&&(l=\"rec2020\"),!(u===void 0||f===void 0))return{colorDepth:u,eotf:f,colorSpace:l}}function Oa(n,e){var h,b,p;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:a,start:o,receivedTime:s,unsafelyBaseOnPreviousRepresentation:d,inbandEventStreams:u,isLastPeriod:f}=e,m={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:d,isEMSGWhitelisted:S=>u===void 0?!1:u.some(({schemeIdUri:T})=>T===S.schemeIdUri),isLastPeriod:f,manifestBoundsCalculator:r,isDynamic:i,periodEnd:a,periodStart:o,receivedTime:s,representationBitrate:n.attributes.bitrate,representationId:n.attributes.id},g;if(n.children.segmentBase!==void 0){let{segmentBase:S}=n.children;g=new Mt(S,m)}else if(n.children.segmentList!==void 0){let{segmentList:S}=n.children;g=new Ot(S,m)}else if(n.children.segmentTemplate!==void 0||e.parentSegmentTemplates.length>0){let S=e.parentSegmentTemplates.slice(),T=n.children.segmentTemplate;T!==void 0&&S.push(T);let R=H({},...S);(R.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(m.availabilityTimeOffset=((h=R.availabilityTimeOffset)!=null?h:0)+((b=e.availabilityTimeOffset)!=null?b:0)),(R.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(m.availabilityTimeComplete=(p=R.availabilityTimeComplete)!=null?p:e.availabilityTimeComplete),g=jr.isTimelineIndexArgument(R)?new jr(R,m):new wt(R,m)}else{let S=e.adaptation.children;if(S.segmentBase!==void 0){let{segmentBase:T}=S;g=new Mt(T,m)}else if(S.segmentList!==void 0){let{segmentList:T}=S;g=new Ot(T,m)}else g=new wt({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:\"\"},m)}return g}function st(n,e){var i;if(e.length===0)return n;let t=e.map(a=>({url:a.value}));if(n.length===0)return t;let r=[];for(let a=0;a<n.length;a++){let o=n[a];for(let s=0;s<t.length;s++){let d=t[s],u=zn(o.url,d.url);r.push({url:u,serviceLocation:(i=d.serviceLocation)!=null?i:o.serviceLocation})}}return r}function Yl(n,e){let t=[];if(n.children.inbandEventStreams!==void 0&&t.push(...n.children.inbandEventStreams),e.children.inbandEventStreams!==void 0&&t.push(...e.children.inbandEventStreams),t.length!==0)return t}function Ql({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:\"\")+(r!=null?r:\"\")).indexOf(\"http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10\")!==-1&&(i===\"hvc1.2.4.L153.B0\"||i===\"hev1.2.4.L153.B0\"))return{colorDepth:10,eotf:\"pq\",colorSpace:\"rec2020\"};let o=j([...e!=null?e:[],...t!=null?t:[]],s=>s.schemeIdUri===\"urn:mpeg:mpegB:cicp:TransferCharacteristics\");if(o!==void 0)switch(o.value){case\"15\":return;case\"16\":return{eotf:\"pq\"};case\"18\":return{eotf:\"hlg\"}}if(i!==void 0&&/^vp(08|09|10)/.test(i))return $s(i)}function wa(n,e,t){var i,a,o,s,d,u,f;let r=[];for(let l of n){let m=l.attributes.id!==void 0?l.attributes.id:String(l.attributes.bitrate)+(l.attributes.height!==void 0?`-${l.attributes.height}`:\"\")+(l.attributes.width!==void 0?`-${l.attributes.width}`:\"\")+(l.attributes.mimeType!==void 0?`-${l.attributes.mimeType}`:\"\")+(l.attributes.codecs!==void 0?`-${l.attributes.codecs}`:\"\");for(;r.some(k=>k.id===m);)m+=\"-dup\";let g=(a=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(m))!=null?a:null,h=Yl(l,e),b=(o=l.attributes.availabilityTimeComplete)!=null?o:t.availabilityTimeComplete,p;(l.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(p=((s=l.attributes.availabilityTimeOffset)!=null?s:0)+((d=t.availabilityTimeOffset)!=null?d:0));let S=H({},t,{availabilityTimeOffset:p,availabilityTimeComplete:b,unsafelyBaseOnPreviousRepresentation:g,adaptation:e,inbandEventStreams:h}),T=Oa(l,S),R;l.attributes.bitrate===void 0?(c.warn(\"dash\",\"No usable bitrate found in the Representation.\"),R=0):R=l.attributes.bitrate;let E=st(t.baseURLs,l.children.baseURLs),C=E.length===0?[{baseUrl:\"\",id:void 0}]:E.map(k=>({baseUrl:k.url,id:k.serviceLocation})),P={bitrate:R,cdnMetadata:C,index:T,id:m};l.children.supplementalProperties!==void 0&&j(l.children.supplementalProperties,k=>k.schemeIdUri===\"tag:dolby.com,2018:dash:EC3_ExtensionType:2018\"&&k.value===\"JOC\")!==void 0&&(P.isSpatialAudio=!0);let x;l.attributes.codecs!==void 0?x=l.attributes.codecs:e.attributes.codecs!==void 0&&(x=e.attributes.codecs),x!==void 0&&(x=x===\"mp4a.40.02\"?\"mp4a.40.2\":x,P.codecs=x);let A;l.attributes.supplementalCodecs!==void 0?A=l.attributes.supplementalCodecs:e.attributes.supplementalCodecs!==void 0&&(A=e.attributes.supplementalCodecs),A!==void 0&&(P.supplementalCodecs=Qs(A)),l.attributes.frameRate!==void 0?P.frameRate=l.attributes.frameRate:e.attributes.frameRate!==void 0&&(P.frameRate=e.attributes.frameRate),l.attributes.height!==void 0?P.height=l.attributes.height:e.attributes.height!==void 0&&(P.height=e.attributes.height),l.attributes.mimeType!==void 0?P.mimeType=l.attributes.mimeType:e.attributes.mimeType!==void 0&&(P.mimeType=e.attributes.mimeType),l.attributes.width!==void 0?P.width=l.attributes.width:e.attributes.width!==void 0&&(P.width=e.attributes.width);{let k=[...(u=e.children.contentProtections)!=null?u:[],...(f=l.children.contentProtections)!=null?f:[]];for(let N of k)t.contentProtectionParser.add(P,N)}P.hdrInfo=Ql({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.supplementalProperties,essentialProperties:e.children.essentialProperties,manifestProfiles:t.manifestProfiles,codecs:x}),r.push(P)}return r}function $l(n){if(n===void 0)return!1;let e=n.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&n.value===\"1\",t=n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"description\";return e||t}function Xl(n,e){return!!(n!==void 0&&n.some(r=>r.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&r.value===\"2\")||e!==void 0&&e.some(r=>r.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&r.value===\"caption\"))}function Zl(n){return n===void 0?!1:n.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.value===\"sign\"}function Jl(n,e){if(Y(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:a,isTrickModeTrack:o,type:s}=e,d=s;return Y(n.attributes.language)&&(d+=`-${n.attributes.language}`),t===!0&&(d+=\"-cc\"),r===!0&&(d+=\"-cc\"),i===!0&&(d+=\"-ad\"),a===!0&&(d+=\"-si\"),o&&(d+=\"-trickMode\"),Y(n.attributes.contentType)&&(d+=`-${n.attributes.contentType}`),Y(n.attributes.codecs)&&(d+=`-${n.attributes.codecs}`),Y(n.attributes.mimeType)&&(d+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(d+=`-${String(n.attributes.frameRate)}`),d}function ef(n){if(!v(n.children.supplementalProperties)){let{supplementalProperties:e}=n.children;for(let t of e)if(t.schemeIdUri===\"urn:mpeg:dash:adaptation-set-switching:2016\"&&!v(t.value))return t.value.split(\",\").map(r=>r.trim()).filter(r=>Y(r))}return[]}function Da(n,e){var d,u,f,l,m,g,h;let t={video:[],audio:[],text:[]},r=[],i=[],a={},o=[];for(let b=0;b<n.length;b++){let p=n[b],S=p.children,{essentialProperties:T,roles:R,label:E}=S,C=Array.isArray(R)&&R.some(se=>se.value===\"main\")&&R.some(se=>se.schemeIdUri===\"urn:mpeg:dash:role:2011\"),P=p.children.representations,x=(d=p.attributes.availabilityTimeComplete)!=null?d:e.availabilityTimeComplete,A;(p.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(A=((u=p.attributes.availabilityTimeOffset)!=null?u:0)+((f=e.availabilityTimeOffset)!=null?f:0));let k=Ma(p,P);if(k===void 0)continue;let N=(l=p.attributes.selectionPriority)!=null?l:1,w=p.attributes.id,W=ef(p),B=[];e.segmentTemplate!==void 0&&B.push(e.segmentTemplate),p.children.segmentTemplate!==void 0&&B.push(p.children.segmentTemplate);let _={availabilityTimeComplete:x,availabilityTimeOffset:A,baseURLs:st(e.baseURLs,S.baseURLs),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:B,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},M=Array.isArray(T)?j(T,se=>se.schemeIdUri===\"http://dashif.org/guidelines/trickmode\"):void 0,D=(m=M==null?void 0:M.value)==null?void 0:m.split(\" \"),U=D!==void 0,{accessibilities:G}=S,Q;R!==void 0&&R.some(se=>se.value===\"dub\")&&(Q=!0);let K;k!==\"text\"?K=!1:K=Xl(G,R);let q;k===\"text\"&&R!==void 0&&R.some(se=>se.value===\"forced-subtitle\"||se.value===\"forced_subtitle\")&&(q=!0);let Z;k!==\"audio\"?Z=!1:G!==void 0&&(Z=G.some($l));let X;k!==\"video\"?X=!1:G!==void 0&&(X=G.some(Zl));let me=Jl(p,{isAudioDescription:Z,isForcedSubtitle:q,isClosedCaption:K,isSignInterpreted:X,isTrickModeTrack:U,type:k});for(;fe(o,me);)me+=\"-dup\";let pe=me;o.push(me),_.unsafelyBaseOnPreviousAdaptation=(h=(g=e.unsafelyBaseOnPreviousPeriod)==null?void 0:g.getAdaptation(me))!=null?h:null;let Qe=wa(P,p,_);if(k===\"thumbnails\"){let se=tf(p,Qe);se!==null&&r.push(...se);continue}let ie={id:me,representations:Qe,type:k,isTrickModeTrack:U};if(v(p.attributes.language)||(ie.language=p.attributes.language),v(K)||(ie.closedCaption=K),v(Z)||(ie.audioDescription=Z),Q===!0&&(ie.isDub=!0),q!==void 0&&(ie.forcedSubtitles=q),X===!0&&(ie.isSignInterpreted=!0),E!==void 0&&(ie.label=E),D!==void 0)i.push({adaptation:ie,trickModeAttachedAdaptationIds:D});else{let se=-1;for(let $t of W){let Xt=a[$t];if(Xt!==void 0&&Xt.newID!==pe&&fe(Xt.adaptationSetSwitchingIDs,w)){se=ae(t[k],Zt=>Zt[0].id===$t);let Re=t[k][se];if(Re!==void 0&&Re[0].audioDescription===ie.audioDescription&&Re[0].closedCaption===ie.closedCaption&&Re[0].language===ie.language){c.info(\"dash\",'merging \"switchable\" AdaptationSets',{originalID:w,id:$t}),Re[0].representations.push(...ie.representations),Re[1]={priority:Math.max(N,Re[1].priority),isMainAdaptation:C||Re[1].isMainAdaptation,indexInMpd:Math.min(b,Re[1].indexInMpd)};break}}}se<0&&t[k].push([ie,{priority:N,isMainAdaptation:C,indexInMpd:b}])}!v(w)&&v(a[w])&&(a[w]={newID:pe,adaptationSetSwitchingIDs:W})}let s=Lt.reduce((b,p)=>{let S=t[p];return S.length>0&&(S.sort(Xs),b[p]=S.map(([T])=>T)),b},{});return t.video.sort(Xs),Ys(s,i),{adaptations:s,thumbnailTracks:r}}function tf(n,e){var r,i;let t=[];for(let a=0;a<e.length;a++){let o=e[a];if(o!==void 0){if(o.mimeType===void 0){c.warn(\"dash\",\"Invalid thumbnails Representation, no mime-type\");continue}let s=ka(n,n.children.representations[a]);if(s===null)continue;if(o.height===void 0){c.warn(\"dash\",\"Invalid thumbnails Representation, no height information\");continue}if(o.width===void 0){c.warn(\"dash\",\"Invalid thumbnails Representation, no width information\");continue}let d=(r=o.index.getFirstAvailablePosition())!=null?r:void 0,u=(i=o.index.getEnd())!=null?i:void 0,f,l=o.index.getTargetSegmentDuration();l!==void 0&&l.isPrecize?f=l.duration:c.warn(\"dash\",\"Cannot produce duration estimate for thumbnail track\"),t.push({id:o.id,cdnMetadata:o.cdnMetadata,index:o.index,mimeType:o.mimeType,height:o.height,width:o.width,horizontalTiles:s.horizontalTiles,verticalTiles:s.verticalTiles,start:d,end:u,tileDuration:f===void 0?void 0:f/(s.horizontalTiles*s.verticalTiles)})}}return t}function Xs(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var nf=Me();function Ba(n,e){var o,s,d,u,f;let t=[],r=xa(n,e);if(r.length!==n.length)throw new Error(\"MPD parsing error: the time information are incoherent.\");let{isDynamic:i,manifestBoundsCalculator:a}=e;!i&&!v(e.duration)&&a.setLastPosition(e.duration);for(let l=n.length-1;l>=0;l--){let m=l===n.length-1,g=n[l],h=e.xlinkInfos.get(g),b=st(e.baseURLs,g.children.baseURLs),{periodStart:p,periodDuration:S,periodEnd:T}=r[l],R;for(v(g.attributes.id)?(R=\"gen-dash-period-\"+nf(),c.warn(\"dash\",\"No usable id found in the Period. Generating one.\",{periodId:R})):R=g.attributes.id;t.some(U=>U.id===R);)R+=\"-dup\";let E=h!==void 0?h.receivedTime:e.receivedTime,C=(s=(o=e.unsafelyBaseOnPreviousManifest)==null?void 0:o.getPeriod(R))!=null?s:null,P=g.attributes.availabilityTimeComplete,x=g.attributes.availabilityTimeOffset,{manifestProfiles:A,contentProtectionParser:k}=e,{segmentTemplate:N}=g.children;k.addReferences((d=g.children.contentProtections)!=null?d:[]);let w={availabilityTimeComplete:P,availabilityTimeOffset:x,baseURLs:b,contentProtectionParser:k,manifestBoundsCalculator:a,end:T,isDynamic:i,isLastPeriod:m,manifestProfiles:A,receivedTime:E,segmentTemplate:N,start:p,unsafelyBaseOnPreviousPeriod:C},{adaptations:W,thumbnailTracks:B}=Da(g.children.adaptations,w),_=((u=e.xmlNamespaces)!=null?u:[]).concat((f=g.attributes.namespaces)!=null?f:[]),M=af(g.children.eventStreams,p,_),D={id:R,start:p,end:T,duration:S,thumbnailTracks:B,adaptations:W,streamEvents:M};if(t.unshift(D),!a.lastPositionIsKnown()){let U=rf(W);if(!i)typeof U==\"number\"&&a.setLastPosition(U);else if(typeof U==\"number\"){let G=F()/1e3;a.setLastPosition(U,G)}else{let G=Zs(e,p);if(G!==void 0){let[Q,K]=G;a.setLastPosition(Q,K)}}}}if(e.isDynamic&&!a.lastPositionIsKnown()){let l=Zs(e,0);if(l!==void 0){let[m,g]=l;a.setLastPosition(m,g)}}return Aa(t)}function Zs(n,e){if(v(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){c.warn(\"dash\",\"no clock synchronization mechanism found. Using the system clock instead.\");let r=t-n.availabilityStartTime,i=F()/1e3;return[r,i]}}else{let t=n.clockOffset/1e3-n.availabilityStartTime,r=F()/1e3,i=r+t;if(i>=e)return[i,r]}}function rf(n){let e=null,t=!0,r=yr(n).filter(a=>!v(a)),i=Ci(r,a=>a);for(let a of i){let o=a.representations;for(let s of o){let d=s.index.getLastAvailablePosition();d!==null&&(t=!1,typeof d==\"number\"&&(e=v(e)?d:Math.max(e,d)))}}if(v(e)){if(t)return null}else return e}function af(n,e,t){var i,a;let r=[];for(let o of n){let{schemeIdUri:s=\"\",timescale:d=1}=o.attributes,u=t.concat((i=o.attributes.namespaces)!=null?i:[]);for(let f of o.children.events)if(f.eventStreamData!==void 0){let l=((a=f.presentationTime)!=null?a:0)/d+e,m=f.duration===void 0?void 0:l+f.duration/d,g,h;try{h={namespaces:u,data:typeof f.eventStreamData==\"string\"?f.eventStreamData:Ge(new Uint8Array(f.eventStreamData))}}catch(b){c.error(\"dash\",\"Error while parsing event-stream:\",b instanceof Error?b.message:\"Unknown error\")}r.push({start:l,end:m,id:f.id,data:{type:\"dash-event-stream\",value:{schemeIdUri:s,timescale:d,element:g,xmlData:h}}})}}return r}function Kt(n,e,t,r,i=new WeakMap){let{children:a,attributes:o}=n;if(v(e.externalClockOffset)){let d=o.type===\"dynamic\",u=j(a.utcTimings,m=>m.schemeIdUri===\"urn:mpeg:dash:utc:direct:2014\"&&!v(m.value)),f=!v(u)&&!v(u.value)?Yr(u.value):void 0,l=!v(f)&&!isNaN(f)?f:void 0;if(!v(l)&&r!==!0)e.externalClockOffset=l;else if(d&&r!==!0){let m=_a(n);if(!v(m)&&m.length>0)return{type:\"needs-clock\",value:{url:m,continue:function(h){return h.success?(e.externalClockOffset=Yr(h.data),Kt(n,e,t,!0)):(t.push(h.error),c.warn(\"dash\",\"Error on fetching the clock ressource\",h.error),Kt(n,e,t,!0))}}}}}let s=[];for(let d=0;d<a.periods.length;d++){let{xlinkHref:u,xlinkActuate:f}=a.periods[d].attributes;!v(u)&&f===\"onLoad\"&&s.push({index:d,ressource:u})}return s.length===0?of(n,e,t,i):{type:\"needs-xlinks\",value:{xlinksUrls:s.map(({ressource:d})=>d),continue:function(u){if(u.length!==s.length)throw new Error(\"DASH parser: wrong number of loaded ressources.\");for(let f=u.length-1;f>=0;f--){let l=s[f].index,{parsed:m,warnings:g,receivedTime:h,sendingTime:b,url:p}=u[f];g.length>0&&t.push(...g);for(let S of m)i.set(S,{receivedTime:h,sendingTime:b,url:p});a.periods.splice(l,1,...m)}return Kt(n,e,t,r,i)}}}}function of(n,e,t,r){var _,M,D,U,G;let{children:i,attributes:a}=n,o=a.type===\"dynamic\",s=e.url!==void 0?[{url:e.url.substring(0,Zi(e.url))}]:[],d=st(s,i.baseURLs),u=Ca(a,e.referenceDateTime),f=a.timeShiftBufferDepth,l=a.maxSegmentDuration,{externalClockOffset:m,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:h}=e,b=new rr({availabilityStartTime:u,isDynamic:o,timeShiftBufferDepth:f,serverTimestampOffset:h}),p=new nr;p.addReferences((_=i.contentProtections)!=null?_:[]);let S={availabilityStartTime:u,baseURLs:d,clockOffset:m,contentProtectionParser:p,duration:a.duration,isDynamic:o,manifestBoundsCalculator:b,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},T=Ba(i.periods,S);p.finalize();let R=a.duration,E,C,P=null,x;a.minimumUpdatePeriod!==void 0&&a.minimumUpdatePeriod>=0&&(E=a.minimumUpdatePeriod===0?L.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:a.minimumUpdatePeriod);let{minimumSafePosition:A,maximumSafePosition:k,maximumUnsafePosition:N}=va(T),w=F();if(o){let Q;k!==void 0?Q=k:h===void 0?(c.warn(\"dash\",\"use system clock to define maximum position\"),Q=Date.now()/1e3-u):Q=(F()+h)/1e3-u;let K=b.getEstimatedLiveEdge();K===void 0&&(N!==void 0?K=N:K=Q),x={isLinear:!0,maximumSafePosition:Q,livePosition:K,time:w},C=A,P=f!=null?f:null,P!==null&&(P+=l!=null?l:0),P!==null&&C!==void 0&&K-C>P&&(P=K-C)}else{C=A,C===void 0&&(C=(D=(M=T[0])==null?void 0:M.start)!=null?D:0);let Q=R!=null?R:1/0;if(T[T.length-1]!==void 0){let K=T[T.length-1],q=(U=K.end)!=null?U:K.duration!==void 0?K.start+K.duration:void 0;q!==void 0&&q<Q&&(Q=q)}k!==void 0&&k<Q&&(Q=k),x={isLinear:!1,maximumSafePosition:Q,livePosition:void 0,time:w}}let W=!o||n.attributes.minimumUpdatePeriod===void 0&&(((G=T[T.length-1])==null?void 0:G.end)!==void 0||n.attributes.duration!==void 0);return{type:\"done\",value:{parsed:{availabilityStartTime:u,clockOffset:e.externalClockOffset,isDynamic:o,isLive:o,isLastPeriodKnown:W,periods:T,publishTime:a.publishTime,suggestedPresentationDelay:a.suggestedPresentationDelay,transportType:\"dash\",timeBounds:{minimumSafePosition:C,timeshiftDepth:P,maximumTimeData:x},lifetime:E,uris:v(e.url)?i.locations:[e.url,...i.locations]},warnings:t}}}var Xr=Kt;var sf=/^P(([\\d.]*)Y)?(([\\d.]*)M)?(([\\d.]*)D)?T?(([\\d.]*)H)?(([\\d.]*)M)?(([\\d.]*)S)?/,df=/([0-9]+)-([0-9]+)/;function Ae(n,e){return n===\"true\"?[!0,null]:n===\"false\"?[!1,null]:[!1,new Be(`\\`${e}\\` property is not a boolean value but \"${n}\"`)]}function oe(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new Be(`\\`${e}\\` property is not an integer value but \"${n}\"`)]:[t,null]}function we(n,e){if(n===\"INF\")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new Be(`\\`${e}\\` property is invalid: \"${n}\"`)]:[t,null]}function Na(n,e){if(n===\"true\")return[!0,null];if(n===\"false\")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new Be(`\\`${e}\\` property is not a boolean nor an integer but \"${n}\"`)]:[t,null]}function Zr(n,e){let t=Date.parse(n);return isNaN(t)?[null,new Be(`\\`${e}\\` is in an invalid date format: \"${n}\"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function Ke(n,e){if(!Y(n))return[0,new Be(`\\`${e}\\` property is empty`)];let t=sf.exec(n);return t===null?[null,new Be(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[parseFloat(Y(t[2])?t[2]:\"0\")*365*24*60*60+parseFloat(Y(t[4])?t[4]:\"0\")*30*24*60*60+parseFloat(Y(t[6])?t[6]:\"0\")*24*60*60+parseFloat(Y(t[8])?t[8]:\"0\")*60*60+parseFloat(Y(t[10])?t[10]:\"0\")*60+parseFloat(Y(t[12])?t[12]:\"0\"),null]}function Dt(n,e){let t=df.exec(n);return t===null?[null,new Be(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[[+t[1],+t[2]],null]}function Js(n,e){try{return[Rr(n),null]}catch(t){return[null,new Be(`\\`${e}\\` is not a valid base64 string: \"${n}\"`)]}}function jt(n,e){let t=/^(\\d+)\\/(\\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:we(n,e)}function Te(n){let e,t;for(let r of Object.keys(n.attributes)){let i=n.attributes[r];if(!v(i))switch(r){case\"schemeIdUri\":e=i;break;case\"value\":t=i;break}}return{schemeIdUri:e,value:t}}function Ee(n,e){return function(t,{asKey:r,parser:i,dashName:a}){let[o,s]=i(t,a);s!==null&&(c.warn(\"dash\",\"failed to parse DASH value:\",s.message,{dashName:a}),e.push(s)),o!==null&&(n[r]=o)}}var Be=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"MPDError\"}};function Tt(n){return Gr(n)}function dt(n){let e=typeof n==\"string\"?n:Tt(n.children),t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}function uf(n){let e=[],t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\"&&i.tagName===\"cenc:pssh\"){let a=Tt(i.children);if(a!==null&&a.length>0){let[o,s]=Js(a,\"cenc:pssh\");s!==null&&(c.warn(\"dash\",\"Content protection parsing failure\",s.message),e.push(s)),o!==null&&t.push(o)}}}return[{cencPssh:t},e]}function lf(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!v(r))switch(t){case\"schemeIdUri\":e.schemeIdUri=r;break;case\"value\":e.value=r;break;case\"cenc:default_KID\":e.keyId=sn(r.replace(/-/g,\"\"));break;case\"ref\":e.ref=r;break;case\"refId\":e.refId=r;break}}return e}function ut(n){let[e,t]=uf(n.children),r=lf(n);return[{children:e,attributes:r},t]}function Ua(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!v(r))switch(t){case\"id\":e.id=r;break;case\"lang\":e.language=r;break;case\"contentType\":e.contentType=r;break;case\"par\":e.par=r;break}}return e}function La(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"range\":r(a,{asKey:\"range\",parser:Dt,dashName:\"range\"});break;case\"sourceURL\":e.media=a;break}}return[e,t]}function lt(n){let e={},t=[],r=Ee(e,t),i=n.children;for(let a=0;a<i.length;a++){let o=i[a];if(typeof o!=\"string\"&&o.tagName===\"Initialization\"){let[s,d]=La(o);e.initialization=s,t=t.concat(d)}}for(let a of Object.keys(n.attributes)){let o=n.attributes[a];if(!v(o))switch(a){case\"timescale\":r(o,{asKey:\"timescale\",parser:oe,dashName:\"timescale\"});break;case\"presentationTimeOffset\":r(o,{asKey:\"presentationTimeOffset\",parser:we,dashName:\"presentationTimeOffset\"});break;case\"indexRange\":r(o,{asKey:\"indexRange\",parser:Dt,dashName:\"indexRange\"});break;case\"indexRangeExact\":r(o,{asKey:\"indexRangeExact\",parser:Ae,dashName:\"indexRangeExact\"});break;case\"availabilityTimeOffset\":r(o,{asKey:\"availabilityTimeOffset\",parser:we,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(o,{asKey:\"availabilityTimeComplete\",parser:Ae,dashName:\"availabilityTimeComplete\"});break;case\"duration\":r(o,{asKey:\"duration\",parser:oe,dashName:\"duration\"});break;case\"startNumber\":r(o,{asKey:\"startNumber\",parser:oe,dashName:\"startNumber\"});break;case\"endNumber\":r(o,{asKey:\"endNumber\",parser:oe,dashName:\"endNumber\"});break}}return[e,t]}function Fa(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"media\":e.media=a;break;case\"indexRange\":r(a,{asKey:\"indexRange\",parser:Dt,dashName:\"indexRange\"});break;case\"index\":e.index=a;break;case\"mediaRange\":r(a,{asKey:\"mediaRange\",parser:Dt,dashName:\"mediaRange\"});break}}return[e,t]}function ir(n){let[e,t]=lt(n),r=t,i=[],a=n.children;for(let s=0;s<a.length;s++){let d=a[s];if(typeof d!=\"string\"&&d.tagName===\"SegmentURL\"){let[u,f]=Fa(d);i.push(u),r=r.concat(f)}}return[H(e,{list:i}),r]}function za(n){let e=n.children;return function(){for(let t=e.length-1;t>=0;t--){let r=e[t];(typeof r==\"string\"||r.tagName!==\"S\")&&e.splice(t,1)}return e}}function Bt(n){let[e,t]=lt(n),r=t,i;for(let s=0;s<n.children.length;s++){let d=n.children[s];typeof d!=\"string\"&&d.tagName===\"SegmentTimeline\"&&(i=za(d))}let a=H({},e,{duration:e.duration,timelineParser:i}),o=Ee(a,r);for(let s of Object.keys(n.attributes)){let d=n.attributes[s];if(!v(d))switch(s){case\"initialization\":v(a.initialization)&&(a.initialization={media:d});break;case\"index\":a.index=d;break;case\"availabilityTimeOffset\":o(d,{asKey:\"availabilityTimeOffset\",parser:we,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":o(d,{asKey:\"availabilityTimeComplete\",parser:Ae,dashName:\"availabilityTimeComplete\"});break;case\"media\":a.media=d;break;case\"bitstreamSwitching\":o(d,{asKey:\"bitstreamSwitching\",parser:Ae,dashName:\"bitstreamSwitching\"});break}}return[a,r]}function ff(n){let e={baseURLs:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"BaseURL\":{let[o,s]=dt(a);o!==void 0&&e.baseURLs.push(o),r=r.concat(s);break}case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(Te(a));break;case\"SegmentBase\":{let[o,s]=lt(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=ir(a);r=r.concat(s),e.segmentList=o;break}case\"SegmentTemplate\":{let[o,s]=Bt(a);r=r.concat(s),e.segmentTemplate=o;break}case\"ContentProtection\":{let[o,s]=ut(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}case\"EssentialProperty\":v(e.essentialProperties)?e.essentialProperties=[Te(a)]:e.essentialProperties.push(Te(a));break;case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Te(a)]:e.supplementalProperties.push(Te(a));break}}return t.length>0&&(e.contentProtections=t),[e,r]}function mf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"bandwidth\":r(a,{asKey:\"bitrate\",parser:oe,dashName:\"bandwidth\"});break;case\"codecs\":e.codecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Ae,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:jt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:oe,dashName:\"height\"});break;case\"id\":e.id=a;break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:we,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:we,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"qualityRanking\":r(a,{asKey:\"qualityRanking\",parser:oe,dashName:\"qualityRanking\"});break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:oe,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:we,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Ae,dashName:\"availabilityTimeComplete\"});break}}return e.bitrate===void 0&&t.push(new Be(\"No bitrate found on a Representation\")),[e,t]}function ed(n){let[e,t]=ff(n.children),[r,i]=mf(n),a=t.concat(i);return[{children:e,attributes:r},a]}function cf(n){let e={baseURLs:[],representations:[]},t=[],r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"Accessibility\":e.accessibilities===void 0?e.accessibilities=[Te(a)]:e.accessibilities.push(Te(a));break;case\"BaseURL\":{let[o,s]=dt(a);o!==void 0&&e.baseURLs.push(o),s.length>0&&(r=r.concat(s));break}case\"ContentComponent\":e.contentComponent=Ua(a);break;case\"EssentialProperty\":v(e.essentialProperties)?e.essentialProperties=[Te(a)]:e.essentialProperties.push(Te(a));break;case\"InbandEventStream\":e.inbandEventStreams===void 0&&(e.inbandEventStreams=[]),e.inbandEventStreams.push(Te(a));break;case\"Label\":{let o=Tt(a.children);o!=null&&(e.label=o);break}case\"Representation\":{let[o,s]=ed(a);e.representations.push(o),s.length>0&&(r=r.concat(s));break}case\"Role\":v(e.roles)?e.roles=[Te(a)]:e.roles.push(Te(a));break;case\"SupplementalProperty\":v(e.supplementalProperties)?e.supplementalProperties=[Te(a)]:e.supplementalProperties.push(Te(a));break;case\"SegmentBase\":{let[o,s]=lt(a);e.segmentBase=o,s.length>0&&(r=r.concat(s));break}case\"SegmentList\":{let[o,s]=ir(a);e.segmentList=o,s.length>0&&(r=r.concat(s));break}case\"SegmentTemplate\":{let[o,s]=Bt(a);e.segmentTemplate=o,s.length>0&&(r=r.concat(s));break}case\"ContentProtection\":{let[o,s]=ut(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.push(o);break}}}return t.length>0&&(e.contentProtections=t),[e,r]}function pf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"id\":e.id=a;break;case\"group\":r(a,{asKey:\"group\",parser:oe,dashName:\"group\"});break;case\"lang\":e.language=a;break;case\"contentType\":e.contentType=a;break;case\"par\":e.par=a;break;case\"minBandwidth\":r(a,{asKey:\"minBitrate\",parser:oe,dashName:\"minBandwidth\"});break;case\"maxBandwidth\":r(a,{asKey:\"maxBitrate\",parser:oe,dashName:\"maxBandwidth\"});break;case\"minWidth\":r(a,{asKey:\"minWidth\",parser:oe,dashName:\"minWidth\"});break;case\"maxWidth\":r(a,{asKey:\"maxWidth\",parser:oe,dashName:\"maxWidth\"});break;case\"minHeight\":r(a,{asKey:\"minHeight\",parser:oe,dashName:\"minHeight\"});break;case\"maxHeight\":r(a,{asKey:\"maxHeight\",parser:oe,dashName:\"maxHeight\"});break;case\"minFrameRate\":r(a,{asKey:\"minFrameRate\",parser:jt,dashName:\"minFrameRate\"});break;case\"maxFrameRate\":r(a,{asKey:\"maxFrameRate\",parser:jt,dashName:\"maxFrameRate\"});break;case\"selectionPriority\":r(a,{asKey:\"selectionPriority\",parser:oe,dashName:\"selectionPriority\"});break;case\"segmentAlignment\":r(a,{asKey:\"segmentAlignment\",parser:Na,dashName:\"segmentAlignment\"});break;case\"subsegmentAlignment\":r(a,{asKey:\"subsegmentAlignment\",parser:Na,dashName:\"subsegmentAlignment\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Ae,dashName:\"bitstreamSwitching\"});break;case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"codecs\":e.codecs=a;break;case\"scte214:supplementalCodecs\":e.supplementalCodecs=a;break;case\"codingDependency\":r(a,{asKey:\"codingDependency\",parser:Ae,dashName:\"codingDependency\"});break;case\"frameRate\":r(a,{asKey:\"frameRate\",parser:jt,dashName:\"frameRate\"});break;case\"height\":r(a,{asKey:\"height\",parser:oe,dashName:\"height\"});break;case\"maxPlayoutRate\":r(a,{asKey:\"maxPlayoutRate\",parser:we,dashName:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{asKey:\"maximumSAPPeriod\",parser:we,dashName:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{asKey:\"width\",parser:oe,dashName:\"width\"});break;case\"availabilityTimeOffset\":r(a,{asKey:\"availabilityTimeOffset\",parser:we,dashName:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{asKey:\"availabilityTimeComplete\",parser:Ae,dashName:\"availabilityTimeComplete\"});break}}return[e,t]}function td(n){let e=n.children,[t,r]=cf(e),[i,a]=pf(n),o=r.concat(a);return[{children:t,attributes:i},o]}function gf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"schemeIdUri\":e.schemeIdUri=a;break;case\"value\":e.value=a;break;case\"timescale\":r(a,{asKey:\"timescale\",parser:oe,dashName:\"timescale\"});break;default:Ie(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function nd(n,e){let[t,r]=gf(n),i=[];for(let a of n.children)if(typeof a!=\"string\"&&a.tagName===\"Event\"){let o={};if(v(a.attributes.id)||(o.id=a.attributes.id),!v(a.attributes.presentationTime)){let[s,d]=oe(a.attributes.presentationTime,\"presentationTime\");d!==null&&r.push(d),s!==null&&(o.presentationTime=s)}if(!v(a.attributes.duration)){let[s,d]=oe(a.attributes.duration,\"duration\");d!==null&&r.push(d),s!==null&&(o.duration=s)}if(a.posStart<a.posEnd){let s=e.substring(a.posStart,a.posEnd);o.eventStreamData=s}i.push(o)}return[{children:{events:i},attributes:t},r]}function hf(n,e){let t=[],r=[],i,a=[],o=[],s=[];for(let d=0;d<n.length;d++){let u=n[d];if(typeof u!=\"string\")switch(u.tagName){case\"BaseURL\":{let[f,l]=dt(u);f!==void 0&&t.push(f),o=o.concat(l);break}case\"AdaptationSet\":{let[f,l]=td(u);r.push(f),o=o.concat(l);break}case\"EventStream\":{let[f,l]=nd(u,e);s.push(f),o=o.concat(l);break}case\"SegmentTemplate\":{let[f,l]=Bt(u);i=f,l.length>0&&(o=o.concat(l));break}case\"ContentProtection\":{let[f,l]=ut(u);l.length>0&&(o=o.concat(l)),f!==void 0&&a.push(f);break}}}return[{baseURLs:t,adaptations:r,eventStreams:s,segmentTemplate:i,contentProtections:a},o]}function If(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"id\":e.id=a;break;case\"start\":r(a,{asKey:\"start\",parser:Ke,dashName:\"start\"});break;case\"duration\":r(a,{asKey:\"duration\",parser:Ke,dashName:\"duration\"});break;case\"bitstreamSwitching\":r(a,{asKey:\"bitstreamSwitching\",parser:Ae,dashName:\"bitstreamSwitching\"});break;case\"xlink:href\":e.xlinkHref=a;break;case\"xlink:actuate\":e.xlinkActuate=a;break;default:Ie(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function Jr(n,e){let[t,r]=hf(n.children,e),[i,a]=If(n),o=r.concat(a);return[{children:t,attributes:i},o]}function bf(n,e){let t=[],r=[],i=[],a=[],o=[],s=[];for(let d=0;d<n.length;d++){let u=n[d];if(typeof u!=\"string\")switch(u.tagName){case\"BaseURL\":{let[f,l]=dt(u);f!==void 0&&t.push(f),s=s.concat(l);break}case\"Location\":r.push(Tt(u.children));break;case\"Period\":{let[f,l]=Jr(u,e);i.push(f),s=s.concat(l);break}case\"UTCTiming\":{let f=Te(u);a.push(f);break}case\"ContentProtection\":{let[f,l]=ut(u);l.length>0&&(s=s.concat(l)),f!==void 0&&o.push(f);break}}}return[{baseURLs:t,locations:r,periods:i,utcTimings:a,contentProtections:o},s]}function Sf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!v(a))switch(i){case\"id\":e.id=a;break;case\"profiles\":e.profiles=a;break;case\"type\":e.type=a;break;case\"availabilityStartTime\":r(a,{asKey:\"availabilityStartTime\",parser:Zr,dashName:\"availabilityStartTime\"});break;case\"availabilityEndTime\":r(a,{asKey:\"availabilityEndTime\",parser:Zr,dashName:\"availabilityEndTime\"});break;case\"publishTime\":r(a,{asKey:\"publishTime\",parser:Zr,dashName:\"publishTime\"});break;case\"mediaPresentationDuration\":r(a,{asKey:\"duration\",parser:Ke,dashName:\"mediaPresentationDuration\"});break;case\"minimumUpdatePeriod\":r(a,{asKey:\"minimumUpdatePeriod\",parser:Ke,dashName:\"minimumUpdatePeriod\"});break;case\"minBufferTime\":r(a,{asKey:\"minBufferTime\",parser:Ke,dashName:\"minBufferTime\"});break;case\"timeShiftBufferDepth\":r(a,{asKey:\"timeShiftBufferDepth\",parser:Ke,dashName:\"timeShiftBufferDepth\"});break;case\"suggestedPresentationDelay\":r(a,{asKey:\"suggestedPresentationDelay\",parser:Ke,dashName:\"suggestedPresentationDelay\"});break;case\"maxSegmentDuration\":r(a,{asKey:\"maxSegmentDuration\",parser:Ke,dashName:\"maxSegmentDuration\"});break;case\"maxSubsegmentDuration\":r(a,{asKey:\"maxSubsegmentDuration\",parser:Ke,dashName:\"maxSubsegmentDuration\"});break;default:Ie(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function rd(n,e){let[t,r]=bf(n.children,e),[i,a]=Sf(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Wa(n,e){let t=pa(n),r=t[t.length-1];if(r===void 0||typeof r==\"string\"||r.tagName!==\"MPD\")throw new Error(\"DASH Parser: document root should be MPD\");let[i,a]=rd(r,n),o=Xr(i,e,a);return s(o);function s(d){if(d.type===\"done\")return d;if(d.type===\"needs-clock\")return{type:\"needs-resources\",value:{urls:[d.value.url],format:\"string\",continue(u){if(u.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let f=d.value.continue(u[0].responseData);return s(f)}}};if(d.type===\"needs-xlinks\")return{type:\"needs-resources\",value:{urls:d.value.xlinksUrls,format:\"string\",continue(u){let f=[];for(let m=0;m<u.length;m++){let{responseData:g,receivedTime:h,sendingTime:b,url:p}=u[m];if(!g.success)throw g.error;let S=\"<root>\"+g.data+\"</root>\",T=pa(S),R=T[T.length-1];if(R===void 0||typeof R==\"string\")throw new Error(\"DASH parser: Invalid external ressources\");let E=R.children,C=[],P=[];for(let x=0;x<E.length;x++){let A=E[x];if(typeof A==\"string\"||A.tagName!==\"Period\")continue;let[k,N]=Jr(A,S);P.push(...N),C.push(k)}f.push({url:p,receivedTime:h,sendingTime:b,parsed:C,warnings:P})}let l=d.value.continue(f);return s(l)}}};Ne(d)}}var id=Wa;var yf=typeof WebAssembly==\"object\"&&typeof WebAssembly.instantiate==\"function\",ad=yf;function V(n,e,t,r){let i=new Uint8Array(e,t,r);return n.decode(i)}function Va(n){return n===1/0?!0:n===-1/0?!1:n}function Et(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.value=V(t,e.buffer,a,o))}}function _t(n,e){let t=n.attributes,r=n.children,i=new TextDecoder;return function(o,s,d){switch(o){case 16:t.schemeIdUri=V(i,e.buffer,s,d);break;case 13:t.value=V(i,e.buffer,s,d);break;case 14:{let u=V(i,e.buffer,s,d);t.keyId=sn(u.replace(/-/g,\"\"));break}case 15:try{let u=V(i,e.buffer,s,d);r.cencPssh.push(Rr(u))}catch(u){}break;case 78:t.ref=V(i,e.buffer,s,d);break;case 79:t.refId=V(i,e.buffer,s,d);break}}}function od(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=V(t,e.buffer,a,o);break;case 60:n.language=V(t,e.buffer,a,o);break;case 61:n.contentType=V(t,e.buffer,a,o);break;case 62:n.par=V(t,e.buffer,a,o);break}}}function sd(n,e){let t=new TextDecoder;return function(i,a,o){i===64&&(n.label=V(t,e.buffer,a,o))}}function We(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 16:n.schemeIdUri=V(t,e.buffer,a,o);break;case 17:n.value=V(t,e.buffer,a,o);break}}}function Yt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 29:{let s=new DataView(e.buffer);n.initialization===void 0&&(n.initialization={}),n.initialization.range=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 67:n.initialization===void 0&&(n.initialization={}),n.initialization.media=V(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function dd(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 28:n.index=V(t,e.buffer,a,o);break;case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 30:n.media=V(t,e.buffer,a,o);break;case 18:{let s=new DataView(e.buffer);n.mediaRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}}}}function ei(n,e,t){return function(i){if(i===20){let a={};n.list===void 0&&(n.list=[]),n.list.push(a);let o=dd(a,e);t.pushParsers(i,O,o)}else t.pushParsers(i,O,O)}}function Qt(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 19:{let s=new DataView(e.buffer);n.timeline=[];let d=a;for(let u=0;u<o/24;u++)n.timeline.push({start:s.getFloat64(d,!0),duration:s.getFloat64(d+8,!0),repeatCount:s.getFloat64(d+16,!0)}),d+=24;break}case 67:n.initialization={media:V(t,e.buffer,a,o)};break;case 28:n.index=V(t,e.buffer,a,o);break;case 43:{let s=new DataView(e.buffer);n.availabilityTimeOffset=s.getFloat64(a,!0);break}case 22:{n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break}case 24:{let s=new DataView(e.buffer);n.presentationTimeOffset=s.getFloat64(a,!0);break}case 27:{let s=new DataView(e.buffer);n.timescale=s.getFloat64(a,!0);break}case 31:{let s=new DataView(e.buffer);n.indexRange=[s.getFloat64(a,!0),s.getFloat64(a+8,!0)];break}case 23:{n.indexRangeExact=new DataView(e.buffer).getUint8(0)===0;break}case 30:n.media=V(t,e.buffer,a,o);break;case 32:{n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break}case 1:{let s=new DataView(e.buffer);n.duration=s.getFloat64(a,!0);break}case 20:{let s=new DataView(e.buffer);n.startNumber=s.getFloat64(a,!0);break}case 76:{let s=new DataView(e.buffer);n.endNumber=s.getFloat64(a,!0);break}}}}function ud(n,e,t){return function(i){switch(i){case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a),t.pushParsers(i,O,Et(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=_t(a,e);t.pushParsers(i,O,o);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a),t.pushParsers(i,O,We(a,e));break}case 11:{let a={};n.essentialProperties===void 0&&(n.essentialProperties=[]),n.essentialProperties.push(a);let o=We(a,e);t.pushParsers(i,O,o);break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=We(a,e);t.pushParsers(i,O,o);break}case 17:{let a={};n.segmentBase=a;let o=Yt(a,e);t.pushParsers(i,O,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=ei(a,e,t),s=Yt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,O,Qt(a,e));break}default:t.pushParsers(i,O,O);break}}}function ld(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=V(t,e.buffer,a,o);break;case 3:n.audioSamplingRate=V(t,e.buffer,a,o);break;case 63:n.bitrate=s.getFloat64(a,!0);break;case 4:n.codecs=V(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=V(t,e.buffer,a,o);break;case 5:n.codingDependency=new DataView(e.buffer).getUint8(0)===0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 11:n.mimeType=V(t,e.buffer,a,o);break;case 2:n.profiles=V(t,e.buffer,a,o);break;case 65:n.qualityRanking=s.getFloat64(a,!0);break;case 12:n.segmentProfiles=V(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function fd(n,e,t){return function(i){switch(i){case 8:{let a={};n.accessibilities===void 0&&(n.accessibilities=[]),n.accessibilities.push(a);let o=We(a,e);t.pushParsers(i,O,o);break}case 15:{let a={value:\"\",attributes:{}};n.baseURLs.push(a);let o=Et(a,e);t.pushParsers(i,O,o);break}case 9:{let a={};n.contentComponent=a,t.pushParsers(i,O,od(a,e));break}case 10:{let a={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(a);let o=_t(a,e);t.pushParsers(i,O,o);break}case 11:{let a={};n.essentialProperties===void 0&&(n.essentialProperties=[]),n.essentialProperties.push(a);let o=O,s=We(a,e);t.pushParsers(i,o,s);break}case 19:{let a={};n.inbandEventStreams===void 0&&(n.inbandEventStreams=[]),n.inbandEventStreams.push(a);let o=O,s=We(a,e);t.pushParsers(i,o,s);break}case 7:{let a={children:{baseURLs:[]},attributes:{}};n.representations.push(a);let o=ud(a.children,e,t),s=ld(a.attributes,e);t.pushParsers(i,o,s);break}case 12:{let a={};n.roles===void 0&&(n.roles=[]),n.roles.push(a);let o=We(a,e);t.pushParsers(i,O,o);break}case 13:{let a={};n.supplementalProperties===void 0&&(n.supplementalProperties=[]),n.supplementalProperties.push(a);let o=We(a,e);t.pushParsers(i,O,o);break}case 17:{let a={};n.segmentBase=a;let o=Yt(a,e);t.pushParsers(i,O,o);break}case 18:{let a={list:[]};n.segmentList=a;let o=ei(a,e,t),s=Yt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={};n.segmentTemplate=a,t.pushParsers(i,O,Qt(a,e));break}case 21:{t.pushParsers(i,O,sd(n,e));break}default:t.pushParsers(i,O,O);break}}}function md(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 0:n.id=V(t,e.buffer,a,o);break;case 48:n.group=s.getFloat64(a,!0);break;case 60:n.language=V(t,e.buffer,a,o);break;case 61:n.contentType=V(t,e.buffer,a,o);break;case 62:n.par=V(t,e.buffer,a,o);break;case 53:n.minBitrate=s.getFloat64(a,!0);break;case 49:n.maxBitrate=s.getFloat64(a,!0);break;case 56:n.minWidth=s.getFloat64(a,!0);break;case 52:n.maxWidth=s.getFloat64(a,!0);break;case 55:n.minHeight=s.getFloat64(a,!0);break;case 51:n.maxHeight=s.getFloat64(a,!0);break;case 54:n.minFrameRate=s.getFloat64(a,!0);break;case 50:n.maxFrameRate=s.getFloat64(a,!0);break;case 57:n.selectionPriority=s.getFloat64(a,!0);break;case 58:n.segmentAlignment=Va(s.getFloat64(a,!0));break;case 59:n.subsegmentAlignment=Va(s.getFloat64(a,!0));break;case 32:n.bitstreamSwitching=s.getFloat64(a,!0)!==0;break;case 3:n.audioSamplingRate=V(t,e.buffer,a,o);break;case 4:n.codecs=V(t,e.buffer,a,o);break;case 77:n.supplementalCodecs=V(t,e.buffer,a,o);break;case 2:n.profiles=V(t,e.buffer,a,o);break;case 12:n.segmentProfiles=V(t,e.buffer,a,o);break;case 11:n.mimeType=V(t,e.buffer,a,o);break;case 5:n.codingDependency=s.getFloat64(a,!0)!==0;break;case 6:n.frameRate=s.getFloat64(a,!0);break;case 7:n.height=s.getFloat64(a,!0);break;case 8:n.width=s.getFloat64(a,!0);break;case 9:n.maxPlayoutRate=s.getFloat64(a,!0);break;case 10:n.maximumSAPPeriod=s.getFloat64(a,!0);break;case 43:n.availabilityTimeOffset=s.getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=s.getUint8(0)===0;break}}}function cd(n,e,t,r){return function(a){if(a===6){let o={};n.events.push(o);let s=Tf(o,e,r);t.pushParsers(a,O,s)}else t.pushParsers(a,O,O)}}function pd(n,e){let t=new TextDecoder;return function(i,a,o){let s=new DataView(e.buffer);switch(i){case 16:n.schemeIdUri=V(t,e.buffer,a,o);break;case 17:n.value=V(t,e.buffer,a,o);break;case 27:n.timescale=s.getFloat64(a,!0);break;case 70:{let d={key:\"\",value:\"\"},u=a,f=s.getUint32(u);u+=4,d.key=V(t,e.buffer,u,f),u+=f;let l=s.getUint32(u);u+=4,d.value=V(t,e.buffer,u,l),n.namespaces===void 0?n.namespaces=[d]:n.namespaces.push(d);break}}}}function Tf(n,e,t){let r=new TextDecoder;return function(a,o,s){let d=new DataView(e.buffer);switch(a){case 25:n.presentationTime=d.getFloat64(o,!0);break;case 1:n.duration=d.getFloat64(o,!0);break;case 0:n.id=V(r,e.buffer,o,s);break;case 69:{let u=d.getFloat64(o,!0),f=d.getFloat64(o+8,!0);n.eventStreamData=t.slice(u,f);break}}}}function ti(n,e,t,r){return function(a){switch(a){case 4:{let o={children:{baseURLs:[],representations:[]},attributes:{}};n.adaptations.push(o);let s=fd(o.children,e,t),d=md(o.attributes,e);t.pushParsers(a,s,d);break}case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=O,d=Et(o,e);t.pushParsers(a,s,d);break}case 5:{let o={children:{events:[]},attributes:{}};n.eventStreams.push(o);let s=cd(o.children,e,t,r),d=pd(o.attributes,e);t.pushParsers(a,s,d);break}case 16:{let o={};n.segmentTemplate=o,t.pushParsers(a,O,Qt(o,e));break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=_t(o,e);t.pushParsers(a,O,s);break}default:t.pushParsers(a,O,O);break}}}function ni(n,e){let t=new TextDecoder;return function(i,a,o){switch(i){case 0:n.id=V(t,e.buffer,a,o);break;case 45:n.start=new DataView(e.buffer).getFloat64(a,!0);break;case 1:n.duration=new DataView(e.buffer).getFloat64(a,!0);break;case 32:n.bitstreamSwitching=new DataView(e.buffer).getUint8(0)===0;break;case 46:n.xlinkHref=V(t,e.buffer,a,o);break;case 47:n.xlinkActuate=V(t,e.buffer,a,o);break;case 43:n.availabilityTimeOffset=new DataView(e.buffer).getFloat64(a,!0);break;case 22:n.availabilityTimeComplete=new DataView(e.buffer).getUint8(0)===0;break;case 70:{let s={key:\"\",value:\"\"},d=new DataView(e.buffer),u=a,f=d.getUint32(u);u+=4,s.key=V(t,e.buffer,u,f),u+=f;let l=d.getUint32(u);u+=4,s.value=V(t,e.buffer,u,l),n.namespaces===void 0?n.namespaces=[s]:n.namespaces.push(s);break}}}}function gd(n,e,t,r){return function(a){switch(a){case 15:{let o={value:\"\",attributes:{}};n.baseURLs.push(o);let s=O,d=Et(o,e);t.pushParsers(a,s,d);break}case 2:{let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=ti(o.children,e,t,r),d=ni(o.attributes,e);t.pushParsers(a,s,d);break}case 3:{let o={};n.utcTimings.push(o);let s=O,d=We(o,e);t.pushParsers(a,s,d);break}case 10:{let o={children:{cencPssh:[]},attributes:{}};n.contentProtections===void 0&&(n.contentProtections=[]),n.contentProtections.push(o);let s=_t(o,e);t.pushParsers(a,O,s);break}default:t.pushParsers(a,O,O);break}}}function hd(n,e,t){let r,i=new TextDecoder;return function(o,s,d){switch(o){case 0:e.id=V(i,t.buffer,s,d);break;case 2:e.profiles=V(i,t.buffer,s,d);break;case 33:e.type=V(i,t.buffer,s,d);break;case 34:{let u=V(i,t.buffer,s,d);e.availabilityStartTime=new Date(u).getTime()/1e3;break}case 35:{let u=V(i,t.buffer,s,d);e.availabilityEndTime=new Date(u).getTime()/1e3;break}case 36:{let u=V(i,t.buffer,s,d);e.publishTime=new Date(u).getTime()/1e3;break}case 68:r=new DataView(t.buffer),e.duration=r.getFloat64(s,!0);break;case 37:r=new DataView(t.buffer),e.minimumUpdatePeriod=r.getFloat64(s,!0);break;case 38:r=new DataView(t.buffer),e.minBufferTime=r.getFloat64(s,!0);break;case 39:r=new DataView(t.buffer),e.timeShiftBufferDepth=r.getFloat64(s,!0);break;case 40:r=new DataView(t.buffer),e.suggestedPresentationDelay=r.getFloat64(s,!0);break;case 41:r=new DataView(t.buffer),e.maxSegmentDuration=r.getFloat64(s,!0);break;case 42:r=new DataView(t.buffer),e.maxSubsegmentDuration=r.getFloat64(s,!0);break;case 66:{let u=V(i,t.buffer,s,d);n.locations.push(u);break}case 70:{let u={key:\"\",value:\"\"};r=new DataView(t.buffer);let f=s,l=r.getUint32(f);f+=4,u.key=V(i,t.buffer,f,l),f+=l;let m=r.getUint32(f);f+=4,u.value=V(i,t.buffer,f,m),e.namespaces===void 0?e.namespaces=[u]:e.namespaces.push(u);break}}}}function qa(n,e,t,r){return function(a){if(a===1){n.mpd={children:{baseURLs:[],locations:[],periods:[],utcTimings:[]},attributes:{}};let o=gd(n.mpd.children,e,t,r),s=hd(n.mpd.children,n.mpd.attributes,e);t.pushParsers(a,o,s)}else t.pushParsers(a,O,O)}}function Id(n,e,t,r){return function(a){if(a===2){let o={children:{adaptations:[],baseURLs:[],eventStreams:[]},attributes:{}};n.periods.push(o);let s=ti(o.children,e,t,r),d=ni(o.attributes,e);t.pushParsers(a,s,d)}else t.pushParsers(a,O,O)}}var ar=class{constructor(){this._currentNodeId=null,this.childrenParser=O,this.attributeParser=O,this._stack=[{nodeId:null,children:O,attribute:O}]}pushParsers(e,t,r){this._currentNodeId=e,this.childrenParser=t,this.attributeParser=r,this._stack.push({nodeId:e,attribute:r,children:t})}popIfCurrent(e){if(this._currentNodeId!==e)return;this._stack.pop();let{nodeId:t,children:r,attribute:i}=this._stack[this._stack.length-1];this._currentNodeId=t,this.attributeParser=i,this.childrenParser=r}reset(){this.childrenParser=O,this.attributeParser=O,this._stack=[{nodeId:null,children:O,attribute:O}]}};var Ef=15e3,or=class{constructor(){this._parsersStack=new ar,this._instance=null,this._mpdData=null,this._linearMemory=null,this.status=\"uninitialized\",this._initProm=null,this._warnings=[],this._isParsing=!1}waitForInitialization(){var e;return(e=this._initProm)!=null?e:Promise.reject(\"No initialization performed yet.\")}async initialize(e){if(this.status!==\"uninitialized\")return Promise.reject(new Error(\"DashWasmParser already initialized.\"));if(!this.isCompatible())return this.status=\"failure\",Promise.reject(new Error(\"Target not compatible with WebAssembly.\"));this.status=\"initializing\";let t=this._parsersStack,r=new TextDecoder,i=this,a={env:{memoryBase:0,tableBase:0,memory:new WebAssembly.Memory({initial:10}),table:new WebAssembly.Table({initial:1,element:\"anyfunc\"}),onTagOpen:u,onCustomEvent:m,onAttribute:l,readNext:g,onTagClose:f}},o=null,s;typeof e.wasmUrl==\"string\"?s=fetch(e.wasmUrl):(o=URL.createObjectURL(new Blob([e.wasmUrl],{type:\"application/wasm\"})),s=fetch(o));let d=typeof WebAssembly.instantiateStreaming==\"function\"?WebAssembly.instantiateStreaming(s,a):Promise.reject(\"`WebAssembly.instantiateStreaming` API not available\");return this._initProm=d.catch(async h=>{o!==null&&(URL.revokeObjectURL(o),o=null),c.warn(\"dash\",\"Unable to call `instantiateStreaming` on WASM\",h instanceof Error?h:\"\");let b=await s;if(b.status<200||b.status>=300)throw new Error(\"WebAssembly request failed. status: \"+String(b.status));let p=await b.arrayBuffer();return WebAssembly.instantiate(p,a)}).then(h=>{o!==null&&(URL.revokeObjectURL(o),o=null),this._instance=h,this._linearMemory=this._instance.instance.exports.memory,this.status=\"initialized\"}).catch(h=>{let b=h instanceof Error?h.toString():\"Unknown error\";throw c.warn(\"dash\",\"Could not create DASH-WASM parser:\",b),this.status=\"failure\",h}),this._initProm;function u(h){return t.childrenParser(h)}function f(h){return t.popIfCurrent(h)}function l(h,b,p){return t.attributeParser(h,b,p)}function m(h,b,p){let S=i._linearMemory,T=new Uint8Array(S.buffer,b,p);if(h===1){let R=r.decode(T);c.warn(\"dash\",\"WASM Error Event:\",R),i._warnings.push(new Error(R))}else if(h===0){let R=r.decode(T);c.warn(\"dash\",\"WASM Log Event:\",R)}}function g(h,b){if(i._mpdData===null)throw new Error(\"DashWasmParser Error: No MPD to read.\");let p=i._linearMemory,{mpd:S,cursor:T}=i._mpdData,R=Math.min(b,Ef,S.byteLength-T);return new Uint8Array(p.buffer,h,R).set(new Uint8Array(S,T,R)),i._mpdData.cursor+=R,R}}runWasmParser(e,t){let[r,i]=this._parseMpd(e);if(r===null)throw new Error(\"DASH Parser: Unknown error while parsing the MPD\");let a=Xr(r,t,i);return this._processParserReturnValue(a)}isCompatible(){return ad&&typeof ne.TextDecoder==\"function\"}_parseMpd(e){var s;if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={},r=this._linearMemory,i=qa(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,O),this._warnings=[];try{this._instance.instance.exports.parse()}catch(d){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,d}let a=(s=t.mpd)!=null?s:null,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_parseXlink(e){if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={periods:[]},r=this._linearMemory,i=Id(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,O),this._warnings=[];try{this._instance.instance.exports.parse()}catch(s){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,s}let{periods:a}=t,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_processParserReturnValue(e){if(e.type===\"done\")return e;if(e.type===\"needs-clock\"){let t=r=>{if(r.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let i=e.value.continue(r[0].responseData);return this._processParserReturnValue(i)};return{type:\"needs-resources\",value:{urls:[e.value.url],format:\"string\",continue:t}}}else if(e.type===\"needs-xlinks\"){let t=r=>{let i=[];for(let o=0;o<r.length;o++){let{responseData:s,receivedTime:d,sendingTime:u,url:f}=r[o];if(!s.success)throw s.error;let[l,m]=this._parseXlink(s.data);i.push({url:f,receivedTime:d,sendingTime:u,parsed:l,warnings:m})}let a=e.value.continue(i);return this._processParserReturnValue(a)};return{type:\"needs-resources\",value:{urls:e.value.xlinksUrls,format:\"arraybuffer\",continue:t}}}else Ne(e)}};var bd=or;function je(n,e){if(e.length===0)return n;let t,r=\"\",i=n.indexOf(\"#\"),a=n;i>=0&&(r=n.substring(i),a=n.substring(0,i));let o=a.indexOf(\"?\");o===-1?t=\"?\":o+1===a.length?t=\"\":t=\"&\";let s=a+t;for(let d=0;d<e.length;d++){let u=e[d];u[1]===null?s+=u[0]:s+=`${u[0]}=${u[1]}`,d<e.length-1&&(s+=\"&\")}return r.length>0&&(s+=r),s}function Ga(n,e){return(t,r,i)=>new Promise((a,o)=>{let s=Date.now()-F(),d=!1,m={reject:b=>{var R,E;if(d||i.isCancelled())return;d=!0,i.deregister(h);let p=b,S=(R=p==null?void 0:p.message)!=null?R:\"Unknown error when fetching the Manifest through a custom manifestLoader.\",T=new $e(S,(E=p==null?void 0:p.canRetry)!=null?E:!1,p==null?void 0:p.xhr);o(T)},resolve:b=>{if(d||i.isCancelled())return;d=!0,i.deregister(h);let p=b.receivingTime!==void 0?b.receivingTime-s:void 0,S=b.sendingTime!==void 0?b.sendingTime-s:void 0;a({responseData:b.data,size:b.size,requestDuration:b.duration,url:b.url,receivedTime:p,sendingTime:S})},fallback:()=>{d||i.isCancelled()||(d=!0,i.deregister(h),e(t,r,i).then(a,o))}},g=n({url:t,timeout:r.timeout,cmcdPayload:r.cmcdPayload},m);i.register(h);function h(b){d||(d=!0,typeof g==\"function\"&&g(),o(b))}})}function _f(n){return function(t,r,i){var s,d;if(t===void 0)throw new Error(\"Cannot perform HTTP(s) request. URL not known\");let a=((s=r.cmcdPayload)==null?void 0:s.type)===\"query\"?je(t,r.cmcdPayload.value):t,o=((d=r.cmcdPayload)==null?void 0:d.type)===\"headers\"?r.cmcdPayload.value:void 0;switch(n){case\"arraybuffer\":return be({url:a,headers:o,responseType:\"arraybuffer\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"text\":return be({url:a,headers:o,responseType:\"text\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"document\":return be({url:a,headers:o,responseType:\"document\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:Ne(n)}}}function Ha({customManifestLoader:n},e,t){let r=_f(e),i=typeof n!=\"function\"?r:Ga(n,r);return t!==null?t(i):i}function Ka(n,e){if(e){if(Ze(n,1718909296)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `ftyp` box\");if(Ze(n,1836019574)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `moov` box\")}else{if(Ze(n,1836019558)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `moof` box\");if(Ze(n,1835295092)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `mdat` box\")}}function Ye(n,e){if(n===\"audio\"||n===\"video\")return e===\"video/mp4\"||e===\"audio/mp4\"?\"mp4\":e===\"video/webm\"||e===\"audio/webm\"?\"webm\":void 0;if(n===\"text\")return e===\"application/mp4\"?\"mp4\":void 0}function ri(n){return(e,t,r,i,a)=>{return new Promise((s,d)=>{let u=new z(\"Segment integrity checks\"),f=u.linkToSignal(i);u.signal.register(d),n(e,t,r,u.signal,de(J({},a),{onNewChunk(m){try{o(m),a.onNewChunk(m)}catch(g){l(),u.cancel(\"Integrity check failed\"),d(g)}}})).then(m=>{if(l(),!u.isUsed()){if(m.resultType===\"segment-loaded\")try{o(m.resultData.responseData)}catch(g){d(g);return}s(m)}},m=>{l(),d(m)});function l(){u.signal.deregister(d),f()}});function o(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||Ye(t.type,t.mimeType)!==\"mp4\"||Ka(new Uint8Array(s),t.segment.isInit)}}}function Sd(n){return async(e,t,r)=>{let i=await n(e,t,r);return a(i.responseData),i;function a(o){if(typeof o==\"string\"){let s=o.length-1,d=[\"</\",\"MPD\",\">\"];for(let u=d.length-1;u>=0;u--){let f=d[u];for(;Rf(o[s]);)s--;for(let l=f.length-1;l>=0;l--){if(o[s]!==f[l])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(o instanceof ArrayBuffer){let s=o.byteLength-1,d=new DataView(o),u=[[60,47],[77,80,68],[62]];for(let f=u.length-1;f>=0;f--){let l=u[f];for(;Pf(d.getUint8(s));)s--;for(let m=l.length-1;m>=0;m--){if(d.getUint8(s)!==l[m])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(!v(ne.Document)&&o instanceof ne.Document&&o.documentElement.nodeName!==\"MPD\")throw new _e(\"INTEGRITY_ERROR\",\"MPD does not end with </MPD>\")}}}function Rf(n){return n===\" \"||n===\"\t\"||n===\"\\r\"||n===`\n`}function Pf(n){return n===32||n===9||n===13||n===10}function ja(n){let{referenceDateTime:e}=n,t=n.serverSyncInfos!==void 0?n.serverSyncInfos.serverTimestamp-n.serverSyncInfos.clientTime:void 0;return function(i,a,o,s,d){var T;let{responseData:u}=i,f=a.externalClockOffset,l=(T=i.url)!=null?T:a.originalUrl,m=t!=null?t:f,h={unsafelyBaseOnPreviousManifest:a.unsafeMode?a.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:m},b=ke.dashParsers;if(b.wasm===null||b.wasm.status===\"uninitialized\"||b.wasm.status===\"failure\")return c.debug(\"dash\",\"WASM MPD Parser not initialized. Running JS one.\"),p();{let R=xf(u);if(!kf(R))return c.info(\"dash\",\"MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one.\"),p();if(b.wasm.status===\"initialized\"){c.debug(\"dash\",\"Running WASM MPD Parser.\");let E=b.wasm.runWasmParser(R,h);return S(E)}else return c.debug(\"dash\",\"Awaiting WASM initialization before parsing the MPD.\"),b.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(b.wasm===null||b.wasm.status!==\"initialized\")return c.warn(\"dash\",\"WASM MPD parser initialization failed. Running JS parser instead\"),p();c.debug(\"dash\",\"Running WASM MPD Parser.\");let C=b.wasm.runWasmParser(R,h);return S(C)})}function p(){if(b.js!==null){let R=Af(u),E=b.js(R,h);return S(E)}else throw new Error(\"No MPD parser is imported\")}function S(R){if(R.type===\"done\")return R.value.warnings.length>0&&o(R.value.warnings),s.isCancelled()?Promise.reject(s.cancellationError):{manifest:new It(R.value.parsed,n),url:l};let{value:E}=R,C=E.urls.map(P=>d(()=>{let x=L.getCurrent().DEFAULT_REQUEST_TIMEOUT,A=L.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return E.format===\"string\"?be({url:P,responseType:\"text\",timeout:x,connectionTimeout:A,cancelSignal:s}):be({url:P,responseType:\"arraybuffer\",timeout:x,connectionTimeout:A,cancelSignal:s})}).then(x=>{if(E.format===\"string\"){if(typeof x.responseData!=\"string\")throw new Error(\"External DASH resources should have been a string\");return H(x,{responseData:{success:!0,data:x.responseData}})}else{if(!(x.responseData instanceof ArrayBuffer))throw new Error(\"External DASH resources should have been ArrayBuffers\");return H(x,{responseData:{success:!0,data:x.responseData}})}},x=>{let A=ge(x,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"An unknown error occured when parsing ressources.\"});return H({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:A}})}));return Promise.all(C).then(P=>E.format===\"string\"?(vf(P),S(E.continue(P))):(Cf(P),S(E.continue(P))))}}}function vf(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&typeof t.data==\"string\")&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function Cf(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&t.data instanceof ArrayBuffer)&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function Af(n){if(n instanceof ArrayBuffer)return Ge(new Uint8Array(n));if(typeof n==\"string\")return n;if(!v(ne.Document)&&n instanceof ne.Document)return n.documentElement.outerHTML;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function xf(n){if(n instanceof ArrayBuffer)return n;if(typeof n==\"string\")return on(n).buffer;if(!v(ne.Document)&&n instanceof ne.Document)return on(n.documentElement.innerHTML).buffer;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function kf(n){let e=new DataView(n);return e.getUint16(0)===61371&&e.getUint8(2)===191?!0:!(e.getUint16(0)===65279||e.getUint16(0)===65534)}function Ve([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Nt(n,e){return n===null?null:e.url===null?n.baseUrl:zn(n.baseUrl,e.url)}function sr(n,e,t,r,i){var u,f;let a=n;((u=t.cmcdPayload)==null?void 0:u.type)===\"query\"&&(a=je(a,t.cmcdPayload.value));let o=((f=t.cmcdPayload)==null?void 0:f.type)===\"headers\"?t.cmcdPayload.value:void 0;if(e.range===void 0)return be({url:a,responseType:\"arraybuffer\",headers:o,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.indexRange===void 0)return be({url:a,headers:de(J({},o),{Range:Ve(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.range[1]+1===e.indexRange[0])return be({url:a,headers:de(J({},o),{Range:Ve([e.range[0],e.indexRange[1]])}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));let s=be({url:a,headers:de(J({},o),{Range:Ve(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),d=be({url:a,headers:de(J({},o),{Range:Ve(e.indexRange)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,d]).then(([l,m])=>{let g=At(new Uint8Array(l.responseData),new Uint8Array(m.responseData)),h=Math.min(l.sendingTime,m.sendingTime),b=Math.max(l.receivedTime,m.receivedTime);return{resultType:\"segment-loaded\",resultData:{url:a,responseData:g,size:l.size+m.size,requestDuration:b-h,sendingTime:h,receivedTime:b}}})}async function dr(n,e,t,r){let i=null;function a(s){let d=new Uint8Array(s.chunk),u=i!==null?At(i,d):d,f=Pr(u),l=f[0];i=f[1],!(l!==null&&(l.forEach(m=>{t.onNewChunk(m)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:\"chunk-complete\",resultData:await hr({url:n,headers:e.headers,onData:a,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function yd(n,e,t,r,i,a){var m,g;if(e.segment.isInit)return sr(n,e.segment,r,a,i);let o=((m=r.cmcdPayload)==null?void 0:m.type)===\"query\"?je(n,r.cmcdPayload.value):n,s=((g=r.cmcdPayload)==null?void 0:g.type)===\"headers\"?r.cmcdPayload.value:void 0,{segment:d}=e,u;d.range!==void 0?u=de(J({},s),{Range:Ve(d.range)}):s!==void 0&&(u=s);let f=Ye(e.type,e.mimeType);if(t&&(f===\"mp4\"||f===void 0)){if(nn())return dr(o,{headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,a);rt(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}return{resultType:\"segment-loaded\",resultData:await be({url:o,responseType:\"arraybuffer\",headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:a,onProgress:i.onProgress})}}function Ya({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:ri(r);function r(i,a,o,s,d){let u=Nt(i,a.segment);return u===null?Promise.resolve({resultType:\"segment-created\",resultData:null}):n||e===void 0?yd(u,a,n,o,d,s):new Promise((f,l)=>{let m=!1,S={reject:P=>{var N,w;if(m||s.isCancelled())return;m=!0,s.deregister(C);let x=P,A=(N=x==null?void 0:x.message)!=null?N:\"Unknown error when fetching a DASH segment through a custom segmentLoader.\",k=new $e(A,(w=x==null?void 0:x.canRetry)!=null?w:!1,x==null?void 0:x.xhr);l(k)},resolve:P=>{if(m||s.isCancelled())return;m=!0,s.deregister(C);let x;P.data instanceof Uint8Array?P.data.buffer instanceof ArrayBuffer?x=P.data:x=P.data.slice():x=P.data,f({resultType:\"segment-loaded\",resultData:{responseData:x,size:P.size,requestDuration:P.duration}})},progress:P=>{m||s.isCancelled()||d.onProgress({duration:P.duration,size:P.size,totalSize:P.totalSize})},fallback:()=>{m||s.isCancelled()||(m=!0,s.deregister(C),yd(u,a,n,o,d,s).then(f,l))}},T;a.segment.range!==void 0&&(T=[a.segment.range],a.segment.indexRange!==void 0&&T.push(a.segment.indexRange));let R={isInit:a.segment.isInit,timeout:o.timeout,byteRanges:T,trackType:a.type,url:u,cmcdPayload:o.cmcdPayload},E=e(R,S);s.register(C);function C(P){m||(m=!0,typeof E==\"function\"&&E(),l(P))}})}}function Td(){if(tt.browser!==tt.BROWSERS.Other)return c.warn(\"utils\",\"getChromeVersion: Can't access Chrome version. Not a Chrome browser.\"),null;let n=navigator.userAgent.match(/Chrome\\/(\\d+)/);return n!==null?parseInt(n[1],10):null}function Qa(n,e){let t=Td();return t===null||t>=94||!n.some(i=>Ie(i,\"dvh1\")||Ie(i,\"dvhe\"))?!1:e!==void 0&&!Ie(e,\"dvh1\")&&!Ie(e,\"dvhe\")}var Xa=408125543,Ed=357149030,Mf=2807729,Of=17545,wf=475249515,Df=187,Bf=179,Nf=183,Uf=241;function Rt(n,e,t,[r,i]){let a=r;for(;a<i;){let o=Ff(t,a);if(o===null)return null;let{value:s,length:d}=o,u=a+d,f=zf(t,u);if(f===null)return null;let{length:l,value:m}=f,g=u+l,h=g+m;if(s===n)return[g,h];if(e.length>0){for(let b=0;b<e.length;b++)if(s===e[b]){let p=e.slice(b+1,e.length);return Rt(n,p,t,[g,h])}}a=h}return null}function ii(n,e){let t=Rt(Mf,[Xa,Ed],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/$a(n,t[0],r)}function Lf(n,e){let t=Rt(Of,[Xa,Ed],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?Wf(n,t[0]):r===8?Vf(n,t[0]):null}function Za(n,e){let t=Rt(Xa,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,a=ii(n,r);if(a===null)return null;let o=Lf(n,r);if(o===null)return null;let s=Rt(wf,[],n,[r,i]);if(s===null)return null;let d=[],u=s[0];for(;u<s[1];){let l=Rt(Df,[],n,[u,s[1]]);if(l===null)break;let m=Rt(Bf,[],n,[l[0],l[1]]);if(m===null)return null;let g=$a(n,m[0],m[1]-m[0]),h=Rt(Uf,[Nf],n,[l[0],l[1]]);if(h===null)return null;let b=$a(n,h[0],h[1]-h[0])+r;d.push({time:g,rangeStart:b}),u=l[1]}let f=[];for(let l=0;l<d.length;l++){let m=d[l];l===d.length-1?f.push({time:m.time,timescale:a,duration:l===0?o:o-m.time,range:[m.rangeStart,1/0]}):f.push({time:m.time,timescale:a,duration:d[l+1].time-m.time,range:[m.rangeStart,d[l+1].rangeStart-1]})}return f}function _d(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function Ff(n,e){let t=_d(n,e);if(t===void 0)return c.warn(\"webm\",\"unrepresentable length\"),null;if(e+t>n.length)return c.warn(\"webm\",\"impossible length\",{offset:e,length:t,bufferLength:n.length}),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function zf(n,e){let t=_d(n,e);if(t===void 0)return c.warn(\"webm\",\"unrepresentable length\"),null;if(e+t>n.length)return c.warn(\"webm\",\"impossible length\",{offset:e,length:t,bufferLength:n.length}),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function Wf(n,e){return new DataView(n.buffer).getFloat32(e)}function Vf(n,e){return new DataView(n.buffer).getFloat64(e)}function $a(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function ur(n,e,t,r){let i=Pi(n);if(i===void 0||r===void 0)return null;let a=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,o=vi(n);if(a<0&&(o!==void 0&&(o+=a),a=0),e||!t.complete)return o===void 0&&c.warn(\"dash\",\"Chunked segments should indicate a duration through their trun boxes\"),{time:a/r,duration:o!==void 0?o/r:void 0};let s,d=t.duration*r,u=Math.min(r*.9,d/4);return o!==void 0&&Math.abs(o-d)<=u&&(s=o),{time:a/r,duration:s!==void 0?s/r:s}}function qf(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],a=e,{messageData:o}=i,s=Ge(o),d=Date.parse(s);if(a===void 0||d===void 0||isNaN(d)||d>=a)return!0}return!1}function Ja(n,e){if(n.length===0)return;let{manifestRefreshEventsFromEMSGs:t,EMSGs:r}=n.reduce((o,s)=>(s.schemeIdUri===\"urn:mpeg:dash:event:2012\"&&s.value===\"1\"?(o.manifestRefreshEventsFromEMSGs===void 0&&(o.manifestRefreshEventsFromEMSGs=[]),o.manifestRefreshEventsFromEMSGs.push(s)):(o.EMSGs===void 0&&(o.EMSGs=[]),o.EMSGs.push(s)),o),{manifestRefreshEventsFromEMSGs:void 0,EMSGs:void 0}),i=r==null?void 0:r.map(o=>({type:\"emsg\",value:o})),a=e===void 0||t===void 0?!1:qf(t,e);return{inbandEvents:i,needsManifestRefresh:a}}function eo({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var R,E;let{segment:a,periodStart:o,periodEnd:s}=r,{data:d,isChunked:u}=t,f=[o,s];if(d===null)return a.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:0,protectionData:[],appendWindow:f};let l=Do(d),m=Ye(r.type,r.mimeType),g=m===\"mp4\"||m===void 0,h=[];if(g){let C=vr(l),P;a.isInit&&(P=(R=zo(l))!=null?R:void 0),(C.length>0||P!==void 0)&&h.push({initDataType:\"cenc\",keyId:P,initData:C})}if(!a.isInit){let C=g?ur(l,u,a,i):null,P=(E=a.timestampOffset)!=null?E:0;if(g){let x=Fo(l);if(x!==void 0){let A=x.filter(N=>a.privateInfos===void 0||a.privateInfos.isEMSGWhitelisted===void 0?!1:a.privateInfos.isEMSGWhitelisted(N)),k=Ja(A,r.manifestPublishTime);if(k!==void 0){let{needsManifestRefresh:N,inbandEvents:w}=k;return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:P,appendWindow:f,inbandEvents:w,protectionData:h,needsManifestRefresh:N}}}}return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:C,chunkOffset:P,protectionData:h,appendWindow:f}}let{indexRange:b}=a,p;if(m===\"webm\")p=Za(l,0);else if(g&&(Qa(r.baseCodecs,r.chosenCodec)&&(c.debug(\"dash\",\"patching out Dolby Vision metadata from segment\"),Cr(l)),p=mn(l,Array.isArray(b)?b[0]:0),n===!0&&p!==null&&p.length>0)){let C=p[p.length-1];Array.isArray(C.range)&&(C.range[1]=1/0)}let S;g?S=cn(l):m===\"webm\"&&(S=ii(l,0));let T=v(S)?void 0:S;return{segmentType:\"init\",initializationData:l,initializationDataSize:l.length,protectionData:h,initTimescale:T,segmentList:p!=null?p:void 0}}}function to({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:ri(t);async function t(r,i,a,o,s){var p,S;let{segment:d}=i,u=Nt(r,d);if(u===null)return Promise.resolve({resultType:\"segment-created\",resultData:null});if(d.isInit)return sr(u,d,a,o,s);let f=((p=a.cmcdPayload)==null?void 0:p.type)===\"query\"?je(u,a.cmcdPayload.value):u,l=((S=a.cmcdPayload)==null?void 0:S.type)===\"headers\"?a.cmcdPayload.value:void 0,m;d.range!==void 0?m=de(J({},l),{Range:Ve(d.range)}):l!==void 0&&(m=l);let g=Ye(i.type,i.mimeType),h=g===\"mp4\"||g===void 0;if(n&&h){if(nn())return dr(f,{headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout},s,o);rt(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}let b;return h?b=await be({url:f,responseType:\"arraybuffer\",headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}):b=await be({url:f,responseType:\"text\",headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}),{resultType:\"segment-loaded\",resultData:b}}}function Gf(n){if(n===void 0)throw new Error(\"Cannot parse subtitles: unknown format\");switch(n.toLowerCase()){case\"stpp\":case\"stpp.ttml\":case\"stpp.ttml.im1t\":return\"ttml\";case\"wvtt\":return\"vtt\"}throw new Error(`The codec used for the subtitles \"${n}\" is not managed yet.`)}function Hf(n,e){switch(e){case\"application/ttml+xml\":return\"ttml\";case\"application/x-sami\":case\"application/smil\":return\"sami\";case\"text/vtt\":return\"vtt\"}if(n!==void 0&&n.toLowerCase()===\"srt\")return\"srt\";throw new Error(`could not find a text-track parser for the type ${e!=null?e:\"\"}`)}function Rd({segment:n,language:e,codecs:t},r,i,a,o){if(n.isInit)return null;let s,d;a===null?o?(s=n.time,d=n.end):c.warn(\"utils\",\"Unavailable time data for current text track.\"):(s=a.time,a.duration!==void 0?d=s+a.duration:!o&&n.complete&&(d=s+n.duration));let u=Gf(t),f=_i(r),l=f!==null?Ge(f):\"\";return t===\"wvtt\"&&!Ie(l,\"WEBVTT\")&&!Ie(l,\"\\xFE\\xFFWEBVTT\")?{data:r,type:\"mp4vtt\",language:e,start:s,end:d,initTimescale:i!=null?i:null}:{data:l,type:u,language:e,start:s,end:d,initTimescale:i!=null?i:null}}function Pd(n,e,t,r){let{segment:i}=n;if(i.isInit)return null;let a,o;r?c.warn(\"utils\",\"Unavailable time data for current text track.\"):(a=i.time,i.complete&&(o=i.time+i.duration));let s=Hf(n.chosenCodec,n.mimeType);return{data:e,type:s,language:n.language,start:a,end:o,initTimescale:t!=null?t:null}}function Kf(n,e,t,r,i){var m;let{segment:a}=t,{isInit:o,indexRange:s}=a,d;if(typeof n==\"string\"?d=on(n):n instanceof Uint8Array?d=n:d=new Uint8Array(n),o){let g=mn(d,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let b=g[g.length-1];Array.isArray(b.range)&&(b.range[1]=1/0)}let h=cn(d);return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:h,segmentList:g!=null?g:void 0}}let u=ur(d,e,a,r),f=Rd({segment:t.segment,codecs:t.chosenCodec,language:t.language},d,r,u,e),l=(m=a.timestampOffset)!=null?m:0;return{segmentType:\"media\",chunkData:f,chunkSize:d.length,chunkInfos:u,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function jf(n,e,t,r){let{periodStart:i,periodEnd:a,segment:o}=r,{timestampOffset:s=0}=o;if(o.isInit)return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let d,u;if(typeof n!=\"string\"){let l=n instanceof Uint8Array?n:new Uint8Array(n);d=Ge(l),u=l.length}else d=n;return{segmentType:\"media\",chunkData:Pd(r,d,e,t),chunkSize:u,chunkInfos:null,chunkOffset:s,protectionData:[],appendWindow:[i,a]}}function no({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var l;let{periodStart:a,periodEnd:o,segment:s}=r,{data:d,isChunked:u}=t;if(d===null)return s.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:(l=s.timestampOffset)!=null?l:0,protectionData:[],appendWindow:[a,o]};let f=Ye(r.type,r.mimeType);if(f===\"webm\")throw new Error(\"Text tracks with a WEBM container are not yet handled.\");return f===\"mp4\"?Kf(d,u,r,i,n):jf(d,i,u,r)}}async function vd(n,e,t,r){var d,u;let i=Nt(n,e);if(i===null)return Promise.reject(new Error(\"Cannot load thumbnail: no URL\"));let a=((d=t.cmcdPayload)==null?void 0:d.type)===\"query\"?je(i,t.cmcdPayload.value):i,o=((u=t.cmcdPayload)==null?void 0:u.type)===\"headers\"?t.cmcdPayload.value:void 0,s;return e.range!==void 0?s=de(J({},o),{Range:Ve(e.range)}):o!==void 0&&(s=o),rn({url:a,responseType:\"arraybuffer\",headers:s,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r})}function Cd(n,e){var u;let{thumbnailTrack:t,thumbnail:r}=e,i=t.height/t.verticalTiles,a=t.width/t.horizontalTiles,o=[],s=(u=t.tileDuration)!=null?u:(r.end-r.time)/(t.horizontalTiles*t.verticalTiles),d=r.time;for(let f=0;f<t.verticalTiles;f++)for(let l=0;l<t.horizontalTiles;l++)o.push({start:d,end:d+s,offsetX:Math.round(l*a),offsetY:Math.round(f*i),height:Math.floor(i),width:Math.floor(a)}),d+=s;return{mimeType:t.mimeType,data:n,thumbnails:o}}function Ad(n){let e=Ha({customManifestLoader:n.manifestLoader},Yf()?\"text\":\"arraybuffer\",n.checkManifestIntegrity===!0?Sd:null),t=ja(n),r=Ya(n),i=eo(n),a=to(n),o=no(n);return{transportName:\"dash\",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:a,parseSegment:o},thumbnails:{loadThumbnail:vd,parseThumbnail:Cd}}}function Yf(){return ke.dashParsers.wasm!==null&&(ke.dashParsers.wasm.status===\"initialized\"||ke.dashParsers.wasm.status===\"initializing\")}var xd=Ad;function ro(n){let e=new bd;ke.dashParsers.wasm=e,ke.dashParsers.js=id,ke.transports.dash=xd,ne.onmessageerror=t=>{c.error(\"Core\",\"Error when receiving message from main thread.\")},Fs(t=>{onmessage=t},Qf,n)}function Qf(n,e){$f(n),n.type!==\"log\"&&c.debug(\"M<--C\",\"Sending message from worker\",{name:n.type}),e===void 0?postMessage(n):postMessage(n,e)}function $f(n){(n.type===\"manifest-ready\"||n.type===\"manifest-update\")&&(n.value.manifest instanceof It?(n.value.manifest=n.value.manifest.getMetadataSnapshot(),n.type===\"manifest-update\"&&(n.value.manifest.periods=[])):c.warn(\"Core\",\"the Manifest instance should be communicated to `sendMessage`.\"))}ro({representationFilters:new Map,segmentLoaders:new Map,manifestLoaders:new Map});})();\n" + "})()"], { type: "application/javascript" });
1
+ const blob = new Blob(["(function(){" + "\"use strict\";(()=>{var Fd=Object.defineProperty,zd=Object.defineProperties;var Wd=Object.getOwnPropertyDescriptors;var co=Object.getOwnPropertySymbols;var qd=Object.prototype.hasOwnProperty,Vd=Object.prototype.propertyIsEnumerable;var po=(n,e,t)=>e in n?Fd(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,X=(n,e)=>{for(var t in e||(e={}))qd.call(e,t)&&po(n,t,e[t]);if(co)for(var t of co(e))Vd.call(e,t)&&po(n,t,e[t]);return n},te=(n,e)=>zd(n,Wd(e));var I={PRODUCTION:0,DEV:1,CURRENT_ENV:0};var go={DEFAULT_REQUEST_TIMEOUT:3e4,DEFAULT_CONNECTION_TIMEOUT:15e3,DEFAULT_TEXT_TRACK_MODE:\"native\",DEFAULT_ENABLE_FAST_SWITCHING:!0,DELTA_POSITION_AFTER_RELOAD:{bitrateSwitch:-.1,trackSwitch:{audio:0,video:0,other:0}},DEFAULT_CODEC_SWITCHING_BEHAVIOR:\"continue\",DEFAULT_AUDIO_TRACKS_NOT_PLAYABLE_BEHAVIOR:\"error\",DEFAULT_VIDEO_TRACKS_NOT_PLAYABLE_BEHAVIOR:\"error\",DEFAULT_AUTO_PLAY:!1,DEFAULT_WANTED_BUFFER_AHEAD:30,DEFAULT_MAX_BUFFER_AHEAD:1/0,DEFAULT_MAX_BUFFER_BEHIND:1/0,DEFAULT_MAX_VIDEO_BUFFER_SIZE:1/0,MAXIMUM_MAX_BUFFER_AHEAD:{text:18e3},MINIMUM_MAX_BUFFER_AHEAD:{text:120},MAXIMUM_MAX_BUFFER_BEHIND:{text:18e3},DEFAULT_BASE_BANDWIDTH:0,INACTIVITY_DELAY:6e4,DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN:!1,DEFAULT_VIDEO_RESOLUTION_LIMIT:\"none\",DEFAULT_LIVE_GAP:{DEFAULT:10,LOW_LATENCY:3.5},BUFFER_DISCONTINUITY_THRESHOLD:.2,BITRATE_REBUFFERING_RATIO:1.5,DEFAULT_MAX_MANIFEST_REQUEST_RETRY:4,DEFAULT_CDN_DOWNGRADE_TIME:60,DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:4,INITIAL_BACKOFF_DELAY_BASE:{REGULAR:200,LOW_LATENCY:50},MAX_BACKOFF_DELAY_BASE:{REGULAR:3e3,LOW_LATENCY:1e3},MAX_RETRY_AFTER_DELAY:6e4,SAMPLING_INTERVAL_MEDIASOURCE:1e3,SAMPLING_INTERVAL_LOW_LATENCY:500,SAMPLING_INTERVAL_NO_MEDIASOURCE:500,ABR_ENTER_BUFFER_BASED_ALGO:10,ABR_EXIT_BUFFER_BASED_ALGO:5,ABR_MINIMUM_TOTAL_BYTES:15e4,ABR_MINIMUM_CHUNK_SIZE:16e3,ABR_STARVATION_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_REGULAR_FACTOR:{DEFAULT:.72,LOW_LATENCY:.72},ABR_STARVATION_GAP:{DEFAULT:5,LOW_LATENCY:5},OUT_OF_STARVATION_GAP:{DEFAULT:7,LOW_LATENCY:7},ABR_STARVATION_DURATION_DELTA:.1,ABR_FAST_EMA:2,ABR_SLOW_EMA:10,RESUME_GAP_AFTER_SEEKING:{DEFAULT:1.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_NOT_ENOUGH_DATA:{DEFAULT:.5,LOW_LATENCY:.5},RESUME_GAP_AFTER_BUFFERING:{DEFAULT:5,LOW_LATENCY:.5},REBUFFERING_GAP:{DEFAULT:.5,LOW_LATENCY:.2},MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING:2,UNFREEZING_SEEK_DELAY:6e3,FREEZING_STALLED_DELAY:600,UNFREEZING_DELTA_POSITION:.001,FREEZING_FLUSH_FAILURE_DELAY:{MAXIMUM:2e4,MINIMUM:4e3,POSITION_DELTA:1},SEGMENT_SYNCHRONIZATION_DELAY:1500,MISSING_DATA_TRIGGER_SYNC_DELAY:.1,MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:.15,MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:.4,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:.3,MINIMUM_SEGMENT_SIZE:.001,APPEND_WINDOW_SECURITIES:{START:.2,END:.1},MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL:50,TEXT_TRACK_SIZE_CHECKS_INTERVAL:250,BUFFER_PADDING:{audio:1,video:3,other:1},SEGMENT_PRIORITIES_STEPS:[2,4,8,12,18,25],MAX_HIGH_PRIORITY_LEVEL:1,MIN_CANCELABLE_PRIORITY:3,EME_DEFAULT_VIDEO_CODECS:['video/mp4;codecs=\"avc1.4d401e\"','video/mp4;codecs=\"avc1.42e01e\"','video/mp4;codecs=\"hvc1.1.6.L93.B0\"','video/webm;codecs=\"vp8\"'],EME_DEFAULT_AUDIO_CODECS:['audio/mp4;codecs=\"mp4a.40.2\"','audio/webm;codecs=\"opus\"','audio/mp4;codecs=\"ec-3\"'],EME_DEFAULT_WIDEVINE_ROBUSTNESSES:[\"HW_SECURE_ALL\",\"HW_SECURE_DECODE\",\"HW_SECURE_CRYPTO\",\"SW_SECURE_DECODE\",\"SW_SECURE_CRYPTO\"],EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES:[\"3000\",\"2000\"],EME_KEY_SYSTEMS:{clearkey:[\"webkit-org.w3.clearkey\",\"org.w3.clearkey\"],widevine:[\"com.widevine.alpha\"],playready:[\"com.microsoft.playready.recommendation\",\"com.microsoft.playready\",\"com.chromecast.playready\",\"com.youtube.playready\"],fairplay:[\"com.apple.fps.1_0\"]},MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:10,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:200,MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:300,OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:3e3,FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:3e3,DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:3,EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS:15,EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION:1e3,EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES:100,FORCED_ENDED_THRESHOLD:8e-4,ADAP_REP_SWITCH_BUFFER_PADDINGS:{video:{before:5,after:5},audio:{before:2,after:2.5},text:{before:0,after:0}},SOURCE_BUFFER_FLUSHING_INTERVAL:500,CONTENT_REPLACEMENT_PADDING:1.2,CACHE_LOAD_DURATION_THRESHOLDS:{video:50,audio:10},STREAM_EVENT_EMITTER_POLL_INTERVAL:250,DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR:.001,BUFFERED_HISTORY_RETENTION_TIME:6e4,BUFFERED_HISTORY_MAXIMUM_ENTRIES:200,MIN_BUFFER_AHEAD:5,UPTO_CURRENT_POSITION_CLEANUP:5,DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE:\"seamless\",DEFAULT_VIDEO_TRACK_SWITCHING_MODE:\"reload\",DEFAULT_AUDIO_TRACK_SWITCHING_MODE:\"seamless\",DEFAULT_MAX_THUMBNAIL_REQUESTS_RETRY_ON_ERROR:1,DEFAULT_THUMBNAIL_REQUEST_TIMEOUT:1e4,DEFAULT_THUMBNAIL_CONNECTION_TIMEOUT:7e3,PREVENT_PSSH_PATCHING:!1,FORCE_CANNOT_RELY_ON_REQUEST_MEDIA_KEY_SYSTEM_ACCESS:!1,FORCE_CANNOT_REUSE_MEDIA_KEYS:!1,FORCE_HAS_ISSUES_WITH_HIGH_MEDIA_SOURCE_DURATION:!1,FORCE_IS_SEEKING_APPROXIMATE:!1,FORCE_MEDIA_ELEMENT_FAIL_ON_UNDECIPHERABLE_DATA:!1,FORCE_SHOULD_AWAIT_SET_MEDIA_KEYS:!1,FORCE_SHOULD_FAVOUR_CUSTOM_SAFARI_EME:!1,FORCE_SHOULD_RELOAD_MEDIA_SOURCE_ON_DECIPHERABILITY_UPDATE:!1,FORCE_SHOULD_RENEW_MEDIA_KEY_SYSTEM_ACCESS:!1,FORCE_SHOULD_UNSET_MEDIA_KEYS:!1,FORCE_SHOULD_VALIDATE_METADATA:!1,FORCE_DONT_WAIT_FOR_DATA_BEFORE_LOADED:!1,FORCE_WAIT_FOR_HAVE_ENOUGH_DATA:!1,FORCE_INITIAL_SEEK_TO_ZERO:!1},ho=go;function Hd(n,...e){if(n==null)throw new TypeError(\"Cannot convert undefined or null to object\");let t=Object(n);for(let r of e)for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i]);return t}var j=typeof Object.assign==\"function\"?Object.assign:Hd;function mi(n){return n!=null&&!Array.isArray(n)&&typeof n==\"object\"}function on(n,...e){if(e.length===0)return n;let t=e.shift();if(mi(n)&&mi(t))for(let r in t)if(mi(t[r])){let i=n[r];i===void 0&&(i={},n[r]=i),on(i,t[r])}else j(n,{[r]:t[r]});return on(n,...e)}function C(n){return n==null}function O(){}var pe=class{constructor(){this._listeners={}}addEventListener(e,t,r){let i=O;if(r!==void 0){if(r.isCancelled())return;i=r.register(()=>this.removeEventListener(e,t))}let a=this._listeners[e];Array.isArray(a)?a.push({cb:t,onRemove:i}):this._listeners[e]=[{cb:t,onRemove:i}]}removeEventListener(e,t){if(C(e)){for(let i of Object.keys(this._listeners)){let a=this._listeners[i];Array.isArray(a)&&a.forEach(o=>o.onRemove())}this._listeners={};return}let r=this._listeners[e];if(Array.isArray(r)){if(C(t)){r.forEach(i=>i.onRemove()),delete this._listeners[e];return}for(let i=0;i<r.length;i++)if(r[i].cb===t){r[i].onRemove(),r.splice(i,1);break}r.length===0&&delete this._listeners[e]}}trigger(e,t){let r=this._listeners[e];Array.isArray(r)&&r.slice().forEach(i=>{try{i.cb(t)}catch(a){if(I.CURRENT_ENV===I.DEV)throw a instanceof Error?a:new Error(\"EventEmitter: listener error\");console.error(\"RxPlayer: EventEmitter error\",a instanceof Error?a:null)}})}};var ci=class extends pe{constructor(){super(...arguments);this.updated=!1;this._config=ho}update(t){let r=on(this._config,t);this._config=r,this.updated=!0,this.trigger(\"update\",t)}getCurrent(){return this._config}},jd=new ci,U=jd;var Le=class n extends Error{constructor(e,t,r){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"CustomLoaderError\",this.canRetry=t,this.xhr=r}};function se(n,e,t){if(typeof Array.prototype.findIndex==\"function\")return n.findIndex(e,t);let r=n.length>>>0;for(let i=0;i<r;i++)if(e.call(t,n[i],i,n))return i;return-1}var br=class{constructor(e,t){this._value=e,this._listeners=[],this._isFinished=!1,this._onFinishCbs=[],t!==void 0&&(this._deregisterCancellation=t.register(()=>this.finish()))}getValue(){return this._value}setValue(e){if(this._isFinished){I.CURRENT_ENV===I.DEV&&console.error(\"Finished shared references cannot be updated\");return}if(this._value=e,this._listeners.length===0)return;let t=this._listeners.slice();for(let r of t)try{r.hasBeenCleared||r.trigger(e,r.complete)}catch(i){}}setValueIfChanged(e){e!==this._value&&this.setValue(e)}onUpdate(e,t){let r=()=>{if(t.clearSignal!==void 0&&t.clearSignal.deregister(r),i.hasBeenCleared)return;i.hasBeenCleared=!0;let a=this._listeners.indexOf(i);a>=0&&this._listeners.splice(a,1)},i={trigger:e,complete:r,hasBeenCleared:!1};if(this._listeners.push(i),t.emitCurrentValue===!0&&e(this._value,r),this._isFinished||i.hasBeenCleared){r();return}t.clearSignal.register(r)}waitUntilDefined(e,t){this.onUpdate((r,i)=>{r!==void 0&&(i(),e(this._value))},{clearSignal:t.clearSignal,emitCurrentValue:!0})}_onFinished(e,t){if(t.isCancelled())return O;let r=()=>{let o=se(this._onFinishCbs,s=>s.trigger===i);o>=0&&(this._onFinishCbs[o].hasBeenCleared=!0,this._onFinishCbs.splice(o,1))},i=()=>{r(),e()},a=t.register(r);return this._onFinishCbs.push({trigger:i,hasBeenCleared:!1}),a}finish(){this._deregisterCancellation!==void 0&&this._deregisterCancellation(),this._isFinished=!0;let e=this._listeners.slice();for(let t of e)try{t.hasBeenCleared||(t.complete(),t.hasBeenCleared=!0)}catch(r){}if(this._listeners.length=0,this._onFinishCbs.length>0){let t=this._onFinishCbs.slice();for(let r of t)try{r.hasBeenCleared||(r.trigger(),r.hasBeenCleared=!0)}catch(i){}this._onFinishCbs.length=0}}};function sn(n,e,t){let r=new br(e(n.getValue()),t);return n.onUpdate(function(a){r.setValue(e(a))},{clearSignal:t}),n._onFinished(()=>{r.finish()},t),r}var $=br;var pi=new $(0);function Io({date:n,timestamp:e}){let t=n-e,r=typeof performance!=\"undefined\"?Date.now()-performance.now():0;pi.setValueIfChanged(r-t)}var Kd=typeof performance!=\"undefined\"?()=>performance.now()+pi.getValue():()=>Date.now()+pi.getValue(),F=Kd;var Yd=\"NONE\",dn=class extends pe{constructor(){super(),this.error=O,this.warn=O,this.info=O,this.debug=O,this._levels={NONE:0,ERROR:1,WARNING:2,INFO:3,DEBUG:4},this._currentFormat=\"standard\",this._currentLevel=Yd}setLevel(e,t,r){let i,a=this._levels[e];typeof a==\"number\"?(i=a,this._currentLevel=e):(i=0,this._currentLevel=\"NONE\");let o;if(t===\"standard\"||t===\"full\"?o=t:o=\"standard\",o===\"full\"&&o!==this._currentFormat){let d=F();console.log(String(d.toFixed(2)),\"[Init]\",`Local-Date: ${Date.now()}`)}this._currentFormat=o;let s=this._currentFormat===\"full\"?(d,u)=>(f,...l)=>{let m=F();return u(String(m.toFixed(2)),`[${d}]`,f+\":\",...l.map(g=>typeof g==\"object\"&&g!==null&&!(g instanceof Error)?bo(g):g))}:(d,u)=>(f,...l)=>u(f+\":\",...l.map(m=>typeof m==\"object\"&&m!==null&&!(m instanceof Error)?bo(m):m));if(r===void 0)this.error=i>=this._levels.ERROR?s(\"error\",console.error.bind(console)):O,this.warn=i>=this._levels.WARNING?s(\"warn\",console.warn.bind(console)):O,this.info=i>=this._levels.INFO?s(\"info\",console.info.bind(console)):O,this.debug=i>=this._levels.DEBUG?s(\"log\",console.log.bind(console)):O;else{let d=u=>i>=this._levels[u]?(f,...l)=>r(u,f,l):O;this.error=d(\"ERROR\"),this.warn=d(\"WARNING\"),this.info=d(\"INFO\"),this.debug=d(\"DEBUG\")}this.trigger(\"onLogLevelChange\",{level:this._currentLevel,format:this._currentFormat})}getLevel(){return this._currentLevel}getFormat(){return this._currentFormat}hasLevel(e){return this._levels[e]>=this._levels[this._currentLevel]}};function bo(n){let e=\"\";for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){e.length>0&&(e+=\" \");let r=n[t];r instanceof Error?e+=`${t}=\"${JSON.stringify(r==null?void 0:r.toString())}\"`:e+=`${t}=${typeof r==\"string\"?`${JSON.stringify(r)}`:String(r)}`}return e}var Qd=new dn,c=Qd;var Sr=typeof WorkerGlobalScope!=\"undefined\"&&self instanceof WorkerGlobalScope;var $d=typeof window==\"undefined\"&&!Sr,yr=$d;var Tr;Sr?Tr=self:yr?Tr=global:Tr=window;var ie=Tr;var le=class n extends Error{constructor(e,t,r,i){let a;switch(r){case\"TIMEOUT\":a=\"The request timed out\";break;case\"ERROR_EVENT\":a=\"An error prevented the request to be performed successfully\";break;case\"PARSE_ERROR\":a=\"An error happened while formatting the response data\";break;case\"ERROR_HTTP_CODE\":a=\"An HTTP status code indicating failure was received: \"+String(t);break}super(a),Object.setPrototypeOf(this,n.prototype),this.name=\"RequestError\",this.url=e,this.status=t,this.type=r,this.retryAfter=i==null?void 0:i.retryAfter}serialize(){let e={url:this.url,status:this.status,type:this.type};return this.retryAfter!==void 0&&(e.retryAfter=this.retryAfter),e}},ve={TIMEOUT:\"TIMEOUT\",ERROR_EVENT:\"ERROR_EVENT\",ERROR_HTTP_CODE:\"ERROR_HTTP_CODE\",PARSE_ERROR:\"PARSE_ERROR\"};var gi=typeof Headers==\"function\"?Headers:null,Er=typeof AbortController==\"function\"?AbortController:null;function _r(n){var m,g;let e;if(!C(n.headers))if(C(gi))e=n.headers;else{e=new gi;let h=Object.keys(n.headers);for(let b=0;b<h.length;b++){let p=h[b];e.append(p,n.headers[p])}}c.debug(\"utils\",\"Fetch\",{url:n.url});let t=null,r=!1,i=!1,a=F(),o=C(Er)?null:new Er;function s(){if(C(o)){c.warn(\"utils\",\"Fetch: AbortController API not available.\");return}o.abort()}let d;n.timeout!==void 0&&(d=setTimeout(()=>{r=!0,u!==void 0&&clearTimeout(u),s()},n.timeout));let u;n.connectionTimeout!==void 0&&(u=setTimeout(()=>{i=!0,d!==void 0&&clearTimeout(d),s()},n.connectionTimeout));let f=n.cancelSignal.register(function(b){t=b,s()}),l={method:\"GET\"};if(e!==void 0&&(l.headers=e),l.signal=C(o)?null:o.signal,c.hasLevel(\"DEBUG\")){let h=\"fetch GET \"+n.url;n.timeout!==void 0&&(h+=\" to=\"+String(n.timeout/1e3)),n.connectionTimeout!==void 0&&(h+=\" cto=\"+String(n.connectionTimeout/1e3)),((m=n.headers)==null?void 0:m.Range)!==void 0&&(h+=\" Range=\"+((g=n.headers)==null?void 0:g.Range)),c.debug(\"utils\",h)}return fetch(n.url,l).then(h=>{if(u!==void 0&&clearTimeout(u),h.status>=300){c.warn(\"utils\",\"Fetch: Request HTTP Error\",{status:h.status,responseUrl:h.url});let T=h.headers.get(\"Retry-After\");throw new le(h.url,h.status,ve.ERROR_HTTP_CODE,T===null?void 0:{retryAfter:T})}if(C(h.body))throw new le(h.url,h.status,ve.PARSE_ERROR);let b=h.headers.get(\"Content-Length\"),p=!C(b)&&!isNaN(+b)?+b:void 0,S=h.body.getReader(),E=0;return v();async function v(){let T=await S.read();if(!T.done&&!C(T.value)){E+=T.value.byteLength;let _=F(),R={url:h.url,currentTime:_,duration:_-a,sendingTime:a,chunkSize:T.value.byteLength,chunk:T.value.buffer,size:E,totalSize:p};return n.onData(R),v()}else if(T.done){d!==void 0&&clearTimeout(d),f();let _=F();return{requestDuration:_-a,receivedTime:_,sendingTime:a,size:E,status:h.status,url:h.url}}return v()}}).catch(h=>{throw t!==null?t:(f(),r?(c.warn(\"utils\",\"Fetch: Request timed out.\",{url:n.url,timeout:n.timeout}),new le(n.url,0,ve.TIMEOUT)):i?(c.warn(\"utils\",\"Fetch: Request connection timed out.\",{url:n.url,connectionTimeout:n.connectionTimeout}),new le(n.url,0,ve.TIMEOUT)):h instanceof le?h:(c.warn(\"utils\",\"Fetch: Request Error\",{error:h instanceof Error?h.toString():\"Unkwown Error\"}),new le(n.url,0,ve.ERROR_EVENT)))})}function un(){let n=/\\[\\s*native\\s+code\\s*\\]/;return typeof ie.fetch==\"function\"&&!C(Er)&&n.test(Er.toString())&&!C(gi)}function Y(n){return typeof n==\"string\"&&n.length>0}var Xd=\"json\";function ln(n){let e={url:n.url,headers:n.headers,responseType:C(n.responseType)?Xd:n.responseType,timeout:n.timeout,connectionTimeout:n.connectionTimeout};return new Promise((t,r)=>{let{onProgress:i,cancelSignal:a}=n,{url:o,headers:s,responseType:d,timeout:u,connectionTimeout:f}=e,l=new XMLHttpRequest;l.open(\"GET\",o,!0);let m;u!==void 0&&(l.timeout=u,m=setTimeout(()=>{p(),r(new le(o,l.status,ve.TIMEOUT))},u+3e3));let g;if(f!==void 0&&(g=setTimeout(()=>{p(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(new le(o,l.status,ve.TIMEOUT))},f)),l.responseType=d,l.responseType===\"document\"&&l.overrideMimeType(\"text/xml\"),!C(s)){let S=s;for(let E in S)Object.prototype.hasOwnProperty.call(S,E)&&l.setRequestHeader(E,S[E])}let h=F(),b=null;if(a!==void 0&&(b=a.register(function(E){p(),l.readyState!==XMLHttpRequest.DONE&&l.abort(),r(E)}),a.isCancelled()))return;if(l.onerror=function(){p(),r(new le(o,l.status,ve.ERROR_EVENT))},l.ontimeout=function(){p(),r(new le(o,l.status,ve.TIMEOUT))},f!==void 0&&(l.onreadystatechange=function(){l.readyState>=XMLHttpRequest.HEADERS_RECEIVED&&clearTimeout(g)}),i!==void 0&&(l.onprogress=function(E){let v=F();i({url:o,duration:v-h,sendingTime:h,currentTime:v,size:E.loaded,totalSize:E.total})}),l.onload=function(E){if(l.readyState===XMLHttpRequest.DONE)if(p(),l.status>=200&&l.status<300){let v=F(),T=l.response instanceof ArrayBuffer?l.response.byteLength:E.total,_=l.status,R=l.responseType,x=Y(l.responseURL)?l.responseURL:o,A;if(R===\"json\"?A=typeof l.response==\"object\"?l.response:Zd(l.responseText):A=l.response,C(A)){r(new le(o,l.status,ve.PARSE_ERROR));return}t({status:_,url:x,responseType:R,sendingTime:h,receivedTime:v,requestDuration:v-h,size:T,responseData:A})}else{let v=l.getResponseHeader(\"Retry-After\");r(new le(o,l.status,ve.ERROR_HTTP_CODE,v===null?void 0:{retryAfter:v}))}},c.hasLevel(\"DEBUG\")){let S=\"XHR GET \"+o;n.responseType!==void 0&&(S+=\" type=\"+n.responseType),u!==void 0&&(S+=\" to=\"+String(u/1e3)),f!==void 0&&(S+=\" cto=\"+String(f/1e3)),(s==null?void 0:s.Range)!==void 0&&(S+=\" Range=\"+(s==null?void 0:s.Range)),c.debug(\"utils\",S)}l.send();function p(){m!==void 0&&clearTimeout(m),g!==void 0&&clearTimeout(g),b!==null&&b()}})}function Zd(n){try{return JSON.parse(n)}catch(e){return null}}var Se=ln;var nt=ve,je={NETWORK_ERROR:\"NETWORK_ERROR\",MEDIA_ERROR:\"MEDIA_ERROR\",ENCRYPTED_MEDIA_ERROR:\"ENCRYPTED_MEDIA_ERROR\",OTHER_ERROR:\"OTHER_ERROR\"};function rt(n,e){return`${n}: ${e}`}var fn=class n extends Error{constructor(e,t,r){super(rt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"EncryptedMediaError\",this.type=je.ENCRYPTED_MEDIA_ERROR,this.code=e,this._originalMessage=t,this.fatal=!1,this.keyStatuses=r.keyStatuses,this.keySystemConfiguration=r.keySystemConfiguration,this.keySystem=r.keySystem}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage,keyStatuses:this.keyStatuses,keySystemConfiguration:this.keySystemConfiguration,keySystem:this.keySystem}}};var Rr=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"AssertionError\"}};function ye(n,e){if(I.DEV===I.CURRENT_ENV&&!n)throw new Rr(e===void 0?\"invalid assertion\":e)}function Ue(n){throw new Rr(\"Unreachable path taken\")}var ne=class n extends Error{constructor(e,t,r){super(rt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"MediaError\",this.type=je.MEDIA_ERROR,this._originalMessage=t,this.code=e,this.fatal=!1,(r==null?void 0:r.tracks)!==void 0&&(r==null?void 0:r.tracks.length)>0&&(this.tracksInfo=r.tracks),(r==null?void 0:r.timeInfo)!==void 0&&(this.timeInfo=r.timeInfo)}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage,tracks:this.tracksInfo,timeInfo:this.timeInfo}}};var Je=class n extends Error{constructor(e,t){super(rt(e,t.message)),Object.setPrototypeOf(this,n.prototype),this.name=\"NetworkError\",this.type=je.NETWORK_ERROR,this.url=t.url,this.status=t.status,this.errorType=t.type,this._baseError=t,this.code=e,this.fatal=!1}isHttpError(e){return this.errorType===nt.ERROR_HTTP_CODE&&this.status===e}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,baseError:this._baseError.serialize()}}};var _e=class n extends Error{constructor(e,t){super(rt(e,t)),Object.setPrototypeOf(this,n.prototype),this.name=\"OtherError\",this.type=je.OTHER_ERROR,this.code=e,this.fatal=!1,this._originalMessage=t}serialize(){return{isSerializedError:!0,name:this.name,code:this.code,reason:this._originalMessage}}};function qt(n){return(n instanceof fn||n instanceof ne||n instanceof _e||n instanceof Je)&&Object.keys(je).indexOf(n.type)>=0}function Ie(n,{defaultCode:e,defaultReason:t}){if(qt(n))return n;let r=n instanceof Error?n.toString():t;return new _e(e,r)}var ke=class n extends Error{constructor(e,t,r){super(t),Object.setPrototypeOf(this,n.prototype),this.name=\"SourceBufferError\",this.errorName=e,this.isBufferFull=r}serialize(){return{errorName:this.name,message:this.message,isBufferFull:this.isBufferFull}}toString(){return`${this.errorName}: ${this.message}`}};var Jd={dashParsers:{wasm:null,js:null},createDebugElement:null,directfile:null,decrypt:null,htmlTextDisplayer:null,htmlTextTracksParsers:{},monothread:null,multithread:null,nativeTextDisplayer:null,nativeTextTracksParsers:{},transports:{}},So=Jd;var Me=So;function K(n,e,t){if(typeof Array.prototype.find==\"function\")return n.find(e,t);let r=n.length>>>0;for(let i=0;i<r;i++){let a=n[i];if(e.call(t,a,i,n))return a}}var eu={aa:\"aar\",ab:\"abk\",ae:\"ave\",af:\"afr\",ak:\"aka\",am:\"amh\",an:\"arg\",ar:\"ara\",as:\"asm\",av:\"ava\",ay:\"aym\",az:\"aze\",ba:\"bak\",be:\"bel\",bg:\"bul\",bi:\"bis\",bm:\"bam\",bn:\"ben\",bo:\"bod\",br:\"bre\",bs:\"bos\",ca:\"cat\",ce:\"che\",ch:\"cha\",co:\"cos\",cr:\"cre\",cs:\"ces\",cu:\"chu\",cv:\"chv\",cy:\"cym\",da:\"dan\",de:\"deu\",dv:\"div\",dz:\"dzo\",ee:\"ewe\",el:\"ell\",en:\"eng\",eo:\"epo\",es:\"spa\",et:\"est\",eu:\"eus\",fa:\"fas\",ff:\"ful\",fi:\"fin\",fj:\"fij\",fo:\"fao\",fr:\"fra\",fy:\"fry\",ga:\"gle\",gd:\"gla\",gl:\"glg\",gn:\"grn\",gu:\"guj\",gv:\"glv\",ha:\"hau\",he:\"heb\",hi:\"hin\",ho:\"hmo\",hr:\"hrv\",ht:\"hat\",hu:\"hun\",hy:\"hye\",hz:\"her\",ia:\"ina\",id:\"ind\",ie:\"ile\",ig:\"ibo\",ii:\"iii\",ik:\"ipk\",io:\"ido\",is:\"isl\",it:\"ita\",iu:\"iku\",ja:\"jpn\",jv:\"jav\",ka:\"kat\",kg:\"kon\",ki:\"kik\",kj:\"kua\",kk:\"kaz\",kl:\"kal\",km:\"khm\",kn:\"kan\",ko:\"kor\",kr:\"kau\",ks:\"kas\",ku:\"kur\",kv:\"kom\",kw:\"cor\",ky:\"kir\",la:\"lat\",lb:\"ltz\",lg:\"lug\",li:\"lim\",ln:\"lin\",lo:\"lao\",lt:\"lit\",lu:\"lub\",lv:\"lav\",mg:\"mlg\",mh:\"mah\",mi:\"mri\",mk:\"mkd\",ml:\"mal\",mn:\"mon\",mr:\"mar\",ms:\"msa\",mt:\"mlt\",my:\"mya\",na:\"nau\",nb:\"nob\",nd:\"nde\",ne:\"nep\",ng:\"ndo\",nl:\"nld\",nn:\"nno\",no:\"nor\",nr:\"nbl\",nv:\"nav\",ny:\"nya\",oc:\"oci\",oj:\"oji\",om:\"orm\",or:\"ori\",os:\"oss\",pa:\"pan\",pi:\"pli\",pl:\"pol\",ps:\"pus\",pt:\"por\",qu:\"que\",rm:\"roh\",rn:\"run\",ro:\"ron\",ru:\"rus\",rw:\"kin\",sa:\"san\",sc:\"srd\",sd:\"snd\",se:\"sme\",sg:\"sag\",si:\"sin\",sk:\"slk\",sl:\"slv\",sm:\"smo\",sn:\"sna\",so:\"som\",sq:\"sqi\",sr:\"srp\",ss:\"ssw\",st:\"sot\",su:\"sun\",sv:\"swe\",sw:\"swa\",ta:\"tam\",te:\"tel\",tg:\"tgk\",th:\"tha\",ti:\"tir\",tk:\"tuk\",tl:\"tgl\",tn:\"tsn\",to:\"ton\",tr:\"tur\",ts:\"tso\",tt:\"tat\",tw:\"twi\",ty:\"tah\",ug:\"uig\",uk:\"ukr\",ur:\"urd\",uz:\"uzb\",ve:\"ven\",vi:\"vie\",vo:\"vol\",wa:\"wln\",wo:\"wol\",xh:\"xho\",yi:\"yid\",yo:\"yor\",za:\"zha\",zh:\"zho\",zu:\"zul\"},yo=eu;var tu={alb:\"sqi\",arm:\"hye\",baq:\"eus\",bur:\"mya\",chi:\"zho\",cze:\"ces\",dut:\"nld\",fre:\"fra\",geo:\"kat\",ger:\"deu\",gre:\"ell\",ice:\"isl\",mac:\"mkd\",mao:\"mri\",may:\"msa\",per:\"fas\",slo:\"slk\",rum:\"ron\",tib:\"bod\",wel:\"cym\"},To=tu;function nu(n){if(C(n)||n===\"\")return\"und\";let t=(\"\"+n).toLowerCase().split(\"-\")[0],r=ru(t);return Y(r)?r:n}function ru(n){let e;switch(n.length){case 2:e=yo[n];break;case 3:e=To[n];break}return e}var Eo=nu;var _o=Eo;function Pr(n,e){if(n.length!==e.length)return!1;if(n===e)return!0;for(let t=n.length-1;t>=0;t--)if(n[t]!==e[t])return!1;return!0}function Oe(){let n=\"\",e=-1;return function(){return e++,e>=Number.MAX_SAFE_INTEGER&&(n+=\"0\",e=0),n+String(e)}}var iu=typeof ie==\"object\"&&typeof ie.TextDecoder==\"function\",au=typeof ie==\"object\"&&typeof ie.TextEncoder==\"function\";function mn(n){if(au)try{return new TextEncoder().encode(n)}catch(i){let a=i instanceof Error?i:\"Unknown Error\";c.warn(\"utils\",\"Could not use TextEncoder to encode string into UTF-8, fallbacking to another implementation\",a)}let e,t=encodeURIComponent(n);if(typeof unescape==\"function\")e=unescape(t);else{let i=/[0-9a-fA-F]/,a=t.length;e=\"\";for(let o=0;o<t.length;o++){let s=!1;if(t[o]===\"%\"){if(o<=a-6&&t[o+1]===\"u\"&&i.test(t[o+2])&&i.test(t[o+3])&&i.test(t[o+4])&&i.test(t[o+5])){let d=parseInt(t.substring(o+1,o+6),16);e+=String.fromCharCode(d),s=!0,o+=5}else if(o<=a-3&&i.test(t[o+1])&&i.test(t[o+2])){let d=parseInt(t.substring(o+1,o+3),16);e+=String.fromCharCode(d),s=!0,o+=2}}s||(e+=t[o])}}let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i)&255;return r}function ou(n){let t=\"\";for(let r=0;r<n.length;r+=16e3){let i=n.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,i)}return t}function Ro(n,e){let t=n.toString(16);return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t}function Ke(n){if(iu)try{return new TextDecoder().decode(n)}catch(i){let a=i instanceof Error?i:\"Unknown Error\";c.warn(\"utils\",\"could not use TextDecoder to parse UTF-8, fallbacking to another implementation\",a)}let e=n;e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3));let t=ou(e),r;if(typeof escape==\"function\")r=escape(t);else{let i=/[A-Za-z0-9*_+-./]/;r=\"\";for(let a=0;a<t.length;a++)if(i.test(t[a]))r+=t[a];else{let o=t.charCodeAt(a);r+=o>=256?\"%u\"+Ro(o,4):\"%\"+Ro(o,2)}}return decodeURIComponent(r)}function cn(n){let e=n.length,t=new Uint8Array(e/2);for(let r=0,i=0;r<e;r+=2,i++)t[i]=parseInt(n.substring(r,r+2),16)&255;return t}function vr(n,e=\"\"){let t=\"\";for(let r=0;r<n.byteLength;r++)t+=(n[r]>>>4).toString(16),t+=(n[r]&15).toString(16),e.length>0&&r<n.byteLength-1&&(t+=e);return t}function hi(n,e){let t=e;for(;t<n.length&&n[t]!==0;)t+=1;let r=n.subarray(e,t);return{end:t+1,string:Ke(r)}}function Ii(n){return Object.keys(n).map(e=>n[e])}var Cr=typeof Object.values==\"function\"?Object.values:Ii;var Vt=[\"audio\",\"video\",\"text\"];function vo(n){var a,o;let e=n.timeBounds;if(e.timeshiftDepth===null)return(a=e.minimumSafePosition)!=null?a:0;let{maximumTimeData:t}=e,r;if(!e.maximumTimeData.isLinear)r=t.maximumSafePosition;else{let s=F()-t.time;r=t.maximumSafePosition+s/1e3}let i=r-e.timeshiftDepth;return Math.max((o=e.minimumSafePosition)!=null?o:0,i)}function Co(n){let{maximumTimeData:e}=n.timeBounds;if(!n.isLive||e.livePosition===void 0)return;if(!e.isLinear)return e.livePosition;let t=F()-e.time;return e.livePosition+t/1e3}function Ao(n){let{maximumTimeData:e}=n.timeBounds;if(!e.isLinear)return e.maximumSafePosition;let t=F()-e.time;return e.maximumSafePosition+t/1e3}function xo(n,e){if(e===void 0)return Si(n).filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1);let t=n.adaptations[e];return t===void 0?[]:t.filter(r=>r.supportStatus.hasSupportedCodec!==!1&&r.supportStatus.isDecipherable!==!1)}function ko(n,e){let t=null;for(let r=n.periods.length-1;r>=0;r--){let i=n.periods[r];if(bi(i,e,t))return i;t=i}}function Mo(n,e){let t=e.end;if(t===void 0)return null;let r=K(n.periods,i=>i.end===void 0||t<i.end);return r===void 0?null:r}function bi(n,e,t){return e>=n.start&&(n.end===void 0||e<n.end)?!0:e===n.end&&(t===null||t.start>n.end)}function Si(n){let e=n.adaptations;return Ii(e).reduce((t,r)=>C(r)?t:t.concat(r),[])}function su(n,e){var r,i;let t={language:(r=n.language)!=null?r:\"\",normalized:(i=n.normalizedLanguage)!=null?i:\"\",audioDescription:n.isAudioDescription===!0,id:n.id,representations:(e?n.representations.filter(a=>pn(a)===!0):n.representations).map(lu),label:n.label};return n.isDub===!0&&(t.dub=!0),t}function du(n){var e,t;return{language:(e=n.language)!=null?e:\"\",normalized:(t=n.normalizedLanguage)!=null?t:\"\",closedCaption:n.isClosedCaption===!0,id:n.id,label:n.label,forced:n.isForcedSubtitles}}function uu(n,e){let t=n.trickModeTracks!==void 0?n.trickModeTracks.map(i=>{let a=(e?i.representations.filter(s=>pn(s)===!0):i.representations).map(Po),o={id:i.id,representations:a,isTrickModeTrack:!0};return i.isSignInterpreted===!0&&(o.signInterpreted=!0),o}):void 0,r={id:n.id,representations:(e?n.representations.filter(i=>pn(i)===!0):n.representations).map(Po),label:n.label};return n.isSignInterpreted===!0&&(r.signInterpreted=!0),n.isTrickModeTrack===!0&&(r.isTrickModeTrack=!0),t!==void 0&&(r.trickModeTracks=t),r}function lu(n){let{id:e,bitrate:t,chosenCodec:r,isSpatialAudio:i,isSupported:a,decipherable:o}=n;return{id:e,bitrate:t,codec:r,isSpatialAudio:i,isCodecSupported:a,decipherable:o}}function Po(n){let{id:e,bitrate:t,frameRate:r,width:i,height:a,chosenCodec:o,hdrInfo:s,isSupported:d,decipherable:u,contentProtections:f}=n;return{id:e,bitrate:t,frameRate:r,width:i,height:a,codec:o,hdrInfo:s,isCodecSupported:d,decipherable:u,contentProtections:f!==void 0?{keyIds:f.keyIds}:void 0}}function kt(n){switch(n.type){case\"audio\":return{type:\"audio\",track:su(n,!1)};case\"video\":return{type:\"video\",track:uu(n,!1)};case\"text\":return{type:\"text\",track:du(n)}}}function pn(n){return n.decipherable===!1?!1:n.isSupported}function Oo(n){return new Function(`return (${n}(arguments[0], arguments[1]))`)}var fu=Oe(),yi=class{constructor(e,t,r){var a,o,s,d;this.id=e.id,this.uniqueId=fu(),this.shouldBeAvoided=!1,this.bitrate=e.bitrate,this.baseCodecs=[],this.trackType=t,e.isSpatialAudio!==void 0&&(this.isSpatialAudio=e.isSpatialAudio),e.height!==void 0&&(this.height=e.height),e.width!==void 0&&(this.width=e.width),e.mimeType!==void 0&&(this.mimeType=e.mimeType),e.contentProtections!==void 0&&(this.contentProtections=e.contentProtections),e.frameRate!==void 0&&(this.frameRate=e.frameRate),e.hdrInfo!==void 0&&(this.hdrInfo=e.hdrInfo),this.cdnMetadata=e.cdnMetadata,this.index=e.index;let i=this.contentProtections!==void 0;if(t===\"audio\"||t===\"video\"){let u=!1;e.supplementalCodecs!==void 0&&(this.baseCodecs.push(e.supplementalCodecs),u=r.isSupported((a=this.mimeType)!=null?a:\"\",(o=e.supplementalCodecs)!=null?o:\"\",i),u===!0&&(c.debug(\"manifest\",\"supplementalCodec is supported as per the cache\",{codec:e.supplementalCodecs}),this.chosenCodec=e.supplementalCodecs)),e.codecs!==void 0&&this.baseCodecs.push(e.codecs),u===!1&&(u=r.isSupported((s=this.mimeType)!=null?s:\"\",(d=e.codecs)!=null?d:\"\",i),c.debug(\"manifest\",\"codec is supported as per the cache\",{codec:e.codecs}),this.chosenCodec=e.codecs),this.isSupported=u}else e.codecs!==void 0&&(this.baseCodecs.push(e.codecs),this.chosenCodec=e.codecs),this.isSupported=!0}refreshCodecSupport(e){var s,d;if(this.isSupported!==void 0)return;let t=this.contentProtections!==void 0,r=!1,i=(s=this.mimeType)!=null?s:\"\",a=(d=this.baseCodecs)!=null?d:[];a.length===0&&(a=[\"\"]);let o=!1;for(let u of a){if(r=e.isSupported(i,u,t),r===!0){c.debug(\"manifest\",\"codec is found to be supported\",{codec:u}),this.chosenCodec=u;break}r===void 0&&(o=!0)}r===!0?this.isSupported=!0:o?this.isSupported=void 0:this.isSupported=!1}getMimeTypeString(){var t;let e=this.chosenCodec;return e===void 0&&(c.warn(\"manifest\",\"Asked for mimetype string when codec support is yet unknown, attempting with first known linked codec\"),this.baseCodecs!==void 0&&(e=this.baseCodecs[0])),`${(t=this.mimeType)!=null?t:\"\"};codecs=\"${e!=null?e:\"\"}\"`}getEncryptionData(e){var i;let t=this.getAllEncryptionData(),r=[];for(let a=0;a<t.length;a++){let o=!1,s=t[a];for(let d=0;d<s.values.length;d++)if(s.values[d].systemId.toLowerCase()===e.toLowerCase())if(o)r[r.length-1].values.push(s.values[d]);else{let u=(i=this.contentProtections)==null?void 0:i.keyIds;r.push({type:s.type,keyIds:u,values:[s.values[d]]}),o=!0}}return r}getAllEncryptionData(){var t;if(this.contentProtections===void 0||this.contentProtections.initData.length===0)return[];let e=(t=this.contentProtections)==null?void 0:t.keyIds;return this.contentProtections.initData.map(r=>({type:r.type,keyIds:e,values:r.values}))}addProtectionData(e,t,r){let i=!1;if(this.contentProtections===void 0)return this.contentProtections={keyIds:t!==void 0?[t]:[],initData:[{type:e,values:r}]},!0;if(t!==void 0){let o=this.contentProtections.keyIds;if(o===void 0)this.contentProtections.keyIds=[t];else{let s=!1;for(let d of o)Pr(d,t)&&(s=!0);s||(c.warn(\"manifest\",\"found unanounced key id.\",{keyId:vr(t)}),o.push(t))}}let a=this.contentProtections.initData;for(let o=0;o<a.length;o++)if(a[o].type===e){let s=a[o].values;for(let d=0;d<r.length;d++){let u=r[d],f;for(f=0;f<s.length;f++)if(u.systemId===s[f].systemId){if(Pr(u.data,s[f].data))break;c.warn(\"manifest\",\"different init data for the same system ID\",{systemId:u.systemId})}f===s.length&&(s.push(u),i=!0)}return i}return this.contentProtections.initData.push({type:e,values:r}),!0}isPlayable(){return pn(this)}getMetadataSnapshot(){return{id:this.id,uniqueId:this.uniqueId,bitrate:this.bitrate,baseCodecs:this.baseCodecs,chosenCodec:this.chosenCodec,mimeType:this.mimeType,width:this.width,height:this.height,frameRate:this.frameRate,isSupported:this.isSupported,hdrInfo:this.hdrInfo,contentProtections:this.contentProtections,decipherable:this.decipherable,isCodecSupportedInWebWorker:this.isCodecSupportedInWebWorker}}},gn=yi;var ht=class n{constructor(e,t,r={}){let{trickModeTracks:i}=e,{representationFilter:a,isManuallyAdded:o}=r;this.id=e.id,this.type=e.type,e.isTrickModeTrack!==void 0&&(this.isTrickModeTrack=e.isTrickModeTrack),e.language!==void 0&&(this.language=e.language,this.normalizedLanguage=_o(e.language)),e.closedCaption!==void 0&&(this.isClosedCaption=e.closedCaption),e.audioDescription!==void 0&&(this.isAudioDescription=e.audioDescription),e.isDub!==void 0&&(this.isDub=e.isDub),e.forcedSubtitles!==void 0&&(this.isForcedSubtitles=e.forcedSubtitles),e.isSignInterpreted!==void 0&&(this.isSignInterpreted=e.isSignInterpreted),e.label!==void 0&&(this.label=e.label),i!==void 0&&i.length>0&&(this.trickModeTracks=i.map(u=>new n(u,t)));let s=e.representations,d=[];this.supportStatus={hasSupportedCodec:!1,hasCodecWithUndefinedSupport:!1,isDecipherable:!1};for(let u=0;u<s.length;u++){let f=new gn(s[u],this.type,t),l=!0;if(!C(a)){let m={id:f.id,bitrate:f.bitrate,codecs:f.chosenCodec!==void 0?[f.chosenCodec]:f.baseCodecs,height:f.height,width:f.width,frameRate:f.frameRate,hdrInfo:f.hdrInfo};if(f.contentProtections!==void 0&&(m.contentProtections={},f.contentProtections.keyIds!==void 0)){let g=f.contentProtections.keyIds;m.contentProtections.keyIds=g}l=a(m,{trackType:this.type,language:this.language,normalizedLanguage:this.normalizedLanguage,isClosedCaption:this.isClosedCaption,isDub:this.isDub,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted})}l?(d.push(f),f.isSupported===void 0?(this.supportStatus.hasCodecWithUndefinedSupport=!0,this.supportStatus.hasSupportedCodec===!1&&(this.supportStatus.hasSupportedCodec=void 0)):f.isSupported&&(this.supportStatus.hasSupportedCodec=!0),f.decipherable===void 0?this.supportStatus.isDecipherable===!1&&(this.supportStatus.isDecipherable=void 0):f.decipherable&&(this.supportStatus.isDecipherable=!0)):c.debug(\"manifest\",\"Filtering Representation due to representationFilter\",this.type,`Adaptation: ${this.id}`,`Representation: ${f.id}`,`(${f.bitrate})`)}d.sort((u,f)=>u.bitrate-f.bitrate),this.representations=d,this.manuallyAdded=o===!0}refreshCodecSupport(e){let t=!1,r=!1;for(let i of this.representations)i.refreshCodecSupport(e),i.isSupported===void 0?t=!0:i.isSupported&&(r=!0);r?this.supportStatus.hasSupportedCodec=!0:t?this.supportStatus.hasSupportedCodec=void 0:this.supportStatus.hasSupportedCodec=!1,this.supportStatus.hasCodecWithUndefinedSupport=t}getRepresentation(e){return K(this.representations,({id:t})=>e===t)}getMetadataSnapshot(){let e=[],t=this.representations;for(let r of t)e.push(r.getMetadataSnapshot());return{id:this.id,type:this.type,supportStatus:this.supportStatus,language:this.language,isForcedSubtitles:this.isForcedSubtitles,isClosedCaption:this.isClosedCaption,isAudioDescription:this.isAudioDescription,isSignInterpreted:this.isSignInterpreted,normalizedLanguage:this.normalizedLanguage,representations:e,label:this.label,isDub:this.isDub}}};var It={EdgeChromium:0,Firefox:1,Ie11:2,OtherIeOrEdgePreEdgeChromium:3,SafariDesktop:4,SafariMobile:5,Other:6},we={A1KStb40xx:100,Panasonic:101,PhilipsNetTv:102,PlayStation4:103,PlayStation5:104,Tizen:105,WebOs2021:106,WebOs2022:107,WebOsOther:108,Xbox:109,Other:110,StreamaMdp1001S:111,Windows10Or11:112},ge={DEVICES:we,BROWSERS:It,browser:It.Other,device:we.Other,isSamsungBrowser:!1};mu();function mu(){var n,e,t;yr||(typeof ie.MSInputMethodContext!=\"undefined\"&&typeof document.documentMode!=\"undefined\"?ge.browser=It.Ie11:navigator.appName===\"Microsoft Internet Explorer\"||navigator.appName===\"Netscape\"&&/(Trident|Edge)\\//.test(navigator.userAgent)?ge.browser=It.OtherIeOrEdgePreEdgeChromium:navigator.userAgent.toLowerCase().indexOf(\"edg/\")!==-1?ge.browser=It.EdgeChromium:navigator.userAgent.toLowerCase().indexOf(\"firefox\")!==-1?ge.browser=It.Firefox:typeof navigator.platform==\"string\"&&/iPad|iPhone|iPod/.test(navigator.platform)?ge.browser=It.SafariMobile:(Object.prototype.toString.call(ie.HTMLElement).indexOf(\"Constructor\")>=0||((e=(n=ie.safari)==null?void 0:n.pushNotification)==null?void 0:e.toString())===\"[object SafariRemoteNotification]\"||/Safari\\/(\\d+)/.test(navigator.userAgent)&&/Version\\/(\\d+)/.test(navigator.userAgent)&&((t=navigator.vendor)==null?void 0:t.indexOf(\"Apple\"))!==-1&&!/Chrome\\/(\\d+)/.test(navigator.userAgent)&&!/Chromium\\/(\\d+)/.test(navigator.userAgent))&&(ge.browser=It.SafariDesktop),/SamsungBrowser/.test(navigator.userAgent)&&(ge.isSamsungBrowser=!0),navigator.userAgent.indexOf(\"PlayStation 4\")!==-1?ge.device=we.PlayStation4:navigator.userAgent.indexOf(\"PlayStation 5\")!==-1?ge.device=we.PlayStation5:navigator.userAgent.indexOf(\"DStv Streama, MDMP1001S\")!==-1?ge.device=we.StreamaMdp1001S:/Tizen/.test(navigator.userAgent)?ge.device=we.Tizen:/[Ww]eb[O0]S/.test(navigator.userAgent)?/[Ww]eb[O0]S.TV-2022/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/87/.test(navigator.userAgent)?ge.device=we.WebOs2022:/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent)||/[Cc]hr[o0]me\\/79/.test(navigator.userAgent)?ge.device=we.WebOs2021:ge.device=we.WebOsOther:navigator.userAgent.indexOf(\"NETTV\")!==-1&&navigator.userAgent.indexOf(\"Philips\")!==-1?ge.device=we.PhilipsNetTv:/[Pp]anasonic/.test(navigator.userAgent)?ge.device=we.Panasonic:navigator.userAgent.indexOf(\"Xbox\")!==-1?ge.device=we.Xbox:navigator.userAgent.indexOf(\"Model/a1-kstb40xx\")!==-1?ge.device=we.A1KStb40xx:/Windows NT 10\\.0/.test(navigator.userAgent)&&(ge.device=we.Windows10Or11))}var it=ge;function Ti(n){return new Promise(e=>{setTimeout(e,n)})}function Mt(n,e){let t;return new Promise((r,i)=>{if(n.cancellationError!==null)return i(n.cancellationError);let a=!1;t=e(function(d){n.deregister(o),a=!0,r(d)},function(d){n.deregister(o),a=!0,i(d)}),a||n.register(o);function o(s){t!==void 0&&t(),i(s)}})}function hn(n,e){return Mt(e,t=>{let r=setTimeout(()=>t(),n);return()=>clearTimeout(r)})}var z=class{constructor(e){let[t,r]=cu();this._isUsed=!1,this._trigger=t,this._taskName=e,this.signal=new Ei(r)}isUsed(){return this._isUsed}linkToSignal(e){let t=e.register(r=>{this.cancel(r.reason)});return this.signal.register(t),t}cancel(e){if(this._isUsed)return;this._isUsed=!0;let t=new fe(this._taskName,e);this._trigger(t)}static isCancellationError(e){return e instanceof fe}},Ei=class{constructor(e){this._isCancelled=!1,this.cancellationError=null,this._listeners=[],e(t=>{for(this.cancellationError=t,this._isCancelled=!0;this._listeners.length>0;)try{let r=this._listeners.pop();r==null||r(t)}catch(r){c.error(\"utils\",\"Error while calling clean up listener\",r instanceof Error?r:\"Unknown Error\")}})}isCancelled(){return this._isCancelled}register(e){return this._isCancelled?(ye(this.cancellationError!==null),e(this.cancellationError),O):(this._listeners.push(e),()=>this.deregister(e))}deregister(e){for(let t=this._listeners.length-1;t>=0;t--)this._listeners[t]===e&&this._listeners.splice(t,1)}},fe=class n extends Error{constructor(e,t){let r=e!==void 0?`\"${e}\" task cancelled.`:\"This task was cancelled.\";t!==void 0&&(r+=\" Reason: \"+t),super(r),Object.setPrototypeOf(this,n.prototype),this.name=\"CancellationError\",this.reason=t,e!==void 0&&c.debug(\"utils\",`task cancellation: \"${e}\"`+(t===void 0?\"\":` - Reason: \"${t}\"`))}};function cu(){let n=O;return[function(t){n(t)},function(t){n=t}]}var pu=[\"\",\"webkit\",\"moz\",\"ms\"];function gu(n,e){let t=document.createElement(n.tagName),r=\"on\"+e;return r in t?!0:(t.setAttribute(r,\"return;\"),typeof t[r]==\"function\")}function hu(n,e){return e.filter(t=>gu(n,t))[0]}function Iu(n,e){return n.reduce((t,r)=>t.concat((e===void 0?pu:e).map(i=>i+r)),[])}function Ce(n,e){let t,r=Iu(n,e);return(i,a,o)=>{if(!o.isCancelled()){if(typeof HTMLElement!=\"undefined\"&&i instanceof HTMLElement)if(typeof t==\"undefined\"&&(t=hu(i,r)),Y(t))i.addEventListener(t,a),o.register(()=>{t!==void 0&&i.removeEventListener(t,a)});else{c.warn(\"utils\",`element ${i.tagName} does not support any of these events: `+r.join(\", \"));return}r.forEach(s=>{let d=!1;typeof i.addEventListener==\"function\"?i.addEventListener(s,a):(d=!0,i[\"on\"+s]=a),o.register(()=>{typeof i.removeEventListener==\"function\"&&i.removeEventListener(s,a),d&&delete i[\"on\"+s]})})}}}var Lh=Ce([\"loadedmetadata\"]),Uh=Ce([\"timeupdate\"]),Fh=Ce([\"addtrack\"]),zh=Ce([\"removetrack\"]),Gt=Ce([\"sourceopen\",\"webkitsourceopen\"]),Ar=Ce([\"sourceclose\",\"webkitsourceclose\"]),xr=Ce([\"sourceended\",\"webkitsourceended\"]),wo=Ce([\"update\"]),Do=Ce([\"removesourcebuffer\"]),Wh=Ce([\"keymessage\",\"message\"]),qh=Ce([\"keyadded\",\"ready\"]),Vh=Ce([\"keyerror\",\"error\"]),Gh=Ce([\"keystatuseschange\"]),Hh=Ce([\"seeking\"]),jh=Ce([\"seeked\"]),Kh=Ce([\"ended\"]);var Bo=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,62,255,255,255,63,52,53,54,55,56,57,58,59,60,61,255,255,255,0,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function bt(n){if(n>=Bo.length)throw new Error(\"Unable to parse base64 string.\");let e=Bo[n];if(e===255)throw new Error(\"Unable to parse base64 string.\");return e}function kr(n){if(typeof Uint8Array.fromBase64==\"function\")return Uint8Array.fromBase64(n);let e=n.length%4,t=n;e!==0&&(c.warn(\"utils\",\"base64ToBytes: base64 given miss padding\",{padding:e}),t+=e===3?\"=\":e===2?\"==\":\"===\");let r=t.indexOf(\"=\");if(r!==-1&&r<t.length-2)throw new Error(\"Unable to parse base64 string.\");let i=t.endsWith(\"==\")?2:t.endsWith(\"=\")?1:0,a=t.length,o=new Uint8Array(a/4*3-i),s,d=0,u=0,f=i===0?a:a-4;for(;d<f;d+=4,u+=3)s=bt(t.charCodeAt(d))<<18|bt(t.charCodeAt(d+1))<<12|bt(t.charCodeAt(d+2))<<6|bt(t.charCodeAt(d+3)),o[u]=s>>16,o[u+1]=s>>8&255,o[u+2]=s&255;return i!==0&&(s=bt(t.charCodeAt(d))<<18|bt(t.charCodeAt(d+1))<<12|bt(t.charCodeAt(d+2))<<6|bt(t.charCodeAt(d+3)),o[u]=s>>16,i===1&&(o[u+1]=s>>8&255)),o}function Ot(...n){let e=n.length,t=-1,r=0,i;for(;++t<e;)i=n[t],r+=typeof i==\"number\"?i:i.length;let a=new Uint8Array(r),o=0;for(t=-1;++t<e;)i=n[t],typeof i==\"number\"?o+=i:i.length>0&&(a.set(i,o),o+=i.length);return a}function No(n,e){return(n[e+0]<<8)+(n[e+1]<<0)}function _i(n,e){return n[e+0]*65536+n[e+1]*256+n[e+2]}function re(n,e){return n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3]}function St(n,e){return(n[e+0]*16777216+n[e+1]*65536+n[e+2]*256+n[e+3])*4294967296+n[e+4]*16777216+n[e+5]*65536+n[e+6]*256+n[e+7]}function Lo(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer)}function be(n,e,t){if(typeof String.prototype.startsWith==\"function\")return n.startsWith(e,t);let r=typeof t==\"number\"?Math.max(t,0):0;return n.substring(r,r+e.length)===e}function et(n,e){let t=n.length,r=0;for(;r+8<=t;){let i=re(n,r);if(i===0)i=t-r;else if(i===1){if(r+16>t)return-1;i=St(n,r+8)}if(isNaN(i)||i<=0)return-1;if(re(n,r+4)===e)return r+i<=t?r:-1;r+=i}return-1}function Mr(n){let e=0,t=[],r=null;for(;e<=n.length;){if(e===n.length){r=null;break}r=n.subarray(e,1/0);let i=et(r,1836019558);if(i<0)break;let a=re(n,i+e),o=e+i+a;if(o>n.length)break;let s=et(r,1835295092);if(s<0)break;let d=re(n,s+e),u=e+s+d;if(u>n.length)break;let f=Math.max(o,u),l=n.subarray(e,f);t.push(l),e=f}return t.length===0?[null,r]:[t,r]}function Ri(){let{PREVENT_PSSH_PATCHING:n}=U.getCurrent();return!(n||it.device===it.DEVICES.StreamaMdp1001S)}function bu(n,e,t){return new Uint8Array(Array.prototype.slice.call(n,e,t))}function Su(n,e,t){return n.slice(e,t)}var Pi=typeof Uint8Array.prototype.slice==\"function\"?Su:bu;function vi(n,e){let t=n;for(let r of e){let i=ae(t,r);if(i===null)return null;t=i}return t}function ae(n,e){let t=at(n,e);return t!==null?n.subarray(t[1],t[2]):null}function Uo(n,e){let t=[],r=n;for(;;){let i=at(r,e);if(i===null)return t;ye(i[2]!==0&&r.length!==0),t.push(r.subarray(i[1],i[2])),r=r.subarray(i[2])}}function at(n,e){let t=n.length,r=0,i,a=0,o;for(;r+8<=t;){if(o=r,a=re(n,o),o+=4,i=re(n,o),o+=4,a===0)a=t-r;else if(a===1){if(o+8>t)return null;a=St(n,o),o+=8}if(a<0)throw new Error(\"ISOBMFF: Size out of range\");if(i===e)return e===1970628964&&(o+=16),[r,o,r+a];r+=a}return null}function Ci(n){return[n>>>24&255,n>>>16&255,n>>>8&255,n&255].map(e=>String.fromCharCode(e)).join(\"\")}function Or(n){let e=ae(n,1836019574);if(e===null)return[];let t=[],r=e;for(;r.length>0;){let i;try{i=at(r,1886614376)}catch(s){let d=s instanceof Error?s:new Error(\"Unknown ISOBMFF box reading error\");return c.warn(\"isobmff\",\"Error while removing PSSH from ISOBMFF\",d),t}if(i===null)return t;let a=Pi(r,i[0],i[2]),o=Fo(a,i[1]-i[0]);o!==void 0&&t.push({systemId:o,data:a}),Ri()&&(r[i[0]+4]=102,r[i[0]+5]=114,r[i[0]+6]=101,r[i[0]+7]=101),r=r.subarray(i[2])}return t}function Fo(n,e){if(n[e]>1){c.warn(\"isobmff\",\"un-handled PSSH version\");return}let t=e+4;if(t+16>n.length)return;let r=Pi(n,t,t+16);return vr(r)}function wr(n){let e=ae(n,1836019574);if(e===null)return;let t=0;for(;t<e.length;){let r;try{r=at(e.subarray(t),1953653099)}catch(a){let o=a instanceof Error?a:\"\";c.warn(\"isobmff\",\"Error while iterating trak boxes in ISOBMFF\",o);return}if(r===null)break;let i=ae(e.subarray(t),1953653099);i!==null&&yu(i),t+=r[2]}}function yu(n){let e=[1685480259,1685485123,1685485379],t=ae(n,1835297121);if(t===null)return;let r=ae(t,1835626086);if(r===null)return;let i=ae(r,1937007212);if(i===null)return;let a=ae(i,1937011556);if(a===null)return;let o=a.subarray(8),s=0;for(;s<o.length&&!(s+8>o.length);){let d=re(o,s),u=re(o,s+4);if(d<8||s+d>o.length)break;let f=o.subarray(s,s+d),l=Tu(f);if(l===null){s+=d;continue}let m=f.subarray(l);for(let g of e){let h=0;for(;h<m.length;){let b;try{b=at(m.subarray(h),g)}catch(S){let E=S instanceof Error?S:\"\";c.warn(\"isobmff\",\"Error while patching out dvcC/dvvC/dvwC from ISOBMFF\",E);break}if(b===null)break;c.hasLevel(\"DEBUG\")&&c.debug(\"isobmff\",`Found '${Ci(g)}' inside '${Ci(u)}', overwriting with 'free'`);let p=h+b[0]+4;m[p]=102,m[p+1]=114,m[p+2]=101,m[p+3]=101,h+=b[2]-b[0]}}s+=d}}function Tu(n){for(let e=16;e+8<=n.length;e++){let t=re(n,e);if(t<8||e+t>n.length)continue;let r=!0;for(let i=e+4;i<e+8;i++)if(n[i]<32||n[i]>126){r=!1;break}if(r)return e}return null}function Ai(n){let e=ae(n,1836019558);return e===null?null:ae(e,1953653094)}function zo(n){return Uo(n,1836019558).reduce((t,r)=>{let i=ae(r,1953653094);return i!==null&&t.push(i),t},[])}function xi(n){return ae(n,1835295092)}function ki(n){let e=ae(n,1836019574);if(e===null)return null;let t=ae(e,1953653099);return t===null?null:ae(t,1835297121)}function Wo(n,e=0){return ae(n.subarray(e),1701671783)}function In(n,e){let t=at(n,1936286840);if(t===null)return null;let r=e,i=t[2]-t[0],a=t[1],o=n[a];a+=8;let s=re(n,a);a+=4;let d;if(o===0)d=re(n,a),a+=4,r+=re(n,a)+i,a+=4;else if(o===1)d=St(n,a),a+=8,r+=St(n,a)+i,a+=8;else return null;let u=[];a+=2;let f=No(n,a);for(a+=2;--f>=0;){let l=re(n,a);a+=4;let m=(l&2147483648)>>>31,g=l&2147483647;if(m===1)throw new Error(\"sidx with reference_type `1` not yet implemented\");let h=re(n,a);a+=4,a+=4,u.push({time:d,duration:h,timescale:s,range:[r,r+g-1]}),d+=h,r+=g}return u}function Mi(n){let e=Ai(n);if(e===null)return;let t=ae(e,1952867444);if(t===null)return;let r=t[0];if(r===1)return St(t,4);if(r===0)return re(t,4)}function Eu(n){let e=ae(n,1952868452);if(e===null)return;let t=1,r=_i(e,t);t+=3;let i=(r&1)>0,a=(r&2)>0;return(r&8)>0?(t+=4,i&&(t+=8),a&&(t+=4),re(e,t)):void 0}function Oi(n){let e=zo(n);if(e.length===0)return;let t=0;for(let r of e){let i=ae(r,1953658222);if(i===null)return;let a=0,o=i[a];if(a+=1,o>1)return;let s=_i(i,a);a+=3;let d=(s&256)>0,u=0;if(!d&&(u=Eu(r),u===void 0))return;let f=(s&1)>0,l=(s&4)>0,m=(s&512)>0,g=(s&1024)>0,h=(s&2048)>0,b=re(i,a);a+=4,f&&(a+=4),l&&(a+=4);let p=b,S=0;for(;p-- >0;)d?(S+=re(i,a),a+=4):S+=u,m&&(a+=4),g&&(a+=4),h&&(a+=4);t+=S}return t}function bn(n){let e=ki(n);if(e===null)return;let t=ae(e,1835296868);if(t===null)return;let r=0,i=t[r];if(r+=4,i===1)return re(t,r+16);if(i===0)return re(t,r+8)}function qo(n){let e=[],t=0;for(;t<n.length;){let r=Wo(n,t);if(r===null)break;let i=r.length;t+=i;let a=r[0];if(a!==0)c.warn(\"isobmff\",\"EMSG version \"+a.toString()+\" not supported.\");else{let o=4,{end:s,string:d}=hi(r,o);o=s;let{end:u,string:f}=hi(r,o);o=u;let l=re(r,o);o+=4;let m=re(r,o);o+=4;let g=re(r,o);o+=4;let h=re(r,o);o+=4;let b=r.subarray(o,i),p={schemeIdUri:d,value:f,timescale:l,presentationTimeDelta:m,eventDuration:g,id:h,messageData:b};e.push(p)}}if(e.length!==0)return e}function Vo(n){let e=vi(n,[1836019574,1953653099,1835297121,1835626086,1937007212,1937011556]);if(e===null)return null;let t=e.subarray(8),r=ae(t,1701733238),i=0;if(r===null?(i=28,r=ae(t,1701733217)):i=78,r===null)return null;let a=vi(r.subarray(i),[1936289382,1935894633,1952804451]);if(a===null||a.byteLength<24)return null;let o=a.subarray(8,24);return o.every(s=>s===0)?null:o}function me(n,e,t){if(typeof Array.prototype.includes==\"function\")return n.includes(e,t);let r=n.length>>>0;if(r===0)return!1;let i=t|0,a=i>=0?Math.min(i,r-1):Math.max(r+i,0),o=(s,d)=>s===d||typeof s==\"number\"&&typeof d==\"number\"&&isNaN(s)&&isNaN(d);for(;a<r;){if(o(n[a],e))return!0;a++}return!1}function _u(n,e){let{mimeType:t,codecs:r}=Go(n),{mimeType:i,codecs:a}=Go(e);if(t!==i||r===\"\"||a===\"\")return!1;let o=r.split(\".\")[0];o=o===\"hev1\"?\"hvc1\":o;let s=a.split(\".\")[0];return s=s===\"hev1\"?\"hvc1\":s,o===s}var Ru=7;function Go(n){var i;let[e,...t]=n.split(\";\"),r=(i=K(t,a=>be(a,\"codecs=\")))!=null?i:\"\";return r=r.substring(Ru),r[0]==='\"'&&(r=r.substring(1,r.length-1)),{mimeType:e,codecs:r}}var Ho=_u;function wi(n,e){return typeof Array.prototype.flatMap==\"function\"?n.flatMap(e):n.reduce((t,r)=>{let i=e(r);return Array.isArray(i)?(t.push(...i),t):(t.push(i),t)},[])}function Di(n){let e=(Math.random()*2-1)*.3;return n*(e+1)}function jo(n){var t,r,i,a;let e=[];for(let o of n.periods){let s=[...(t=o.adaptations.video)!=null?t:[],...(r=o.adaptations.audio)!=null?r:[]];for(let d of s)if(d.supportStatus.hasCodecWithUndefinedSupport){for(let u of d.representations)if(u.isSupported===void 0)for(let f of(i=u.baseCodecs)!=null?i:[])e.push({mimeType:(a=u.mimeType)!=null?a:\"\",codec:f})}}return e}var Ko=[];function ot(n){me(Ko,n)||(console.warn(n),Ko.push(n))}var Sn=class{constructor(e){this.supportMap=new Map,this.addCodecs(e)}addCodecs(e){for(let t of e){let r=this.supportMap.get(t.mimeType);r===void 0&&(r=new Map,this.supportMap.set(t.mimeType,r)),r.set(t.codec,{supported:t.supported,supportedIfEncrypted:t.supportedIfEncrypted})}}isSupported(e,t,r){let i=this.supportMap.get(e);if(i===void 0)return;let a=i.get(t);if(a!==void 0)return r?a.supportedIfEncrypted:a.supported}};function Pu(n){return Object.keys(n).map(e=>[e,n[e]])}var Yo=typeof Object.entries==\"function\"?Object.entries:Pu;var yt=class{constructor(e,t,r){if(this.id=e.id,this.adaptations=vu(e.adaptations,t,r),Qo(this.adaptations.video)&&Qo(this.adaptations.audio))throw new ne(\"MANIFEST_PARSE_ERROR\",\"The manifest has no video nor audio tracks.\");this.thumbnailTracks=e.thumbnailTracks.map(i=>({id:i.id,mimeType:i.mimeType,index:i.index,cdnMetadata:i.cdnMetadata,height:i.height,width:i.width,horizontalTiles:i.horizontalTiles,verticalTiles:i.verticalTiles,start:i.start,end:i.end,tileDuration:i.tileDuration})),this.duration=e.duration,this.start=e.start,!C(this.duration)&&!C(this.start)&&(this.end=this.start+this.duration),this.streamEvents=e.streamEvents===void 0?[]:e.streamEvents}refreshCodecSupport(e,t){Object.keys(this.adaptations).forEach(r=>{let i=this.adaptations[r];if(i!==void 0)for(let a of i){if(!a.supportStatus.hasCodecWithUndefinedSupport)continue;let o=a.supportStatus.hasSupportedCodec;a.refreshCodecSupport(t),o!==!1&&a.supportStatus.hasSupportedCodec===!1&&e.push(a)}},{})}getAdaptations(){return Si(this)}getAdaptationsForType(e){let t=this.adaptations[e];return t!=null?t:[]}getAdaptation(e){return K(this.getAdaptations(),({id:t})=>e===t)}getSupportedAdaptations(e){return xo(this,e)}containsTime(e,t){return bi(this,e,t)}getMetadataSnapshot(){let e={},t=this.getAdaptations();for(let r of t){let i=e[r.type];i===void 0&&(i=[],e[r.type]=i),i.push(r.getMetadataSnapshot())}return{start:this.start,end:this.end,id:this.id,streamEvents:this.streamEvents,adaptations:e,thumbnailTracks:this.thumbnailTracks.map(r=>({id:r.id,mimeType:r.mimeType,height:r.height,width:r.width,horizontalTiles:r.horizontalTiles,verticalTiles:r.verticalTiles,start:r.start,end:r.end,tileDuration:r.tileDuration}))}}};function Qo(n){return Array.isArray(n)?n.length===0:!0}function vu(n,e,t){let r={};for(let[i,a]of Yo(n))C(a)||(r[i]=a.map(o=>new ht(o,e,{representationFilter:t})).filter(o=>o.representations.length>0));return r}function yn(n,e,t){let r={updatedAdaptations:[],removedAdaptations:[],addedAdaptations:[],updatedThumbnailTracks:[],removedThumbnailTracks:[],addedThumbnailTracks:[]};n.start=e.start,n.end=e.end,n.duration=e.duration,n.streamEvents=e.streamEvents;let i=n.thumbnailTracks,a=e.thumbnailTracks;for(let d=0;d<i.length;d++){let u=i[d],f=se(a,l=>l.id===u.id);if(f===-1){c.warn(\"manifest\",'ThumbnailTrack \"'+i[d].id+'\" not found when merging.');let[l]=i.splice(d,1);d--,r.removedThumbnailTracks.push({id:l.id})}else{let[l]=a.splice(f,1);u.mimeType=l.mimeType,u.height=l.height,u.width=l.width,u.horizontalTiles=l.horizontalTiles,u.verticalTiles=l.verticalTiles,u.start=l.start,u.end=l.end,u.tileDuration=l.tileDuration,u.cdnMetadata=l.cdnMetadata,t===0?u.index._replace(l.index):u.index._update(l.index),r.updatedThumbnailTracks.push({id:u.id,mimeType:u.mimeType,height:u.height,width:u.width,horizontalTiles:u.horizontalTiles,verticalTiles:u.verticalTiles,start:u.start,end:u.end,tileDuration:u.tileDuration})}}a.length>0&&(c.warn(\"manifest\",`${a.length} new Thumbnail tracks found when merging.`),r.addedThumbnailTracks.push(...a.map(d=>({id:d.id,mimeType:d.mimeType,height:d.height,width:d.width,horizontalTiles:d.horizontalTiles,verticalTiles:d.verticalTiles,start:d.start,end:d.end,tileDuration:d.tileDuration}))),n.thumbnailTracks.push(...a));let o=n.getAdaptations(),s=e.getAdaptations();for(let d=0;d<o.length;d++){let u=o[d],f=se(s,l=>l.id===u.id);if(f===-1){c.warn(\"manifest\",'Adaptation \"'+o[d].id+'\" not found when merging.');let[l]=o.splice(d,1);d--,r.removedAdaptations.push({id:l.id,trackType:l.type})}else{let[l]=s.splice(f,1),m=[],g=[],h=[];r.updatedAdaptations.push({adaptation:u.id,trackType:u.type,updatedRepresentations:m,addedRepresentations:g,removedRepresentations:h});let b=u.representations,p=l.representations.slice();for(let S=0;S<b.length;S++){let E=b[S],v=se(p,T=>T.id===E.id);if(v===-1){c.warn(\"manifest\",`Representation \"${b[S].id}\" not found when merging.`);let[T]=b.splice(S,1);S--,h.push(T.id)}else{let[T]=p.splice(v,1);m.push(E.getMetadataSnapshot()),E.cdnMetadata=T.cdnMetadata,t===0?E.index._replace(T.index):E.index._update(T.index)}}p.length>0&&(c.warn(\"manifest\",`${p.length} new Representations found when merging.`),u.representations.push(...p),g.push(...p.map(S=>S.getMetadataSnapshot())))}}if(s.length>0){c.warn(\"manifest\",`${s.length} new Adaptations found when merging.`);for(let d of s){let u=n.adaptations[d.type];u===void 0?n.adaptations[d.type]=[d]:u.push(d),r.addedAdaptations.push(d.getMetadataSnapshot())}}return r}function $o(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]},r=0;for(let a=0;a<e.length;a++){let o=e[a],s=r,d=n[s];for(;d!==void 0&&d.id!==o.id;)s++,d=n[s];if(d!==void 0){let u=yn(d,o,0);t.updatedPeriods.push({period:{id:d.id,start:d.start,end:d.end,duration:d.duration,streamEvents:d.streamEvents},result:u});let f=e.slice(r,a),l=s-r,m=n.splice(r,l,...f);t.removedPeriods.push(...m.map(g=>({id:g.id,start:g.start,end:g.end}))),t.addedPeriods.push(...f.map(g=>g.getMetadataSnapshot())),r=a+1}}if(r>n.length)return c.error(\"manifest\",\"error when updating Periods\"),t;if(r<n.length){let a=n.splice(r,n.length-r);t.removedPeriods.push(...a.map(o=>({id:o.id,start:o.start,end:o.end})))}let i=e.slice(r,e.length);return i.length>0&&(n.push(...i),t.addedPeriods.push(...i.map(a=>a.getMetadataSnapshot()))),t}function Xo(n,e){let t={updatedPeriods:[],addedPeriods:[],removedPeriods:[]};if(n.length===0)return n.splice(0,0,...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t;if(e.length===0)return t;let r=n[n.length-1];if(r.start<e[0].start){if(r.end!==e[0].start)throw new ne(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");return n.push(...e),t.addedPeriods.push(...e.map(s=>s.getMetadataSnapshot())),t}let i=se(n,({id:s})=>s===e[0].id);if(i<0)throw new ne(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: incoherent data\");let a=yn(n[i],e[0],1);t.updatedPeriods.push({period:j(n[i].getMetadataSnapshot(),{adaptations:void 0}),result:a});let o=i+1;for(let s=1;s<e.length;s++){let d=e[s],u=-1;for(let f=o;f<n.length;f++)if(d.id===n[f].id){u=f;break}if(u<0){let f=-1;for(let g=o;g<n.length;g++)if(d.start<n[g].start){f=g;break}let l=f-o,m=n.splice(o,l,d);t.addedPeriods.push(d.getMetadataSnapshot()),t.removedPeriods.push(...m.map(g=>({id:g.id,start:g.start,end:g.end})))}else{if(u>o){c.warn(\"manifest\",\"old Periods not found in new when updating, removing\");let l=n.splice(o,u-o);t.removedPeriods.push(...l.map(m=>({id:m.id,start:m.start,end:m.end}))),u=o}let f=yn(n[u],d,0);t.updatedPeriods.push({period:j(n[u].getMetadataSnapshot(),{adaptations:void 0}),result:f})}o++}if(o<n.length){c.warn(\"manifest\",\"Ending Periods not found in new when updating, removing\");let s=n.splice(o,n.length-o);t.removedPeriods.push(...s.map(d=>({id:d.id,start:d.start,end:d.end})))}return t}var Cu=Oe(),Tn=class extends pe{constructor(e,t){var a;super();let{representationFilter:r,manifestUpdateUrl:i}=t;this.manifestFormat=0,this.id=Cu(),this.expired=(a=e.expired)!=null?a:null,this.transport=e.transportType,this.clockOffset=e.clockOffset,this._cachedCodecSupport=new Sn([]),this.periods=e.periods.map(o=>new yt(o,this._cachedCodecSupport,r)).sort((o,s)=>o.start-s.start),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.timeBounds=e.timeBounds,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.uris=e.uris===void 0?[]:e.uris,this.updateUrl=i,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.availabilityStartTime=e.availabilityStartTime,this.publishTime=e.publishTime}updateCodecSupport(e=[]){if(e.length===0)return null;this._cachedCodecSupport.addCodecs(e);let t=[];for(let r of this.periods)r.refreshCodecSupport(t,this._cachedCodecSupport);return this.trigger(\"supportUpdate\",null),t.length>0?new ne(\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\",\"An Adaptation contains only incompatible codecs.\",{tracks:t.map(kt)}):null}getPeriod(e){return K(this.periods,t=>e===t.id)}getPeriodForTime(e){return ko(this,e)}getNextPeriod(e){return K(this.periods,t=>t.start>e)}getPeriodAfter(e){return Mo(this,e)}getUrls(){return this.uris}replace(e){this._performUpdate(e,0)}update(e){this._performUpdate(e,1)}getMinimumSafePosition(){return vo(this)}getLivePosition(){return Co(this)}getMaximumSafePosition(){return Ao(this)}updateCodecSupportList(e){this._cachedCodecSupport=e}updateRepresentationsDeciperability(e){let t=Au(this,e);t.length>0&&this.trigger(\"decipherabilityUpdate\",t)}addRepresentationsToAvoid(e){let t=[];for(let r of e){let i=this.getPeriod(r.period.id);if(i===void 0)continue;let a=i.getAdaptation(r.adaptation.id);if(a===void 0)continue;let o=a.getRepresentation(r.representation.id);o!==void 0&&(o.shouldBeAvoided=!0,t.push({manifest:this,period:i,adaptation:a,representation:o}))}t.length>0&&this.trigger(\"representationAvoidanceUpdate\",t)}getAdaptations(){ot(\"manifest.getAdaptations() is deprecated. Please use manifest.period[].getAdaptations() instead\");let e=this.periods[0];if(e===void 0)return[];let t=e.adaptations,r=[];for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i)){let a=t[i];r.push(...a)}return r}getAdaptationsForType(e){ot(\"manifest.getAdaptationsForType(type) is deprecated. Please use manifest.period[].getAdaptationsForType(type) instead\");let t=this.periods[0];if(t===void 0)return[];let r=t.adaptations[e];return r===void 0?[]:r}getAdaptation(e){return ot(\"manifest.getAdaptation(id) is deprecated. Please use manifest.period[].getAdaptation(id) instead\"),K(this.getAdaptations(),({id:t})=>e===t)}getMetadataSnapshot(){let e=[];for(let t of this.periods)e.push(t.getMetadataSnapshot());return{manifestFormat:1,id:this.id,periods:e,isDynamic:this.isDynamic,isLive:this.isLive,isLastPeriodKnown:this.isLastPeriodKnown,suggestedPresentationDelay:this.suggestedPresentationDelay,clockOffset:this.clockOffset,uris:this.uris,availabilityStartTime:this.availabilityStartTime,timeBounds:this.timeBounds}}getCodecsWithUnknownSupport(){return jo(this)}_performUpdate(e,t){this.availabilityStartTime=e.availabilityStartTime,this.expired=e.expired,this.isDynamic=e.isDynamic,this.isLive=e.isLive,this.isLastPeriodKnown=e.isLastPeriodKnown,this.lifetime=e.lifetime,this.clockOffset=e.clockOffset,this.suggestedPresentationDelay=e.suggestedPresentationDelay,this.transport=e.transport,this.publishTime=e.publishTime;let r;if(t===0)this.timeBounds=e.timeBounds,this.uris=e.uris,r=$o(this.periods,e.periods);else{this.timeBounds.maximumTimeData=e.timeBounds.maximumTimeData,this.updateUrl=e.uris[0],r=Xo(this.periods,e.periods);let i=this.getMinimumSafePosition();for(;this.periods.length>0;){let a=this.periods[0];if(a.end===void 0||a.end>i)break;this.periods.shift()}}this.updateCodecSupport(),this.adaptations=this.periods[0]===void 0?{}:this.periods[0].adaptations,this.trigger(\"manifestUpdate\",r)}};function Au(n,e){let t=[];for(let r of n.periods)for(let i of r.getAdaptations()){let a=!0;for(let o of i.representations){let s={manifest:n,period:r,adaptation:i,representation:o},d=e(s);d!==!1&&(a=!1),d!==o.decipherable&&(t.push(s),o.decipherable=d,d===!0?i.supportStatus.isDecipherable=!0:d===void 0&&i.supportStatus.isDecipherable===!1&&(i.supportStatus.isDecipherable=void 0),c.debug(\"manifest\",`Decipherability changed for \"${o.id}\"`,`(${o.bitrate})`,String(o.decipherable)))}a&&(i.supportStatus.isDecipherable=!1)}return t}function st(n,e){return n.segment.id===e.segment.id&&n.representation.uniqueId===e.representation.uniqueId}function Ye(n){if(C(n))return null;let{period:e,adaptation:t,representation:r,segment:i}=n;return{t:t.type[0],p:e.id,a:t.id,r:r.id,ss:i.isInit?null:i.time,se:i.isInit||!i.complete?null:i.end}}var Tt=Tn;function Dr(n,e,t){let r=e(n.getReference(),t);return{getCurrentTime(){return n.getCurrentTime()},getReadyState(){return n.getReadyState()},getPlaybackRate(){return n.getPlaybackRate()},getIsPaused(){return n.getIsPaused()},getReference(){return r},listen(i,a){t.isCancelled()||a.clearSignal.isCancelled()||r.onUpdate(i,{clearSignal:a.clearSignal,emitCurrentValue:a.includeLastObservation})},deriveReadOnlyObserver(i){return Dr(this,i,t)}}}var En=class{constructor(e,t,r,i){this._src=e,this._contentId=t,this._messageSender=r,this._cancelSignal=i}getCurrentTime(){}getReadyState(){}getIsPaused(){}getReference(){return this._src}setPlaybackRate(e){this._messageSender({type:\"update-playback-rate\",contentId:this._contentId,value:e})}getPlaybackRate(){}listen(e,t){this._cancelSignal.isCancelled()||t.clearSignal.isCancelled()||this._src.onUpdate(e,{clearSignal:t.clearSignal,emitCurrentValue:t.includeLastObservation})}deriveReadOnlyObserver(e){return Dr(this,e,this._cancelSignal)}};var wt=class{constructor(e,t){this._last=e,this._wanted=t}serialize(){return[this._last,this._wanted]}getPolled(){return this._last}getWanted(){var e;return(e=this._wanted)!=null?e:this._last}forceWantedPosition(e){this._wanted=e}isAwaitingFuturePosition(){return this._wanted!==null}};var dt=typeof queueMicrotask==\"function\"?queueMicrotask:function(e){Promise.resolve().then(e,()=>e())};var Dt=class{constructor(e){this._array=[],this._sortingFn=e}add(...e){e.sort(this._sortingFn);let t=0;for(let r=0;r<e.length;r++){let i=e[r],a=!1;for(;!a&&t<this._array.length;)this._sortingFn(i,this._array[t])<0?(this._array.splice(t,0,i),a=!0):t++;a||this._array.push(i)}}length(){return this._array.length}get(e){if(e<0||e>=this._array.length)throw new Error(\"Invalid index.\");return this._array[e]}toArray(){return this._array.slice()}findFirst(e){return K(this._array,e)}has(e){return me(this._array,e)}removeElement(e){let t=this._array.indexOf(e);if(t>=0)return this._array.splice(t,1),t}head(){return this._array[0]}last(){return this._array[this._array.length-1]}shift(){return this._array.shift()}pop(){return this._array.pop()}};var _n=class{constructor(e){this._weakMap=new WeakMap,this._fn=e}get(e){let t=this._weakMap.get(e);if(t===void 0){let r=this._fn(e);return this._weakMap.set(e,r),r}else return t}destroy(e){this._weakMap.delete(e)}};var xu=.016666666666666666;function Zo(n,e){return Math.abs(n-e)<xu}function es(n,e){let t=Math.min(n.start,e.start),r=Math.max(n.end,e.end);return{start:t,end:r}}function ku(n){for(let e=0;e<n.length;e++){let t=n[e];t.start===t.end&&n.splice(e--,1)}return n}function Mu(n){for(let e=1;e<n.length;e++){let t=n[e-1],r=n[e];if(ns(t,r)){let i=es(t,r);n.splice(--e,2,i)}}return n}function Bi(n,e){return n.end<=e.start}function Jo({start:n,end:e},t){return n<=t&&t<e}function ts(n,e){return Jo(n,e.start)||n.start<e.end&&e.end<n.end||Jo(e,n.start)}function ns(n,e){return Zo(e.start,n.end)||Zo(e.end,n.start)}function Ni(n){let e=[];for(let t=0;t<n.length;t++)e.push({start:n.start(t),end:n.end(t)});return e}function Ou(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t].start;if(e>=r){let i=n[t].end;if(e<i)return n[t]}}return null}function rs(n,e){let t=null,r=[];for(let i=0;i<n.length;i++){let a=n[i].start,o=n[i].end;e<a||e>=o?r.push({start:a,end:o}):t={start:a,end:o}}return{outerRanges:r,innerRange:t}}function Br(n,e){let t=Ou(n,e);return t!==null?t.end-e:1/0}function Et(n,e){if(e.start===e.end)return n;let t=e,r=0;for(;r<n.length;r++){let i=n[r],a=ts(t,i),o=ns(t,i);if(a||o)t=es(t,i),n.splice(r--,1);else if(r===0){if(Bi(t,n[0]))break}else if(Bi(n[r-1],t)&&Bi(t,i))break}return n.splice(r,0,t),Mu(ku(n))}function wu(n,e){let t=[];for(let r=0;r<e.length;r++)ts(n,e[r])&&t.push(e[r]);return t}function Nr(n,e){let t=[];for(let r=0;r<n.length;r++){let i=n[r],a=[],o=wu(i,e);if(o.length>0)for(let s=0;s<o.length;s++){let d=o[s];a.push({start:Math.max(i.start,d.start),end:Math.min(i.end,d.end)})}if(a.length===0)t.push(i);else{let s=i.start;for(let d=0;d<a.length;d++)a[d].start>s&&t.push({start:s,end:a[d].start}),s=a[d].end;s<i.end&&t.push({start:s,end:i.end})}}return t}function Lr({segmentSink:n,playbackObserver:e,maxBufferBehind:t,maxBufferAhead:r},i){let a,o=[];e.listen(d=>{a=d.position.getWanted(),o=d.buffered[n.bufferType],s()},{includeLastObservation:!0,clearSignal:i});function s(){o!==null&&Du(n,a,o,t.getValue(),r.getValue(),i).catch(d=>{if(i.isCancelled()&&z.isCancellationError(d))return;let u=d instanceof Error?d.message:\"Unknown error\";c.error(\"Stream\",\"Could not run BufferGarbageCollector:\",u)})}t.onUpdate(s,{clearSignal:i}),r.onUpdate(s,{clearSignal:i})}async function Du(n,e,t,r,i,a){if(!isFinite(r)&&!isFinite(i))return Promise.resolve();let o=[],{innerRange:s,outerRanges:d}=rs(t,e),u=()=>{if(isFinite(r)){for(let l of d)e-r>=l.end?o.push(l):e>=l.end&&e-r>l.start&&e-r<l.end&&o.push({start:l.start,end:e-r});C(s)||e-r>s.start&&o.push({start:s.start,end:e-r})}},f=()=>{if(isFinite(i)){for(let l of d)e+i<=l.start?o.push(l):e<=l.start&&e+i<l.end&&e+i>l.start&&o.push({start:e+i,end:l.end});C(s)||e+i<s.end&&o.push({start:e+i,end:s.end})}};u(),f();for(let l of o)if(l.start<l.end){if(c.debug(\"Stream\",\"cleaning range from SegmentSink\",{start:l.start,end:l.end}),a.cancellationError!==null)throw a.cancellationError;await n.removeBuffer(l.start,l.end)}}var Rn=class{constructor(e,t){this._history=[],this._lifetime=e,this._maxHistoryLength=t}addBufferedSegment(e,t){let r=F();this._history.push({date:r,buffered:t,context:e}),this._cleanHistory(r)}getHistoryFor(e){return this._history.filter(t=>st(t.context,e))}_cleanHistory(e){let t=e-this._lifetime,r=0;for(let i of this._history)if(i.date<t)r++;else break;if(r>0&&(this._history=this._history.splice(r)),this._history.length>this._maxHistoryLength){let i=this._history.length-this._maxHistoryLength;this._history=this._history.splice(i)}}};var Pn=class{constructor(){let{BUFFERED_HISTORY_RETENTION_TIME:e,BUFFERED_HISTORY_MAXIMUM_ENTRIES:t}=U.getCurrent();this._inventory=[],this._bufferedHistory=new Rn(e,t)}reset(){this._inventory.length=0}synchronizeBuffered(e){var d,u,f,l,m,g,h;let t=this._inventory,r=0,i=t[0],{MINIMUM_SEGMENT_SIZE:a}=U.getCurrent(),o=i==null?void 0:i.infos.adaptation.type;if(c.hasLevel(\"DEBUG\")){let b=e.map(p=>`${p.start}-${p.end}`).join(\",\");c.debug(\"SI\",`synchronizing ${o!=null?o:\"unknown\"} buffered ranges:`,b)}let s=e.length;for(let b=0;b<s;b++){if(i===void 0)return;let p=e[b].start,S=e[b].end;if(S-p<a){c.warn(\"SI\",\"skipped range when synchronizing because it was too small\",{t:o,rangeStart:p,rangeEnd:S});continue}let E=r;for(;i!==void 0&&((d=i.bufferedEnd)!=null?d:i.end)-p<a;)i=t[++r];let v=null,T=r-E;if(T>0){let R=t[E+T-1];v={end:(u=R.bufferedEnd)!=null?u:R.end,precizeEnd:R.precizeEnd},c.debug(\"SI\",`${T} segments GCed.`,{t:o});let x=t.splice(E,T);for(let A of x)A.bufferedStart===void 0&&A.bufferedEnd===void 0&&A.status!==2&&this._bufferedHistory.addBufferedSegment(A.infos,null);r=E}if(i===void 0)return;if(S-((f=i.bufferedStart)!=null?f:i.start)>=a){if(Bu(i,p,v,o),r===t.length-1){as(i,S,o);return}i=t[++r];let R=(l=i.bufferedStart)!=null?l:i.start,x=(m=i.bufferedEnd)!=null?m:i.end,A=b<s-1?e[b+1].start:void 0;for(;i!==void 0&&!(S<R||S-R<a&&x-S>=a||A!==void 0&&S-R<x-A);){let k=t[r-1];k.bufferedEnd===void 0&&(i.precizeStart?k.bufferedEnd=i.start:k.infos.segment.complete?k.bufferedEnd=k.end:k.bufferedEnd=i.start,c.debug(\"SI\",\"calculating buffered end of contiguous segment\",{t:o,prevSegmentBufferedEnd:k.bufferedEnd,pse:k.end})),i.bufferedStart=k.bufferedEnd,i=t[++r],i!==void 0&&(R=(g=i.bufferedStart)!=null?g:i.start,x=(h=i.bufferedEnd)!=null?h:i.end)}}let _=t[r-1];_!==void 0&&as(_,S,o)}if(!C(i)){let{SEGMENT_SYNCHRONIZATION_DELAY:b}=U.getCurrent(),p=F();for(let S=r;S<t.length;S++){let E=t[S];p-E.insertionTs>=b&&(c.debug(\"SI\",\"A segment at the end has been completely GCed\",Ye(E.infos)),E.bufferedStart===void 0&&E.bufferedEnd===void 0&&E.status!==2&&this._bufferedHistory.addBufferedSegment(E.infos,null),t.splice(S,1),S--)}}o!==void 0&&c.hasLevel(\"DEBUG\")&&c.debug(\"SI\",`current ${o} inventory timeline:\n`+Nu(this._inventory))}insertChunk({period:e,adaptation:t,representation:r,segment:i,chunkSize:a,start:o,end:s},d,u){if(i.isInit)return;let f=t.type;if(o>=s){c.warn(\"SI\",\"Invalid chunked inserted: starts before it ends\",{t:f,start:o,end:s});return}let l=this._inventory,m={status:d?0:2,insertionTs:u,chunkSize:a,splitted:!1,start:o,end:s,precizeStart:!1,precizeEnd:!1,bufferedStart:void 0,bufferedEnd:void 0,infos:{segment:i,period:e,adaptation:t,representation:r}};for(let h=l.length-1;h>=0;h--){let b=l[h];if(b.start<=o)if(b.end<=o){for(c.debug(\"SI\",\"Pushing segment strictly after previous one.\",{t:f,pse:b.end,ss:o}),this._inventory.splice(h+1,0,m),h+=2;h<l.length&&l[h].start<m.end;){if(l[h].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,pss:l[h].start,ss:o,se:s}),l[h].start=m.end,l[h].bufferedStart=void 0,l[h].precizeStart=l[h].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l.splice(h,1)}return}else if(b.start===o)if(b.end<=s){for(c.debug(\"SI\",\"Segment pushed replace another one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end}),this._inventory.splice(h,1,m),h+=1;h<l.length&&l[h].start<m.end;){if(l[h].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l[h].start=m.end,l[h].bufferedStart=void 0,l[h].precizeStart=l[h].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l.splice(h,1)}return}else{c.debug(\"SI\",\"Segment pushed ends before another with the same start\",{t:f,ss:o,se:s,pse:b.end}),l.splice(h,0,m),b.start=m.end,b.bufferedStart=void 0,b.precizeStart=b.precizeStart&&m.precizeEnd;return}else if(b.end<=m.end){for(c.debug(\"SI\",\"Segment pushed updates end of previous one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end}),this._inventory.splice(h+1,0,m),b.end=m.start,b.bufferedEnd=void 0,b.precizeEnd=b.precizeEnd&&m.precizeStart,h+=2;h<l.length&&l[h].start<m.end;){if(l[h].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[h].start}),l[h].start=m.end,l[h].bufferedStart=void 0,l[h].precizeStart=l[h].precizeStart&&m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[h].start,pse:l[h].end}),l.splice(h,1)}return}else{c.warn(\"SI\",\"Segment pushed is contained in a previous one\",{t:f,ss:o,se:s,pss:b.start,pse:b.end});let p={status:b.status,insertionTs:b.insertionTs,chunkSize:b.chunkSize,splitted:!0,start:m.end,end:b.end,precizeStart:b.precizeStart&&b.precizeEnd&&m.precizeEnd,precizeEnd:b.precizeEnd,bufferedStart:void 0,bufferedEnd:b.end,infos:b.infos};b.end=m.start,b.splitted=!0,b.bufferedEnd=void 0,b.precizeEnd=b.precizeEnd&&m.precizeStart,l.splice(h+1,0,m),l.splice(h+2,0,p);return}}let g=this._inventory[0];if(g===void 0){c.debug(\"SI\",\"first segment pushed\",{t:f,ss:o,se:s}),this._inventory.push(m);return}if(g.start>=s)c.debug(\"SI\",\"Segment pushed comes before all previous ones\",{t:f,ss:o,se:s,pss:g.start}),this._inventory.splice(0,0,m);else if(g.end<=s){for(c.debug(\"SI\",\"Segment pushed starts before and completely recovers the previous first one\",{t:f,ss:o,se:s,pss:g.start,pse:g.end}),this._inventory.splice(0,1,m);l.length>1&&l[1].start<m.end;){if(l[1].end>m.end){c.debug(\"SI\",\"Segment pushed updates the start of the next one\",{t:f,ss:o,se:s,pss:l[1].start,pse:l[1].end}),l[1].start=m.end,l[1].bufferedStart=void 0,l[1].precizeStart=m.precizeEnd;return}c.debug(\"SI\",\"Segment pushed removes the next one\",{t:f,ss:o,se:s,pss:l[1].start,pse:l[1].end}),l.splice(1,1)}return}else{c.debug(\"SI\",\"Segment pushed start of the next one\",f,{ss:o,se:s,pss:g.start,pse:g.end}),g.start=s,g.bufferedStart=void 0,g.precizeStart=m.precizeEnd,this._inventory.splice(0,0,m);return}}completeSegment(e){if(e.segment.isInit)return;let t=this._inventory,r=[];for(let i=0;i<t.length;i++)if(st(t[i].infos,e)){let a=!1;r.length>0&&(a=!0,r.length===1&&(c.warn(\"SI\",\"Completed Segment is splitted.\",Ye(e)),r[0].splitted=!0));let o=i,s=t[i].chunkSize;for(i+=1;i<t.length&&st(t[i].infos,e);){let m=t[i].chunkSize;s!==void 0&&m!==void 0&&(s+=m),i++}let d=i-1,u=d-o,f=t[d].end,l=t[d].bufferedEnd;u>0&&(this._inventory.splice(o+1,u),i-=u),this._inventory[o].status===0&&(this._inventory[o].status=1),this._inventory[o].chunkSize=s,this._inventory[o].end=f,this._inventory[o].bufferedEnd=l,this._inventory[o].splitted=a,r.push(this._inventory[o])}if(r.length===0)c.warn(\"SI\",\"Completed Segment not found\",Ye(e));else for(let i of r)i.bufferedStart!==void 0&&i.bufferedEnd!==void 0?i.status!==2&&this._bufferedHistory.addBufferedSegment(i.infos,{start:i.bufferedStart,end:i.bufferedEnd}):c.debug(\"SI\",\"buffered range not known after sync. Skipping history.\",{ss:i.start,se:i.end})}getInventory(){return this._inventory}getHistoryFor(e){return this._bufferedHistory.getHistoryFor(e)}};function Li(n){if(n.bufferedStart===void 0||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=U.getCurrent();return Math.abs(e-n.bufferedStart)<=i&&(n.bufferedEnd===void 0||n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3))}function is(n){if(n.bufferedEnd===void 0||!n.infos.segment.complete||n.status!==1)return!1;let{start:e,end:t}=n,r=t-e,{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE:a}=U.getCurrent();return Math.abs(t-n.bufferedEnd)<=i&&n.bufferedStart!==void 0&&n.bufferedEnd>n.bufferedStart&&Math.abs(n.bufferedEnd-n.bufferedStart-r)<=Math.min(a,r/3)}function Bu(n,e,t,r){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:i,MISSING_DATA_TRIGGER_SYNC_DELAY:a,SEGMENT_SYNCHRONIZATION_DELAY:o}=U.getCurrent();if(n.bufferedStart!==void 0)n.bufferedStart<e&&(c.debug(\"SI\",\"Segment partially GCed at the start\",{t:r,firstsbs:n.bufferedStart,rs:e}),n.bufferedStart=e),!n.precizeStart&&Li(n)&&(n.start=n.bufferedStart,n.precizeStart=!0);else if(n.precizeStart)c.debug(\"SI\",\"buffered start is precize start\",{t:r,firstss:n.start}),n.bufferedStart=n.start;else if(t!==null&&t.end>e&&(t.precizeEnd||n.start-t.end<=i))c.debug(\"SI\",\"buffered start is end of previous segment\",{t:r,rs:e,firstss:n.start,lastdelse:t.end}),n.bufferedStart=t.end,Li(n)&&(n.start=t.end,n.precizeStart=!0);else if(n.start-e<=i){let s=F();if(n.start-e>=a&&s-n.insertionTs<o){c.debug(\"SI\",\"Ignored bufferedStart synchronization\",{t:r,rs:e,firstss:n.start,delta:s-n.insertionTs});return}c.debug(\"SI\",\"found true buffered start\",{t:r,rs:e,firstss:n.start}),n.bufferedStart=e,Li(n)&&(n.start=e,n.precizeStart=!0)}else if(e<n.start)c.debug(\"SI\",\"range start too far from expected start\",{t:r,rs:e,firstss:n.start}),n.bufferedStart=n.start;else{let s=F();if(n.start-e>=a&&s-n.insertionTs<o){c.debug(\"SI\",\"Ignored bufferedStart synchronization\",{t:r,rs:e,firstss:n.start,delta:s-n.insertionTs});return}c.debug(\"SI\",\"Segment appears immediately garbage collected at the start\",{t:r,rs:e,firstss:n.start}),n.bufferedStart=e}}function as(n,e,t){let{MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE:r,MISSING_DATA_TRIGGER_SYNC_DELAY:i,SEGMENT_SYNCHRONIZATION_DELAY:a}=U.getCurrent();if(n.bufferedEnd!==void 0)n.bufferedEnd>e&&(c.debug(\"SI\",\"Segment partially GCed at the end\",{t,lastsbe:n.bufferedEnd,re:e}),n.bufferedEnd=e),!n.precizeEnd&&e-n.end<=r&&is(n)&&(n.precizeEnd=!0,n.end=e);else if(n.precizeEnd)c.debug(\"SI\",\"buffered end is precize end\",{t,lastse:n.end}),n.bufferedEnd=n.end;else if(e-n.end<=r||!n.infos.segment.complete){let o=F();if(e-n.end>=i&&o-n.insertionTs<a){c.debug(\"SI\",\"Ignored bufferedEnd synchronization\",{t,re:e,lastse:n.end,delta:o-n.insertionTs});return}c.debug(\"SI\",\"found true buffered end\",{t,re:e,lastse:n.end}),n.bufferedEnd=e,is(n)&&(n.end=e,n.precizeEnd=!0)}else if(e>n.end)c.debug(\"SI\",\"range end too far from expected end\",{t,re:e,lastse:n.end}),n.bufferedEnd=n.end;else{let o=F();if(e-n.end>=i&&o-n.insertionTs<a){c.debug(\"SI\",\"Ignored bufferedEnd synchronization\",{t,re:e,lastse:n.end,delta:o-n.insertionTs});return}c.debug(\"SI\",\"Segment appears immediately garbage collected at the end\",{t,lastsbe:n.bufferedEnd,re:e}),n.bufferedEnd=e}}function Nu(n){let e=.016666666666666666,t={},r=[],i=null,a=null;function o(d){let u=String.fromCharCode(r.length+65);return r.push({letter:u,periodId:d.period.id,representationId:d.representation.id,bitrate:d.representation.bitrate}),u}let s=\"\";for(let d of n)if(d.bufferedStart!==void 0&&d.bufferedEnd!==void 0){let u=d.infos.period.id,f=d.infos.representation.id,l=t[u],m;if(l===void 0)m=o(d.infos),t[u]={[f]:m};else{let g=l[f];g===void 0?(m=o(d.infos),l[f]=m):m=g}i===null?s+=`${d.bufferedStart.toFixed(2)}|${m}|`:a===m?i.bufferedEnd+e<d.bufferedStart&&(s+=`${i.bufferedEnd.toFixed(2)} ~ ${d.bufferedStart.toFixed(2)}|${m}|`):s+=`${i.bufferedEnd.toFixed(2)} ~ ${d.bufferedStart.toFixed(2)}|${m}|`,i=d,a=m}return i!==null&&(s+=String(i.end.toFixed(2))),r.forEach(d=>{var u;s+=`\n[${d.letter}] P: ${d.periodId} || R: ${d.representationId}(${(u=d.bitrate)!=null?u:\"unknown bitrate\"})`}),s}function Ht(n,e){for(let t=0;t<n.length;t++)if(n[t].infos.period.start>=e.start)return t>0?n[t-1]:null;return n.length>0?n[n.length-1]:null}function jt(n,e){for(let t of n)if(t.infos.period.start>e.start)return t;return null}var os=Pn;var Kt=class{constructor(){this._segmentInventory=new os}synchronizeInventory(e){this._segmentInventory.synchronizeBuffered(e)}getLastKnownInventory(){return this._segmentInventory.getInventory()}getSegmentHistory(e){return this._segmentInventory.getHistoryFor(e)}};var vn=class extends Kt{constructor(e,t,r){super(),c.info(\"Stream\",\"calling `mediaSource.addSourceBuffer`\",{codec:t});let i=r.addSourceBuffer(e,t);this.bufferType=e,this._sourceBuffer=i,this._lastInitSegmentUniqueId=null,this.codec=t,this._initSegmentsMap=new Map,this._pendingOperations=[]}declareInitSegment(e,t){ss(t),this._initSegmentsMap.set(e,t)}freeInitSegment(e){this._initSegmentsMap.delete(e)}async pushChunk(e){ss(e.data.chunk),c.debug(\"Stream\",\"queuing push order\",Ye(e.inventoryInfos));let t=this._getActualDataToPush(e.data);t.length===0&&t.push(new Uint8Array);let r=Promise.all(t.map(o=>{let{codec:s,timestampOffset:d,appendWindow:u}=e.data;return c.debug(\"Stream\",\"now pushing\",Ye(e.inventoryInfos)),this._sourceBuffer.appendBuffer(o,{codec:s,timestampOffset:d,appendWindow:u})}));this._addToOperationQueue(r,{type:0,value:e});let i;try{i=await r}catch(o){throw this._segmentInventory.insertChunk(e.inventoryInfos,!1,F()),o}e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,F());let a=i[i.length-1];return this._segmentInventory.synchronizeBuffered(a),a}async removeBuffer(e,t){c.debug(\"Stream\",\"queuing remove order\",{bufferType:this.bufferType,start:e,end:t});let r=this._sourceBuffer.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(e){try{c.debug(\"Stream\",\"Calling `dispose` on the SourceBufferInterface\"),this._sourceBuffer.dispose(e)}catch(t){c.debug(\"Stream\",`Failed to dispose a ${this.bufferType} SourceBufferInterface:`,t instanceof Error?t:\"Unknown Error\")}}_getActualDataToPush(e){let t=[];if(e.initSegmentUniqueId!==null&&!this._isLastInitSegment(e.initSegmentUniqueId)){let r=this._initSegmentsMap.get(e.initSegmentUniqueId);if(r===void 0)throw new Error(\"Invalid initialization segment uniqueId\");let i=new ArrayBuffer(r.byteLength),a=new Uint8Array(i);a.set(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer)),r=a,t.push(r),this._lastInitSegmentUniqueId=e.initSegmentUniqueId}return e.chunk!==null&&t.push(e.chunk),t}_isLastInitSegment(e){return this._lastInitSegmentUniqueId===null?!1:this._lastInitSegmentUniqueId===e}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function ss(n){if(I.CURRENT_ENV!==I.PRODUCTION&&(typeof n!=\"object\"||n!==null&&!(n instanceof ArrayBuffer)&&!(n.buffer instanceof ArrayBuffer)))throw new Error(\"Invalid data given to the AudioVideoSegmentSink\")}var Fr=vn;var Cn=class extends Kt{constructor(e){c.debug(\"Stream\",\"Creating TextSegmentSink\"),super(),this.bufferType=\"text\",this._sender=e,this._pendingOperations=[],this._sender.reset()}declareInitSegment(e){c.warn(\"Stream\",\"Declaring initialization segment for Text SegmentSink\",{uniqueId:e})}freeInitSegment(e){c.warn(\"Stream\",\"Freeing initialization segment for Text SegmentSink\",{uniqueId:e})}async pushChunk(e){let{data:t}=e;Uu(t.chunk);let r=this._sender.pushTextData(te(X({},t),{chunk:t.chunk}));this._addToOperationQueue(r,{type:0,value:e});let i=await r;return e.inventoryInfos!==null&&this._segmentInventory.insertChunk(e.inventoryInfos,!0,F()),this._segmentInventory.synchronizeBuffered(i),i}async removeBuffer(e,t){let r=this._sender.remove(e,t);this._addToOperationQueue(r,{type:1,value:{start:e,end:t}});let i=await r;return this._segmentInventory.synchronizeBuffered(i),i}async signalSegmentComplete(e){if(this._pendingOperations.length>0){let{promise:t}=this._pendingOperations[this._pendingOperations.length-1];this._addToOperationQueue(t,{type:2,value:e});try{await t}catch(r){}}this._segmentInventory.completeSegment(e)}getPendingOperations(){return this._pendingOperations.map(e=>e.operation)}dispose(e){c.debug(\"Stream\",\"Disposing TextSegmentSink\"),this._sender.stop(e)}_addToOperationQueue(e,t){let r={operation:t,promise:e};this._pendingOperations.push(r);let i=()=>{let a=this._pendingOperations.indexOf(r);a>=0&&this._pendingOperations.splice(a,1)};e.then(i,i)}};function Uu(n){if(I.CURRENT_ENV!==I.PRODUCTION){if(typeof n!=\"object\"||n===null||C(n.data))throw new Error(\"Invalid format given to a TextSegmentSink\");if(!Fu(n))throw new Error(\"Invalid format given to a TextSegmentSink\");if(typeof n.data!=\"string\"&&typeof n.data.byteLength!=\"number\")throw new Error(\"Invalid format given to a TextSegmentSink\")}}function Fu(n){return!(typeof n!=\"object\"||n===null||typeof n.type!=\"string\"||n.language!==void 0&&typeof n.language!=\"string\"||n.initTimescale!==null&&typeof n.initTimescale!=\"number\"||n.start!==void 0&&typeof n.start!=\"number\"||n.end!==void 0&&typeof n.end!=\"number\")}I.CURRENT_ENV===I.DEV&&(zu=function(e){function t(r){}});var zu;var ds=Cn;var Wu=[\"audio\",\"video\",\"text\"],An=class n{static isNative(e){return us(e)}constructor(e,t,r){this._mediaSource=e,this._textInterface=r,this._hasVideo=t,this._initializedSegmentSinks={},this._onNativeBufferAddedOrDisabled=[]}getBufferTypes(){let e=this.getNativeBufferTypes();return this._textInterface!==null&&e.push(\"text\"),e}getNativeBufferTypes(){return this._hasVideo?[\"video\",\"audio\"]:[\"audio\"]}getStatus(e){let t=this._initializedSegmentSinks[e];return t===void 0?{type:\"uninitialized\"}:t===null?{type:\"disabled\"}:{type:\"initialized\",value:t}}waitForUsableBuffers(e){return this._areNativeBuffersUsable()?Promise.resolve():Mt(e,t=>{let r=O,i=()=>{let a=this._onNativeBufferAddedOrDisabled.indexOf(r);a>=0&&this._onNativeBufferAddedOrDisabled.splice(a,1)};return r=()=>{this._areNativeBuffersUsable()&&(i(),t())},this._onNativeBufferAddedOrDisabled.push(r),i})}disableSegmentSink(e){let t=this._initializedSegmentSinks[e];if(t===null){c.warn(\"Stream\",`The ${e} SegmentSink was already disabled.`);return}if(t!==void 0)throw new Error(\"Cannot disable an active SegmentSink.\");this._initializedSegmentSinks[e]=null,n.isNative(e)&&(this._onNativeBufferAddedOrDisabled.slice().forEach(r=>r()),ye(this._onNativeBufferAddedOrDisabled.length===0))}createSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(us(e)){if(!C(r))return r instanceof Fr&&r.codec!==t?c.warn(\"Stream\",\"Reusing native SegmentSink with codec\",r.codec,\"for codec\",t):c.info(\"Stream\",\"Reusing native SegmentSink with codec\",t),r;c.info(\"Stream\",\"Adding native SegmentSink with codec\",t);let a=e===\"audio\"?\"audio\":\"video\",o=new Fr(a,t,this._mediaSource);return this._initializedSegmentSinks[e]=o,this._onNativeBufferAddedOrDisabled.slice().forEach(s=>s()),ye(this._onNativeBufferAddedOrDisabled.length===0),o}if(!C(r))return c.info(\"Stream\",\"Reusing a previous custom SegmentSink\",{bufferType:e}),r;let i;if(e===\"text\"){if(c.info(\"Stream\",\"Creating a new text SegmentSink\"),this._textInterface===null)throw new Error(\"HTML Text track feature not activated\");return i=new ds(this._textInterface),this._initializedSegmentSinks.text=i,i}throw c.error(\"Stream\",\"Unknown buffer type:\",{bufferType:e}),new ne(\"BUFFER_TYPE_UNKNOWN\",\"The player wants to create a SegmentSink of an unknown type.\")}disposeSegmentSink(e,t){let r=this._initializedSegmentSinks[e];if(C(r)){c.warn(\"Stream\",\"Trying to dispose a SegmentSink that does not exist\",{bufferType:e});return}c.info(\"Stream\",\"Aborting SegmentSink\",{bufferType:e}),r.dispose(t),delete this._initializedSegmentSinks[e]}disposeAll(e){Wu.forEach(t=>{this.getStatus(t).type===\"initialized\"&&this.disposeSegmentSink(t,e)})}_areNativeBuffersUsable(){let e=this.getNativeBufferTypes();return!(e.some(i=>this._initializedSegmentSinks[i]===void 0)||e.every(i=>this._initializedSegmentSinks[i]===null))}createSegmentSinkMetricsForType(e){var i,a;let t=(i=this._initializedSegmentSinks[e])==null?void 0:i.getLastKnownInventory(),r;if(t!==void 0){r=0;for(let o of t){if(o.chunkSize===void 0||r===void 0){r=void 0;break}r+=o.chunkSize}}return{bufferType:e,sizeEstimate:r,codec:(a=this._initializedSegmentSinks[e])==null?void 0:a.codec,segmentInventory:t==null?void 0:t.map(o=>te(X({},o),{infos:qu(o.infos)}))}}getSegmentSinksMetrics(){return{segmentSinks:{audio:this.createSegmentSinkMetricsForType(\"audio\"),video:this.createSegmentSinkMetricsForType(\"video\"),text:this.createSegmentSinkMetricsForType(\"text\")}}}};function us(n){return n===\"audio\"||n===\"video\"}function qu(n){return{adaptation:n.adaptation.getMetadataSnapshot(),period:n.period.getMetadataSnapshot(),representation:n.representation.getMetadataSnapshot()}}var _t=An;var xn=class{constructor({drmSystemId:e,representation:t,notify:r}){if(this._hasSentEncryptionData=!1,this._representation=t,this._notify=r,e!==void 0){let i=t.getEncryptionData(e);i.length>0&&i.every(a=>a.keyIds!==void 0)&&(this._hasSentEncryptionData=!0,r(i))}}onNewProtectionData(e){for(let t of e)this._representation.addProtectionData(t.initDataType,t.keyId,t.initData);if(!this._hasSentEncryptionData){let t=this._representation.getAllEncryptionData();t.length>0&&(this._notify(t),this._hasSentEncryptionData=!0)}}};function Ui(n,e,t,r,i){let{period:a,adaptation:o,representation:s}=n,d=Vu(i,e);if(d===null){if(t===null){if(r&&a.end!==void 0&&e.end>=a.end)return{start:void 0,end:null};let l=s.index.checkDiscontinuity(e.start);if(l!==null)return{start:void 0,end:l}}return null}let u=i[d];if(u.bufferedStart!==void 0&&u.bufferedStart>e.start&&(t===null||u.infos.segment.end<=t)){let l=u.bufferedStart;return!r&&s.index.awaitSegmentBetween(e.start,l)!==!1?null:(c.debug(\"Stream\",\"current discontinuity encountered\",{bufferType:o.type,nextSegmentTime:u.bufferedStart,checkStartTime:e.start}),{start:void 0,end:l})}let f=Gu(i,e,d+1);if(f!==null){let l=i[f-1],m=i[f];if(t===null||m.infos.segment.end<=t){if(!r&&s.index.awaitSegmentBetween(l.infos.segment.end,m.infos.segment.time)!==!1)return null;let g=l.bufferedEnd,h=m.bufferedStart;return c.debug(\"Stream\",\"future discontinuity encountered\",{bufferType:o.type,discontinuityStart:g,discontinuityEnd:h}),{start:g,end:h}}}if(t===null){if(r&&a.end!==void 0){if(e.end<a.end)return null;let l=Hu(i,a.end);if(l!==null){let m=i[l];if(m.bufferedEnd!==void 0&&m.bufferedEnd<a.end)return c.debug(\"Stream\",\"discontinuity encountered at the end of the current period\",{bufferType:o.type,segmentsEndTimeFromPeriod:m.bufferedEnd,periodEnd:a.end}),{start:m.bufferedEnd,end:null}}}if(a.end!==void 0&&e.end>=a.end)return null;for(let l=i.length-1;l>=0;l--){let m=i[l];if(m.bufferedStart===void 0)break;if(m.bufferedStart<e.end){if(m.bufferedEnd!==void 0&&m.bufferedEnd<e.end){let g=s.index.checkDiscontinuity(e.end);if(g!==null)return{start:m.bufferedEnd,end:g}}return null}}}return null}function Vu(n,e){for(let t=0;t<n.length;t++){let r=n[t];if(r.bufferedStart===void 0||r.bufferedEnd===void 0||r.bufferedStart>=e.end)return null;if(r.bufferedEnd>e.start)return t}return null}function Gu(n,e,t){if(t<=0)return c.error(\"Stream\",\"Asked to check a discontinuity before the first chunk.\"),null;for(let r=t;r<n.length;r++){let i=n[r],a=n[r-1];if(i.bufferedStart===void 0||a.bufferedEnd===void 0||i.bufferedStart>=e.end)return null;if(i.bufferedStart-a.bufferedEnd>0)return r}return null}function Hu(n,e){for(let t=n.length-1;t>=0;t--){let r=n[t];if(r.bufferedStart===void 0)return null;if(r.bufferedStart<e)return t}return null}function Fi({bufferedSegments:n,content:e,currentPlaybackTime:t,fastSwitchThreshold:r,getBufferedHistory:i,neededRange:a,segmentsBeingPushed:o,maxBufferSize:s}){let{adaptation:d,representation:u}=e,f=ju(n,o,s),l=u.index.getSegments(a.start,a.end-a.start),m=n.filter(_=>!ls(_.infos,e,t,r)),g=Ju(m,a,i),{MINIMUM_SEGMENT_SIZE:h,MIN_BUFFER_AHEAD:b}=U.getCurrent(),p=!1,S=Math.min(1/60,h),E=!1,v=[];return{segmentsToLoad:l.filter(_=>{let R=j({segment:_},e);if(o.length>0&&o.some(L=>st(R,L)))return!1;let{duration:x,time:A,end:k}=_;if(_.isInit)return!0;if(p)return v.push(_),!1;if(_.complete&&x<h||o.length>0&&o.some(L=>{if(L.period.id!==e.period.id||L.adaptation.id!==e.adaptation.id)return!1;let{segment:P}=L;if(P.time-S>A)return!1;if(P.complete){if(P.end+S<k)return!1}else if(Math.abs(A-P.time)>A)return!1;return!ls(L,R,t,r)}))return!1;for(let W of g){let L=W.infos.period.id===e.period.id;if(W.status===1&&L){let P=W.infos.segment;if(A-P.time>-S){if(P.complete){if(P.end-k>-S)return!1}else if(Math.abs(A-P.time)<S)return!1}}}let D=x*e.representation.bitrate;if(f-D<0&&(E=!0,A>a.start+b))return p=!0,v.push(_),!1;let N=i(R);if(N.length>1){let W=N[N.length-1],L=N[N.length-2];if(W.buffered===null&&L.buffered===null)return c.warn(\"Stream\",\"Segment GCed multiple times in a row, ignoring it.\",\"If this happens a lot and lead to unpleasant experience, please check your device's available memory. If it's low when this message is emitted, you might want to update the RxPlayer's settings (`maxBufferAhead`, `maxVideoBufferSize` etc.) so less memory is used by regular media data buffering.\",{bufferType:d.type,representationId:u.id,segmentTime:_.time}),!1}for(let W=0;W<g.length;W++){let L=g[W];if(L.end+S>A){let P=L.start>A+S||Ku(g,W).end<k-S;return P&&(f-=D),P}}return f-=D,!0}),segmentsOnHold:v,isBufferFull:E}}function ju(n,e,t){let r=t*8e3;return r-=e.reduce((i,a)=>{let{bitrate:o}=a.representation,{duration:s}=a.segment;return i+o*s},0),n.reduce((i,a)=>a.chunkSize!==void 0?i-a.chunkSize*8:i,r)}function Ku(n,e){let t=e+1,{MINIMUM_SEGMENT_SIZE:r}=U.getCurrent(),i=Math.min(1/60,r);for(;t<n.length-1&&n[t-1].end+i>n[t].start;)t++;return t--,n[t]}function ls(n,e,t,r){let{CONTENT_REPLACEMENT_PADDING:i}=U.getCurrent();if(n.period.id!==e.period.id)return!1;let{segment:a}=n;return a.time<t+i?!1:n.adaptation.id!==e.adaptation.id?!0:Yu(n.representation,e.representation,r)}function Yu(n,e,t){let r=n.bitrate,{BITRATE_REBUFFERING_RATIO:i}=U.getCurrent();if(t===void 0){let a=r*i;return e.bitrate>a}return r<t&&e.bitrate>r}function Qu(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedStart===void 0||e!==null&&e.bufferedEnd!==void 0&&n.bufferedStart-e.bufferedEnd<.1?!1:t<n.bufferedStart&&n.bufferedStart-n.start>r?(c.info(\"Stream\",\"The start of the wanted segment has been garbage collected\",{segmentStart:n.start,currentStartInBuffer:n.bufferedStart}),!0):!1}function $u(n,e,t){let{MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT:r}=U.getCurrent();return n.bufferedEnd===void 0||e!==null&&e.bufferedStart!==void 0&&e.bufferedStart-n.bufferedEnd<.1?!1:t>n.bufferedEnd&&n.end-n.bufferedEnd>r?(c.info(\"Stream\",\"The end of the wanted segment has been garbage collected\",{segmentEnd:n.end,currentEndInBuffer:n.bufferedEnd}),!0):!1}function Xu(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.start;if(e!==void 0&&r!==void 0&&e-r>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.start;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function Zu(n,e){var o,s;if(n.length<2)return!0;let r=(o=n[n.length-1].buffered)==null?void 0:o.end;if(e!==void 0&&r!==void 0&&r-e>.05)return!0;let a=(s=n[n.length-2].buffered)==null?void 0:s.end;return a===void 0||r===void 0?!0:Math.abs(a-r)>.01}function Ju(n,e,t){return n.filter((r,i,a)=>{let o=i===0?null:a[i-1],s=i>=a.length-1?null:a[i+1],d=null;if(Qu(r,o,e.start)){if(d=t(r.infos),Xu(d,r.bufferedStart))return!1;c.debug(\"Stream\",\"skipping segment gc-ed at the start\",{segmentStart:r.start,currentStartInBuffer:r.bufferedStart})}if($u(r,s,e.end)){if(d=d!=null?d:t(r.infos),Zu(d,r.bufferedEnd))return!1;c.debug(\"Stream\",\"skipping segment gc-ed at the end\",{segmentEnd:r.end,currentEndInBuffer:r.bufferedEnd})}return!0})}function kn(n,e){let t=n-e,{SEGMENT_PRIORITIES_STEPS:r}=U.getCurrent();for(let i=0;i<r.length;i++)if(t<r[i])return i;return r.length}function zi(n,e,t,r,i,a,o){var A,k,D;let{representation:s}=n,d=(k=(A=t.getIsPaused())!=null?A:t.getReference().getValue().paused.pending)!=null?k:t.getReference().getValue().paused.last,u=(D=t.getPlaybackRate())!=null?D:t.getReference().getValue().speed,f=e;(d===void 0||u===void 0||d||u<=0)&&(f-=.1);let l=el(n,f,i),m=s.index.shouldRefresh(l.start,l.end),g=o.getPendingOperations().filter(N=>N.type===2).map(N=>N.value),h=o.getLastKnownInventory(),b=t.getCurrentTime();b===void 0&&(b=t.getReference().getValue().position.getWanted());let p=o.getSegmentHistory.bind(o),{segmentsToLoad:S,segmentsOnHold:E,isBufferFull:v}=Fi({content:n,bufferedSegments:h,currentPlaybackTime:b,fastSwitchThreshold:r,getBufferedHistory:p,neededRange:l,segmentsBeingPushed:g,maxBufferSize:a}),T=S.map(N=>({priority:kn(N.time,f),segment:N})),_=s.index.isInitialized()&&!s.index.isStillAwaitingFutureSegments()&&l.hasReachedPeriodEnd&&T.length===0&&E.length===0,R=null;return g.length>0&&(R=Math.min(...g.map(N=>N.segment.time))),E.length>0&&(R=R!==null?Math.min(R,E[0].time):E[0].time),T.length>0&&(R=R!==null?Math.min(R,T[0].segment.time):T[0].segment.time),{imminentDiscontinuity:Ui(n,l,R,_,h),hasFinishedLoading:_,neededSegments:T,isBufferFull:v,shouldRefreshManifest:m}}function el(n,e,t){var l;let r,{manifest:i,period:a,representation:o}=n,s=o.index.getLastAvailablePosition(),d=o.index;!C(s)&&_t.isNative(n.adaptation.type)&&e>=s&&d.isInitialized()&&!d.isStillAwaitingFutureSegments()&&tl(i,a,e)?r=s-1:r=e-.1;let u=r+t,f;return!o.index.isInitialized()||o.index.isStillAwaitingFutureSegments()||a.end===void 0?f=!1:s===void 0?f=u>=a.end:s===null?f=!0:f=u>=s,{start:Math.max(r,a.start),end:Math.min(u,(l=a.end)!=null?l:1/0),hasReachedPeriodEnd:f}}function tl(n,e,t){var i;let r=n.getPeriodAfter(e);return e.containsTime(t,r)&&n.isLastPeriodKnown&&e.id===((i=n.periods[n.periods.length-1])==null?void 0:i.id)}async function Mn(n,e,t,r,i){try{return await e.pushChunk(t)}catch(a){if(i.isCancelled()&&a instanceof fe)throw a;if(!(a instanceof ke)||!a.isBufferFull){let d=a instanceof Error?a.toString():\"An unknown error happened when pushing content\";throw new ne(\"BUFFER_APPEND_ERROR\",d,{tracks:[kt(t.inventoryInfos.adaptation)]})}let{position:o}=n.getReference().getValue(),s=o.getWanted();try{c.warn(\"Stream\",\"Running garbage collector\");let d=Math.max(s-5,0),u=s+r.getValue()+12;if(d>0&&await e.removeBuffer(0,d),u<Number.MAX_VALUE&&await e.removeBuffer(u,Number.MAX_VALUE),await Ti(200),i.cancellationError!==null)throw i.cancellationError;return await e.pushChunk(t)}catch(d){if(d instanceof fe)throw d;let u=d instanceof Error?d.toString():\"Could not clean the buffer\";throw new ne(\"BUFFER_FULL_ERROR\",u,{tracks:[kt(t.inventoryInfos.adaptation)]})}}}async function Wi({playbackObserver:n,content:e,initSegmentUniqueId:t,segment:r,segmentSink:i,bufferGoal:a},o){let s=e.representation.getMimeTypeString(),d={initSegmentUniqueId:t,chunk:null,timestampOffset:0,appendWindow:[void 0,void 0],codec:s},u=j({segment:r,chunkSize:void 0,start:0,end:0},e),f=await Mn(n,i,{data:d,inventoryInfos:u},a,o);return{content:e,segment:r,buffered:f}}async function qi({playbackObserver:n,bufferGoal:e,content:t,initSegmentUniqueId:r,parsedSegment:i,segment:a,segmentSink:o},s){var R,x;if(i.chunkData===null)return null;let{chunkData:d,chunkInfos:u,chunkOffset:f,chunkSize:l,appendWindow:m}=i,g=t.representation.getMimeTypeString(),{APPEND_WINDOW_SECURITIES:h}=U.getCurrent(),b=[m[0]!==void 0?Math.max(0,m[0]-h.START):void 0,m[1]!==void 0?m[1]+h.END:void 0],p={initSegmentUniqueId:r,chunk:d,timestampOffset:f,appendWindow:b,codec:g},S=(R=u==null?void 0:u.time)!=null?R:a.time,E=(x=u==null?void 0:u.duration)!=null?x:a.duration,v=S+E;b[0]!==void 0&&(S=Math.max(S,b[0])),b[1]!==void 0&&(v=Math.min(v,b[1]));let T=j({segment:a,chunkSize:l,start:S,end:v},t),_=await Mn(n,o,{data:p,inventoryInfos:T},e,s);return{content:t,segment:a,buffered:_}}function Vi({content:n,options:e,playbackObserver:t,segmentSink:r,segmentQueue:i,terminate:a},o,s){c.debug(\"Stream\",\"Creating RepresentationStream\",{periodStart:n.period.start,bufferType:n.adaptation.type,adaptationId:n.adaptation.id,representationBitrate:n.representation.bitrate,mimeType:n.representation.getMimeTypeString()});let{period:d,adaptation:u,representation:f}=n,{bufferGoal:l,maxBufferSize:m,drmSystemId:g,fastSwitchThreshold:h}=e,b=u.type,p=new z(\"RepresentationStream \"+b);p.linkToSignal(s);let S={segment:f.index.getInitSegment(),uniqueId:null,isLoaded:!1};p.signal.register(()=>{S.uniqueId!==null&&r.freeInitSegment(S.uniqueId)});let E=S.segment!==null;E||(S.isLoaded=!0);let v=new xn({drmSystemId:g,representation:f,notify:A=>o.encryptionDataEncountered(A.map(k=>j({content:n},k)))});if(p.isUsed())return;i.addEventListener(\"error\",A=>{p.signal.isCancelled()||(p.cancel(\"RepresentationStream: SegmentQueue err\"),o.error(A))},p.signal),i.addEventListener(\"parsedInitSegment\",R,p.signal),i.addEventListener(\"parsedMediaSegment\",R,p.signal),i.addEventListener(\"emptyQueue\",_,p.signal),i.addEventListener(\"requestRetry\",A=>{if(o.warning(A.error),p.signal.isCancelled())return;let k=A.segment,{index:D}=f;D.isSegmentStillAvailable(k)===!1?_():D.canBeOutOfSyncError(A.error,k)&&o.manifestMightBeOufOfSync()},p.signal),i.addEventListener(\"fullyLoadedSegment\",A=>{r.signalSegmentComplete(j({segment:A},n)).catch(x)},p.signal);let T=i.resetForContent(n,E,\"new RepresentationStream linked to SegmentQueue\");p.signal.register(A=>{i.stop(A.reason)}),t.listen(_,{includeLastObservation:!1,clearSignal:p.signal}),n.manifest.addEventListener(\"manifestUpdate\",_,p.signal),l.onUpdate(_,{emitCurrentValue:!1,clearSignal:p.signal}),m.onUpdate(_,{emitCurrentValue:!1,clearSignal:p.signal}),a.onUpdate(_,{emitCurrentValue:!1,clearSignal:p.signal}),_();return;function _(){if(p.isUsed())return;let A=t.getReference().getValue(),k=A.position.getWanted(),D=zi(n,k,t,h.getValue(),l.getValue(),m.getValue(),r),{neededSegments:N}=D,W=null;if(f.index.isInitialized()){if(N.length>0&&!S.isLoaded&&S.segment!==null){let M=N[0].priority;W={segment:S.segment,priority:M}}}else if(S.segment===null)c.warn(\"Stream\",\"Uninitialized index without an initialization segment\",{bufferType:b,representationBitrate:n.representation.bitrate});else if(S.isLoaded)c.warn(\"Stream\",\"Uninitialized index with an already loaded initialization segment\",{bufferType:b,representationBitrate:n.representation.bitrate});else{let M=A.position.getWanted();W={segment:S.segment,priority:kn(d.start,M)}}let L=a.getValue();if(L===null)T.setValue({initSegment:W,segmentQueue:N});else if(L.urgent){c.debug(\"Stream\",\"Urgent switch, terminate now.\",{bufferType:b,representationBitrate:n.representation.bitrate}),T.setValue({initSegment:null,segmentQueue:[]}),T.finish(),p.cancel(L.reason),o.terminating();return}else{let M=N[0],w=i.getRequestedInitSegment(),B=i.getRequestedMediaSegment(),H=B===null||M===void 0||B.id!==M.segment.id?[]:[M],Q=w===null?null:W;if(T.setValue({initSegment:Q,segmentQueue:H}),H.length===0&&Q===null){c.debug(\"Stream\",\"No request left, terminate\",{bufferType:b,representationBitrate:n.representation.bitrate}),T.finish(),p.cancel(L.reason),o.terminating();return}}if(o.streamStatusUpdate({period:d,position:A.position.getWanted(),bufferType:b,imminentDiscontinuity:D.imminentDiscontinuity,isEmptyStream:!1,hasFinishedLoading:D.hasFinishedLoading,neededSegments:D.neededSegments}),p.signal.isCancelled())return;let{UPTO_CURRENT_POSITION_CLEANUP:P}=U.getCurrent();if(D.isBufferFull){let M=Math.max(0,k-P);M>0&&r.removeBuffer(0,M).catch(x)}D.shouldRefreshManifest&&o.needsManifestRefresh()}function R(A){if(v.onNewProtectionData(A.protectionData),A.segmentType===\"init\"){if(!f.index.isInitialized()&&A.segmentList!==void 0&&f.index.initialize(A.segmentList),S.isLoaded=!0,A.initializationData!==null){let k=f.uniqueId;S.uniqueId=k,r.declareInitSegment(k,A.initializationData),Wi({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:k,segment:A.segment,segmentData:A.initializationData,segmentSink:r},p.signal).then(D=>{D!==null&&o.addedSegment(D)}).catch(x)}_();return}else{let{inbandEvents:k,predictedSegments:D,needsManifestRefresh:N}=A;if(D!==void 0&&f.index.addPredictedSegments(D,A.segment),N===!0&&(o.needsManifestRefresh(),p.isUsed())||k!==void 0&&k.length>0&&(o.inbandEvent(k),p.isUsed()))return;let W=S.uniqueId;qi({playbackObserver:t,bufferGoal:l,content:n,initSegmentUniqueId:W,parsedSegment:A,segment:A.segment,segmentSink:r},p.signal).then(L=>{L!==null&&o.addedSegment(L)}).catch(x)}}function x(A){p.isUsed()&&A instanceof fe||(c.warn(\"Stream\",\"Received fatal buffer error\",{bufferType:b,representationBitrate:n.representation.bitrate},A instanceof Error?A:null),p.cancel(\"RepresentationStream: fatal buffer err\"),o.error(A))}}var fs=Vi;function Gi(n,e,t,r,i){var m,g,h,b;if(t.switchingMode===\"lazy\")return{type:\"continue\",value:void 0};let a=r.getLastKnownInventory(),o=[];for(let p of a)p.infos.period.id===n.id&&(p.infos.adaptation.id!==e.id||!me(t.representationIds,p.infos.representation.id))&&Et(o,{start:(m=p.bufferedStart)!=null?m:p.start,end:(g=p.bufferedEnd)!=null?g:p.end});let s=r.getPendingOperations();for(let p of s)if(p.type===0){let S=p.value.inventoryInfos;if(S.period.id===n.id&&(S.adaptation.id!==e.id||!me(t.representationIds,S.representation.id))){let E=S.segment.time,v=E+S.segment.duration;Et(o,{start:E,end:v})}}if(o.length===0)return{type:\"continue\",value:void 0};if(t.switchingMode===\"reload\"){let p=i.getReadyState();if(p===void 0||p>1)return{type:\"needs-reload\",value:void 0}}let d=t.switchingMode===\"direct\",u=[],f=Ht(a,n);if(f!==null&&(f.bufferedEnd===void 0||n.start-f.bufferedEnd<1)&&u.push({start:0,end:n.start+1}),!d){let{ADAP_REP_SWITCH_BUFFER_PADDINGS:p}=U.getCurrent(),S=e.type,E=(h=p[S].before)!=null?h:0,v=(b=p[S].after)!=null?b:0,T=i.getCurrentTime();T===void 0&&(T=i.getReference().getValue().position.getPolled()),u.push({start:T-E,end:T+v})}if(n.end!==void 0){let p=jt(a,n);p!==null&&(p.bufferedStart===void 0||p.bufferedStart-n.end<1)&&u.push({start:n.end-1,end:Number.MAX_VALUE})}let l=Nr(o,u);return l.length===0?{type:\"continue\",value:void 0}:d?{type:\"flush-buffer\",value:l}:{type:\"clean-buffer\",value:l}}function Hi({playbackObserver:n,content:e,options:t,representationEstimator:r,segmentSink:i,segmentQueueCreator:a,wantedBufferAhead:o,maxVideoBufferSize:s},d,u){let{manifest:f,period:l,adaptation:m}=e,g=new z(\"AdaptationStream \"+m.type);g.linkToSignal(u);let h=new Map,b=new $(null,g.signal),p,S=e.representations.getValue().representationIds,E=ms(e.adaptation.representations,S),v=new $(E,g.signal),{estimates:T,callbacks:_}=r({manifest:f,period:l,adaptation:m},b,v,n,g.signal),R=new $(!1);n.listen(P=>{var w;let M=(w=P.canStream)!=null?w:!0;R.getValue()===M&&(c.debug(\"Stream\",\"isMediaSegmentQueueInterrupted updated to\",!M),R.setValue(!M))},{clearSignal:g.signal});let x=a.createSegmentQueue(m.type,{onRequestBegin:_.requestBegin,onRequestEnd:_.requestEnd,onProgress:_.requestProgress,onMetrics:_.metrics},R),A=new $(0);T.onUpdate(({bitrate:P,knownStableBitrate:M})=>{t.enableFastSwitching&&A.setValueIfChanged(M),!(P===void 0||P===p)&&(p=P,c.debug(\"Stream\",`new ${m.type} bitrate estimate received from ABR`,{bitrate:P}),d.bitrateEstimateChange({type:m.type,bitrate:P}))},{emitCurrentValue:!0,clearSignal:g.signal});let k;e.representations.onUpdate(P=>{k!==void 0&&k.cancel(\"locked representations changed\");let M=e.representations.getValue().representationIds,w=ms(e.adaptation.representations,M);v.setValueIfChanged(w);let B=new z(\"AdaptationStream: RepresentationStream Group \"+m.type);k=B,B.linkToSignal(g.signal),D(P,B.signal).catch(H=>{B.isUsed()&&z.isCancellationError(H)||(g.cancel(\"RepresentationStream err\"),d.error(H))})},{clearSignal:g.signal,emitCurrentValue:!0});return;async function D(P,M){let w=Gi(l,m,P,i,n);switch(w.type){case\"continue\":break;case\"needs-reload\":return dt(()=>{n.listen(()=>{if(M.isCancelled())return;let{DELTA_POSITION_AFTER_RELOAD:B}=U.getCurrent(),H=B.bitrateSwitch;return d.waitingMediaSourceReload({bufferType:m.type,period:l,timeOffset:H,stayInPeriod:!0})},{includeLastObservation:!0,clearSignal:M})});case\"flush-buffer\":case\"clean-buffer\":for(let B of w.value)if(await i.removeBuffer(B.start,B.end),M.isCancelled())return;if(w.type===\"flush-buffer\"&&(d.needsBufferFlush(),M.isCancelled()))return;break;default:Ue(w)}N(M)}function N(P){let M=new z(\"AdaptationStream: RepresentationStream creation \"+m.type);M.linkToSignal(P);let{representation:w}=T.getValue();if(w===null)return;let B=new $(null,M.signal);T.onUpdate(Z=>{if(!(Z.representation===null||Z.representation.id===w.id))return Z.urgent?(c.info(\"Stream\",\"urgent Representation switch\",{bufferType:m.type,estimateBitrate:Z.bitrate,prevRepresentationBitrate:w.bitrate,newRepresentationBitrate:Z.representation.bitrate}),B.setValue({urgent:!0,reason:\"Urgent Representation switch\"})):(c.info(\"Stream\",\"slow Representation switch\",{bufferType:m.type,estimateBitrate:Z.bitrate,prevRepresentationBitrate:w.bitrate,newRepresentationBitrate:Z.representation.bitrate}),B.setValue({urgent:!1,reason:\"Non-urgent Representation switch\"}))},{clearSignal:M.signal,emitCurrentValue:!0});let H={type:m.type,adaptation:m,period:l,representation:w};if(b.setValue(w),P.isCancelled()||(d.representationChange(H),P.isCancelled()))return;let Q={streamStatusUpdate:d.streamStatusUpdate,encryptionDataEncountered:d.encryptionDataEncountered,manifestMightBeOufOfSync:d.manifestMightBeOufOfSync,needsManifestRefresh:d.needsManifestRefresh,inbandEvent:d.inbandEvent,warning:d.warning,error(Z){g.cancel(\"RepresentationStream err cb\"),d.error(Z)},addedSegment(Z){_.addedSegment(Z)},terminating(){if(!M.isUsed())return M.cancel(\"RepresentationStream terminating\"),N(P)}};W(w,B,Q,P)}function W(P,M,w,B){let H=!1,Q=new z(`RepresentationStream-linked listeners in AdaptationStream - periodStart=${l.start} type=${m.type}`);Q.linkToSignal(B);let Z=sn(o,J=>L(P,J),Q.signal),V=m.type===\"video\"?s:new $(1/0);c.info(\"Stream\",\"changing representation\",{bufferType:m.type,representationId:P.id,representationBitrate:P.bitrate});let ee=j({},w,{error(J){var he;if(H){c.warn(\"Stream\",\"Ignoring RepresentationStream error\",J);return}H=!0;let ce=Ie(J,{defaultCode:\"NONE\",defaultReason:\"Unknown `RepresentationStream` error\"});if(ce.code!==\"BUFFER_FULL_ERROR\")w.error(J);else{c.warn(\"Stream\",\"received BUFFER_FULL_ERROR\",{bufferType:m.type,representationBitrate:P.bitrate});let Ze=o.getValue(),ue=((he=h.get(P.id))!=null?he:1)*.7;if(h.set(P.id,ue),ue<=.05||L(P,Ze)<=2){w.error(ce);return}hn(4e3,Q.signal).then(()=>W(P,M,w,B)).catch(O)}},terminating(){Q.cancel(\"Representation terminating\"),w.terminating()}});fs({playbackObserver:n,content:{representation:P,adaptation:m,period:l,manifest:f},segmentSink:i,segmentQueue:x,terminate:M,options:{bufferGoal:Z,maxBufferSize:V,drmSystemId:t.drmSystemId,fastSwitchThreshold:A}},ee,B),f.addEventListener(\"manifestUpdate\",J=>{for(let ce of J.updatedPeriods)if(ce.period.id===l.id){for(let he of ce.result.updatedAdaptations)if(he.adaptation===m.id){for(let Ze of he.removedRepresentations)if(Ze===P.id)return Q.isUsed()?void 0:d.waitingMediaSourceReload({bufferType:m.type,period:l,timeOffset:0,stayInPeriod:!0})}}else if(ce.period.start>l.start)break},Q.signal)}function L(P,M){let w=h.get(P.id),B=w!==void 0?w:1;return w===void 0&&h.set(P.id,B),B<1&&M===1/0?300*B:M*B}}function ms(n,e){let t=n.filter(r=>me(e,r.id)&&!r.shouldBeAvoided&&r.isPlayable()!==!1);return t.length>0?t:n.filter(r=>me(e,r.id)&&r.isPlayable()!==!1)}var cs=Hi;function ji(n,e,t,r,i,a){var g,h,b,p;if(n.codec!==void 0&&a.onCodecSwitch===\"reload\"&&!nl(t,n.codec))return{type:\"needs-reload\",value:void 0};let o=n.getLastKnownInventory(),s=[];for(let S of o)S.infos.period.id===e.id&&S.infos.adaptation.id!==t.id&&Et(s,{start:(g=S.bufferedStart)!=null?g:S.start,end:(h=S.bufferedEnd)!=null?h:S.end});let d=n.getPendingOperations();for(let S of d)if(S.type===0){let E=S.value.inventoryInfos;if(E.period.id===e.id&&E.adaptation.id!==t.id){let v=E.segment.time,T=v+E.segment.duration;Et(s,{start:v,end:T})}}if(s.length===0)return{type:\"continue\",value:void 0};if(r===\"reload\"){let S=i.getReadyState();if(S===void 0||S>1)return{type:\"needs-reload\",value:void 0}}let u=r===\"direct\",f=[],l=Ht(o,e);if(l!==null&&(l.bufferedEnd===void 0||e.start-l.bufferedEnd<1)&&f.push({start:0,end:e.start+1}),!u){let S=t.type,{ADAP_REP_SWITCH_BUFFER_PADDINGS:E}=U.getCurrent(),v=(b=E[S].before)!=null?b:0,T=(p=E[S].after)!=null?p:0,_=i.getCurrentTime();_===void 0&&(_=i.getReference().getValue().position.getPolled()),f.push({start:_-v,end:_+T})}if(e.end!==void 0){let S=jt(o,e);S!==null&&(S.bufferedStart===void 0||S.bufferedStart-e.end<1)&&f.push({start:e.end-1,end:Number.MAX_VALUE})}let m=Nr(s,f);return m.length===0?{type:\"continue\",value:void 0}:u&&t.type!==\"text\"?{type:\"flush-buffer\",value:m}:{type:\"clean-buffer\",value:m}}function nl(n,e){return n.representations.some(t=>t.isPlayable()===!0&&Ho(t.getMimeTypeString(),e))}function Ki({bufferType:n,content:e,garbageCollectors:t,playbackObserver:r,representationEstimator:i,segmentQueueCreator:a,segmentSinksStore:o,options:s,wantedBufferAhead:d,maxVideoBufferSize:u},f,l){let{manifest:m,period:g}=e,h=new $(void 0,l);if(f.periodStreamReady({type:n,manifest:m,period:g,adaptationRef:h}),l.isCancelled())return;let b,p=!0;h.onUpdate(v=>{(async()=>{var L;if(v===void 0)return;let T=new z(\"PeriodStream: Adaptation choice \"+n);if(T.linkToSignal(l),b==null||b.cancel(\"PeriodStream: Adaptation update\"),b=T,v===null){c.info(\"Stream\",\"Set no Adaptation\",{periodStart:g.start,bufferType:n});let P=o.getStatus(n);if(P.type===\"initialized\"){if(c.info(\"Stream\",\"Clearing previous SegmentSink\",{periodStart:g.start,bufferType:n}),_t.isNative(n))return E(0,!0,T.signal);{let M=(L=g.end)!=null?L:1/0;if(g.start>M)c.warn(\"Stream\",\"Can't free buffer: period's start is after its end\",{periodStart:g.start,periodEnd:M,bufferType:n});else if(await P.value.removeBuffer(g.start,M),T.isUsed())return}}else if(P.type===\"uninitialized\"&&(o.disableSegmentSink(n),T.isUsed()))return;return f.adaptationChange({type:n,adaptation:null,period:g}),T.isUsed()?void 0:ps(r,d,n,{period:g},f,T.signal)}let _=g.adaptations[n],R=K(_!=null?_:[],P=>P.id===v.adaptationId);if(R===void 0){b.cancel(\"PeriodStream: Adaptation not found\"),c.warn(\"Stream\",\"Unfound chosen Adaptation choice\",{adaptationId:v.adaptationId});return}let{DELTA_POSITION_AFTER_RELOAD:x}=U.getCurrent(),A=!1,k;if(p)k=0;else if(v.relativeResumingPosition!==void 0)k=v.relativeResumingPosition;else switch(A=!0,n){case\"audio\":k=x.trackSwitch.audio;break;case\"video\":k=x.trackSwitch.video;break;default:k=x.trackSwitch.other;break}if(p=!1,_t.isNative(n)&&o.getStatus(n).type===\"disabled\")return E(k,!0,T.signal);m.addEventListener(\"manifestUpdate\",P=>{for(let M of P.updatedPeriods)if(M.period.id===g.id){for(let w of M.result.removedAdaptations)if(w.id===R.id)return E(k,!0,T.signal)}else if(M.period.start>g.start)break},b.signal);let{representations:D}=v;if(c.info(\"Stream\",\"Updating adaptation\",{bufferType:R.type,periodStart:g.start,adaptationId:R.id}),f.adaptationChange({type:n,adaptation:R,period:g}),T.isUsed())return;let N=rl(o,n,R),W=ji(N,g,R,v.switchingMode,r,s);if(W.type===\"needs-reload\")return E(k,!0,T.signal);if(await o.waitForUsableBuffers(T.signal),!T.isUsed()){if(W.type===\"flush-buffer\"||W.type===\"clean-buffer\"){for(let{start:P,end:M}of W.value)if(await N.removeBuffer(P,M),T.isUsed())return;if(W.type===\"flush-buffer\"&&(f.needsBufferFlush({relativeResumingPosition:k,relativePosHasBeenDefaulted:A}),T.isUsed()))return}t.get(N)(T.signal),S(R,D,N,T.signal)}})().catch(T=>{T instanceof fe||(b==null||b.cancel(\"PeriodStream err\"),f.error(T))})},{clearSignal:l,emitCurrentValue:!0});function S(v,T,_,R){let x=al(r,v.type);cs({content:{manifest:m,period:g,adaptation:v,representations:T},options:s,playbackObserver:x,representationEstimator:i,segmentSink:_,segmentQueueCreator:a,wantedBufferAhead:d,maxVideoBufferSize:u},te(X({},f),{error:A}),R);function A(k){if(!_t.isNative(n)){c.error(\"Stream\",`${n} Stream crashed. Aborting it.`,k instanceof Error?k:\"\"),o.disposeSegmentSink(n,\"AdaptationStream err\");let D=Ie(k,{defaultCode:\"NONE\",defaultReason:\"Unknown `AdaptationStream` error\"});return f.warning(D),R.isCancelled()?void 0:ps(r,d,n,{period:g},f,R)}c.error(\"Stream\",`${n} Stream crashed. Stopping playback.`,k instanceof Error?k:\"\"),f.error(k)}}function E(v,T,_){dt(()=>{r.listen(()=>{_.isCancelled()||f.waitingMediaSourceReload({bufferType:n,period:g,timeOffset:v,stayInPeriod:T})},{includeLastObservation:!0,clearSignal:_})})}}function rl(n,e,t){let r=n.getStatus(e);if(r.type===\"initialized\")return c.info(\"Stream\",\"Reusing a previous SegmentSink for the type\",{bufferType:e}),r.value;let i=il(t);return n.createSegmentSink(e,i)}function il(n){let e=n.representations.filter(t=>t.isPlayable()!==!1);if(e.length>0)return e[0].getMimeTypeString();if(n.representations.length>0)return n.representations[0].getMimeTypeString();throw new ne(\"NO_PLAYABLE_REPRESENTATION\",\"No Representation in the chosen \"+n.type+\" Adaptation can be played\",{tracks:[kt(n)]})}function al(n,e){return n.deriveReadOnlyObserver(function(r,i){let a=new $(o(),i);return r.onUpdate(s,{clearSignal:i,emitCurrentValue:!1}),a;function o(){let d=r.getValue(),u=d.buffered[e],f=u!==null?Br(u,d.position.getWanted()):0;return j({},d,{bufferGap:f,buffered:u})}function s(){a.setValue(o())}})}function ps(n,e,t,r,i,a){let{period:o}=r,s=!1;e.onUpdate(d,{emitCurrentValue:!1,clearSignal:a}),n.listen(d,{includeLastObservation:!1,clearSignal:a}),d();function d(){let u=n.getReference().getValue(),f=e.getValue(),l=u.position.getWanted();o.end!==void 0&&l+f>=o.end&&(c.debug(\"Stream\",'full \"empty\" AdaptationStream',{bufferType:t,periodEnd:o.end,position:l,wantedBufferAhead:f}),s=!0),i.streamStatusUpdate({period:o,bufferType:t,imminentDiscontinuity:null,position:l,isEmptyStream:!0,hasFinishedLoading:s,neededSegments:[]})}}var gs=Ki;function zr(n,e){if(e.length===0)return[];let t=[],r=n.getLastKnownInventory(),i=n.getPendingOperations();for(let a of r)if(e.some(s=>a.infos.period.id===s.period.id&&a.infos.adaptation.id===s.adaptation.id&&a.infos.representation.id===s.representation.id)){let{bufferedStart:s,bufferedEnd:d}=a;if(s===void 0||d===void 0)return c.warn(\"Stream\",\"No buffered start or end found from a segment.\",{bufferType:a.infos.adaptation.type,segmentStart:a.infos.segment.time}),[{start:0,end:Number.MAX_VALUE}];let u=t[t.length-1];u!==void 0&&u.end===s?u.end=d:t.push({start:s,end:d})}for(let a of i){if(a.type!==0)continue;let o=a.value;e.some(d=>o.inventoryInfos.period.id===d.period.id&&o.inventoryInfos.adaptation.id===d.adaptation.id&&o.inventoryInfos.representation.id===d.representation.id)&&Et(t,{start:o.inventoryInfos.start,end:o.inventoryInfos.end})}return t}function Yi(n,e,t,r,i,a,o,s){let{manifest:d,initialPeriod:u}=n,{maxBufferAhead:f,maxBufferBehind:l,wantedBufferAhead:m,maxVideoBufferSize:g}=a,{MINIMUM_MAX_BUFFER_AHEAD:h,MAXIMUM_MAX_BUFFER_AHEAD:b,MAXIMUM_MAX_BUFFER_BEHIND:p}=U.getCurrent(),S=new _n(T=>{var A,k;let{bufferType:_}=T,R=(A=p[_])!=null?A:1/0,x=(k=b[_])!=null?k:1/0;return D=>{Lr({segmentSink:T,playbackObserver:e,maxBufferBehind:sn(l,N=>Math.min(N,R),D),maxBufferAhead:sn(f,N=>{var L;let W=Math.max(N,(L=h[_])!=null?L:0);return Math.min(W,x)},D)},D)}});for(let T of r.getBufferTypes())E(T,u);function E(T,_){let R=new Dt((W,L)=>W.start-L.start),x=!1,A=new z(\"StreamOrchestrator Streams for \"+T);return A.linkToSignal(s),e.listen(({position:W})=>{let L=W.getWanted();if(!x||!D(L))return;let P=()=>{var w;return(w=d.getPeriodForTime(L))!=null?w:d.getNextPeriod(L)},M=P();if(!(!C(M)&&R.has(M))){for(c.info(\"Stream\",\"Destroying all PeriodStreams due to out of bounds situation\",{bufferType:T,time:L}),x=!1;R.length()>0;){let w=R.get(R.length()-1);R.removeElement(w),o.periodStreamCleared({type:T,manifest:d,period:w})}if(A.cancel(\"PeriodStream is out of bounds\"),A=new z(\"StreamOrchestrator Streams for \"+T),A.linkToSignal(s),M=P(),M===void 0){c.warn(\"Stream\",\"The wanted position is not found in the Manifest.\"),x=!0;return}k(M)}},{clearSignal:s,includeLastObservation:!0}),d.addEventListener(\"decipherabilityUpdate\",W=>{s.isCancelled()||N(W).catch(L=>{s.isCancelled()||(A.cancel(\"decipherabilityUpdate event\"),o.error(L))})},s),k(_);function k(W){let L=te(X({},o),{waitingMediaSourceReload(P){let M=R.head();M===void 0||M.id!==P.period.id?o.lockedStream({bufferType:P.bufferType,period:P.period}):o.needsMediaSourceReload({timeOffset:P.timeOffset,minimumPosition:P.stayInPeriod?P.period.start:void 0,maximumPosition:P.stayInPeriod?P.period.end:void 0})},periodStreamReady(P){x=!0,R.add(P.period),o.periodStreamReady(P)},periodStreamCleared(P){R.removeElement(P.period),o.periodStreamCleared(P)},error(P){A.cancel(\"PeriodStream err callback\"),o.error(P)}});v(T,W,L,A.signal)}function D(W){let L=R.head(),P=R.last();return L===void 0||P===void 0?!0:L.start>W||(C(P.end)?1/0:P.end)<W}async function N(W){let L=r.getStatus(T),P=W.filter(V=>V.adaptation.type===T);if(P.length===0||L.type!==\"initialized\"||P.every(V=>V.representation.decipherable===!0))return;let M=L.value,w=P.filter(V=>V.representation.decipherable===void 0),B=P.filter(V=>V.representation.decipherable===!1),H=zr(M,B),Q=zr(M,w);for(c.info(\"Stream\",\"Destroying all PeriodStreams for decipherability matters\",{bufferType:T}),x=!1;R.length()>0;){let V=R.get(R.length()-1);R.removeElement(V),o.periodStreamCleared({type:T,manifest:d,period:V})}A.cancel(\"decipherability update\"),A=new z(\"StreamOrchestrator Streams for \"+T),A.linkToSignal(s);let Z=A;for(let{start:V,end:ee}of[...H,...Q]){if(Z.isUsed())return;V<ee&&await M.removeBuffer(V,ee)}dt(()=>{if(Z.signal.isCancelled())return;let V=e.getReference().getValue();if(hs(V,H)){if(o.needsDecipherabilityFlush(),Z.isUsed())return}else if(hs(V,Q)&&(o.needsBufferFlush(),Z.isUsed()))return;let ee=V.position.getWanted(),J=d.getPeriodForTime(ee);if(J===void 0&&(J=d.getNextPeriod(ee),c.warn(\"Stream\",\"No Period found for the reloading position, selecting next one instead\",{reloadPosition:ee,nextPeriodStart:J==null?void 0:J.start})),J===void 0&&(J=d.periods[d.periods.length-1],c.warn(\"Stream\",\"No Period found for of after the reloading position, selecting the last one\",{reloadPosition:ee,nextPeriodStart:J==null?void 0:J.start,nextPeriodEnd:J==null?void 0:J.end})),J===void 0){o.error(new ne(\"MEDIA_TIME_NOT_FOUND\",\"The wanted position is not found in the Manifest.\"));return}k(J)})}}function v(T,_,R,x){c.info(\"Stream\",\"Creating new PeriodStream\",{bufferType:T,periodStart:_.start});let A=null,k=new z(\"StreamOrchestrator current consecutive Streams \"+T);k.linkToSignal(x),e.listen(({position:P},M)=>{if(_.end!==void 0&&P.getWanted()>=_.end){let w=d.getPeriodAfter(_);if(_.containsTime(P.getWanted(),w))return;c.info(\"Stream\",\"Destroying PeriodStream as the current playhead moved above it\",{bufferType:T,periodStart:_.start,periodEnd:_.end,position:P.getWanted()}),M(),R.periodStreamCleared({type:T,manifest:d,period:_}),k.cancel(\"Position ahead of PeriodStream\")}},{clearSignal:x,includeLastObservation:!0});let D={bufferType:T,content:{manifest:d,period:_},garbageCollectors:S,maxVideoBufferSize:g,segmentQueueCreator:i,segmentSinksStore:r,options:a,playbackObserver:e,representationEstimator:t,wantedBufferAhead:m},N=te(X({},R),{streamStatusUpdate(P){if(P.hasFinishedLoading){let M=d.getPeriodAfter(_);M!==null&&W(M)}else A!==null&&(c.info(\"Stream\",\"Destroying next PeriodStream due to current one being active\",{bufferType:T,periodStart:_.start,nextPeriodStart:A.period.start}),R.periodStreamCleared({type:T,manifest:d,period:A.period}),A.canceller.cancel(\"previous PeriodStream is active\"),A=null);R.streamStatusUpdate(P)},error(P){A!==null&&(A.canceller.cancel(\"previous PeriodStream err\"),A=null),k.cancel(\"PeriodStream err\"),R.error(P)}});gs(D,N,k.signal),L(k.signal);function W(P){if(A!==null){if(A.period.id===P.id)return;c.warn(\"Stream\",\"Creating next `PeriodStream` while one was already created.\",{bufferType:T,nextPeriodStart:P.start}),R.periodStreamCleared({type:T,manifest:d,period:A.period}),A.canceller.cancel(\"PeriodStream recreation\")}let M=new z(\"StreamOrchestrator next PeriodStream \"+T);M.linkToSignal(x),A={canceller:M,period:P},v(T,P,R,A.canceller.signal)}function L(P){d.addEventListener(\"manifestUpdate\",M=>{for(let w of M.removedPeriods)if(w.id===_.id){if(d.periods.length>0&&d.periods[0].start<=w.start)return dt(()=>{if(!P.isCancelled())return o.needsMediaSourceReload({timeOffset:0,minimumPosition:void 0,maximumPosition:void 0})})}else if(w.start>_.start)break;if(A!==null){let w=d.getPeriodAfter(_);(w===null||A.period.id!==w.id)&&(c.warn(\"Stream\",\"Destroying next PeriodStream due to manifest update\",{bufferType:T,nextPeriodStart:A.period.start}),R.periodStreamCleared({type:T,manifest:d,period:A.period}),A.canceller.cancel(\"Next Period changed\"),A=null)}},P)}}}function hs(n,e){if(e.length===0)return!1;let t=n.position.getPolled();return n.speed>=0?e[e.length-1].end>=t-5:e[0].start<=t+5}var Is=Yi;var bs=Is;var Te=ie,Ss,ys,Ts,Es,_s,Qi=(_s=(Es=(Ts=(ys=(Ss=Te==null?void 0:Te.MediaSource)!=null?Ss:Te==null?void 0:Te.MozMediaSource)!=null?ys:Te==null?void 0:Te.WebKitMediaSource)!=null?Ts:Te==null?void 0:Te.MSMediaSource)!=null?Es:Te==null?void 0:Te.ManagedMediaSource)!=null?_s:void 0,ol=Qi!==void 0&&Qi===(Te==null?void 0:Te.ManagedMediaSource),sl={HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},dl={MediaSource_:Qi,isManagedMediaSource:ol,READY_STATES:sl},Yt=dl;function $i(n,e){if(typeof n.changeType==\"function\"){try{n.changeType(e)}catch(t){return c.warn(\"mse\",\"Could not call 'changeType' on the given SourceBuffer:\",t instanceof Error?t:\"\"),!1}return!0}return!1}function ul(n){let e=[];for(let t=0;t<n.length;t++){let r=n[t];r.updating&&e.push(r)}return e}function On(n,e){if(c.debug(\"mse\",\"Trying to call endOfStream\"),n.readyState!==\"open\"){c.debug(\"mse\",\"MediaSource not open, cancel endOfStream\");return}let{sourceBuffers:t}=n,r=ul(t);if(r.length===0){c.info(\"mse\",\"Triggering end of stream\");try{n.endOfStream()}catch(a){c.error(\"mse\",\"Unable to call endOfStream\",a instanceof Error?a:new Error(\"Unknown error\"))}return}c.debug(\"mse\",\"Waiting SourceBuffers to be updated before calling endOfStream.\");let i=new z(\"EndOfStream current iteration\");i.linkToSignal(e);for(let a of r)wo(a,()=>{i.cancel(\"SourceBuffer update\"),On(n,e)},i.signal);Do(t,()=>{i.cancel(\"SourceBuffer remove\"),On(n,e)},i.signal)}function Rs(n,e){let t=new z(\"EndOfStream\");t.linkToSignal(e),Gt(n,()=>{c.debug(\"mse\",\"MediaSource re-opened while end-of-stream is active\"),t.cancel(\"MediaSource re-opened\"),t=new z(\"EndOfStream\"),t.linkToSignal(e),On(n,t.signal)},e),On(n,t.signal)}function Xi(){let{FORCE_HAS_ISSUES_WITH_HIGH_MEDIA_SOURCE_DURATION:n}=U.getCurrent();return n||it.device===it.DEVICES.PlayStation5}var ll=365*24*3600,wn=class{constructor(e){this._mediaSource=e,this._currentMediaSourceDurationUpdateCanceller=null}updateDuration(e,t){this._currentMediaSourceDurationUpdateCanceller!==null&&this._currentMediaSourceDurationUpdateCanceller.cancel(\"manual duration update\"),this._currentMediaSourceDurationUpdateCanceller=new z(\"MediaSource Duration Update\");let r=this._mediaSource,i=this._currentMediaSourceDurationUpdateCanceller.signal,a=cl(r,i),o=new z(void 0);o.linkToSignal(i),a.onUpdate(s,{emitCurrentValue:!0,clearSignal:i});function s(){if(o.cancel(\"MediaSource open status changed\"),!a.getValue())return;o=new z(void 0),o.linkToSignal(i);let d=ml(r.sourceBuffers,o.signal),u=new z(void 0);return u.linkToSignal(o.signal),d.onUpdate(f=>{u.cancel(\"SourceBuffer status update\"),u=new z(void 0),u.linkToSignal(o.signal),!f&&vs(r,e,t,u.signal)},{clearSignal:o.signal,emitCurrentValue:!0})}}stopUpdating(e){this._currentMediaSourceDurationUpdateCanceller!==null&&(this._currentMediaSourceDurationUpdateCanceller.cancel(e!=null?e:\"stop MSDU\"),this._currentMediaSourceDurationUpdateCanceller=null)}};function fl(n,e,t){let r=e;t||(r=Xi()?1/0:Ps(e));let i=0;for(let a=0;a<n.sourceBuffers.length;a++){let o=n.sourceBuffers[a],s=o.buffered.length;s>0&&(i=Math.max(i,o.buffered.end(s-1)))}if(r===n.duration)return\"success\";if(i>r){if(i<n.duration)try{c.info(\"mse\",\"Updating duration to what is currently buffered\",{maxBufferedEnd:i}),n.duration=i}catch(a){return c.warn(\"mse\",\"Can't update duration on the MediaSource.\",a instanceof Error?a:\"\"),\"failed\"}return\"partial\"}else{let a=n.duration;try{if(c.info(\"mse\",\"Updating duration\",{newDuration:r}),n.duration=r,n.readyState===\"open\"&&!isFinite(r)){let s=Ps(e);c.info(\"mse\",\"calling `mediaSource.setLiveSeekableRange`\",{maxSeekable:s}),n.setLiveSeekableRange(0,s)}}catch(s){return c.warn(\"mse\",\"Can't update duration on the MediaSource.\",s instanceof Error?s:\"\"),\"failed\"}let o=Math.abs(n.duration-r);if(o>=.1){let s=Math.abs(n.duration-a);return o<s?\"partial\":\"failed\"}return\"success\"}}function ml(n,e){if(n.length===0){let i=new $(!1);return i.finish(),i}let t=new $(!1,e);r();for(let i=0;i<n.length;i++){let a=n[i];a.addEventListener(\"updatestart\",r),a.addEventListener(\"update\",r),e.register(()=>{a.removeEventListener(\"updatestart\",r),a.removeEventListener(\"update\",r)})}return t;function r(){for(let i=0;i<n.length;i++)if(n[i].updating){t.setValueIfChanged(!0);return}t.setValueIfChanged(!1)}}function cl(n,e){let t=new $(n.readyState===\"open\",e);return Gt(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource open in duration updater\"),t.setValueIfChanged(!0)},e),xr(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource ended in duration updater\"),t.setValueIfChanged(!1)},e),Ar(n,()=>{c.debug(\"mse\",\"Reacting to MediaSource close in duration updater\"),t.setValueIfChanged(!1)},e),t}function vs(n,e,t,r){if(fl(n,e,t)===\"success\")return;let a=setTimeout(()=>{o(),vs(n,e,t,r)},2e3),o=r.register(()=>{clearTimeout(a)})}function Ps(n){return Math.max(Math.pow(2,32),n+ll)}var Dn=class extends pe{constructor(e,t){super(),this.id=e,this.sourceBuffers=[],this._canceller=new z(\"MainMediaSourceInterface\"),c.info(\"mse\",\"Creating MediaSource\");let r=new t,i=r.handle;this.handle=C(i)?{type:\"media-source\",value:r}:{type:\"handle\",value:i},this._mediaSource=r,this.readyState=r.readyState,this._durationUpdater=new wn(r),this._endOfStreamCanceller=null,Gt(r,()=>{this.readyState=r.readyState,this.trigger(\"mediaSourceOpen\",null)},this._canceller.signal),xr(r,()=>{this.readyState=r.readyState,this.trigger(\"mediaSourceEnded\",null)},this._canceller.signal),Ar(r,()=>{this.readyState=r.readyState,this.trigger(\"mediaSourceClose\",null)},this._canceller.signal),this._mediaSource.streaming!==void 0&&(this.streaming=this._mediaSource.streaming),this._mediaSource.addEventListener(\"startstreaming\",()=>{this.streaming=!0,this.trigger(\"streamingChanged\",null)}),this._mediaSource.addEventListener(\"endstreaming\",()=>{this.streaming=!1,this.trigger(\"streamingChanged\",null)})}addSourceBuffer(e,t){let r=this._mediaSource.addSourceBuffer(t),i=new Zi(e,t,r);return this.sourceBuffers.push(i),i}setDuration(e,t){this._durationUpdater.updateDuration(e,t)}interruptDurationSetting(e){this._durationUpdater.stopUpdating(e)}maintainEndOfStream(){this._endOfStreamCanceller===null&&(this._endOfStreamCanceller=new z(\"MainMediaSourceInterface EndOfStream\"),this._endOfStreamCanceller.linkToSignal(this._canceller.signal),c.debug(\"mse\",\"end-of-stream order received.\"),Rs(this._mediaSource,this._endOfStreamCanceller.signal))}stopEndOfStream(){this._endOfStreamCanceller!==null&&(c.debug(\"mse\",\"resume-stream order received.\"),this._endOfStreamCanceller.cancel(\"MediaSourceInterface stopEndOfStream\"),this._endOfStreamCanceller=null)}dispose(e){this.sourceBuffers.forEach(t=>t.dispose(e)),this._canceller.cancel(e!=null?e:\"MainMediaSourceInterface dispose\"),pl(this._mediaSource)}},Zi=class{constructor(e,t,r){this.type=e,this.codec=t,this._canceller=new z(\"MainSourceBufferInterface \"+e),this._sourceBuffer=r,this._operationQueue=[],this._currentOperations=[];let i=this._onError.bind(this),a=this._onUpdateEnd.bind(this);r.addEventListener(\"updateend\",a),r.addEventListener(\"error\",i),this._canceller.signal.register(()=>{r.removeEventListener(\"updateend\",a),r.removeEventListener(\"error\",i)})}appendBuffer(...e){return c.debug(\"mse\",\"receiving order to push data to the SourceBuffer\",{type:this.type}),this._addToQueue({operationName:0,params:e})}remove(e,t){return c.debug(\"mse\",\"receiving order to remove data from the SourceBuffer\",{type:this.type,start:e,end:t}),this._addToQueue({operationName:1,params:[e,t]})}getBuffered(){try{return Ni(this._sourceBuffer.buffered)}catch(e){return c.error(\"mse\",\"Failed to get buffered time range of SourceBuffer\",{type:this.type},e instanceof Error?e:\"Unknown Error\"),[]}}abort(e){try{this._sourceBuffer.abort()}catch(t){c.debug(\"mse\",\"Failed to abort SourceBuffer:\",t instanceof Error?t:\"Unknown Error\")}this._emptyCurrentQueue(e)}dispose(e){try{this._sourceBuffer.abort()}catch(t){}this._emptyCurrentQueue(e)}_onError(e){let t;e instanceof Error?t=e:e.error instanceof Error?t=e.error:t=new Error(\"Unknown SourceBuffer Error\");let r=this._currentOperations;if(this._currentOperations=[],r.length===0)c.error(\"mse\",\"error for an unknown operation\",t);else{let i=new ke(t.name,t.message,t.name===\"QuotaExceededError\");for(let a of r)a.reject(i)}}_onUpdateEnd(){let e=this._currentOperations;this._currentOperations=[];try{for(let t of e)t.resolve(Ni(this._sourceBuffer.buffered))}catch(t){for(let r of e)t instanceof Error&&t.name===\"InvalidStateError\"?r.resolve([]):r.reject(t)}this._performNextOperation()}_emptyCurrentQueue(e){let t=new fe(\"MainSourceBufferInterface queue \"+this.type,e);this._currentOperations.length>0&&(this._currentOperations.forEach(r=>{r.reject(t)}),this._currentOperations=[]),this._operationQueue.length>0&&(this._operationQueue.forEach(r=>{r.reject(t)}),this._operationQueue=[])}_addToQueue(e){return new Promise((t,r)=>{let i=this._operationQueue.length===0&&this._currentOperations.length===0,a=j({resolve:t,reject:r},e);this._operationQueue.push(a),i&&this._performNextOperation()})}_performNextOperation(){var t,r,i,a,o;if(this._currentOperations.length!==0||this._sourceBuffer.updating)return;let e=this._operationQueue.shift();if(e!==void 0)if(e.operationName===0){this._currentOperations=[{operationName:0,resolve:e.resolve,reject:e.reject}];let s=e.params[0],d=e.params[1],u=s;if(this._operationQueue.length>0&&this._operationQueue[0].operationName===0){let f;s instanceof ArrayBuffer?f=new Uint8Array(s):s instanceof Uint8Array?f=s:f=new Uint8Array(s.buffer);let l=[f];for(;((t=this._operationQueue[0])==null?void 0:t.operationName)===0;){let m=this._operationQueue[0],g=(r=d.appendWindow)!=null?r:[void 0,void 0],h=(i=m.params[1].appendWindow)!=null?i:[void 0,void 0],b=(a=d.timestampOffset)!=null?a:0,p=(o=m.params[1].timestampOffset)!=null?o:0;if(g[0]===h[0]&&g[1]===h[1]&&d.codec===m.params[1].codec&&b===p){let S=m.params[0],E;S instanceof ArrayBuffer?E=new Uint8Array(S):S instanceof Uint8Array?E=S:E=new Uint8Array(S.buffer),l.push(E),this._operationQueue.splice(0,1),this._currentOperations.push({operationName:0,resolve:m.resolve,reject:m.reject})}else break}l.length>1&&(c.info(\"mse\",`: Merging ${l.length} segments together for perf`,{type:this.type}),u=Ot(...l).buffer)}try{this._appendBufferNow(u,d)}catch(f){let l=f instanceof Error?new ke(f.name,f.message,f.name===\"QuotaExceededError\"):new ke(\"Error\",\"Unknown SourceBuffer Error during appendBuffer\",!1);this._currentOperations.forEach(m=>{m.reject(l)}),this._currentOperations=[],this._performNextOperation()}}else{this._currentOperations=[e];let[s,d]=e.params;c.debug(\"mse\",\"removing data from SourceBuffer\",{type:this.type,start:s,end:d});try{this._sourceBuffer.remove(s,d)}catch(u){let f=u instanceof Error?new ke(u.name,u.message,!1):new ke(\"Error\",\"Unknown SourceBuffer Error during remove\",!1);e.reject(f),this._currentOperations.forEach(l=>{l.reject(f)}),this._currentOperations=[],this._performNextOperation()}}}_appendBufferNow(e,t){let r=this._sourceBuffer,{codec:i,timestampOffset:a,appendWindow:o=[]}=t;if(i!==void 0&&i!==this.codec&&(c.debug(\"mse\",\"updating codec\",{type:this.type,prevCodec:this.codec,newCodec:i}),$i(r,i)?this.codec=i:c.debug(\"mse\",\"could not update codec\",{type:this.type,prevCodec:this.codec,newCodec:i})),a!==void 0&&r.timestampOffset!==a){let s=a;c.debug(\"mse\",\"updating timestampOffset\",{type:this.type,codec:i,prevTimestampOffset:r.timestampOffset,newTimestampOffset:s}),r.timestampOffset=s}if(o[0]===void 0)r.appendWindowStart>0&&(c.debug(\"mse\",\"re-setting `appendWindowStart`\",{type:this.type,prevWindowStart:r.appendWindowStart}),r.appendWindowStart=0);else if(o[0]!==r.appendWindowStart){if(o[0]>=r.appendWindowEnd){let s=o[0]+1;c.debug(\"mse\",\"pre-updating `appendWindowEnd`\",{type:this.type,prevWindowEnd:r.appendWindowEnd,newWindowEnd:s}),r.appendWindowEnd=s}c.debug(\"mse\",\"setting `appendWindowStart`\",{type:this.type,appendWindowStart:o[0]}),r.appendWindowStart=o[0]}o[1]===void 0?r.appendWindowEnd!==1/0&&(c.debug(\"mse\",\"re-setting `appendWindowEnd`\",{type:this.type,prevWindowStart:r.appendWindowStart}),r.appendWindowEnd=1/0):o[1]!==r.appendWindowEnd&&(c.debug(\"mse\",\"setting `appendWindowEnd`\",{type:this.type,prevWindowEnd:r.appendWindowEnd,newWindowEnd:o[1]}),r.appendWindowEnd=o[1]),c.debug(\"mse\",\"pushing segment\",{type:this.type}),r.appendBuffer(e)}};function pl(n){if(n.readyState!==\"closed\"){let{readyState:e,sourceBuffers:t}=n;for(let r=t.length-1;r>=0;r--){let i=t[r];try{if(e===\"open\"){c.info(\"mse\",\"Aborting SourceBuffer before removing\");try{i.abort()}catch(a){}}c.info(\"mse\",\"Removing SourceBuffer from mediaSource\"),n.removeSourceBuffer(i)}catch(a){}}t.length>0&&c.info(\"mse\",\"Not all SourceBuffers could have been removed.\")}}var gl=Oe(),Wr=Oe(),Cs=1/0,Bn=class extends pe{constructor(e,t,r){super(),this.id=e,this.sourceBuffers=[],this._canceller=new z(\"WorkerMediaSourceInterface\"),this.readyState=\"closed\",this._messageSender=r;let i=gl();this._messageSender({type:\"create-media-source\",contentId:t,mediaSourceId:i})}onMediaSourceReadyStateChanged(e){switch(e){case\"closed\":this.readyState=\"closed\",this.trigger(\"mediaSourceClose\",null);break;case\"open\":this.readyState=\"open\",this.trigger(\"mediaSourceOpen\",null);break;case\"ended\":this.readyState=\"ended\",this.trigger(\"mediaSourceEnded\",null);break}}addSourceBuffer(e,t){this._messageSender({type:\"add-source-buffer\",mediaSourceId:this.id,value:{sourceBufferType:e,codec:t}});let r=new Ji(e,t,this.id,this._messageSender);return this.sourceBuffers.push(r),r}setDuration(e,t){this._messageSender({type:\"update-media-source-duration\",mediaSourceId:this.id,value:{duration:e,isRealEndKnown:t}})}interruptDurationSetting(){this._messageSender({type:\"stop-media-source-duration\",mediaSourceId:this.id,value:null})}maintainEndOfStream(){this._messageSender({type:\"end-of-stream\",mediaSourceId:this.id,value:null})}stopEndOfStream(){this._messageSender({type:\"stop-end-of-stream\",mediaSourceId:this.id,value:null})}dispose(e){this.sourceBuffers.forEach(t=>t.dispose(e)),this._canceller.cancel(\"WorkerMediaSourceInterface dispose\"),this._messageSender({type:\"dispose-media-source\",mediaSourceId:this.id,value:null})}},Ji=class{constructor(e,t,r,i){this.type=e,this.codec=t,this._canceller=new z(\"WorkerSourceBufferInterface \"+e),this._mediaSourceId=r,this._queuedOperations=[],this._pendingOperations=new Map,this._messageSender=i}onOperationSuccess(e,t){let r=this._pendingOperations.get(e);r===void 0?c.warn(\"mse\",\"unknown SourceBuffer operation succeeded\",{type:this.type}):(this._pendingOperations.delete(e),r.resolve(t)),this._performNextQueuedOperationIfItExists()}onOperationFailure(e,t){let r=t.errorName===\"CancellationError\"?new fe(\"Pending SBI Operation \"+this.type,\"SBI Failure\"):new ke(t.errorName,t.message,t.isBufferFull),i=this._pendingOperations.get(e);i===void 0?c.info(\"mse\",\"unknown SourceBuffer operation failed\",{type:this.type},r):(this._pendingOperations.delete(e),i.reject(r));let a=new fe(\"Queued SBI Operation \"+this.type,\"SBI failure\");for(let o of this._queuedOperations)o.reject(a);this._queuedOperations=[]}appendBuffer(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=Cs){this._queuedOperations.push({operationName:0,params:[e,t],resolve:r,reject:i});return}try{let a;e instanceof ArrayBuffer?a=e:e.byteLength===e.buffer.byteLength?a=e.buffer:a=e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset);let o=Wr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:o,value:{data:a,params:t}},[a]),this._addOperationToQueue(o,r,i)}catch(a){i(a)}})}remove(e,t){return new Promise((r,i)=>{if(this._queuedOperations.length>0||this._pendingOperations.size>=Cs){this._queuedOperations.push({operationName:1,params:[e,t],resolve:r,reject:i});return}try{let a=Wr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{start:e,end:t}}),this._addOperationToQueue(a,r,i)}catch(a){i(a)}})}abort(){this._messageSender({type:\"abort-source-buffer\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,value:null})}dispose(e){this.abort(),this._canceller.cancel(e!=null?e:\"WorkerSourceBufferInterface dispose\")}getBuffered(){}_addOperationToQueue(e,t,r){this._pendingOperations.set(e,{resolve:a,reject:o});let i=this._canceller.signal.register(s=>{this._pendingOperations.delete(e),r(s)});function a(s){i(),t(s)}function o(s){i(),r(s)}}_performNextQueuedOperationIfItExists(){let e=this._queuedOperations.shift();if(e!==void 0)try{if(e.operationName===0){let[t,r]=e.params,i;t instanceof ArrayBuffer?i=t:t.byteLength===t.buffer.byteLength?i=t.buffer:i=t.buffer.slice(t.byteOffset,t.byteLength+t.byteOffset);let a=Wr();this._messageSender({type:\"source-buffer-append\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:a,value:{data:i,params:r}},[i]),this._addOperationToQueue(a,e.resolve,e.reject)}else{let[t,r]=e.params,i=Wr();this._messageSender({type:\"source-buffer-remove\",mediaSourceId:this._mediaSourceId,sourceBufferType:this.type,operationId:i,value:{start:t,end:r}}),this._addOperationToQueue(i,e.resolve,e.reject)}}catch(t){e.reject(t)}}};function ea(n){let e=n.map(o=>Math.log(o/n[0])),t=e.map(o=>o-e[0]+1),r=(t[t.length-1]-1)/(n.length*2+10),i=1/r;return n.map((o,s)=>a(s));function a(o){if(o===0)return 0;let s=Math.min(Math.max(1,o),n.length-1);return n[s]===n[s-1]?a(o-1):i*(r+(n[s]*t[s-1]-n[s-1]*t[s])/(n[s]-n[s-1]))+4}}var Fe=class{constructor(e){this._alpha=Math.exp(Math.log(.5)/e),this._lastEstimate=0,this._totalWeight=0}addSample(e,t){let r=Math.pow(this._alpha,e),i=t*(1-r)+r*this._lastEstimate;isNaN(i)||(this._lastEstimate=i,this._totalWeight+=e)}getEstimate(){let e=1-Math.pow(this._alpha,this._totalWeight);return this._lastEstimate/e}};var Nn=class{constructor(){this._currentRepresentationData=null,this._lastRepresentationWithGoodScore=null}addSample(e,t,r){let i=r/t,a=this._currentRepresentationData,o;a!==null&&a.representation.id===e.id?(o=a.ewma,a.ewma.addSample(t,i),a.loadedDuration+=r,a.loadedSegments++):(o=new Fe(5),o.addSample(t,i),this._currentRepresentationData={representation:e,ewma:o,loadedDuration:r,loadedSegments:1}),o.getEstimate()>1&&this._lastRepresentationWithGoodScore!==e&&(c.debug(\"ABR\",\"New last stable representation\",{bitrate:e.bitrate}),this._lastRepresentationWithGoodScore=e)}getEstimate(e){if(this._currentRepresentationData===null||this._currentRepresentationData.representation.id!==e.id)return;let{ewma:t,loadedSegments:r,loadedDuration:i}=this._currentRepresentationData,a=t.getEstimate(),o=r>=6&&i>=10?1:0;return{score:a,confidenceLevel:o}}getLastStableRepresentation(){return this._lastRepresentationWithGoodScore}};var As=6e3,hl=15e3,Il=3e3,bl=1e3,Sl=9e3,Ln=class{constructor(e){this._levelsMap=ea(e).map(t=>t+4),this._bitrates=e,this._lastUnsuitableQualityTimestamp=void 0,this._blockRaiseDelay=As,c.debug(\"ABR\",\"Steps for buffer based chooser.\",this._levelsMap.map((t,r)=>`bufferLevel: ${t}, bitrate: ${e[r]}`).join(\" ,\"))}onAddedSegment(e){let t=this._levelsMap,r=this._bitrates,{bufferGap:i,currentBitrate:a,currentScore:o,speed:s}=e;if(C(a)){this._currentEstimate=r[0];return}let d=-1;for(let h=0;h<r.length;h++){let b=r[h];if(b===a)d=h;else if(b>a)break}if(d<0||r.length!==t.length){c.info(\"ABR\",\"Current Bitrate not found in the calculated levels\"),this._currentEstimate=r[0];return}let u;o!==void 0&&(u=s===0?o.score:o.score/s);let f=isFinite(i)?i:0,l=F();if(f<t[d]||u!==void 0&&u<1&&(o==null?void 0:o.confidenceLevel)===1){if((this._lastUnsuitableQualityTimestamp===void 0?-1:l-this._lastUnsuitableQualityTimestamp)<this._blockRaiseDelay+Sl){let p=this._blockRaiseDelay+Il;c.debug(\"ABR\",\"Incrementing blocking raise in BufferBasedChooser due to unstable quality\",{prevDelay:this._blockRaiseDelay,newDelay:p}),this._blockRaiseDelay=Math.min(p,hl)}else{let p=this._blockRaiseDelay-bl;c.debug(\"ABR\",\"Lowering quality in BufferBasedChooser\",{prevDelay:this._blockRaiseDelay,newDelay:p}),this._blockRaiseDelay=Math.max(As,p)}this._lastUnsuitableQualityTimestamp=l;let b=se(r,p=>p===a);for(let p=b-1;p>=0;p--)if(f>=t[p]){this._currentEstimate=r[p];return}this._currentEstimate=r[0];return}if(this._lastUnsuitableQualityTimestamp!==void 0&&l-this._lastUnsuitableQualityTimestamp<this._blockRaiseDelay||u===void 0||u<1.15||(o==null?void 0:o.confidenceLevel)!==1){this._currentEstimate=a;return}let m=t[d],g=(()=>{for(let h=d+1;h<t.length;h++)if(t[h]>m)return h})();if(g!==void 0){let h=t[g];if(i>=h){c.debug(\"ABR\",\"Raising quality in BufferBasedChooser\",{bitrate:r[g]}),this._currentEstimate=r[g];return}}this._currentEstimate=a}getLastEstimate(){return this._currentEstimate}};function yl(n,e){let t=-1;for(let o=0;o<n.length;o++){let{segment:s}=n[o].content;if(s.duration<=0)continue;let d=s.time+s.duration;if(!s.complete&&o===n.length-1&&e-s.time>-1.2){t=o;break}if(d>e&&e-s.time>-1.2){t=o;break}}if(t<0)return[];let r=n[t],i=r.content.segment.time,a=[r];for(let o=t+1;o<n.length&&n[o].content.segment.time===i;o++)a.push(n[o]);return a}function qr(n){if(n.progress.length<5)return;let e=new Fe(2),{progress:t}=n;for(let r=1;r<t.length;r++){let i=t[r].size-t[r-1].size,a=t[r].timestamp-t[r-1].timestamp,o=i*8/(a/1e3);e.addSample(a/1e3,o)}return e.getEstimate()}function xs(n,e){let t=(n.totalSize-n.size)*8;return Math.max(t/e,0)}function Tl(n,e,t,r,i){if(r)return;let{bufferGap:a,speed:o,position:s}=e,d=isFinite(a)?a:0,u=s.getWanted()+d,f=yl(n,u);if(f.length!==1)return;let l=f[0],m=F(),g=l.content.segment.duration*1500;if(g=Math.max(g,3e3),g=Math.min(g,12e3),m-l.requestTimestamp<g)return;let h=l.progress.length>0?l.progress[l.progress.length-1]:void 0,b=qr(l);if(h!==void 0&&b!==void 0){let _=xs(h,b);if((m-h.timestamp)/1e3<=_&&_-d/o>2500)return b}if(!l.content.segment.complete)return;let p=l.content.segment.duration,S=(m-l.requestTimestamp)/1e3,E=S<=(p*1.5+2)/o;if(C(t)||E)return;let v=p/S,T=t.bitrate*Math.min(.7,v);if(i===void 0||T<i)return T}function El(n,e,t){if(t)return!0;let r=isFinite(n.bufferGap)?n.bufferGap:0,i=n.position.getWanted()+r,a=K(e,({content:l})=>l.segment.duration>0&&l.segment.time+l.segment.duration>i);if(a===void 0)return!0;let o=F(),s=a.progress.length>0?a.progress[a.progress.length-1]:void 0,d=qr(a);if(s===void 0||d===void 0)return!0;let u=xs(s,d);return(o-s.timestamp)/1e3>u*1.2?!0:u-r/n.speed>-1.5}var Un=class{constructor(e,t){let{ABR_STARVATION_GAP:r,OUT_OF_STARVATION_GAP:i,ABR_STARVATION_FACTOR:a,ABR_REGULAR_FACTOR:o}=U.getCurrent();this._initialBitrate=e,this._inStarvationMode=!1,this._lowLatencyMode=t,t?this._config={starvationGap:r.LOW_LATENCY,outOfStarvationGap:i.LOW_LATENCY,starvationBitrateFactor:a.LOW_LATENCY,regularBitrateFactor:o.LOW_LATENCY}:this._config={starvationGap:r.DEFAULT,outOfStarvationGap:i.DEFAULT,starvationBitrateFactor:a.DEFAULT,regularBitrateFactor:o.DEFAULT}}getBandwidthEstimate(e,t,r,i,a){let o,s,d=this._config,{bufferGap:u,position:f,duration:l}=e,m=isFinite(u)?u:0,{ABR_STARVATION_DURATION_DELTA:g}=U.getCurrent();return isNaN(l)||m+f.getWanted()<l-g?!this._inStarvationMode&&m<=d.starvationGap?(c.info(\"ABR\",\"enter starvation mode.\",{buffergap:m,enterStarvation:d.starvationGap}),this._inStarvationMode=!0):this._inStarvationMode&&m>=d.outOfStarvationGap&&(c.info(\"ABR\",\"exit starvation mode.\",{bufferGap:m,outOfStarvation:d.starvationGap}),this._inStarvationMode=!1):this._inStarvationMode&&(c.info(\"ABR\",\"exit starvation mode.\",{bufferGap:m}),this._inStarvationMode=!1),this._inStarvationMode&&(s=Tl(i,e,r,this._lowLatencyMode,a),s!==void 0&&(c.info(\"ABR\",\"starvation mode emergency estimate:\",{bandwidth:s}),t.reset(),o=C(r)?s:Math.min(s,r.bitrate))),C(o)&&(s=t.getEstimate(),s!==void 0?o=s*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):a!==void 0?o=a*(this._inStarvationMode?d.starvationBitrateFactor:d.regularBitrateFactor):o=this._initialBitrate),e.speed>1&&(o/=e.speed),{bandwidthEstimate:s,bitrateChosen:o}}isUrgent(e,t,r,i){return t===null?!0:e>=t.bitrate?!1:El(i,r,this._lowLatencyMode)}};var Fn=class{constructor(){this.bandwidth=void 0,this.representation=null,this.algorithmType=3}update(e,t,r){this.representation=e,this.bandwidth=t,this.algorithmType=r}};var zn=class{constructor(e,t){this._scoreCalculator=e,this._lastAbrEstimate=t,this._consecutiveWrongGuesses=0,this._blockGuessesUntil=0,this._lastMaintanableBitrate=null}getGuess(e,t,r,i,a){let{bufferGap:o,speed:s}=t,d=this._lastAbrEstimate.representation;if(d===null)return null;if(i>d.bitrate)return this._lastAbrEstimate.algorithmType===2&&(this._lastAbrEstimate.representation!==null&&(this._lastMaintanableBitrate=this._lastAbrEstimate.representation.bitrate),this._consecutiveWrongGuesses=0),null;let u=this._scoreCalculator.getEstimate(r);if(this._lastAbrEstimate.algorithmType!==2){if(u===void 0)return null;if(this._canGuessHigher(o,s,u)){let l=ks(e,r);if(l!==null)return l}return null}if(this._isLastGuessValidated(d,i,u)&&(c.debug(\"ABR\",\"Guessed Representation validated\",{chosenBitrate:d.bitrate,otherAbrAlgosBitrate:i,scoreData:u==null?void 0:u.score,scoreConfidence:u==null?void 0:u.confidenceLevel}),this._lastMaintanableBitrate=d.bitrate,this._consecutiveWrongGuesses=0),r.id!==d.id)return d;if(this._shouldStopGuess(r,u,o,a))return this._consecutiveWrongGuesses++,this._blockGuessesUntil=F()+Math.min(this._consecutiveWrongGuesses*15e3,12e4),_l(e,r);if(u===void 0)return r;if(this._canGuessHigher(o,s,u)){let l=ks(e,r);if(l!==null)return l}return r}_canGuessHigher(e,t,{score:r,confidenceLevel:i}){return isFinite(e)&&e>=2.5&&F()>this._blockGuessesUntil&&i===1&&r/t>1.01}_shouldStopGuess(e,t,r,i){if(t!==void 0&&t.score<1.01)return!0;if((t===void 0||t.score<1.2)&&r<.6)return!0;let a=i.filter(s=>s.content.representation.id===e.id),o=F();for(let s of a){let d=o-s.requestTimestamp;if(s.content.segment.isInit){if(d>1e3)return!0}else{if(d>s.content.segment.duration*1e3+200)return!0;{let u=qr(s);if(u!==void 0&&u<e.bitrate*.8)return!0}}}return!1}_isLastGuessValidated(e,t,r){return r!==void 0&&r.confidenceLevel===1&&r.score>1.5?!0:t>=e.bitrate&&(this._lastMaintanableBitrate===null||this._lastMaintanableBitrate<e.bitrate)}};function ks(n,e){let t=n.length,r=se(n,({id:i})=>i===e.id);if(r<0)return c.error(\"ABR\",\"Current Representation not found.\"),null;for(;++r<t;)if(n[r].bitrate>e.bitrate)return n[r];return null}function _l(n,e){let t=se(n,({id:r})=>r===e.id);if(t<0)return c.error(\"ABR\",\"Current Representation not found.\"),null;for(;--t>=0;)if(n[t].bitrate<e.bitrate)return n[t];return null}var Wn=class{constructor(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=U.getCurrent();this._fastEWMA=new Fe(e),this._slowEWMA=new Fe(t),this._bytesSampled=0}addSample(e,t){let{ABR_MINIMUM_CHUNK_SIZE:r}=U.getCurrent();if(t<r)return;let i=t*8e3/e,a=e/1e3;this._bytesSampled+=t,this._fastEWMA.addSample(a,i),this._slowEWMA.addSample(a,i)}getEstimate(){let{ABR_MINIMUM_TOTAL_BYTES:e}=U.getCurrent();if(!(this._bytesSampled<e))return Math.min(this._fastEWMA.getEstimate(),this._slowEWMA.getEstimate())}reset(){let{ABR_FAST_EMA:e,ABR_SLOW_EMA:t}=U.getCurrent();this._fastEWMA=new Fe(e),this._slowEWMA=new Fe(t),this._bytesSampled=0}};function ta(n,e){if(n.length===0)return[];n.sort((a,o)=>a.bitrate-o.bitrate);let t=n[0].bitrate,r=Math.max(e,t),i=se(n,a=>a.bitrate>r);return i===-1?n:n.slice(0,i)}function na(n,e){if(e.width===void 0||e.height===void 0)return n;let t=e.width*e.pixelRatio,r=e.height*e.pixelRatio,i=n.slice().sort((s,d)=>{var u,f;return((u=s.width)!=null?u:0)-((f=d.width)!=null?f:0)}),a=K(i,s=>typeof s.width==\"number\"&&s.width>=t&&typeof s.height==\"number\"&&s.height>=r);if(a===void 0)return n;let o=typeof a.width==\"number\"?a.width:0;return n.filter(s=>typeof s.width==\"number\"?s.width<=o:!0)}var qn=class{constructor(){this._currentRequests={}}add(e){let{id:t,requestTimestamp:r,content:i}=e;this._currentRequests[t]={requestTimestamp:r,progress:[],content:i}}addProgress(e){let t=this._currentRequests[e.id];if(C(t)){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: progress for a request not added\");c.warn(\"ABR\",\"progress for a request not added\",{requestId:e.id});return}t.progress.push(e)}remove(e){if(C(this._currentRequests[e])){if(I.CURRENT_ENV===I.DEV)throw new Error(\"ABR: can't remove unknown request\");c.warn(\"ABR\",\"can't remove unknown request\",{requestId:e})}delete this._currentRequests[e]}getRequests(){return Cr(this._currentRequests).filter(e=>!C(e)).sort((e,t)=>e.content.segment.time-t.content.segment.time)}};function Vr(n,e){let t=se(n,r=>r.bitrate>e);return t===-1?n[n.length-1]:t===0?n[0]:n[t-1]}var Ms=new $(void 0);Ms.finish();var Os=new $(1/0);Os.finish();function ra(n){let e={},{initialBitrates:t,throttlers:r,lowLatencyMode:i}=n;return function(s,d,u,f,l){var p,S,E;let{type:m}=s.adaptation,g=a(m),h=(p=t[m])!=null?p:0,b={limitResolution:(S=r.limitResolution[m])!=null?S:Ms,throttleBitrate:(E=r.throttleBitrate[m])!=null?E:Os};return Rl({bandwidthEstimator:g,context:s,currentRepresentation:d,filters:b,initialBitrate:h,playbackObserver:f,representations:u,lowLatencyMode:i},l)};function a(o){let s=e[o];if(C(s)){c.debug(\"ABR\",\"Creating new BandwidthEstimator\",{bufferType:o});let d=new Wn;return e[o]=d,d}return s}}function Rl({bandwidthEstimator:n,context:e,currentRepresentation:t,filters:r,initialBitrate:i,lowLatencyMode:a,playbackObserver:o,representations:s},d){let u=new Nn,f=new Un(i!=null?i:0,a),l=new qn,m=O,g={metrics:E,requestBegin:v,requestProgress:T,requestEnd:_,addedSegment(R){m(R)}},h=new z(\"ABR \"+e.adaptation.type);h.linkToSignal(d);let b=p(s.getValue(),h.signal);return s.onUpdate(S,{clearSignal:d}),{estimates:b,callbacks:g};function p(R,x){if(R.length<=1)return new $({bitrate:void 0,representation:R[0],urgent:!0,knownStableBitrate:void 0});let A=!1,k=R.sort((B,H)=>B.bitrate-H.bitrate),D=new Ln(k.map(B=>B.bitrate)),N=new Fn,W=new zn(u,N),L=o.getReference().getValue(),P=new $(w());return o.listen(B=>{L=B,M()},{includeLastObservation:!1,clearSignal:x}),m=function(B){if(L===null)return;let{position:H,speed:Q}=L,Z=B.buffered,V=Br(Z,H.getWanted()),{representation:ee}=B.content,J=u.getEstimate(ee),ce=ee.bitrate,he={bufferGap:V,currentBitrate:ce,currentScore:J,speed:Q};D.onAddedSegment(he),M()},x.register(()=>{m=O}),r.throttleBitrate.onUpdate(M,{clearSignal:x}),r.limitResolution.onUpdate(M,{clearSignal:x}),P;function M(){P.setValue(w())}function w(){let{bufferGap:B,position:H,maximumPosition:Q}=L,Z=r.limitResolution.getValue(),V=r.throttleBitrate.getValue(),ee=t.getValue(),J=Pl(k,Z,V),ce=l.getRequests(),{bandwidthEstimate:he,bitrateChosen:Ze}=f.getBandwidthEstimate(L,n,ee,ce,N.bandwidth),oe=u.getLastStableRepresentation(),ue=oe===null?void 0:oe.bitrate/(L.speed>0?L.speed:1),{ABR_ENTER_BUFFER_BASED_ALGO:nn,ABR_EXIT_BUFFER_BASED_ALGO:rn}=U.getCurrent();A&&B<=rn?A=!1:!A&&isFinite(B)&&B>=nn&&(A=!0);let Pe=Vr(J,Ze),an=D.getLastEstimate(),Ir=Pe.bitrate,pt=null;A&&an!==void 0&&an>Ir&&(pt=Vr(J,an),Ir=pt.bitrate);let gt=null;return a&&ee!==null&&e.manifest.isDynamic&&Q-H.getWanted()<40&&(gt=W.getGuess(k,L,ee,Ir,ce)),gt!==null&&gt.bitrate>Ir?(c.debug(\"ABR\",\"new guess-based estimate\",{bitrate:gt.bitrate,representation:gt.id}),N.update(gt,he,2),{bitrate:he,representation:gt,urgent:ee===null||gt.bitrate<ee.bitrate,knownStableBitrate:ue}):pt!==null?(c.debug(\"ABR\",\"new buffer-based estimate\",{bitrate:pt.bitrate,representation:pt.id}),N.update(pt,he,0),{bitrate:he,representation:pt,urgent:f.isUrgent(pt.bitrate,ee,ce,L),knownStableBitrate:ue}):(c.debug(\"ABR\",\"new bandwidth estimate\",{bitrate:Pe.bitrate,representation:Pe.id}),N.update(Pe,he,1),{bitrate:he,representation:Pe,urgent:f.isUrgent(Pe.bitrate,ee,ce,L),knownStableBitrate:ue})}}function S(){let R=s.getValue();h.cancel(\"restart\"),h=new z(\"ABR \"+e.adaptation.type),h.linkToSignal(d),p(R,h.signal).onUpdate(function(k){b.setValue(k)},{clearSignal:h.signal,emitCurrentValue:!0})}function E(R){let{requestDuration:x,segmentDuration:A,size:k,content:D}=R;if(n.addSample(x,k),!D.segment.isInit){let{segment:N,representation:W}=D;if(A===void 0&&!N.complete)return;let L=A!=null?A:N.duration;u.addSample(W,x/1e3,L)}}function v(R){l.add(R)}function T(R){l.addProgress(R)}function _(R){l.remove(R.id)}}function Pl(n,e,t){let r=n;return t!==void 0&&t<1/0&&(r=ta(r,t)),e!==void 0&&(r=na(r,e)),r}var ws=ra;function Gr(){var t;if(typeof((t=ie.crypto)==null?void 0:t.randomUUID)==\"function\")return ie.crypto.randomUUID();let n=new Date().getTime(),e=F();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(r){let i=Math.random()*16;return n>0?(i=(n+i)%16|0,n=Math.floor(n/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),(r===\"x\"?i:i&3|8).toString(16)})}var vl=/^(?:[a-z]+:)?\\/\\//i,Cl=/^(?:([^:/?#]+):)?(?:\\/\\/([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$/;function aa(n){let e=n.lastIndexOf(\"/\");if(e<0)return n.length;if(vl.test(n)){let r=n.indexOf(\"/\");if(r>=0&&e===r+1)return n.length}let t=n.indexOf(\"?\");return t>=0&&t<e?aa(n.substring(0,t)):e+1}function Ds(n,e){let t=Hr(n),r=Hr(e);if(t.scheme!==r.scheme||t.authority!==r.authority||t.path[0]!==void 0&&t.path[0]!==\"/\"&&r.path[0]===\"/\"||r.path[0]!==void 0&&r.path[0]!==\"/\"&&t.path[0]===\"/\")return null;let i=Gn(t.path),a=Gn(r.path),o;if(i===a)o=\"\";else{let d=i.split(\"/\");d.pop();let u=a.split(\"/\");for(;d.length>0&&u.length>0&&d[0]===u[0];)d.shift(),u.shift();for(;d.length>0;)d.shift(),u.unshift(\"..\");let f=u.join(\"/\");(f.endsWith(\"../\")||f.endsWith(\"./\"))&&(f=f.slice(0,f.length-1)),o=f===\"\"?\".\":f}let s=o;return o===\"\"&&r.query===t.query||Y(r.query)&&(s+=\"?\",s+=r.query),Y(r.fragment)&&(s+=\"#\",s+=r.fragment),s}function Al(n,e){let t=Hr(n),r=Hr(e);if(Y(r.scheme))return ia(r);let i={scheme:t.scheme,authority:t.authority,path:\"\",query:r.query,fragment:r.fragment};return Y(r.authority)?(i.authority=r.authority,i.path=Gn(r.path),ia(i)):(r.path===\"\"?(i.path=t.path,Y(r.query)||(i.query=t.query)):be(r.path,\"/\")?i.path=Gn(r.path):i.path=Gn(kl(t,r.path)),ia(i))}var Vn=new Map,xl=200;function Hr(n){var r,i,a,o,s;if(Vn.has(n))return Vn.get(n);let e=n.match(Cl),t;return e===null?t={scheme:\"\",authority:\"\",path:\"\",query:\"\",fragment:\"\"}:t={scheme:(r=e[1])!=null?r:\"\",authority:(i=e[2])!=null?i:\"\",path:(a=e[3])!=null?a:\"\",query:(o=e[4])!=null?o:\"\",fragment:(s=e[5])!=null?s:\"\"},Vn.size>=xl&&Vn.clear(),Vn.set(n,t),t}function ia(n){let e=\"\";return Y(n.scheme)&&(e+=n.scheme+\":\"),Y(n.authority)&&(e+=\"//\"+n.authority),e+=n.path,Y(n.query)&&(e+=\"?\"+n.query),Y(n.fragment)&&(e+=\"#\"+n.fragment),e}function Gn(n){let e=n.split(/(?=\\/)/),t=[];for(let r=0;r<e.length;r++){let i=e[r];if(!(i===\"..\"||i===\".\"||i===\"\")){if(i===\"/..\"){t.pop(),r===e.length-1&&t.push(\"/\");continue}if(i===\"/.\"){r===e.length-1&&t.push(\"/\");continue}t.push(i)}}return t.join(\"\")}function kl(n,e){if(Y(n.authority)&&n.path===\"\")return\"/\"+e;let t=n.path;return t.substring(0,t.lastIndexOf(\"/\")+1)+e}function Hn(...n){var r,i,a;let e=n.filter(o=>o!==\"\"),t=e.length;if(t===0)return\"\";if(t===1)return(r=e[0])!=null?r:\"\";{let o=(i=e[0])!=null?i:\"\",s=(a=e[1])!=null?a:\"\",d=Al(o,s),u=e.slice(2);return Hn(d,...u)}}var Ml=4,jn=class{constructor(e){var t,r;this._sessionId=(t=e.sessionId)!=null?t:Gr(),this._contentId=(r=e.contentId)!=null?r:Gr(),this._typePreference=e.communicationType===\"headers\"?0:1,this._bufferStarvationToggle=!1,this._playbackObserver=null,this._lastThroughput={},this._canceller=null}startMonitoringPlayback(e){var t;(t=this._canceller)==null||t.cancel(\"CmcdDataBuilder start\"),this._canceller=new z(\"CMCD monitoring\"),this._playbackObserver=e,e.listen(r=>{r.rebuffering!==null&&(this._bufferStarvationToggle=!0)},{includeLastObservation:!0,clearSignal:this._canceller.signal})}stopMonitoringPlayback(){var e;(e=this._canceller)==null||e.cancel(\"CmcdDataBuilder stop\"),this._canceller=null,this._playbackObserver=null}updateThroughput(e,t){this._lastThroughput[e]=t}_getCommonCmcdData(e){var i;let t={};t.bs=this._bufferStarvationToggle,this._bufferStarvationToggle=!1,t.cid=this._contentId,t.mtp=e!==void 0?Math.floor(Math.round(e/1e3/100)*100):void 0,t.sid=this._sessionId;let r=(i=this._playbackObserver)==null?void 0:i.getReference().getValue();return t.pr=r===void 0||!isFinite(r.speed)||r.speed<0||r.speed===1?void 0:r.speed,r!==void 0&&(t.su=r.rebuffering!==null),t}getCmcdDataForManifest(e){var r;let t=this._getCommonCmcdData((r=this._lastThroughput.video)!=null?r:this._lastThroughput.audio);switch(t.ot=\"m\",e){case\"dash\":t.sf=\"d\";break;case\"smooth\":t.sf=\"s\";break;default:t.sf=\"o\";break}return this._producePayload(t)}getCmcdDataForSegmentRequest(e){var o,s,d,u;let t=(o=this._playbackObserver)==null?void 0:o.getReference().getValue(),r=this._getCommonCmcdData(this._lastThroughput[e.adaptation.type]);switch(r.br=Math.round(e.representation.bitrate/1e3),r.d=Math.round(e.segment.duration*1e3),e.adaptation.type){case\"video\":r.ot=\"v\";break;case\"audio\":r.ot=\"a\";break;case\"text\":r.ot=\"c\";break}if(e.segment.isInit&&(r.ot=\"i\"),!C(e.nextSegment)&&e.segment.url!==null&&e.nextSegment.url!==null&&(!e.nextSegment.isInit||e.nextSegment.indexRange===void 0)){let f=e.segment.url,l=e.nextSegment.url,m=Ds(f,l);m!==null&&(m!==\".\"&&(r.nor=encodeURIComponent(m)),e.nextSegment.range!==void 0&&(r.nrr=String(e.nextSegment.range[0])+\"-\",isFinite(e.nextSegment.range[1])&&(r.nrr+=String(e.nextSegment.range[1]))))}let i;if(t!==void 0&&(r.ot===\"v\"||r.ot===\"a\"||r.ot===\"av\")){let f=t.buffered[e.adaptation.type];if(!C(f)){let l=(u=(d=(s=this._playbackObserver)==null?void 0:s.getCurrentTime())!=null?d:t.position.getWanted())!=null?u:t.position.getPolled();for(let m of f)if(l>=m.start&&l<m.end){i=(m.end-l)*1e3,r.bl=Math.floor(Math.round(i/100)*100);break}}}let a=i===void 0||t===void 0||!isFinite(t.speed)||t.speed<=0?void 0:i/t.speed;if(r.dl=a===void 0?void 0:Math.floor(Math.round(a/100)*100),a!==void 0){let l=e.representation.bitrate*e.segment.duration/1e3/(a/1e3);r.rtp=Math.floor(Math.round(l*Ml/100)*100)}switch(e.manifest.transport){case\"dash\":r.sf=\"d\";break;case\"smooth\":r.sf=\"s\";break;default:r.sf=\"o\";break}return r.st=e.manifest.isDynamic?\"l\":\"v\",r.tb=e.adaptation.representations.reduce((f,l)=>l.isPlayable()!==!0?f:f===void 0?Math.round(l.bitrate/1e3):Math.max(f,Math.round(l.bitrate/1e3)),void 0),this._producePayload(r)}_producePayload(e){let t={object:\"\",request:\"\",session:\"\",status:\"\"},r=\"\",i=(u,f)=>{this._typePreference===0?t[f]+=u:r+=u},a=(u,f)=>{let l=e[u];if(l!==void 0){let m=`${u}=${String(l)},`;i(m,f)}},o=(u,f)=>{if(e[u]===!0){let l=`${u},`;i(l,f)}},s=(u,f)=>{let l=e[u];if(l!==void 0){let m=`\"${l.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}\"`,g=`${u}=${m},`;i(g,f)}},d=(u,f)=>{let l=e[u];if(l!==void 0){let m=`${u}=${l},`;i(m,f)}};return a(\"bl\",\"request\"),a(\"br\",\"object\"),o(\"bs\",\"status\"),s(\"cid\",\"session\"),a(\"d\",\"object\"),a(\"dl\",\"request\"),a(\"mtp\",\"request\"),s(\"nor\",\"request\"),s(\"nrr\",\"request\"),d(\"ot\",\"object\"),a(\"pr\",\"session\"),a(\"rtp\",\"status\"),d(\"sf\",\"session\"),s(\"sid\",\"session\"),d(\"st\",\"session\"),o(\"su\",\"request\"),a(\"tb\",\"object\"),this._typePreference===0?(t.object[t.object.length-1]===\",\"&&(t.object=t.object.substring(0,t.object.length-1)),t.request[t.request.length-1]===\",\"&&(t.request=t.request.substring(0,t.request.length-1)),t.session[t.session.length-1]===\",\"&&(t.session=t.session.substring(0,t.session.length-1)),t.status[t.status.length-1]===\",\"&&(t.status=t.status.substring(0,t.status.length-1)),c.debug(\"CMCD\",\"proposing headers payload\"),{type:\"headers\",value:{\"CMCD-Object\":t.object,\"CMCD-Request\":t.request,\"CMCD-Session\":t.session,\"CMCD-Status\":t.status}}):(r[r.length-1]===\",\"&&(r=r.substring(0,r.length-1)),r=encodeURIComponent(r),c.debug(\"CMCD\",\"proposing query string payload\",{queryString:r}),{type:\"query\",value:[[\"CMCD\",r]]})}};var Bs=jn;var Kn=class extends pe{constructor(e){super(),this._downgradedCdnList={metadata:[],timeouts:[]},e.register(()=>{for(let t of this._downgradedCdnList.timeouts)clearTimeout(t);this._downgradedCdnList={metadata:[],timeouts:[]}})}getCdnPreferenceForResource(e){return e.length<=1?e:this._innerGetCdnPreferenceForResource(e)}downgradeCdn(e){let t=Ns(this._downgradedCdnList.metadata,e);t>=0&&this._removeIndexFromDowngradeList(t);let{DEFAULT_CDN_DOWNGRADE_TIME:r}=U.getCurrent(),i=r;this._downgradedCdnList.metadata.push(e);let a=setTimeout(()=>{let o=Ns(this._downgradedCdnList.metadata,e);o>=0&&this._removeIndexFromDowngradeList(o),this.trigger(\"priorityChange\",null)},i);this._downgradedCdnList.timeouts.push(a),this.trigger(\"priorityChange\",null)}_innerGetCdnPreferenceForResource(e){let[t,r]=e.reduce((i,a)=>(this._downgradedCdnList.metadata.some(o=>o.id===a.id&&o.baseUrl===a.baseUrl)?i[1].push(a):i[0].push(a),i),[[],[]]);return t.concat(r)}_removeIndexFromDowngradeList(e){this._downgradedCdnList.metadata.splice(e,1);let t=this._downgradedCdnList.timeouts.splice(e,1);clearTimeout(t[0])}};function Ns(n,e){return n.length===0?-1:e.id!==void 0?se(n,t=>t.id===e.id):se(n,t=>t.baseUrl===e.baseUrl)}function ze(n){return n instanceof le?new Je(\"PIPELINE_LOAD_ERROR\",n):Ie(n,{defaultCode:\"PIPELINE_LOAD_ERROR\",defaultReason:\"Unknown error when fetching the Manifest\"})}function Ol(n){var t;if(n instanceof le&&n.type===nt.ERROR_HTTP_CODE&&n.status===429)return(t=n.retryAfter)!=null?t:null;if(!(n instanceof Le))return null;let{xhr:e}=n;if((e==null?void 0:e.status)!==429)return null;try{return e.getResponseHeader(\"Retry-After\")}catch(r){return c.debug(\"utils\",\"Could not read Retry-After header from custom loader XHR.\"),null}}function wl(n){let e=n.trim();if(!/^\\d+$/.test(e))return;let t=Number(e);return Number.isFinite(t)?t*1e3:void 0}function oa(n,e){let t=Ol(n);if(t===null)return e;let r=wl(t);if(r===void 0)return c.debug(\"utils\",\"Ignoring invalid Retry-After header.\",{retryAfter:t,selectedDelay:e}),e;let{MAX_RETRY_AFTER_DELAY:i}=U.getCurrent(),a=Math.min(r,i),o=Math.max(e,a);return a<r?c.warn(\"utils\",\"Capping Retry-After delay.\",{retryAfter:t,maximumRetryAfterDelay:i,selectedDelay:o}):c.debug(\"utils\",\"Applying Retry-After delay.\",{retryAfter:t,selectedDelay:o}),o}function Dl(n){return n instanceof le?n.type===nt.ERROR_HTTP_CODE?n.status>=500||n.status===404||n.status===415||n.status===412||n.status===429:n.type===nt.TIMEOUT||n.type===nt.ERROR_EVENT:n instanceof Le?typeof n.canRetry==\"boolean\"?n.canRetry:n.xhr!==void 0?n.xhr.status>=500||n.xhr.status===404||n.xhr.status===415||n.xhr.status===412||n.xhr.status===429:!1:qt(n)&&n.code===\"INTEGRITY_ERROR\"}async function Yn(n,e,t,r,i){if(i.cancellationError!==null)return Promise.reject(i.cancellationError);let{baseDelay:a,maxDelay:o,maxRetry:s,onRetry:d}=r;n!==null&&n.length===0&&c.warn(\"utils\",\"No CDN given to `scheduleRequestWithCdns`.\");let u=new Map,f=l();if(f===void 0)throw new Error(\"No CDN to request\");return m(f);function l(){if(n===null){let p=u.get(null);return p!==void 0&&p.isBlacklisted?void 0:null}else{if(e===null)return b(n);{let p=e.getCdnPreferenceForResource(n);return b(p)}}}async function m(p){try{return await t(p,i)}catch(S){if(z.isCancellationError(S))throw S;p!==null&&e!==null&&e.downgradeCdn(p);let E=u.get(p);if(E===void 0?(E={errorCounter:1,blockedUntil:void 0,isBlacklisted:!1},u.set(p,E)):E.errorCounter++,!Dl(S))return E.blockedUntil=void 0,E.isBlacklisted=!0,g(S);if(E.errorCounter>s)E.blockedUntil=void 0,E.isBlacklisted=!0;else{let v=E.errorCounter,T=Math.min(a*Math.pow(2,v-1),o),_=Di(T),R=oa(S,_);E.blockedUntil=F()+R}return g(S)}}async function g(p){let S=l();if(i.isCancelled())throw i.cancellationError;if(S===void 0)throw p;if(d(p),i.isCancelled())throw i.cancellationError;return h(S,p)}function h(p,S){let E=u.get(p);if(E===void 0||E.blockedUntil===void 0)return m(p);let v=F(),T=E.blockedUntil-v;if(T<=0)return m(p);let _=new z(\"Request Backoff\"),R=_.linkToSignal(i);return new Promise((x,A)=>{e==null||e.addEventListener(\"priorityChange\",()=>{let N=l();if(!i.isCancelled()){if(N===void 0)return D(S);N!==p&&(_.cancel(\"new prioritized CDN\"),h(N,S).then(k,D))}},_.signal),hn(T,_.signal).then(()=>m(p).then(k,D),N=>D(i.isCancelled()?i.cancellationError:N));function k(N){R(),x(N)}function D(N){R(),A(N)}})}function b(p){var E;if(u.size===0)return p[0];let S=F();return(E=p.filter(v=>{var T;return((T=u.get(v))==null?void 0:T.isBlacklisted)!==!0}).reduce((v,T)=>{var R;let _=(R=u.get(T))==null?void 0:R.blockedUntil;return _!==void 0&&_<=S&&(_=void 0),v===void 0?[T,_]:v[1]===void 0?v:_===void 0?[T,void 0]:_<v[1]?[T,_]:v},void 0))==null?void 0:E[0]}}function sa(n,e,t){return Yn(null,null,n,e,t)}var Qn=class extends pe{constructor(e,t,r){super(),this.scheduleManualRefresh=O,this._manifestUrls=e,this._pipelines=t.manifest,this._transportName=t.transportName,this._settings=r,this._canceller=new z(\"ManifestFetcher\"),this._isStarted=!1,this._isRefreshPending=!1,this._consecutiveUnsafeMode=0,this._prioritizedContentUrl=null}dispose(e){this._canceller.cancel(e!=null?e:\"ManifestFetcher dispose\"),this.removeEventListener()}start(){if(this._isStarted)return;this._isStarted=!0;let e,t=this._settings.initialManifest;t instanceof Tt?e=Promise.resolve({manifest:t}):t!==void 0?e=this.parse(t,{previousManifest:null,unsafeMode:!1},void 0):e=this._fetchManifest(void 0).then(r=>r.parse({previousManifest:null,unsafeMode:!1})),e.then(r=>{this.trigger(\"manifestReady\",r.manifest),this._canceller.isUsed()||this._recursivelyRefreshManifest(r.manifest,r)}).catch(r=>this._onFatalError(r))}updateContentUrls(e,t){var r;this._manifestUrls=e,this._prioritizedContentUrl=(r=e==null?void 0:e[0])!=null?r:void 0,t&&this.scheduleManualRefresh({enablePartialRefresh:!1,delay:0,canUseUnsafeMode:!1})}async _fetchManifest(e){var u;let t=this._canceller.signal,r=this._settings,i=this._transportName,a=this._pipelines,o=e!=null?e:(u=this._manifestUrls)==null?void 0:u[0],s=this._getBackoffSetting(f=>{this.trigger(\"warning\",ze(f))});try{let f=await d(o);return{parse:l=>this._parseLoadedManifest(f,l,o)}}catch(f){throw ze(f)}function d(f){var p;let{loadManifest:l}=a,m=r.requestTimeout===void 0?U.getCurrent().DEFAULT_REQUEST_TIMEOUT:r.requestTimeout,g=r.connectionTimeout===void 0?U.getCurrent().DEFAULT_CONNECTION_TIMEOUT:r.connectionTimeout;m<0&&(m=void 0),g<0&&(g=void 0);let h={timeout:m,connectionTimeout:g,cmcdPayload:(p=r.cmcdDataBuilder)==null?void 0:p.getCmcdDataForManifest(i)};return sa(()=>l(f,h,t),s,t)}}parse(e,t,r){return this._parseLoadedManifest({responseData:e,size:void 0,requestDuration:void 0},t,r)}async _parseLoadedManifest(e,t,r){var b;let i=F(),a=this._canceller.signal,o=this.trigger.bind(this),{sendingTime:s,receivedTime:d}=e,u=this._getBackoffSetting(p=>{this.trigger(\"warning\",ze(p))}),f=r!=null?r:(b=this._manifestUrls)==null?void 0:b[0],l={externalClockOffset:t.externalClockOffset,unsafeMode:t.unsafeMode,previousManifest:t.previousManifest,originalUrl:f};try{let p=this._pipelines.parseManifest(e,l,g,a,m);if(Bl(p)){let{manifest:S}=await p;return h(S)}else return h(p.manifest)}catch(p){throw Ie(p,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"})}async function m(p){try{return await sa(p,u,a)}catch(S){throw ze(S)}}function g(p){for(let S of p){if(a.isCancelled())return;let E=Ie(S,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown error when parsing the Manifest\"});o(\"warning\",E)}}function h(p){let S=F()-i;return c.info(\"MF\",`Manifest parsed in ${S}ms`),{manifest:p,sendingTime:s,receivedTime:d,parsingTime:S}}}_getBackoffSetting(e){let{DEFAULT_MAX_MANIFEST_REQUEST_RETRY:t,INITIAL_BACKOFF_DELAY_BASE:r,MAX_BACKOFF_DELAY_BASE:i}=U.getCurrent(),{lowLatencyMode:a,maxRetry:o}=this._settings,s=a?r.LOW_LATENCY:r.REGULAR,d=a?i.LOW_LATENCY:i.REGULAR,u=o!=null?o:t;return{onRetry:e,baseDelay:s,maxDelay:d,maxRetry:u}}_recursivelyRefreshManifest(e,{sendingTime:t,parsingTime:r,updatingTime:i}){let{MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE:a,MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE:o}=U.getCurrent(),s=r!==void 0?r+(i!=null?i:0):void 0,d=!1;this._consecutiveUnsafeMode>0?d=this._consecutiveUnsafeMode<a:s!==void 0&&(d=s>=o);let u=t===void 0?0:F()-t,f=Math.max(this._settings.minimumManifestUpdateInterval-u,0),l=new z(\"ManifestFetcher refresh handling\");if(l.linkToSignal(this._canceller.signal),this.scheduleManualRefresh=m=>{let{enablePartialRefresh:g,delay:h,canUseUnsafeMode:b}=m,p=b&&d,S=t===void 0?0:F()-t,E=Math.max(this._settings.minimumManifestUpdateInterval-S,0),v=setTimeout(()=>{l.cancel(\"manifest request timeout\"),this._triggerNextManifestRefresh(e,{enablePartialRefresh:g,unsafeMode:p})},Math.max((h!=null?h:0)-S,E));l.signal.register(()=>{clearTimeout(v)})},e.expired!==null){let m=setTimeout(()=>{var g;(g=e.expired)==null||g.then(()=>{l.cancel(\"manifest expiration\"),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},O)},f);l.signal.register(()=>{clearTimeout(m)})}if(e.lifetime!==void 0&&e.lifetime>=0){let m=e.lifetime*1e3-u,g;s===void 0?g=m:e.lifetime<3&&s>=100?(g=Math.min(Math.max(3e3-u,Math.max(m,0)+s),m*6),c.info(\"MF\",\"Manifest update rythm is too frequent. Postponing next request.\",{regularRefreshDelay:m,newRefreshDelay:g})):s>=e.lifetime*1e3/10?(g=Math.min(Math.max(m,0)+s,m*6),c.info(\"MF\",\"Manifest took too long to parse. Postponing next request\",{regularRefreshDelay:m,newRefreshDelay:g})):g=m;let h=setTimeout(()=>{l.cancel(\"manifest request timeout\"),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:d})},Math.max(g,f));l.signal.register(()=>{clearTimeout(h)})}}_triggerNextManifestRefresh(e,{enablePartialRefresh:t,unsafeMode:r}){let i=e.updateUrl,a,o;this._prioritizedContentUrl!==null?(a=!0,o=this._prioritizedContentUrl,this._prioritizedContentUrl=null):(a=!t||i===void 0,o=a?e.getUrls()[0]:i);let s=e.clockOffset;r?(this._consecutiveUnsafeMode+=1,c.info(\"MF\",'Refreshing the Manifest in \"unsafeMode\" for the '+String(this._consecutiveUnsafeMode)+\" consecutive time.\")):this._consecutiveUnsafeMode>0&&(c.info(\"MF\",'Not parsing the Manifest in \"unsafeMode\" anymore after '+String(this._consecutiveUnsafeMode)+\" consecutive times.\"),this._consecutiveUnsafeMode=0),!this._isRefreshPending&&(this._isRefreshPending=!0,this._fetchManifest(o).then(d=>d.parse({externalClockOffset:s,previousManifest:e,unsafeMode:r})).then(d=>{this._isRefreshPending=!1;let{manifest:u,sendingTime:f,parsingTime:l}=d,m=F();if(a)e.replace(u);else try{e.update(u)}catch(h){let b=h instanceof Error?h.message:\"unknown error\";c.warn(\"MF\",`Attempt to update Manifest failed: ${b}`,\"Re-downloading the Manifest fully\");let{FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY:p}=U.getCurrent(),S=f===void 0?0:F()-f,E=Math.max(this._settings.minimumManifestUpdateInterval-S,0),v=O,T=setTimeout(()=>{v(),this._triggerNextManifestRefresh(e,{enablePartialRefresh:!1,unsafeMode:!1})},Math.max(p-S,E));v=this._canceller.signal.register(()=>{clearTimeout(T)});return}let g=F()-m;this._recursivelyRefreshManifest(e,{sendingTime:f,parsingTime:l,updatingTime:g})}).catch(d=>{this._isRefreshPending=!1,this._onFatalError(d)}))}_onFatalError(e){this._canceller.isUsed()||(this.trigger(\"error\",e),this.dispose(\"ManifestFetcher fatal err\"))}};function Bl(n){return n instanceof Promise}var da=Qn;function ua(n,e){let t=new WeakMap;return{createRequest(r,i,a,o){let s=u=>e(r,a,u),d=n.create(s,i,a,o);return t.set(d,s),d},updatePriority(r,i){let a=t.get(r);if(a===void 0){c.warn(\"SF\",\"Cannot update the priority of a request: task not found.\");return}n.updatePriority(a,i)}}}var la=class{constructor(){this._cache=new WeakMap}add({representation:e,segment:t},r){t.isInit&&this._cache.set(e,r)}get({representation:e,segment:t}){if(t.isInit){let r=this._cache.get(e);if(r!==void 0)return r}return null}},Ls=la;var Nl=Oe();function fa({bufferType:n,pipeline:e,cdnPrioritizer:t,cmcdDataBuilder:r,eventListeners:i,requestOptions:a}){let o;a.connectionTimeout===void 0||a.connectionTimeout<0?o=void 0:o=a.connectionTimeout;let s={timeout:a.requestTimeout<0?void 0:a.requestTimeout,connectionTimeout:o,cmcdPayload:void 0},d=me([\"audio\",\"video\"],n)?new Ls:void 0,{loadSegment:u,parseSegment:f}=e;return async function(m,g,h){var H,Q,Z;let{segment:b,adaptation:p,representation:S,manifest:E,period:v}=m,T=Ye(m),_=Nl(),R,x=[],A=0,k=!1,D={segment:b,type:p.type,language:p.language,isLive:E.isLive,periodStart:v.start,periodEnd:v.end,mimeType:S.mimeType,baseCodecs:S.baseCodecs,chosenCodec:S.chosenCodec,manifestPublishTime:E.publishTime},N={onProgress(V){var ee;R===void 0&&V.totalSize!==void 0&&V.size<V.totalSize&&((ee=i.onProgress)==null||ee.call(i,{duration:V.duration,size:V.size,totalSize:V.totalSize,timestamp:F(),id:_}))},onNewChunk(V){g.onChunk(M(V,!0))}},W=d!==void 0?d.get(m):null;if(W!==null)return c.debug(\"SF\",\"Found wanted segment in cache\",T),g.onChunk(M(W,!1)),Promise.resolve();c.debug(\"SF\",\"Beginning request\",T),(H=i.onRequestBegin)==null||H.call(i,{requestTimestamp:F(),id:_,content:m}),h.register(L);try{let V=await Yn(m.representation.cdnMetadata,t,P,j({onRetry:w},a),h);if(V.resultType===\"segment-loaded\"){let ee=V.resultData.responseData;d!==void 0&&d.add(m,V.resultData.responseData),g.onChunk(M(ee,!1))}else V.resultType===\"segment-created\"&&g.onChunk(M(V.resultData,!1));c.debug(\"SF\",\"Segment request ended with success\",T),g.onAllChunksReceived(),V.resultType!==\"segment-created\"?(R=V.resultData,B()):R=null,h.isCancelled()||(Q=i.onRequestEnd)==null||Q.call(i,{id:_}),h.deregister(L)}catch(V){throw h.deregister(L),R=null,V instanceof fe?(c.debug(\"SF\",\"Segment request aborted\",T),V):(c.debug(\"SF\",\"Segment request failed\",T),(Z=i.onRequestEnd)==null||Z.call(i,{id:_}),ze(V))}function L(){var V;R===void 0&&(c.debug(\"SF\",\"Segment request cancelled\",T),R=null,(V=i.onRequestEnd)==null||V.call(i,{id:_}))}function P(V){return s.cmcdPayload=r==null?void 0:r.getCmcdDataForSegmentRequest(m),u(V,D,s,h,N)}function M(V,ee){x.push(!1);let J=x.length-1;return function(he){let Ze={data:V,isChunked:ee};try{let oe=f(Ze,D,he);return x[J]||(A=A!==void 0&&oe.segmentType===\"media\"&&oe.chunkInfos!==null&&oe.chunkInfos.duration!==void 0?A+oe.chunkInfos.duration:void 0,x[J]=!0,B()),oe}catch(oe){throw Ie(oe,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}}function w(V){g.onRetry(ze(V))}function B(){var V;k||!C(R)&&R.size!==void 0&&R.requestDuration!==void 0&&x.length>0&&x.every(ee=>ee)&&(k=!0,(V=i.onMetrics)==null||V.call(i,{size:R.size,requestDuration:R.requestDuration,content:m,segmentDuration:A}))}}}function Us({maxRetry:n,lowLatencyMode:e,requestTimeout:t,connectionTimeout:r}){let{DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR:i,DEFAULT_REQUEST_TIMEOUT:a,DEFAULT_CONNECTION_TIMEOUT:o,INITIAL_BACKOFF_DELAY_BASE:s,MAX_BACKOFF_DELAY_BASE:d}=U.getCurrent();return{maxRetry:n!=null?n:i,baseDelay:e?s.LOW_LATENCY:s.REGULAR,maxDelay:e?d.LOW_LATENCY:d.REGULAR,requestTimeout:t===void 0?a:t,connectionTimeout:r===void 0?o:r}}var $n=class extends pe{constructor(e,t){super(),this._segmentFetcher=e,this._currentContentInfo=null,this.isMediaSegmentQueueInterrupted=t}getRequestedInitSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.initSegmentRequest)==null?void 0:t.segment)!=null?r:null}getRequestedMediaSegment(){var e,t,r;return(r=(t=(e=this._currentContentInfo)==null?void 0:e.mediaSegmentRequest)==null?void 0:t.segment)!=null?r:null}resetForContent(e,t,r){var s;(s=this._currentContentInfo)==null||s.currentCanceller.cancel(r!=null?r:\"SegmentQueue reset\");let i=new $({initSegment:null,segmentQueue:[]}),a=new z(\"SegmentQueue \"+e.adaptation.type);a.signal.register(()=>{i.finish()});let o={content:e,downloadQueue:i,initSegmentInfoRef:t?new $(void 0):new $(null),currentCanceller:a,initSegmentRequest:null,mediaSegmentRequest:null,mediaSegmentAwaitingInitMetadata:null};return this._currentContentInfo=o,this.isMediaSegmentQueueInterrupted.onUpdate(d=>{d||(c.debug(\"SF\",\"Media segment can be loaded again, restarting queue.\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(o,\"interrupt end\"))},{clearSignal:a.signal}),i.onUpdate(d=>{let{segmentQueue:u}=d;if(u.length>0&&u[0].segment.id===o.mediaSegmentAwaitingInitMetadata)return;let f=o.mediaSegmentRequest;if(u.length===0){if(f===null)return;c.debug(\"SF\",\"no more media segment to request. Cancelling queue.\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(o,\"media segment queue empty\");return}else if(f===null){c.debug(\"SF\",\"Media segments now need to be requested. Starting queue.\",{type:e.adaptation.type,queueLength:u.length}),this._restartMediaSegmentDownloadingQueue(o,\"media segment queue start\");return}else{let l=u[0];if(f.segment.id!==l.segment.id){c.debug(\"SF\",\"Next media segment changed, cancelling previous\",{type:e.adaptation.type}),this._restartMediaSegmentDownloadingQueue(o,\"next media segment changed\");return}f.priority!==l.priority&&(c.debug(\"SF\",\"Priority of next media segment changed, updating\",{type:e.adaptation.type,prevPriority:f.priority,newPriority:l.priority}),this._segmentFetcher.updatePriority(f.request,l.priority));return}},{emitCurrentValue:!0,clearSignal:a.signal}),i.onUpdate(d=>{var f;let u=o.initSegmentRequest;if(d.initSegment!==null&&u!==null){d.initSegment.priority!==u.priority&&this._segmentFetcher.updatePriority(u.request,d.initSegment.priority);return}else if(((f=d.initSegment)==null?void 0:f.segment.id)===(u==null?void 0:u.segment.id))return;d.initSegment===null&&c.debug(\"SF\",\"no more init segment to request. Cancelling queue.\",{type:e.adaptation.type}),this._restartInitSegmentDownloadingQueue(o,d.initSegment,\"init segment queue empty\")},{emitCurrentValue:!0,clearSignal:a.signal}),i}stop(e){var t;(t=this._currentContentInfo)==null||t.currentCanceller.cancel(e!=null?e:\"SegmentQueue stop\"),this._currentContentInfo=null}_restartMediaSegmentDownloadingQueue(e,t){e.mediaSegmentRequest!==null&&e.mediaSegmentRequest.canceller.cancel(t!=null?t:\"SegmentQueue media restart\");let{downloadQueue:r,content:i,initSegmentInfoRef:a,currentCanceller:o}=e,s=()=>{var T;if(this.isMediaSegmentQueueInterrupted.getValue()){c.debug(\"SF\",\"Segment fetching postponed because it cannot stream now.\");return}let{segmentQueue:d}=r.getValue(),u=d[0];if(o!==null&&o.isUsed()){e.mediaSegmentRequest=null;return}if(u===void 0){e.mediaSegmentRequest=null,this.trigger(\"emptyQueue\",null);return}let f=new z(\"SegmentQueue media segments queue \"+i.adaptation.type),l=o===null?O:f.linkToSignal(o.signal),{segment:m,priority:g}=u,h=j({segment:m,nextSegment:(T=d[1])==null?void 0:T.segment},i),b=!1,p=!1;f.signal.register(()=>{e.mediaSegmentRequest=null,!b&&(e.mediaSegmentAwaitingInitMetadata===m.id&&(e.mediaSegmentAwaitingInitMetadata=null),b=!0,p=!1)});let S=_=>{ye(_.segmentType===\"media\",\"Should have loaded a media segment.\"),this.trigger(\"parsedMediaSegment\",j({},_,{segment:m}))},E=()=>{let _=r.getValue().segmentQueue;if(_.length===0){b=!0,this.trigger(\"emptyQueue\",null);return}else _[0].segment.id===m.id&&_.shift();b=!0,s()},v=this._segmentFetcher.createRequest(h,g,{onRetry:_=>{this.trigger(\"requestRetry\",{segment:m,error:_})},beforeInterrupted(){c.info(\"SF\",\"segment request interrupted temporarly.\",{segmentId:m.id,segmentTime:m.time})},onChunk:_=>{let R=a.getValue();R!==void 0?S(_(R!=null?R:void 0)):(p=!0,a.waitUntilDefined(x=>{S(_(x!=null?x:void 0))},{clearSignal:f.signal}))},onAllChunksReceived:()=>{p?(e.mediaSegmentAwaitingInitMetadata=m.id,a.waitUntilDefined(()=>{e.mediaSegmentAwaitingInitMetadata=null,p=!1,this.trigger(\"fullyLoadedSegment\",m)},{clearSignal:f.signal})):this.trigger(\"fullyLoadedSegment\",m)},beforeEnded:()=>{l(),e.mediaSegmentRequest=null,p?a.waitUntilDefined(E,{clearSignal:f.signal}):E()}},f.signal);v.catch(_=>{l(),b||(b=!0,this.stop(\"request err\"),this.trigger(\"error\",_))}),e.mediaSegmentRequest={segment:m,priority:g,request:v,canceller:f}};s()}_restartInitSegmentDownloadingQueue(e,t,r){let{content:i,initSegmentInfoRef:a}=e;if(e.initSegmentRequest!==null&&e.initSegmentRequest.canceller.cancel(r!=null?r:\"SegmentQueue init restart\"),t===null)return;let o=new z(\"SegmentQueue init segment \"+i.adaptation.type),s=e.currentCanceller===null?O:o.linkToSignal(e.currentCanceller.signal),{segment:d,priority:u}=t,f=j({segment:d,nextSegment:void 0},i),l=!1,m=this._segmentFetcher.createRequest(f,u,{onRetry:g=>{this.trigger(\"requestRetry\",{segment:d,error:g})},beforeInterrupted:()=>{c.info(\"SF\",\"init segment request interrupted temporarly.\",{segmentId:d.id})},beforeEnded:()=>{s(),e.initSegmentRequest=null,l=!0},onChunk:g=>{var b;let h=g(void 0);ye(h.segmentType===\"init\",\"Should have loaded an init segment.\"),this.trigger(\"parsedInitSegment\",j({},h,{segment:d})),h.segmentType===\"init\"&&a.setValue((b=h.initTimescale)!=null?b:null)},onAllChunksReceived:()=>{this.trigger(\"fullyLoadedSegment\",d)}},o.signal);m.catch(g=>{s(),l||(l=!0,this.stop(\"request err\"),this.trigger(\"error\",g))}),o.signal.register(()=>{e.initSegmentRequest=null,!l&&(l=!0)}),e.initSegmentRequest={segment:d,priority:u,request:m,canceller:o}}};var Zn=class{constructor({prioritySteps:e}){if(this._minPendingPriority=null,this._waitingQueue=[],this._pendingTasks=[],this._prioritySteps=e,this._prioritySteps.high>=this._prioritySteps.low)throw new Error(\"The max high level priority should be given a lowerpriority number than the min low priority.\")}create(e,t,r,i){let a;return Mt(i,(o,s)=>(a={hasEnded:!1,priority:t,trigger:()=>{if(a.hasEnded)return;let u=()=>{g(),this._endTask(a)},f=h=>{r.beforeEnded(),u(),o(h)},l=h=>{u(),s(h)},m=new z(void 0),g=m.linkToSignal(i);a.interrupter=m,m.signal.register(()=>{a.interrupter=null,i.isCancelled()||r.beforeInterrupted()}),this._minPendingPriority=this._minPendingPriority===null?a.priority:Math.min(this._minPendingPriority,a.priority),this._pendingTasks.push(a),a.taskFn(m.signal).then(f).catch(h=>{!i.isCancelled()&&m.isUsed()&&h instanceof fe||l(h)})},taskFn:e,interrupter:null},this._canBeStartedNow(a)?(a.trigger(),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()):this._waitingQueue.push(a),()=>this._endTask(a)))}_endTask(e){e.hasEnded=!0;let t=Xn(e.taskFn,this._waitingQueue);if(t>=0)this._waitingQueue.splice(t,1);else{let r=Xn(e.taskFn,this._pendingTasks);if(r<0)return;this._pendingTasks.splice(r,1),this._pendingTasks.length>0?this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))):this._minPendingPriority=null,this._loopThroughWaitingQueue()}}updatePriority(e,t){let r=Xn(e,this._waitingQueue);if(r>=0){let s=this._waitingQueue[r];if(s.priority===t||(s.priority=t,!this._canBeStartedNow(s)))return;this._findAndRunWaitingQueueTask(r),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks();return}let i=Xn(e,this._pendingTasks);if(i<0){c.warn(\"SF\",\"request to update the priority of a non-existent task\");return}let a=this._pendingTasks[i];if(a.priority===t)return;let o=a.priority;a.priority=t,this._minPendingPriority===null||t<this._minPendingPriority?this._minPendingPriority=t:this._minPendingPriority===o&&(this._pendingTasks.length===1?this._minPendingPriority=t:this._minPendingPriority=Math.min(...this._pendingTasks.map(s=>s.priority)),this._loopThroughWaitingQueue()),this._isRunningHighPriorityTasks()&&this._interruptCancellableTasks()}_loopThroughWaitingQueue(){let e=this._waitingQueue.reduce((t,r)=>t===null||t>r.priority?r.priority:t,null);if(!(e===null||this._minPendingPriority!==null&&this._minPendingPriority<e))for(let t=0;t<this._waitingQueue.length;t++){let r=this._minPendingPriority===null?e:Math.min(this._minPendingPriority,e);this._waitingQueue[t].priority<=r&&(this._findAndRunWaitingQueueTask(t),t--)}}_interruptCancellableTasks(){for(let e of this._pendingTasks)if(e.priority>=this._prioritySteps.low)return this._interruptPendingTask(e),this._interruptCancellableTasks()}_findAndRunWaitingQueueTask(e){return e>=this._waitingQueue.length||e<0?(c.warn(\"SF\",\"Tried to start a non existing task\"),!1):(this._waitingQueue.splice(e,1)[0].trigger(),!0)}_interruptPendingTask(e){var r;let t=Xn(e.taskFn,this._pendingTasks);if(t<0){c.warn(\"SF\",\"Interrupting a non-existent pending task. Aborting...\");return}this._pendingTasks.splice(t,1),this._waitingQueue.push(e),this._pendingTasks.length===0?this._minPendingPriority=null:this._minPendingPriority===e.priority&&(this._minPendingPriority=Math.min(...this._pendingTasks.map(i=>i.priority))),(r=e.interrupter)==null||r.cancel(\"TaskPrioritizer interrupt\")}_canBeStartedNow(e){return this._minPendingPriority===null||e.priority<=this._minPendingPriority}_isRunningHighPriorityTasks(){return this._minPendingPriority!==null&&this._minPendingPriority<=this._prioritySteps.high}};function Xn(n,e){return se(e,t=>t.taskFn===n)}var Jn=class{constructor(e,t,r,i){let{MIN_CANCELABLE_PRIORITY:a,MAX_HIGH_PRIORITY_LEVEL:o}=U.getCurrent();this._transport=e,this._prioritizer=new Zn({prioritySteps:{high:o,low:a}}),this._cdnPrioritizer=t,this._backoffOptions=i,this._cmcdDataBuilder=r}createSegmentQueue(e,t,r){let i=Us(this._backoffOptions),a=this._transport[e],o=fa({bufferType:e,pipeline:a,cdnPrioritizer:this._cdnPrioritizer,cmcdDataBuilder:this._cmcdDataBuilder,eventListeners:t,requestOptions:i}),s=ua(this._prioritizer,o);return new $n(s,r)}};var ma=Jn;function ca(n,e){let{loadThumbnail:t}=n,r=[];return async function(a,o){o.register(T);let{segment:s,track:d}=a,u,f=K(r,({thumbnailContext:x})=>x.period.id===a.period.id&&x.track.id===a.track.id&&x.segment.id===a.segment.id);if(f!==void 0){c.debug(\"Thumbnails\",\"Requesting same thumbnail than the pending one\",{time:a.segment.time}),u=f,u.referenceCount++;let x;try{x=await u.promise}catch(A){throw o.deregister(T),A}if(o.deregister(T),o.isCancelled())throw o.cancellationError;return v(x)}let l=Ll({}),m;l.connectionTimeout===void 0||l.connectionTimeout<0?m=void 0:m=l.connectionTimeout;let g={timeout:l.requestTimeout<0?void 0:l.requestTimeout,connectionTimeout:m,cmcdPayload:void 0},h=new z(\"Thumbnail request\"),b=E();u={thumbnailContext:a,promise:b,referenceCount:1},r.push(u);let p=()=>{let x=r.indexOf(u);x>=0&&r.splice(x,1)},S;try{S=await b}catch(x){throw p(),o.deregister(T),x}if(p(),o.deregister(T),o.isCancelled())throw o.cancellationError;return v(S);async function E(){c.debug(\"Thumbnails\",\"Beginning thumbnail request\",{time:s.time});try{let x=await Yn(d.cdnMetadata,e,_,j({onRetry:R},l),h.signal);return c.debug(\"Thumbnails\",\"Thumbnail request ended with success\",{time:s.time}),x}catch(x){throw x instanceof fe?(c.debug(\"Thumbnails\",\"Thumbnail request aborted\",{time:s.time}),x):(c.debug(\"Thumbnails\",\"Thumbnail request failed\",{time:s.time}),ze(x))}}function v(x){try{return n.parseThumbnail(x.responseData,{thumbnail:s,thumbnailTrack:d})}catch(A){throw Ie(A,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"Unknown parsing error\"})}}function T(){c.debug(\"Thumbnails\",\"Thumbnail request cancelled\",{time:s.time});let x=r.indexOf(u);x<0||(r[x].referenceCount--,r[x].referenceCount<=0&&(h.cancel(\"Thumbnail request aborted\"),r.splice(x,1)))}function _(x){return t(x,s,g,h.signal)}function R(x){let A=ze(x);c.warn(\"Thumbnails\",\"Thumbnail request retry \",{time:s.time},A)}}}function Ll({maxRetry:n,requestTimeout:e,connectionTimeout:t}){let{DEFAULT_MAX_THUMBNAIL_REQUESTS_RETRY_ON_ERROR:r,DEFAULT_THUMBNAIL_REQUEST_TIMEOUT:i,DEFAULT_THUMBNAIL_CONNECTION_TIMEOUT:a,INITIAL_BACKOFF_DELAY_BASE:o,MAX_BACKOFF_DELAY_BASE:s}=U.getCurrent();return{maxRetry:n!=null?n:r,baseDelay:o.REGULAR,maxDelay:s.REGULAR,requestTimeout:e===void 0?i:e,connectionTimeout:t===void 0?a:t}}var er=class{constructor(e,t){this._contentId=e,this._messageSender=t,this._queues={pushTextData:[],remove:[]}}pushTextData(e){return new Promise((t,r)=>{this._queues.pushTextData.push({resolve:t,reject:r}),this._messageSender({type:\"push-text-data\",contentId:this._contentId,value:e})})}remove(e,t){return new Promise((r,i)=>{this._queues.remove.push({resolve:r,reject:i}),this._messageSender({type:\"remove-text-data\",contentId:this._contentId,value:{start:e,end:t}})})}reset(){this._messageSender({type:\"reset-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue(\"WorkerTextDisplayerInterface reset\")}stop(e){this._messageSender({type:\"stop-text-displayer\",contentId:this._contentId,value:null}),this._resetCurrentQueue(e)}_resetCurrentQueue(e){let t=new fe(\"WorkerTextDisplayerInterface queue\",e!=null?e:\"reset\");this._queues.pushTextData.forEach(r=>{r.reject(t)}),this._queues.pushTextData.length=0,this._queues.remove.forEach(r=>{r.reject(t)}),this._queues.remove.length=0}onPushedTrackSuccess(e){let t=this._queues.pushTextData.shift();if(t===void 0){c.error(\"text\",\"pushTextData success for inexistant operation\");return}t.resolve(e)}onPushedTrackError(e){let t=this._queues.pushTextData.shift();if(t===void 0){c.error(\"text\",\"pushTextData error for inexistant operation\");return}t.reject(e)}onRemoveSuccess(e){let t=this._queues.remove.shift();if(t===void 0){c.error(\"text\",\"remove success for inexistant operation\");return}t.resolve(e)}onRemoveError(e){let t=this._queues.remove.shift();if(t===void 0){c.error(\"text\",\"remove error for inexistant operation\");return}t.reject(e)}};var Fs=6,pa=4e3,jr=6e3,Ul=6e4,Qt=class{constructor(e){this._segmentSinksStore=e,this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=null,this._lastFlushAttempt=null,this._lastSegmentInfo={audio:[],video:[]}}onNewObservation(e){var p,S;let t=F();if(this._addPositionToHistory(e,t),this._ignoreFreezeUntil!==null&&t<this._ignoreFreezeUntil)return null;this._ignoreFreezeUntil=null;let{UNFREEZING_SEEK_DELAY:r,UNFREEZING_DELTA_POSITION:i,FREEZING_FLUSH_FAILURE_DELAY:a}=U.getCurrent(),{readyState:o,rebuffering:s,freezing:d,fullyLoaded:u}=e,f=e.position.getPolled(),l=zs(e.bufferGap);if(!(d!==null||o===1&&(l>=Fs||u)))return this._decipherabilityFreezeStartingTimestamp=null,null;let g=(S=(p=d==null?void 0:d.timestamp)!=null?p:s==null?void 0:s.timestamp)!=null?S:null;if(c.info(\"Freeze\",\"Freeze detected\",{freezeStart:g,timeFrozen:t-(g!=null?g:t)}),this._lastFlushAttempt!==null&&t-this._lastFlushAttempt.timestamp<a.MAXIMUM&&t-this._lastFlushAttempt.timestamp>=a.MINIMUM&&Math.abs(f-this._lastFlushAttempt.position)<a.POSITION_DELTA){let E=this._getStrategyIfFlushingFails(f);return this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+jr,E}let b=this._checkForDecipherabilityRelatedFreeze(e,t);return b!==null?b:g!==null&&t-g>r?(this._lastFlushAttempt={timestamp:t,position:f+i},c.debug(\"Freeze\",\"Trying to flush to un-freeze\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+jr,{type:\"flush\",value:{relativeSeek:i}}):null}_checkForDecipherabilityRelatedFreeze(e,t){let{readyState:r,rebuffering:i,freezing:a,fullyLoaded:o}=e,s=zs(e.bufferGap),d=i!==null&&t-i.timestamp>pa,{hasUndecipherableData:u,hasEncryptedData:f}=Fl(this._segmentSinksStore);if(u===!0)return c.warn(\"Freeze\",\"we have undecipherable segments left in the buffer, reloading\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+jr,{type:\"reload\",value:null};let l=a!==null&&t-a.timestamp>pa;return(d||l)&&(s>=Fs||o)&&r<=1?this._decipherabilityFreezeStartingTimestamp===null&&(c.debug(\"Freeze\",\"Start of a potential decipherability freeze detected\"),this._decipherabilityFreezeStartingTimestamp=t):this._decipherabilityFreezeStartingTimestamp=null,this._decipherabilityFreezeStartingTimestamp!==null&&F()-this._decipherabilityFreezeStartingTimestamp>pa&&f&&u===!1?(c.warn(\"Freeze\",\"we are frozen despite only having decipherable segments left in the buffer, reloading\"),this._decipherabilityFreezeStartingTimestamp=null,this._ignoreFreezeUntil=t+jr,{type:\"reload\",value:null}):null}_getStrategyIfFlushingFails(e){c.warn(\"Freeze\",\"A recent flush seemed to have no effect on freeze, checking for transitions\");let t=[];for(let r of[\"audio\",\"video\"]){let i=this._lastSegmentInfo[r];if(i.length===0)continue;let a=i[i.length-1];if(a.segment===null)continue;let o=a.segment,s;for(let d=i.length-2;d>=0;d--){let u=i[d];if(u.segment===null){s=u;break}else if(u.segment.infos.representation.uniqueId!==o.infos.representation.uniqueId&&a.timestamp-u.timestamp<5e3){s=u;break}else u.segment.start===o.start&&e-u.position<3e3&&(a=u)}if(s===void 0||s.segment===null)c.debug(\"Freeze\",\"Freeze when beginning to play a content, try avoiding this quality\"),t.push({adaptation:o.infos.adaptation,period:o.infos.period,representation:o.infos.representation});else{if(o.infos.period.id!==s.segment.infos.period.id)return c.debug(\"Freeze\",\"Freeze when switching Period, reloading\"),{type:\"reload\",value:null};o.infos.representation.uniqueId!==s.segment.infos.representation.uniqueId&&(c.warn(\"Freeze\",\"Freeze when switching Representation, avoiding\",{bitrate:o.infos.representation.bitrate}),t.push({adaptation:o.infos.adaptation,period:o.infos.period,representation:o.infos.representation}))}}return t.length>0?{type:\"avoid-representations\",value:t}:(c.debug(\"Freeze\",\"Reloading because flush doesn't work\"),{type:\"reload\",value:null})}_addPositionToHistory(e,t){var i,a;let r=e.position.getPolled();for(let o of[\"audio\",\"video\"]){let s=this._segmentSinksStore.getStatus(o);if(s.type===\"initialized\")for(let f of s.value.getLastKnownInventory())((i=f.bufferedStart)!=null?i:f.start)<=r&&((a=f.bufferedEnd)!=null?a:f.end)>r&&this._lastSegmentInfo[o].push({segment:f,position:r,timestamp:t});else this._lastSegmentInfo[o].push({segment:null,position:r,timestamp:t});if(this._lastSegmentInfo[o].length>100){let f=this._lastSegmentInfo[o].length-100;this._lastSegmentInfo[o].splice(0,f)}let d=t-Ul,u;for(u=0;u<this._lastSegmentInfo[o].length&&!(this._lastSegmentInfo[o][u].timestamp>d);u++);u>0&&this._lastSegmentInfo[o].splice(0,u)}}};function Fl(n){let e=!0,t=!0;for(let r of[\"audio\",\"video\"]){let i=n.getStatus(r);if(i.type===\"initialized\")for(let a of i.value.getLastKnownInventory()){let{representation:o}=a.infos;if(o.decipherable===!1)return{hasUndecipherableData:!0,hasEncryptedData:!0};o.contentProtections!==void 0&&(t=!1,o.decipherable!==!0&&(e=!1))}}return{hasEncryptedData:!t,hasUndecipherableData:e?!1:void 0}}function zs(n){return n!==void 0&&isFinite(n)?n:0}var tr=class{constructor(){this._refs=new Map}reset(){var e,t,r,i,a,o,s,d,u,f,l,m;for(let g of this._refs.keys())(t=(e=this._refs.get(g))==null?void 0:e.audio)==null||t.trackReference.finish(),(i=(r=this._refs.get(g))==null?void 0:r.audio)==null||i.representations.finish(),(o=(a=this._refs.get(g))==null?void 0:a.video)==null||o.trackReference.finish(),(d=(s=this._refs.get(g))==null?void 0:s.video)==null||d.representations.finish(),(f=(u=this._refs.get(g))==null?void 0:u.text)==null||f.trackReference.finish(),(m=(l=this._refs.get(g))==null?void 0:l.text)==null||m.representations.finish();this._refs=new Map}addTrackSetter(e,t,r){var s,d;let i=this._refs.get(e);i===void 0&&(i={},this._refs.set(e,i)),i[t]!==void 0&&(c.warn(\"Track\",\"Track for periodId already declared\",{periodId:e,bufferType:t}),(s=i[t])==null||s.trackReference.finish(),(d=i[t])==null||d.representations.finish());let a=r.getValue(),o;C(a)?o=new $({representationIds:[],switchingMode:\"lazy\"}):(o=new $(a.representations.getValue()),r.setValue(j({},a,{representations:o}))),i[t]={trackReference:r,representations:o}}setTrack(e,t,r){var a;let i=(a=this._refs.get(e))==null?void 0:a[t];return i===void 0?(c.debug(\"Track\",\"Setting track for inexistent periodId\",{periodId:e,bufferType:t}),!1):(C(r)?(i.representations=new $({representationIds:[],switchingMode:\"lazy\"}),i.trackReference.setValue(r)):(i.representations=new $(r.initialRepresentations),i.trackReference.setValue({adaptationId:r.adaptationId,switchingMode:r.switchingMode,representations:i.representations,relativeResumingPosition:r.relativeResumingPosition})),!0)}updateRepresentations(e,t,r,i){var s;let a=(s=this._refs.get(e))==null?void 0:s[r];if(a===void 0)return c.debug(\"Track\",\"Setting track for inexistent periodId\",{periodId:e,bufferType:r}),!1;let o=a.trackReference.getValue();return C(o)||o.adaptationId!==t?(c.debug(\"Track\",\"Desynchronized Adaptation id\",{oldId:o==null?void 0:o.adaptationId,newId:t}),!1):(a.representations.setValue(i),!0)}removeTrackSetter(e,t){let r=this._refs.get(e),i=r==null?void 0:r[t];return r===void 0||i===void 0?(c.debug(\"Track\",\"Removing track setter for inexistent periodId\",{periodId:e,bufferType:t}),!1):(i.trackReference.finish(),i.representations.finish(),delete r[t],Object.keys(r).length===0&&this._refs.delete(e),!0)}};function De(n){return Ie(n,{defaultCode:\"NONE\",defaultReason:\"An unknown error stopped content playback.\"}).serialize()}function Ws(n,e){[\"video\",\"audio\",\"text\"].forEach(t=>{var i;let r=e.getStatus(t);r.type===\"initialized\"&&r.value.synchronizeInventory((i=n.buffered[t])!=null?i:[])})}function qs(n){var t,r;if(C(Yt.MediaSource_))return;let e=new Map;for(let i of n.periods){let a=[...(t=i.adaptations.video)!=null?t:[],...(r=i.adaptations.audio)!=null?r:[]];for(let o of a)for(let s of o.representations){let d=s.getMimeTypeString();if(e.has(d))s.isCodecSupportedInWebWorker=e.get(d);else{let u=Yt.MediaSource_.isTypeSupported(d);s.isCodecSupportedInWebWorker=u,e.set(d,u)}}}}function Vs(n,e){var a,o,s,d,u,f,l;let t,r,i;return typeof((a=n.representationFilter)==null?void 0:a.fn)==\"function\"?i=n.representationFilter.fn:typeof((o=n.representationFilter)==null?void 0:o.eval)==\"string\"?i=Oo(n.representationFilter.eval):typeof((s=n.representationFilter)==null?void 0:s.workerId)==\"string\"&&(i=e.representationFilters.get(n.representationFilter.workerId)),typeof((d=n.manifestLoader)==null?void 0:d.fn)==\"function\"?t=n.manifestLoader.fn:typeof((u=n.manifestLoader)==null?void 0:u.workerId)==\"string\"&&(t=e.manifestLoaders.get(n.manifestLoader.workerId)),typeof((f=n.segmentLoader)==null?void 0:f.fn)==\"function\"?r=n.segmentLoader.fn:typeof((l=n.segmentLoader)==null?void 0:l.workerId)==\"string\"&&(r=e.segmentLoaders.get(n.segmentLoader.workerId)),{manifestLoader:t,segmentLoader:r,representationFilter:i}}var Gs=Oe(),nr=class{constructor(){this._currentContent=null,this._currentMediaSourceCanceller=new z(\"ContentPreparer MediaSource\");let e=new z(\"ContentPreparer\");this._contentCanceller=e}initializeNewContent(e,t,r,i){return new Promise((a,o)=>{var M,w;this.disposeCurrentContent(\"new init\");let s=this._contentCanceller,d=new z(\"ContentPreparer MediaSource\");this._currentMediaSourceCanceller=d,d.linkToSignal(s.signal);let{contentId:u,url:f,playbackSupport:l,transportOptions:m,enableRepresentationAvoidance:g,transport:h}=t,b=null,p=Me.transports[h];if(typeof p!=\"function\"){o(new Error(`transport \"${h}\" not supported. Did you add the corresponding feature?`));return}let S=p(X(X({},m),Vs(m,i))),E=t.cmcd===void 0?null:new Bs(t.cmcd),v=new da(f===void 0?void 0:[f],S,X({cmcdDataBuilder:E},t.manifestRetryOptions)),T=ws({initialBitrates:{audio:(M=t.initialAudioBitrate)!=null?M:0,video:(w=t.initialVideoBitrate)!=null?w:0},lowLatencyMode:m.lowLatencyMode,throttlers:r}),_=d.signal.register(B=>{o(B)}),R=new Kn(s.signal),x=new ma(S,R,E,t.segmentRetryOptions),A=ca(S.thumbnails,R),k=new tr,[D,N,W]=Hs(e,u,{mseInWorker:l.mseInWorker,videoTrack:l.videoTrack,textTrack:l.textTrack},d.signal),L=new Qt(N);this._currentContent={cmcdDataBuilder:E,contentId:u,enableRepresentationAvoidance:g,freezeResolver:L,mediaSource:D,manifest:null,manifestFetcher:v,representationEstimator:T,segmentSinksStore:N,segmentQueueCreator:x,fetchThumbnailData:A,coreTextSender:W,trackChoiceSetter:k,mseInWorker:l.mseInWorker,videoTrack:l.videoTrack,textTrack:l.textTrack},D.addEventListener(\"mediaSourceOpen\",function(){P()},d.signal),s.signal.register(B=>{v.dispose(B.reason)}),v.addEventListener(\"warning\",B=>{e({type:\"warning\",contentId:u,value:De(B)})},s.signal),v.addEventListener(\"manifestReady\",B=>{if(b!==null){c.warn(\"Core\",\"Multiple `manifestReady` events, ignoring\");return}b=B,this._currentContent!==null&&(this._currentContent.manifest=b),P()},d.signal),v.addEventListener(\"error\",B=>{o(B)},s.signal),v.start();function P(){b===null||D.readyState===\"closed\"||d.isUsed()||(qs(b),b.addEventListener(\"manifestUpdate\",B=>{b!==null&&e({type:\"manifest-update\",contentId:u,value:{manifest:b,updates:B}})},s.signal),_(),a(b))}})}getCurrentContent(){return this._currentContent}scheduleManifestRefresh(e){var t;(t=this._currentContent)==null||t.manifestFetcher.scheduleManualRefresh(e)}reloadMediaSource(e){var a;if(this._currentMediaSourceCanceller.cancel(\"ContentPreparer MediaSource reload\"),this._currentContent===null)return Promise.reject(new Error(\"CP: No content anymore\"));this._currentContent.trackChoiceSetter.reset(),(a=this._currentContent.coreTextSender)==null||a.stop(\"ContentPreparer MediaSource reload\"),this._currentMediaSourceCanceller=new z(\"ContentPreparer MediaSource\"),this._currentMediaSourceCanceller.linkToSignal(this._contentCanceller.signal);let[t,r,i]=Hs(e,this._currentContent.contentId,{mseInWorker:this._currentContent.mseInWorker,videoTrack:this._currentContent.videoTrack,textTrack:this._currentContent.textTrack},this._currentMediaSourceCanceller.signal);return this._currentContent.mediaSource=t,this._currentContent.segmentSinksStore=r,this._currentContent.freezeResolver=new Qt(r),this._currentContent.coreTextSender=i,new Promise((o,s)=>{t.addEventListener(\"mediaSourceOpen\",function(){o()},this._currentMediaSourceCanceller.signal),t.addEventListener(\"mediaSourceClose\",function(){s(new Error(\"MediaSource ReadyState changed to close during init.\"))},this._currentMediaSourceCanceller.signal),this._currentMediaSourceCanceller.signal.register(d=>{s(d)})})}disposeCurrentContent(e){this._contentCanceller.cancel(e),this._contentCanceller=new z(\"ContentPreparer\")}};function Hs(n,e,t,r){let i;if(t.mseInWorker){if(Yt.MediaSource_===void 0)throw new Error(\"ContentPreparer: Cannot use MSE-in-Worker: no MSE\");let d=new Dn(Gs(),Yt.MediaSource_);i=d;let u,f=d.handle;if(f.type===\"handle\")u={type:\"handle\",value:f.value};else{let l=URL.createObjectURL(f.value);u={type:\"url\",value:l},r.register(()=>{URL.revokeObjectURL(l)})}n({type:\"attach-media-source\",contentId:e,value:u,mediaSourceId:i.id},[f.value])}else i=new Bn(Gs(),e,n);let a=t.textTrack?new er(e,n):null,{videoTrack:o}=t,s=new _t(i,o,a);return r.register(d=>{s.disposeAll(d.reason),a==null||a.stop(d.reason),i.dispose(d.reason)}),[i,s,a]}var js=.001,rr=class extends pe{constructor(e,t,r){super(),this._canceller=new z(\"Boundaries Observation\"),this._manifest=e,this._activeStreams=new Map,this._allBufferTypes=r,this._lastCurrentPeriodId=null;let i=new ga(e);me(this._allBufferTypes,\"video\")||i.updateLastVideoAdaptation(null),me(this._allBufferTypes,\"audio\")||i.updateLastAudioAdaptation(null),this._maximumPositionCalculator=i;let a=this._canceller.signal;dt(()=>{t.listen(({position:o})=>{let s=o.getWanted(),d=e.getMinimumSafePosition(),u=i.getMaximumAvailablePosition();if(s<d-js){let f=new ne(\"MEDIA_TIME_BEFORE_MANIFEST\",\"The current position is behind the earliest time announced in the Manifest.\",{timeInfo:{position:s,minPosition:d,maxPosition:u}});this.trigger(\"warning\",f)}else if(s>u+js){let f=new ne(\"MEDIA_TIME_AFTER_MANIFEST\",\"The current position is after the latest time announced in the Manifest.\",{timeInfo:{position:s,minPosition:d,maxPosition:u}});this.trigger(\"warning\",f)}},{includeLastObservation:!1,clearSignal:a})}),e.addEventListener(\"manifestUpdate\",()=>{this.trigger(\"endingPositionChange\",this._getManifestEndTime()),!a.isCancelled()&&this._checkEndOfStream()},a)}getCurrentEndingTime(){return this._getManifestEndTime()}onAdaptationChange(e,t,r){if(this._manifest.isLastPeriodKnown){let i=this._manifest.periods[this._manifest.periods.length-1];if(t.id===(i==null?void 0:i.id)&&(e===\"audio\"||e===\"video\")){e===\"audio\"?this._maximumPositionCalculator.updateLastAudioAdaptation(r):this._maximumPositionCalculator.updateLastVideoAdaptation(r);let a=this._maximumPositionCalculator.getEndingPosition(),o=a!==void 0?{isEnd:!0,endingPosition:a}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()};this.trigger(\"endingPositionChange\",o)}}this._canceller.isUsed()||r===null&&this._addActivelyLoadedPeriod(t,e)}onRepresentationChange(e,t){this._addActivelyLoadedPeriod(t,e)}onPeriodCleared(e,t){this._removeActivelyLoadedPeriod(t,e)}onLastSegmentFinishedLoading(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod||(t.hasFinishedLoadingLastPeriod=!0,this._checkEndOfStream())}onLastSegmentLoadingResume(e){let t=this._lazilyCreateActiveStreamInfo(e);t.hasFinishedLoadingLastPeriod&&(t.hasFinishedLoadingLastPeriod=!1,this._checkEndOfStream())}dispose(e){this.removeEventListener(),this._canceller.cancel(e!=null?e:\"ContentTimeBoundariesObserver dispose\")}_addActivelyLoadedPeriod(e,t){let r=this._lazilyCreateActiveStreamInfo(t);r.activePeriods.has(e)||(r.activePeriods.add(e),this._checkCurrentPeriod())}_removeActivelyLoadedPeriod(e,t){let r=this._activeStreams.get(t);r!==void 0&&r.activePeriods.has(e)&&(r.activePeriods.removeElement(e),this._checkCurrentPeriod())}_checkCurrentPeriod(){if(this._allBufferTypes.length===0)return;let e=this._activeStreams.get(this._allBufferTypes[0]);if(e!==void 0)for(let t of e.activePeriods.toArray()){let r=!0;for(let i of this._allBufferTypes){let a=this._activeStreams.get(i);if(a===void 0)return;if(!a.activePeriods.toArray().some(d=>d.id===t.id)){r=!1;break}}if(r){this._lastCurrentPeriodId!==t.id&&(this._lastCurrentPeriodId=t.id,this.trigger(\"periodChange\",t));return}}}_getManifestEndTime(){let e=this._maximumPositionCalculator.getEndingPosition();return e!==void 0?{isEnd:!0,endingPosition:e}:{isEnd:!1,endingPosition:this._maximumPositionCalculator.getMaximumAvailablePosition()}}_lazilyCreateActiveStreamInfo(e){let t=this._activeStreams.get(e);return t===void 0&&(t={activePeriods:new Dt((r,i)=>r.start-i.start),hasFinishedLoadingLastPeriod:!1},this._activeStreams.set(e,t)),t}_checkEndOfStream(){if(!this._manifest.isLastPeriodKnown)return;this._allBufferTypes.every(t=>{let r=this._activeStreams.get(t);return r!==void 0&&r.hasFinishedLoadingLastPeriod})?this.trigger(\"endOfStream\",null):this.trigger(\"resumeStream\",null)}},ga=class{constructor(e){this._manifest=e,this._lastAudioAdaptation=void 0,this._lastVideoAdaptation=void 0}updateLastAudioAdaptation(e){this._lastAudioAdaptation=e}updateLastVideoAdaptation(e){this._lastVideoAdaptation=e}getMaximumAvailablePosition(){if(this._manifest.isDynamic)return this._manifest.getMaximumSafePosition();if(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)return this._manifest.getMaximumSafePosition();if(this._lastAudioAdaptation===null){if(this._lastVideoAdaptation===null)return this._manifest.getMaximumSafePosition();{let e=Kr(this._lastVideoAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}}else if(this._lastVideoAdaptation===null){let e=Kr(this._lastAudioAdaptation);return typeof e!=\"number\"?this._manifest.getMaximumSafePosition():e}else{let e=Kr(this._lastAudioAdaptation),t=Kr(this._lastVideoAdaptation);return typeof e!=\"number\"||typeof t!=\"number\"?this._manifest.getMaximumSafePosition():Math.min(e,t)}}getEndingPosition(){var e,t;if(!this._manifest.isDynamic)return this.getMaximumAvailablePosition();if(!(this._lastVideoAdaptation===void 0||this._lastAudioAdaptation===void 0)){if(this._lastAudioAdaptation===null)return this._lastVideoAdaptation===null?void 0:(e=Yr(this._lastVideoAdaptation))!=null?e:void 0;if(this._lastVideoAdaptation===null)return(t=Yr(this._lastAudioAdaptation))!=null?t:void 0;{let r=Yr(this._lastAudioAdaptation),i=Yr(this._lastVideoAdaptation);return typeof r!=\"number\"||typeof i!=\"number\"?void 0:Math.min(r,i)}}}};function Kr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getLastAvailablePosition();if(a===void 0)return;a!==null&&(t=C(t)?a:Math.min(t,a))}return t}function Yr(n){let{representations:e}=n,t=null,r;for(let i of e)if(i.index!==r){r=i.index;let a=i.index.getEnd();if(a===void 0)return;a!==null&&(t=C(t)?a:Math.min(t,a))}return t}function ha(n,e,t,r,i,a){a.register(d=>{e.interruptDurationSetting(d.reason)});let o=new rr(n,t,r.getBufferTypes());a.register(d=>{o.dispose(d.reason)}),o.addEventListener(\"warning\",d=>i.onWarning(d)),o.addEventListener(\"periodChange\",d=>i.onPeriodChanged(d)),o.addEventListener(\"endingPositionChange\",d=>{e.setDuration(d.endingPosition,d.isEnd)}),o.addEventListener(\"endOfStream\",()=>{c.debug(\"mse\",\"Start applying end-of-stream order.\"),e.maintainEndOfStream()}),o.addEventListener(\"resumeStream\",()=>{e.stopEndOfStream()});let s=o.getCurrentEndingTime();return e.setDuration(s.endingPosition,s.isEnd),o}function Ia(n,e){let t={audio:null,video:null,text:null};if(e!==null&&(t.text=e.getBufferedRanges()),n===null)return t;let r=K(n.sourceBuffers,s=>s.type===\"audio\"),i=K(n.sourceBuffers,s=>s.type===\"video\"),a=r==null?void 0:r.getBuffered();a!==void 0&&(t.audio=a);let o=i==null?void 0:i.getBuffered();return o!==void 0&&(t.video=o),t}async function ba(n,e,t,r,i){let a=e.getPeriod(t);if(a===void 0)throw new Error(\"Wanted Period not found.\");let o=K(a.thumbnailTracks,d=>d.id===r);if(o===void 0)throw new Error(\"Wanted Period has no thumbnail track.\");let s=o.index.getSegments(i,1)[0];if(s===void 0)throw new Error(\"No thumbnail for the given timestamp\");return n({segment:s,track:o,period:a},new z(void 0).signal)}function Sa(n,e,t){let{DEFAULT_WANTED_BUFFER_AHEAD:r,DEFAULT_MAX_VIDEO_BUFFER_SIZE:i,DEFAULT_MAX_BUFFER_AHEAD:a,DEFAULT_MAX_BUFFER_BEHIND:o}=U.getCurrent(),s={wantedBufferAhead:new $(r),maxVideoBufferSize:new $(i),maxBufferAhead:new $(a),maxBufferBehind:new $(o),limitVideoResolution:new $({height:void 0,width:void 0,pixelRatio:1}),throttleVideoBitrate:new $(1/0)},d=!1,u=new nr,f=null,l=null;n(m=>{var h,b;c.debug(\"Core\",\"received message\",{name:m.data.type});let g=m.data;switch(g.type){case\"init\":{if(ye(!d),d=!0,Io(g.value),Ks(g.value.logLevel,g.value.logFormat,g.value.sendBackLogs),!C(g.value.dashWasmUrl)){let p=Me.dashParsers.wasm;p===null?c.error(\"Core\",\"Could not initialize DASH_WASM parser: DASH_WASM feature not added\"):p.isCompatible()?p.initialize({wasmUrl:g.value.dashWasmUrl}).catch(S=>{let E=S instanceof Error?S.toString():\"Unknown Error\";c.error(\"Core\",\"Could not initialize DASH_WASM parser\",E)}):c.warn(\"Core\",\"Could not initialize DASH_WASM parser: Browser not compatible\")}e({type:\"init-success\",value:null})}break;case\"log-level-update\":Ks(g.value.logLevel,g.value.logFormat,g.value.sendBackLogs);break;case\"prepare\":zl(e,u,g.value,s,t);break;case\"start\":{let p=u.getCurrentContent();if(g.contentId!==(p==null?void 0:p.contentId))return;f==null||f.stop(),l==null||l.finish();let S=new $(j(g.value.initialObservation,{position:new wt(...g.value.initialObservation.position)}));l=S,f=ql(e,g.value,u,S,s);break}case\"observation\":{let p=u.getCurrentContent();if(g.contentId!==(p==null?void 0:p.contentId))return;let S=g.value,{buffered:E}=S,v=Ia(p.mediaSource,null);v.audio!==null&&(E.audio=v.audio),v.video!==null&&(E.video=v.video),l==null||l.setValue(j(S,{position:new wt(...g.value.position)}));break}case\"ref-update\":Wl(g,s);break;case\"stop\":if(g.contentId!==((h=u.getCurrentContent())==null?void 0:h.contentId))return;u.disposeCurrentContent(\"StopContent message\"),f==null||f.stop(),f=null,l==null||l.finish(),l=null;break;case\"ms-reload\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;f==null||f.signalMediaSourceReload()}break;case\"sb-success\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;let{sourceBuffers:S}=p.mediaSource,E=K(S,v=>v.type===g.sourceBufferType);if(E===void 0){c.info(\"Core\",\"Success for an unknown SourceBuffer\",{sourceBufferType:g.sourceBufferType});return}if(E.onOperationSuccess===void 0){c.warn(\"Core\",\"A SourceBufferInterface with MSE performed a cross-thread operation\",{sourceBufferType:g.sourceBufferType});return}E.onOperationSuccess(g.operationId,g.value.buffered);break}case\"sb-error\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;let{sourceBuffers:S}=p.mediaSource,E=K(S,v=>v.type===g.sourceBufferType);if(E===void 0){c.info(\"Core\",\"Error for an unknown SourceBuffer\",{sourceBufferType:g.sourceBufferType});return}if(E.onOperationFailure===void 0){c.warn(\"Core\",\"A SourceBufferInterface with MSE performed a cross-thread operation\",{sourceBufferType:g.sourceBufferType});return}E.onOperationFailure(g.operationId,g.value);break}case\"media-source-ready-state-change\":{let p=u.getCurrentContent();if(g.mediaSourceId!==(p==null?void 0:p.mediaSource.id))return;if(p.mediaSource.onMediaSourceReadyStateChanged===void 0){c.warn(\"Core\",\"A MediaSourceInterface with MSE performed a cross-thread operation\");return}p.mediaSource.onMediaSourceReadyStateChanged(g.value);break}case\"decipherability-update\":{if(g.contentId!==((b=u.getCurrentContent())==null?void 0:b.contentId))return;let p=u.getCurrentContent();if(p===null||p.manifest===null)return;let S=g.value;p.manifest.updateRepresentationsDeciperability(E=>{for(let v of S)if(E.representation.uniqueId===v.representationUniqueId)return v.decipherable;return E.representation.decipherable});break}case\"codec-support-update\":{let p=u.getCurrentContent();if(p===null||p.manifest===null)return;let S=g.value;try{let E=p.manifest.updateCodecSupport(S);E!==null&&e({type:\"warning\",contentId:p.contentId,value:De(E)})}catch(E){e({type:\"error\",contentId:p.contentId,value:De(E)})}break}case\"urls-update\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;p.manifestFetcher.updateContentUrls(g.value.urls,g.value.refreshNow);break}case\"track-update\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;p.trackChoiceSetter.setTrack(g.value.periodId,g.value.bufferType,g.value.choice);break}case\"rep-update\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;p.trackChoiceSetter.updateRepresentations(g.value.periodId,g.value.adaptationId,g.value.bufferType,g.value.choice);break}case\"add-text-success\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Added text track but text track aren't enabled\");return}p.coreTextSender.onPushedTrackSuccess(g.value.ranges);break}case\"push-text-error\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Added text track but text track aren't enabled\");return}p.coreTextSender.onPushedTrackError(new Error(g.value.message));break}case\"remove-text-success\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Removed text track but text track aren't enabled\");return}p.coreTextSender.onRemoveSuccess(g.value.ranges);break}case\"remove-text-error\":{let p=u.getCurrentContent();if(p===null||p.contentId!==g.contentId)return;if(p.coreTextSender===null){c.error(\"Core\",\"Removed text track but text track aren't enabled\");return}p.coreTextSender.onRemoveError(new Error(g.value.message));break}case\"pull-segment-sink-store-infos\":{Vl(e,u,g.value.requestId);break}case\"thumbnail-request\":{Hl(e,u,g);break}case\"config-update\":{U.update(g.value);break}case\"app-defined\":break;default:Ue(g)}})}function zl(n,e,t,r,i){e.initializeNewContent(n,t,{limitResolution:{video:r.limitVideoResolution},throttleBitrate:{video:r.throttleVideoBitrate}},i).then(a=>{n({type:\"manifest-ready\",contentId:t.contentId,value:{manifest:a}})},a=>{n({type:\"error\",contentId:t.contentId,value:De(a)})})}function Wl(n,e){switch(n.value.name){case\"wantedBufferAhead\":e.wantedBufferAhead.setValueIfChanged(n.value.newVal);break;case\"maxVideoBufferSize\":e.maxVideoBufferSize.setValueIfChanged(n.value.newVal);break;case\"maxBufferBehind\":e.maxBufferBehind.setValueIfChanged(n.value.newVal);break;case\"maxBufferAhead\":e.maxBufferAhead.setValueIfChanged(n.value.newVal);break;case\"limitVideoResolution\":e.limitVideoResolution.setValueIfChanged(n.value.newVal);break;case\"throttleVideoBitrate\":e.throttleVideoBitrate.setValueIfChanged(n.value.newVal);break;default:Ue(n.value)}}function ql(n,e,t,r,i){c.debug(\"Core\",\"Loading pepared content.\");let a=new z(\"Start Content Worker\"),o=null;return s(e.initialTime),{signalMediaSourceReload:()=>u(),stop:()=>{a.cancel(\"ContentHandle stop\")}};function s(f){var L;o==null||o.cancel(\"Reloading content worker\"),o=new z(\"(Re)Loading Content Worker\"),o.linkToSignal(a.signal);let l=new Map,m=t.getCurrentContent();if(m===null||m.manifest===null){let P=new _e(\"NONE\",\"Loading content when none is prepared\");throw n({type:\"error\",contentId:void 0,value:De(P)}),P}let{contentId:g,cmcdDataBuilder:h,enableRepresentationAvoidance:b,manifest:p,mediaSource:S,representationEstimator:E,segmentSinksStore:v,segmentQueueCreator:T}=m,{drmSystemId:_,enableFastSwitching:R,onCodecSwitch:x}=e;r.onUpdate(P=>{Ws(P,v);let M=m.freezeResolver.onNewObservation(P);M!==null&&Gl(n,M,{contentId:g,manifest:p,handleMediaSourceReload:d,enableRepresentationAvoidance:b})},{clearSignal:o.signal});let A=(L=p.getPeriodForTime(f))!=null?L:p.getNextPeriod(f);if(A===void 0){let P=new ne(\"MEDIA_STARTING_TIME_NOT_FOUND\",\"Wanted starting time not found in the Manifest.\");throw n({type:\"error\",contentId:g,value:De(P)}),P}let k=new En(r,g,n,o.signal);h==null||h.startMonitoringPlayback(k),o.signal.register(()=>{h==null||h.stopMonitoringPlayback()});let D=ha(p,S,k,v,{onWarning:P=>n({type:\"warning\",contentId:g,value:De(P)}),onPeriodChanged:P=>{n({type:\"active-period-changed\",contentId:g,value:{periodId:P.id}})}},o.signal);bs({initialPeriod:A,manifest:p},k,E,v,T,{wantedBufferAhead:i.wantedBufferAhead,maxVideoBufferSize:i.maxVideoBufferSize,maxBufferAhead:i.maxBufferAhead,maxBufferBehind:i.maxBufferBehind,drmSystemId:_,enableFastSwitching:R,onCodecSwitch:x},N(),o.signal);function N(){return{needsBufferFlush(P){n({type:\"needs-buffer-flush\",contentId:g,value:P})},streamStatusUpdate(P){W(P),p.isLastPeriodKnown&&P.period.id===p.periods[p.periods.length-1].id&&(P.hasFinishedLoading||P.isEmptyStream?D.onLastSegmentFinishedLoading(P.bufferType):D.onLastSegmentLoadingResume(P.bufferType))},needsManifestRefresh(){t.scheduleManifestRefresh({enablePartialRefresh:!0,canUseUnsafeMode:!0})},manifestMightBeOufOfSync(){let{OUT_OF_SYNC_MANIFEST_REFRESH_DELAY:P}=U.getCurrent();t.scheduleManifestRefresh({enablePartialRefresh:!1,canUseUnsafeMode:!1,delay:P})},lockedStream(P){n({type:\"locked-stream\",contentId:g,value:{periodId:P.period.id,bufferType:P.bufferType}})},adaptationChange(P){var M,w;n({type:\"adaptation-changed\",contentId:g,value:{adaptationId:(w=(M=P.adaptation)==null?void 0:M.id)!=null?w:null,periodId:P.period.id,type:P.type}}),D.onAdaptationChange(P.type,P.period,P.adaptation)},representationChange(P){var M,w;D.onRepresentationChange(P.type,P.period),!(o===null||o.signal.isCancelled())&&n({type:\"representation-changed\",contentId:g,value:{adaptationId:P.adaptation.id,representationId:(w=(M=P.representation)==null?void 0:M.id)!=null?w:null,periodId:P.period.id,type:P.type}})},inbandEvent(P){n({type:\"inband-event\",contentId:g,value:P})},warning(P){n({type:\"warning\",contentId:g,value:De(P)})},periodStreamReady(P){m!==null&&(m.trackChoiceSetter.addTrackSetter(P.period.id,P.type,P.adaptationRef),n({type:\"period-stream-ready\",contentId:g,value:{periodId:P.period.id,bufferType:P.type}}))},periodStreamCleared(P){if(m===null)return;let M=l.get(P.period);M!==void 0&&(M.delete(P.type),M.size===0&&l.delete(P.period)),D.onPeriodCleared(P.type,P.period),m.trackChoiceSetter.removeTrackSetter(P.period.id,P.type),n({type:\"period-stream-cleared\",contentId:g,value:{periodId:P.period.id,bufferType:P.type}})},bitrateEstimateChange(P){var M;m!==null&&((M=m.cmcdDataBuilder)==null||M.updateThroughput(P.type,P.bitrate)),n({type:\"bitrate-estimate-change\",contentId:g,value:{bitrate:P.bitrate,bufferType:P.type}})},needsMediaSourceReload(P){d(P)},needsDecipherabilityFlush(){n({type:\"needs-decipherability-flush\",contentId:g,value:null})},encryptionDataEncountered(P){for(let M of P){let w=M.content,B=X({},w);B.manifest instanceof Tt&&(B.manifest=B.manifest.getMetadataSnapshot()),B.period instanceof yt&&(B.period=B.period.getMetadataSnapshot()),B.adaptation instanceof ht&&(B.adaptation=B.adaptation.getMetadataSnapshot()),B.representation instanceof gn&&(B.representation=B.representation.getMetadataSnapshot()),n({type:\"encryption-data-encountered\",contentId:g,value:{keyIds:M.keyIds,values:M.values,content:B,type:M.type}})}},error(P){n({type:\"error\",contentId:g,value:De(P)})}}}function W(P){let{imminentDiscontinuity:M}=P,w=l.get(P.period),B=w==null?void 0:w.get(P.bufferType);if(B!==void 0){if(B.discontinuity===null){if(M===null)return}else if(M!==null&&B.discontinuity.start===M.start&&B.discontinuity.end===M.end)return}w===void 0&&(w=new Map,l.set(P.period,w));let H={periodId:P.period.id,bufferType:P.bufferType,discontinuity:P.imminentDiscontinuity,position:P.position};w.set(P.bufferType,H),n({type:\"discontinuity-update\",contentId:g,value:H})}}function d(f){var m;o!==null&&(o.cancel(\"WorkerMain MediaSource reload\"),o=null);let l=(m=t.getCurrentContent())==null?void 0:m.mediaSource.id;if(l===void 0){c.warn(\"Core\",\"Cannot reload MediaSource: no MediaSource currently.\");return}c.debug(\"Core\",\"Reloading MediaSource\",{timeOffset:f.timeOffset,minimumPosition:f.minimumPosition,maximumPosition:f.maximumPosition}),n({type:\"reloading-media-source\",mediaSourceId:l,value:f},[]),u()}function u(){var g;let l=r.getValue().position.getWanted();o!==null&&(o.cancel(\"MediaSource reload\"),o=null);let m=(g=t.getCurrentContent())==null?void 0:g.contentId;t.reloadMediaSource(n).then(()=>{c.info(\"Core\",\"MediaSource Reloaded, loading content again\",{newInitialTime:l}),s(l)},h=>{if(z.isCancellationError(h)){c.info(\"Core\",\"A reloading operation was cancelled\");return}n({type:\"error\",contentId:m,value:De(h)})})}}function Ks(n,e,t){t?c.setLevel(n,\"standard\",(r,i,a)=>{let o=a.map(s=>s instanceof Error?De(s):s);postMessage({type:\"log\",value:{namespace:i,logLevel:r,logs:o}})}):c.setLevel(n,e)}function Vl(n,e,t){let r=e.getCurrentContent();if(r===null)return;let i=r.segmentSinksStore.getSegmentSinksMetrics();n({type:\"segment-sink-store-update\",contentId:r.contentId,value:{segmentSinkMetrics:i,requestId:t}})}function Gl(n,e,{contentId:t,manifest:r,handleMediaSourceReload:i,enableRepresentationAvoidance:a}){switch(e.type){case\"reload\":{c.info(\"Core\",\"Planning reload due to freeze\"),i({timeOffset:0,minimumPosition:0,maximumPosition:1/0});break}case\"flush\":{c.info(\"Core\",\"Flushing buffer due to freeze\"),n({type:\"needs-buffer-flush\",contentId:t,value:{relativeResumingPosition:e.value.relativeSeek,relativePosHasBeenDefaulted:!1}});break}case\"avoid-representations\":{c.info(\"Core\",\"Planning Representation avoidance due to freeze\");let o=e.value;a&&r.addRepresentationsToAvoid(o),i({timeOffset:0,minimumPosition:0,maximumPosition:1/0});break}default:Ue(e)}}function Hl(n,e,t){let r=e.getCurrentContent(),i=a=>{n({type:\"thumbnail-response\",contentId:t.contentId,value:{status:\"error\",requestId:t.value.requestId,error:De(a)}})};if(r===null||r.manifest===null||r.contentId!==t.contentId)return i(new Error(\"Content changed\"));ba(r.fetchThumbnailData,r.manifest,t.value.periodId,t.value.thumbnailTrackId,t.value.time).then(a=>{let o=a.data.slice(0);n({type:\"thumbnail-response\",contentId:t.contentId,value:{status:\"success\",requestId:t.value.requestId,data:te(X({},a),{data:o})}},[o])},a=>i(a))}var Ys=Sa;var jl=\"<\",Kl=60,Qs=\">\",Qr=62,ya=45,$s=47,Yl=33,Xs=39,Zs=34,Ta=91,Ql=93,$l=`\\r\n\t>/= `;function Ea(n,e={}){var m,g;let t=(m=e.pos)!=null?m:0,r=e.keepComments===!0,i=e.keepWhitespace===!0,a;if(e.attrValue!==void 0)for(e.attrName=(g=e.attrName)!=null?g:\"id\",a=[];(t=l())!==-1;)t=n.lastIndexOf(\"<\",t),t!==-1&&a.push(u()),n=n.substring(t),t=0;else a=o(\"\");return e.filter!==void 0&&(a=Js(a,e.filter)),a;function o(h){let b=[];for(;n[t]!==void 0;)if(n.charCodeAt(t)===Kl){if(n.charCodeAt(t+1)===$s){let S=t+2;if(t=n.indexOf(Qs,t),n.substring(S,t).indexOf(h)===-1){let v=n.substring(0,t).split(`\n`);throw new Error(`Unexpected close tag\nLine: `+(v.length-1)+`\nColumn: `+(v[v.length-1].length+1)+`\nChar: `+n[t])}return t!==-1&&(t+=1),b}else if(n.charCodeAt(t+1)===Yl){if(n.charCodeAt(t+2)===ya){let S=t;for(;t!==-1&&!(n.charCodeAt(t)===Qr&&n.charCodeAt(t-1)===ya&&n.charCodeAt(t-2)===ya);)t=n.indexOf(Qs,t+1);t===-1&&(t=n.length),r&&b.push(n.substring(S,t+1))}else if(n.charCodeAt(t+2)===Ta&&n.charCodeAt(t+8)===Ta&&n.substring(t+3,t+8).toLowerCase()===\"cdata\"){let S=n.indexOf(\"]]>\",t);S===-1?(b.push(n.substring(t+9)),t=n.length):(b.push(n.substring(t+9,S)),t=S+3);continue}else{let S=t+1;t+=2;let E=!1;for(;(n.charCodeAt(t)!==Qr||E)&&n[t]!==void 0;)n.charCodeAt(t)===Ta?E=!0:E&&n.charCodeAt(t)===Ql&&(E=!1),t++;b.push(n.substring(S,t))}t++;continue}let p=u();b.push(p),p.tagName[0]===\"?\"&&(b.push(...p.children),p.children=[])}else{let p=s();if(i)p.length>0&&b.push(p);else{let S=p.trim();S.length>0&&b.push(S)}t++}return b}function s(){let h=t;return t=n.indexOf(jl,t)-1,t===-2&&(t=n.length),n.slice(h,t+1)}function d(){let h=t;for(;$l.indexOf(n[t])===-1&&n[t]!==void 0;)t++;return n.slice(h,t)}function u(){let h=t;t++;let b=d(),p={},S=[];for(;n.charCodeAt(t)!==Qr&&n[t]!==void 0;){let E=n.charCodeAt(t);if(E>64&&E<91||E>96&&E<123){let v=d(),T=n.charCodeAt(t);for(;!isNaN(T)&&T!==Xs&&T!==Zs&&!(T>64&&T<91||T>96&&T<123)&&T!==Qr;)t++,T=n.charCodeAt(t);let _;T===Xs||T===Zs?_=f():(_=null,t--),p[v]=_===null?null:ed(_)}t++}return n.charCodeAt(t-1)!==$s?(t++,S=o(b)):t++,{tagName:b,attributes:p,children:S,posStart:h,posEnd:t}}function f(){let h=n[t],b=t+1;return t=n.indexOf(h,b),n.slice(b,t)}function l(){let h=new RegExp(\"\\\\s\"+e.attrName+`\\\\s*=['\"]`+e.attrValue+`['\"]`).exec(n);return h!==null?h.index:-1}}function Js(n,e,t=0,r=\"\"){let i=[];return n.forEach(function(a,o){if(typeof a==\"object\"&&(e(a,o,t,r)&&i.push(a),a.children.length>0)){let s=Js(a.children,e,t+1,(Y(r)?r+\".\":\"\")+o+\".\"+a.tagName);i=i.concat(s)}}),i}function $r(n){if(Array.isArray(n)){let e=\"\";return n.forEach(function(t){e+=\" \"+$r(t),e=e.trim()}),e}else return typeof n==\"object\"?$r(n.children):\" \"+ed(n)}function ed(n){return n.indexOf(\"&\")<0?n:n.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\").replace(/&quot;/g,'\"').replace(/&apos;/g,\"'\").replace(/&#x([A-Fa-f0-9]+);/g,(e,t)=>String.fromCharCode(parseInt(t,16))).replace(/&amp;/g,\"&\")}function _a(n,e,t){let{repeatCount:r}=n;if(r>=0)return r;let i;return C(e)?t!==void 0?i=t:i=Number.MAX_VALUE:i=e.start,Math.ceil((i-n.start)/n.duration)-1}function We(n,e,t){let{start:r,duration:i}=n;if(i<=0)return r;let a=_a(n,e,t);return r+(a+1)*i}function Ae(n,e){var t;return n*e.timescale+((t=e.indexTimeOffset)!=null?t:0)}function tt(n,e){var t;return(n-((t=e.indexTimeOffset)!=null?t:0))/e.timescale}function td(n,e,t){return[n*t,(n+e)*t]}function Xl(n,e){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i].start<=e?t=i+1:r=i}return t-1}function nd(n,e,t){let{timeline:r}=n,i=Ae(e,n);if(i<0)return null;let a=Xl(r,i);if(a<0||a>=r.length-1)return null;let o=r[a];if(o.duration<=0)return null;let s=r[a+1];if(s===void 0)return null;let d=s.start,u=We(o,s,t);return i>=u&&i<d?tt(d,n):null}function ut(n,e){let{initialization:t}=n;if(t===null)return null;let r={};return e!==void 0&&(r.isEMSGWhitelisted=e),{id:\"init\",isInit:!0,time:0,end:0,duration:0,timescale:1,range:t.range,indexRange:n.indexRange,url:t.url,complete:!0,privateInfos:r,timestampOffset:-(n.indexTimeOffset/n.timescale)}}function Zl(n,e){let t=n.toString();return t.length>=e?t:(new Array(e+1).join(\"0\")+t).slice(-e)}function Ra(n){return(e,t,r)=>{let i=Y(r)?parseInt(r,10):1;return Zl(String(n),i)}}function qe(n,e,t){return Jl(n,e,t)}function Jl(n,e,t){return n.indexOf(\"$\")===-1?n:n.replace(/\\$\\$/g,\"$\").replace(/\\$RepresentationID\\$/g,String(e)).replace(/\\$Bandwidth(%0(\\d+)d)?\\$/g,Ra(t===void 0?0:t))}function Xr(n,e){return function(r){return r.indexOf(\"$\")===-1?r:r.replace(/\\$\\$/g,\"$\").replace(/\\$Number(%0(\\d+)d)?\\$/g,(i,a,o)=>{if(e===void 0)throw new Error(\"Segment number not defined in a $Number$ scheme\");return Ra(e)(i,a,o)}).replace(/\\$Time(%0(\\d+)d)?\\$/g,(i,a,o)=>{if(n===void 0)throw new Error(\"Segment time not defined in a $Time$ scheme\");return Ra(n)(i,a,o)})}}function ef(n,e,t){let r=t-n;return r>0?Math.floor(r/e):0}function ir(n,e,t,r,i,a){var E;let o=r.getEstimatedMaximumPosition((E=n.availabilityTimeOffset)!=null?E:0),s=Math.min(e+t,o!=null?o:1/0),d=Ae(e,n),u=Ae(s,n),{timeline:f,timescale:l,segmentUrlTemplate:m,startNumber:g,endNumber:h}=n,b=g!=null?g:1,p=[],S=f.length;for(let v=0;v<S;v++){let T=f[v],{duration:_,start:R,range:x}=T,A;o===void 0?A=i:A=Math.min(o*l,i!=null?i:1/0);let k=_a(T,f[v+1],A),D=n.availabilityTimeComplete!==!1||v!==S-1&&k!==0,N=ef(R,_,d),W=R+N*_;for(;W<u&&N<=k;){let L=b+N;if(h!==void 0&&L>h)break;let P=m===null?null:Xr(W,L)(m),M=W-n.indexTimeOffset,w=_;M<0&&(w=_+M,M=0);let B={id:String(W),time:M/l,end:(M+w)/l,duration:w/l,isInit:!1,range:x,timescale:1,url:P,number:L,timestampOffset:-(n.indexTimeOffset/l),complete:D,privateInfos:{isEMSGWhitelisted:a}};p.push(B),N++,W=R+N*_}if(W>=u||(b+=k+1,h!==void 0&&b>h))return p}return p}function tf(n,e){if(e.timescale!==n.timescale){let{timescale:t}=n;n.timeline.push({start:e.time/e.timescale*t,duration:e.duration/e.timescale*t,repeatCount:e.count===void 0?0:e.count,range:e.range})}else n.timeline.push({start:e.time,duration:e.duration,repeatCount:e.count===void 0?0:e.count,range:e.range});return!0}var Bt=class{constructor(e,t){var h,b,p,S;let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t,d=(h=e.timescale)!=null?h:1,f=((b=e.presentationTimeOffset)!=null?b:0)-r*d,l=((p=e.initialization)==null?void 0:p.media)===void 0?null:qe(e.initialization.media,a,o),m=e.media===void 0?null:qe(e.media,a,o),g;e.initialization!==void 0?g=e.initialization.range:e.indexRange!==void 0&&(g=[0,e.indexRange[0]-1]),this._index={indexRange:e.indexRange,indexTimeOffset:f,initialization:{url:l,range:g},segmentUrlTemplate:m,startNumber:e.startNumber,endNumber:e.endNumber,timeline:(S=e.timeline)!=null?S:[],timescale:d},this._manifestBoundsCalculator=t.manifestBoundsCalculator,this._scaledPeriodStart=Ae(r,this._index),this._scaledPeriodEnd=C(i)?void 0:Ae(i,this._index),this._isInitialized=this._index.timeline.length>0,this._isEMSGWhitelisted=s}getInitSegment(){return ut(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return ir(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){let e=this._index;return e.timeline.length===0?null:tt(Math.max(this._scaledPeriodStart,e.timeline[0].start),e)}getLastAvailablePosition(){var i;let{timeline:e}=this._index;if(e.length===0)return null;let t=e[e.length-1],r=Math.min(We(t,null,this._scaledPeriodEnd),(i=this._scaledPeriodEnd)!=null?i:1/0);return tt(r,this._index)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return this._isInitialized}initialize(e){if(!this._isInitialized){for(let t=0;t<e.length;t++)tf(this._index,e[t]);this._isInitialized=!0}}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `BaseRepresentationIndex`\")}getTargetSegmentDuration(){let{timeline:e,timescale:t}=this._index,r=e[0];if(r!==void 0)return{duration:r.duration/t,isPrecize:!1}}_replace(e){this._index=e._index,this._isInitialized=e._isInitialized,this._scaledPeriodEnd=e._scaledPeriodEnd,this._isEMSGWhitelisted=e._isEMSGWhitelisted}_update(){c.error(\"dash\",\"Base RepresentationIndex: Cannot update a SegmentList\")}};var Nt=class{constructor(e,t){var g,h,b;if(e.duration===void 0)throw new Error(\"Invalid SegmentList: no duration\");let{periodStart:r,periodEnd:i,representationId:a,representationBitrate:o,isEMSGWhitelisted:s}=t;this._isEMSGWhitelisted=s,this._periodStart=r,this._periodEnd=i;let d=(g=e.presentationTimeOffset)!=null?g:0,u=(h=e.timescale)!=null?h:1,f=d-r*u,l=((b=e.initialization)==null?void 0:b.media)===void 0?null:qe(e.initialization.media,a,o),m=e.list.map(p=>({url:p.media===void 0?null:qe(p.media,a,o),mediaRange:p.mediaRange}));this._index={list:m,timescale:u,duration:e.duration,indexTimeOffset:f,indexRange:e.indexRange,initialization:C(e.initialization)?null:{url:l,range:e.initialization.range}}}getInitSegment(){let e=ut(this._index);return e===null?null:(e.privateInfos===void 0&&(e.privateInfos={}),e.privateInfos.isEMSGWhitelisted=this._isEMSGWhitelisted,e)}getSegments(e,t){let r=this._index,{duration:i,list:a,timescale:o}=r,s=i/o,d=e-this._periodStart,[u,f]=td(d,t,o),l=Math.min(a.length-1,Math.floor(f/i)),m=[],g=Math.floor(u/i);for(;g<=l;){let h=a[g].mediaRange,b=a[g].url,p=g*s+this._periodStart,S={id:String(g),time:p,isInit:!1,range:h,duration:s,timescale:1,end:p+s,url:b,timestampOffset:-(r.indexTimeOffset/o),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};m.push(S),g++}return m}shouldRefresh(e,t){return!1}getFirstAvailablePosition(){return this._periodStart}getLastAvailablePosition(){var i;let e=this._index,{duration:t,list:r}=e;return Math.min(r.length*t/e.timescale+this._periodStart,(i=this._periodEnd)!=null?i:1/0)}getEnd(){return this.getLastAvailablePosition()}awaitSegmentBetween(){return!1}isSegmentStillAvailable(){return!0}checkDiscontinuity(){return null}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){return!1}isInitialized(){return!0}initialize(){c.error(\"dash\",\"A `ListRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `ListRepresentationIndex`\")}getTargetSegmentDuration(){let{duration:e,timescale:t}=this._index;return{duration:e/t,isPrecize:!0}}_replace(e){this._index=e._index}_update(){c.error(\"dash\",\"A `ListRepresentationIndex` cannot be updated\")}};function $t(n){return U.getCurrent().DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR*n}var Lt=class{constructor(e,t){var S,E,v;let{availabilityTimeOffset:r,manifestBoundsCalculator:i,isDynamic:a,periodEnd:o,periodStart:s,representationId:d,representationBitrate:u,isEMSGWhitelisted:f}=t,l=(S=e.timescale)!=null?S:1;this._availabilityTimeOffset=r,this._manifestBoundsCalculator=i;let m=(E=e.presentationTimeOffset)!=null?E:0,g=s*l,h=m-g;if(e.duration===void 0)throw new Error(\"Invalid SegmentTemplate: no duration\");let b=((v=e.initialization)==null?void 0:v.media)===void 0?null:qe(e.initialization.media,d,u),p=e.media===void 0?null:qe(e.media,d,u);this._index={duration:e.duration,timescale:l,indexRange:e.indexRange,indexTimeOffset:h,initialization:C(e.initialization)?null:{url:b,range:e.initialization.range},url:p,presentationTimeOffset:m,startNumber:e.startNumber,endNumber:e.endNumber},this._isDynamic=a,this._periodStart=s,this._scaledRelativePeriodEnd=o===void 0?void 0:(o-s)*l,this._isEMSGWhitelisted=f}getInitSegment(){return ut(this._index,this._isEMSGWhitelisted)}getSegments(e,t){let r=this._index,{duration:i,startNumber:a,endNumber:o,timescale:s,url:d}=r,u=this._periodStart*s,f=this._scaledRelativePeriodEnd,l=e*s-u,m=(e+t)*s-u,g=this._getFirstSegmentStart(),h=this._getLastSegmentStart();if(C(g)||C(h))return[];let b=Math.max(g,l),p=Math.min(h,m);if(p+i<=b)return[];let S=[],E=a!=null?a:1,v=Math.floor(b/i);for(let T=v*i;T<=p;T+=i){let _=v+E;if(o!==void 0&&_>o)return S;let R=!C(f)&&T+i>f?f-T:i,x=T+u,A=T+this._index.presentationTimeOffset,k=d===null?null:Xr(A,_)(d),D={id:String(_),number:_,time:x/s,end:(x+R)/s,duration:R/s,timescale:1,isInit:!1,scaledDuration:R/s,url:k,timestampOffset:-(r.indexTimeOffset/s),complete:!0,privateInfos:{isEMSGWhitelisted:this._isEMSGWhitelisted}};S.push(D),v++}return S}getFirstAvailablePosition(){let e=this._getFirstSegmentStart();return C(e)?e:e/this._index.timescale+this._periodStart}getLastAvailablePosition(){let e=this._getLastSegmentStart();if(C(e))return e;let t=this._estimateRelativeScaledEnd();return Math.min(e+this._index.duration,t!=null?t:1/0)/this._index.timescale+this._periodStart}getEnd(){if(!this._isDynamic)return this.getLastAvailablePosition();let e=this._estimateRelativeScaledEnd();if(e===void 0)return;let{timescale:t}=this._index;return(e+this._periodStart*t)/t}awaitSegmentBetween(e,t){if(ye(e<=t),!this._isDynamic)return!1;let{timescale:r}=this._index,i=$t(r),a=this._periodStart*r,o=e*r-a,s=t*r-a,d=this._getLastSegmentStart();if(C(d)){let l=this._estimateRelativeScaledEnd();return l===void 0?s+i>=0:s+i>=0&&o<l-i}let u=d+this._index.duration,f=this._estimateRelativeScaledEnd();return f===void 0?s>u-i:s>u-i&&o<f-i}shouldRefresh(){return!1}checkDiscontinuity(){return null}isSegmentStillAvailable(e){if(e.isInit)return!0;let t=this.getSegments(e.time,.1);return t.length===0?!1:t[0].time===e.time&&t[0].end===e.end&&t[0].number===e.number}canBeOutOfSyncError(){return!1}isStillAwaitingFutureSegments(){if(!this._isDynamic)return!1;let e=this._estimateRelativeScaledEnd();if(e===void 0)return!0;let{timescale:t}=this._index,r=this._getLastSegmentStart();if(C(r))return!0;let i=r+this._index.duration,a=$t(t);return i+a<e}isInitialized(){return!0}initialize(){c.error(\"dash\",\"A `TemplateRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `TemplateRepresentationIndex`\")}getTargetSegmentDuration(){return{duration:this._index.duration/this._index.timescale,isPrecize:!0}}_replace(e){this._index=e._index,this._isDynamic=e._isDynamic,this._periodStart=e._periodStart,this._scaledRelativePeriodEnd=e._scaledRelativePeriodEnd,this._manifestBoundsCalculator=e._manifestBoundsCalculator}_update(e){this._replace(e)}_getFirstSegmentStart(){var o;if(!this._isDynamic)return 0;if(this._scaledRelativePeriodEnd===0||this._scaledRelativePeriodEnd===void 0){let s=this._manifestBoundsCalculator.getEstimatedMaximumPosition((o=this._availabilityTimeOffset)!=null?o:0);if(s!==void 0&&s<this._periodStart)return null}let{duration:e,timescale:t}=this._index,r=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(e/t);if(r===void 0)return;let i=r>this._periodStart?(r-this._periodStart)*t:0;return Math.floor(i/e)*e}_getLastSegmentStart(){var a,o;let{duration:e,timescale:t,endNumber:r,startNumber:i=1}=this._index;if(this._isDynamic){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&this._scaledRelativePeriodEnd!==void 0&&this._scaledRelativePeriodEnd<s-this._periodStart*this._index.timescale){let l=Math.ceil(this._scaledRelativePeriodEnd/e);return r!==void 0&&r-i+1<l&&(l=r-i+1),(l-1)*e}let d=this._manifestBoundsCalculator.getEstimatedMaximumPosition((a=this._availabilityTimeOffset)!=null?a:0);if(d===void 0)return;let u=(d-this._periodStart)*t;if(u<0)return null;let f=Math.floor(u/e);return r!==void 0&&r-i+1<f&&(f=r-i+1),f<=0?null:(f-1)*e}else{let s=(o=this._scaledRelativePeriodEnd)!=null?o:0,d=Math.ceil(s/e);r!==void 0&&r-i+1<d&&(d=r-i+1);let u=(d-1)*e,f=U.getCurrent().MINIMUM_SEGMENT_SIZE*t;return r!==void 0||s-u>f||d<2?u:(d-2)*e}}_estimateRelativeScaledEnd(){var e,t;if(this._index.endNumber!==void 0){let r=this._index.endNumber-((e=this._index.startNumber)!=null?e:1)+1;return Math.max(Math.min(r*this._index.duration,(t=this._scaledRelativePeriodEnd)!=null?t:1/0),0)}if(this._scaledRelativePeriodEnd!==void 0)return Math.max(this._scaledRelativePeriodEnd,0)}};function Pa(n,e){let t=0;for(;n.length>0;){let r=n[0];if(r.start>=e||r.repeatCount===-1)return t;if(r.repeatCount===0)n.shift(),t+=1;else{let i=n[1];if(i!==void 0&&i.start<=e)n.shift(),t+=1;else{if(r.duration<=0)return t;let a=r.start+r.duration,o=1;for(;a<e&&o<=r.repeatCount;)a+=r.duration,o++;if(o>r.repeatCount)n.shift(),t=r.repeatCount+1;else{let s=r.repeatCount-o;return r.start=a,r.repeatCount=s,t+=o,t}}}}return t}function va(n,e){if(n.length===0)return n.push(...e),!0;if(e.length===0)return!1;let t=n.length,r=e[0].start,i=n[t-1];if(We(i,e[0])<r)throw new ne(\"MANIFEST_UPDATE_ERROR\",\"Cannot perform partial update: not enough data\");for(let f=t-1;f>=0;f--){let l=n[f].start;if(l===r){let m=t-f;return n.splice(f,m,...e),!1}else if(l<r){let m=n[f];if(m.start+m.duration>r)return c.warn(\"utils\",\"Manifest update removed all previous segments\"),n.splice(0,t,...e),!0;if(m.repeatCount===void 0||m.repeatCount<=0)return m.repeatCount<0&&(m.repeatCount=Math.floor((r-m.start)/m.duration)-1),n.splice(f+1,t-(f+1),...e),!1;if(m.start+m.duration*(m.repeatCount+1)<=r)return n.splice(f+1,t-(f+1),...e),!1;let h=(r-m.start)/m.duration-1;if(h%1===0&&m.duration===e[0].duration){let b=e[0].repeatCount<0?-1:e[0].repeatCount+h+1;return n.splice(f,t-f,...e),n[f].start=m.start,n[f].repeatCount=b,!1}return c.warn(\"utils\",\"Manifest update removed previous segments\"),n[f].repeatCount=Math.floor(h),n.splice(f+1,t-(f+1),...e),!1}}let o=n[n.length-1],s=e[e.length-1];if(o.repeatCount!==void 0&&o.repeatCount<0)return o.start>s.start?(c.warn(\"utils\",\"The new index is older than the previous one\"),!1):(c.warn(\"utils\",'The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0);let d=o.start+o.duration*(o.repeatCount+1),u=s.start+s.duration*(s.repeatCount+1);return d>=u?(c.warn(\"utils\",\"The new index is older than the previous one\"),!1):(c.warn(\"utils\",'The new index is \"bigger\" than the previous one'),n.splice(0,t,...e),!0)}function ar(n,e,t){let r=n.start,i=n.duration,a=n.repeatCount;return r===void 0&&(e===null?r=0:C(e.duration)||(r=e.start+e.duration*(e.repeatCount+1))),(i===void 0||isNaN(i))&&t!==null&&t.start!==void 0&&!isNaN(t.start)&&r!==void 0&&!isNaN(r)&&(i=t.start-r),r!==void 0&&!isNaN(r)&&i!==void 0&&!isNaN(i)&&(a===void 0||!isNaN(a))?{start:r,duration:i,repeatCount:a===void 0?0:a}:(c.warn(\"dash\",'A \"S\" Element could not have been parsed.'),null)}function or(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!C(r))switch(t){case\"t\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid t value for <S> element\",{val:r}):e.start=i;break}case\"d\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid d value for <S> element\",{val:r}):e.duration=i;break}case\"r\":{let i=parseInt(r,10);isNaN(i)?c.warn(\"dash\",\"invalid r value for <S> element\",{val:r}):e.repeatCount=i;break}}}return e}function Rt(n){let e=[];for(let r=0;r<n.length;r++)e.push(or(n[r]));let t=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[t.length-1]===void 0?null:t[t.length-1],o=e[r+1]===void 0?null:e[r+1],s=ar(i,a,o);s!==null&&t.push(s)}return t}function Ca(n,e){if(n.length===0||e.length===0)return null;let t=n[0].start,r=e[0].attributes.t,i=C(r)?null:parseInt(r,10);if(i===null||Number.isNaN(i))return null;if(t===i)return{prevSegmentsIdx:0,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(t<i){let a=n[0],o=0;for(;;){if(a.repeatCount>0){let s=i-a.start;if(s%a.duration===0&&s/a.duration<=a.repeatCount)return{repeatNumberInPrevSegments:s/a.duration,prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInNewElements:0}}if(o++,o>=n.length)return null;if(a=n[o],a.start===i)return{prevSegmentsIdx:o,newElementsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(a.start>i)return null}}else{let a=0,o=e[0],s=i;for(;;){let d=o.attributes.d,u=C(d)?null:parseInt(d,10);if(u===null||Number.isNaN(u))return null;let f=o.attributes.r,l=C(f)?null:parseInt(f,10);if(l!==null){if(Number.isNaN(l)||l<0)return null;if(l>0){let h=t-s;if(h%u===0&&h/u<=l)return{repeatNumberInPrevSegments:0,repeatNumberInNewElements:h/u,prevSegmentsIdx:0,newElementsIdx:a}}s+=u*(l+1)}else s+=u;if(a++,a>=e.length)return null;o=e[a];let m=o.attributes.t,g=C(m)?null:parseInt(m,10);if(g!==null){if(Number.isNaN(g))return null;s=g}if(s===t)return{newElementsIdx:a,prevSegmentsIdx:0,repeatNumberInPrevSegments:0,repeatNumberInNewElements:0};if(s>i)return null}}}function Aa(n,e){var b;let t=Ca(e,n);if(t===null)return c.warn(\"dash\",'Cannot perform \"based\" update. Common segment not found.'),Rt(n);let{prevSegmentsIdx:r,newElementsIdx:i,repeatNumberInPrevSegments:a,repeatNumberInNewElements:o}=t,d=e.length-r+i-1;if(d>=n.length)return c.info(\"dash\",'Cannot perform \"based\" update. New timeline too short'),Rt(n);let u=e.slice(r);if(a>0){let p=u[0];p.start+=p.duration*a,u[0].repeatCount-=a}if(o>0&&i!==0)return c.info(\"dash\",'Cannot perform \"based\" update. The new timeline has a different form.'),Rt(n);let f=u[u.length-1],l=or(n[d]),m=((b=l.repeatCount)!=null?b:0)-o;if(l.duration!==f.duration||f.repeatCount>m)return c.info(\"dash\",'Cannot perform \"based\" update. The new timeline has a different form at the beginning.'),Rt(n);l.repeatCount!==void 0&&l.repeatCount>f.repeatCount&&(f.repeatCount=l.repeatCount);let g=[],h=[];for(let p=d+1;p<n.length;p++)h.push(or(n[p]));for(let p=0;p<h.length;p++){let S=h[p],E=g[g.length-1]===void 0?f:g[g.length-1],v=h[p+1]===void 0?null:h[p+1],T=ar(S,E,v);T!==null&&g.push(T)}return u.concat(g)}var sr=class n{constructor(e,t){var T,_,R,x,A;if(!n.isTimelineIndexArgument(e))throw new Error(\"The given index is not compatible with a TimelineRepresentationIndex.\");let{availabilityTimeComplete:r,availabilityTimeOffset:i,manifestBoundsCalculator:a,isDynamic:o,isLastPeriod:s,representationId:d,representationBitrate:u,periodStart:f,periodEnd:l,isEMSGWhitelisted:m}=t,g=(T=e.timescale)!=null?T:1,h=(_=e.presentationTimeOffset)!=null?_:0,b=f*g,p=h-b;this._manifestBoundsCalculator=a,this._isEMSGWhitelisted=m,this._isLastPeriod=s,this._lastUpdate=(R=t.receivedTime)!=null?R:F(),this._unsafelyBaseOnPreviousIndex=null,t.unsafelyBaseOnPreviousRepresentation!==null&&t.unsafelyBaseOnPreviousRepresentation.index instanceof n&&(t.unsafelyBaseOnPreviousRepresentation.index._unsafelyBaseOnPreviousIndex=null,this._unsafelyBaseOnPreviousIndex=t.unsafelyBaseOnPreviousRepresentation.index),this._isDynamic=o,this._parseTimeline=(x=e.timelineParser)!=null?x:null;let S=((A=e.initialization)==null?void 0:A.media)===void 0?null:qe(e.initialization.media,d,u),E=e.media===void 0?null:qe(e.media,d,u),v;i===void 0&&r===void 0?v=1/0:v=i!=null?i:0,this._index={availabilityTimeComplete:r!=null?r:!0,availabilityTimeOffset:v,indexRange:e.indexRange,indexTimeOffset:p,initialization:C(e.initialization)?null:{url:S,range:e.initialization.range},segmentUrlTemplate:E,startNumber:e.startNumber,endNumber:e.endNumber,timeline:e.timeline===void 0?null:xa(e.timeline,e.startNumber,e.endNumber),timescale:g},this._scaledPeriodStart=Ae(f,this._index),this._scaledPeriodEnd=l===void 0?void 0:Ae(l,this._index)}getInitSegment(){return ut(this._index,this._isEMSGWhitelisted)}getSegments(e,t){return this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),ir(this._index,e,t,this._manifestBoundsCalculator,this._scaledPeriodEnd,this._isEMSGWhitelisted)}shouldRefresh(){return!1}getFirstAvailablePosition(){this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=this._index.timeline;return e.length===0?null:tt(Math.max(this._scaledPeriodStart,e[0].start),this._index)}getLastAvailablePosition(){var r;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let e=Zr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(e===null)return null;let t=Math.min(e.end,(r=this._scaledPeriodEnd)!=null?r:1/0);return tt(t,this._index)}getEnd(){var r;if(this._isDynamic&&!this._isLastPeriod)return;if(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),this._index.timeline.length<=0)return null;let e=this._index.timeline[this._index.timeline.length-1],t=Math.min(We(e,null,this._scaledPeriodEnd),(r=this._scaledPeriodEnd)!=null?r:1/0);return tt(t,this._index)}awaitSegmentBetween(e,t){var u,f;if(ye(e<=t),!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timescale:r,timeline:i}=this._index,a=$t(r),o=Ae(t,this._index),s=Zr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(s!==null&&Math.min(s.end,(u=this._scaledPeriodEnd)!=null?u:1/0)+a>=Math.min(o,(f=this._scaledPeriodEnd)!=null?f:1/0))return!1;let d=Ae(e,this._index);if(i.length>0&&s!==null&&!s.isLastOfTimeline){let l=i[i.length-1],g=We(l,null,this._scaledPeriodEnd)+a;if(d<g+a)return!0}return this._isLastPeriod?this._scaledPeriodEnd===void 0?o+a>this._scaledPeriodStart?void 0:!1:d-a<this._scaledPeriodEnd&&o+a>this._scaledPeriodStart:!1}isSegmentStillAvailable(e){return e.isInit?!0:(this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline()),nf(e,this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd))}checkDiscontinuity(e){this._refreshTimeline();let t=this._index.timeline;return t===null&&(t=this._getTimeline(),this._index.timeline=t),nd({timeline:t,timescale:this._index.timescale,indexTimeOffset:this._index.indexTimeOffset},e,this._scaledPeriodEnd)}canBeOutOfSyncError(e){return this._isDynamic?e instanceof Je&&e.isHttpError(404):!1}_replace(e){this._parseTimeline=e._parseTimeline,this._index=e._index,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._manifestBoundsCalculator=e._manifestBoundsCalculator,this._isLastPeriod=e._isLastPeriod}_update(e){this._index.timeline===null&&(this._index.timeline=this._getTimeline()),e._index.timeline===null&&(e._index.timeline=e._getTimeline()),va(this._index.timeline,e._index.timeline)&&(this._index.startNumber=e._index.startNumber),this._index.availabilityTimeOffset=e._index.availabilityTimeOffset,this._index.availabilityTimeComplete=e._index.availabilityTimeComplete,this._index.endNumber=e._index.endNumber,this._isDynamic=e._isDynamic,this._scaledPeriodStart=e._scaledPeriodStart,this._scaledPeriodEnd=e._scaledPeriodEnd,this._lastUpdate=e._lastUpdate,this._isLastPeriod=e._isLastPeriod}isStillAwaitingFutureSegments(){var o;if(!this._isDynamic)return!1;this._refreshTimeline(),this._index.timeline===null&&(this._index.timeline=this._getTimeline());let{timeline:e}=this._index;if(e.length===0){if(this._scaledPeriodEnd!==void 0){let s=this._manifestBoundsCalculator.getEstimatedLiveEdge();if(s!==void 0&&Ae(s,this._index)>this._scaledPeriodEnd)return!1}return this._isLastPeriod}let t=$t(this._index.timescale),r=Zr(this._index,this._manifestBoundsCalculator,this._scaledPeriodEnd);if(r!==null&&!r.isLastOfTimeline){let s=Math.min(r.end,(o=this._scaledPeriodEnd)!=null?o:1/0);return!(this._scaledPeriodEnd!==void 0&&s+t>=this._scaledPeriodEnd)}if(!this._isLastPeriod)return!1;if(this._scaledPeriodEnd===void 0)return!0;let i=e[e.length-1];return We(i,null,this._scaledPeriodEnd)+t<this._scaledPeriodEnd}isInitialized(){return!0}initialize(){c.error(\"dash\",\"A `TimelineRepresentationIndex` does not need to be initialized\")}addPredictedSegments(){c.warn(\"dash\",\"Cannot add predicted segments to a `TimelineRepresentationIndex`\")}getTargetSegmentDuration(){this._refreshTimeline();let{timeline:e,timescale:t}=this._index;if(e===null)return;let r=e[0];if(r!==void 0)return{duration:r.duration/t,isPrecize:!1}}static isTimelineIndexArgument(e){return typeof e.timelineParser==\"function\"||Array.isArray(e.timeline)}_refreshTimeline(){var i,a;if(this._index.timeline===null&&(this._index.timeline=this._getTimeline()),!this._isDynamic)return;let e=this._manifestBoundsCalculator.getEstimatedMinimumSegmentTime(((a=(i=this._index.timeline[0])==null?void 0:i.duration)!=null?a:0)/this._index.timescale);if(C(e))return;let t=Ae(e,this._index),r=Pa(this._index.timeline,t);this._index.startNumber!==void 0?this._index.startNumber+=r:this._index.endNumber!==void 0&&(this._index.startNumber=r+1)}_getTimeline(){if(this._parseTimeline===null)return this._index.timeline!==null?this._index.timeline:(c.error(\"dash\",\"Timeline already lazily parsed.\"),[]);let e=this._parseTimeline();this._parseTimeline=null;let{MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY:t}=U.getCurrent();if(this._unsafelyBaseOnPreviousIndex===null||e.length<t)return xa(Rt(e),this._index.startNumber,this._index.endNumber);let r;return this._unsafelyBaseOnPreviousIndex._index.timeline===null?(r=this._unsafelyBaseOnPreviousIndex._getTimeline(),this._unsafelyBaseOnPreviousIndex._index.timeline=r):r=this._unsafelyBaseOnPreviousIndex._index.timeline,this._unsafelyBaseOnPreviousIndex=null,xa(Aa(e,r),this._index.startNumber,this._index.endNumber)}};function xa(n,e,t){if(t===void 0)return n;let r=e!=null?e:1;for(let i=0;i<n.length;i++){let a=n[i];if(r+=a.repeatCount+1,r>t){if(r===t+1)return n.slice(0,i+1);{let o=n.slice(0,i),s=X({},a),d=r-a.repeatCount-1;return s.repeatCount=Math.max(0,t-d),o.push(s),o}}}return n}function nf(n,e,t,r){let i=Zr(e,t,r);if(i===null)return!1;for(let a=0;a<e.timeline.length;a++){if(i.timelineIdx<a)return!1;let o=e.timeline[a],s=(o.start-e.indexTimeOffset)/e.timescale;if(s>n.time)return!1;if(s===n.time)return o.range===void 0?n.range===void 0:!C(n.range)&&o.range[0]===n.range[0]&&o.range[1]===n.range[1];if(o.repeatCount>=0&&o.duration!==void 0){let u=(s-o.start)/o.duration-1;return u%1===0&&u<=i.newRepeatCount}}return!1}function Zr(n,e,t){if(n.timeline.length<=0)return null;if(n.availabilityTimeOffset===1/0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:We(a,null,t)}}let r=e.getEstimatedMaximumPosition(n.availabilityTimeOffset);if(r===void 0){let i=n.timeline.length-1,a=n.timeline[i];return{isLastOfTimeline:!0,timelineIdx:i,newRepeatCount:a.repeatCount,end:We(a,null,t)}}for(let i=n.timeline.length-1;i>=n.timeline.length;i--){let a=n.timeline[i],o=a.start+a.duration;if(tt(o,n)<=r){let s=We(a,n.timeline[i+1],t);if(tt(s,n)<=r)return{isLastOfTimeline:i===n.timeline.length-1,timelineIdx:i,newRepeatCount:a.repeatCount,end:o};{let u=Ae(r,n)-a.start,f=Math.floor(u/a.duration);return ye(f>=1),{isLastOfTimeline:!1,timelineIdx:i,newRepeatCount:f-1,end:a.start+f*a.duration}}}}return null}var Jr=sr;var dr=class{constructor(){this._refs=new Map,this._stored=[]}addReferences(e){for(let t of e)t.attributes.refId!==void 0&&this._refs.set(t.attributes.refId,t)}add(e,t){this._tryParsing(e,t,!1)||this._stored.push([e,t]),t.attributes.refId!==void 0&&(this._refs.set(t.attributes.refId,t),this._resolveStoredRefs(!1))}finalize(){this._resolveStoredRefs(!0)}_resolveStoredRefs(e){for(let t=this._stored.length-1;t>=0;t--){let[r,i]=this._stored[t];(this._tryParsing(r,i,e)||e)&&this._stored.splice(t,1)}return this._stored.length===0}_tryParsing(e,t,r){if(t.attributes.ref===void 0)return ka(e,t),!0;let i=this._getReferenced(t.attributes.ref);return i===void 0?(r&&(c.warn(\"dash\",\"forcing the parsing of a referencing ContentProtection\"),ka(e,t)),!1):(t.children[\"cenc:pssh\"].push(...i.children[\"cenc:pssh\"]),t.attributes[\"cenc:default_KID\"]===void 0&&i.attributes[\"cenc:default_KID\"]!==void 0&&(t.attributes[\"cenc:default_KID\"]=i.attributes[\"cenc:default_KID\"]),t.attributes.schemeIdUri===void 0&&i.attributes.schemeIdUri!==void 0&&(t.attributes.schemeIdUri=i.attributes.schemeIdUri),t.attributes.value===void 0&&i.attributes.value!==void 0&&(t.attributes.value=i.attributes.value),ka(e,t),!0)}_getReferenced(e){return this._refs.get(e)}};function ka(n,e){let t;if(e.attributes.schemeIdUri!==void 0&&e.attributes.schemeIdUri.substring(0,9)===\"urn:uuid:\"&&(t=e.attributes.schemeIdUri.substring(9).replace(/-/g,\"\").toLowerCase()),e.attributes[\"cenc:default_KID\"]!==void 0&&e.attributes[\"cenc:default_KID\"].length>0){let o=e.attributes[\"cenc:default_KID\"];n.contentProtections===void 0?n.contentProtections={keyIds:[o],initData:[]}:n.contentProtections.keyIds===void 0?n.contentProtections.keyIds=[o]:n.contentProtections.keyIds.push(o)}if(t===void 0)return;let r=e.children[\"cenc:pssh\"],i=[];for(let o of r)i.push({systemId:t,data:o.value});if(i.length===0)return;if(n.contentProtections===void 0){n.contentProtections={keyIds:[],initData:[{type:\"cenc\",values:i}]};return}let a=K(n.contentProtections.initData,o=>o.type===\"cenc\");a===void 0?n.contentProtections.initData.push({type:\"cenc\",values:i}):a.values.push(...i)}function ei(n){let e=Date.parse(n)-F();if(isNaN(e)){c.warn(\"dash\",\"Invalid clock received\",{clock:n});return}return e}function Ma(n){let e=n.children.UTCTiming.filter(t=>(t.attributes.schemeIdUri===\"urn:mpeg:dash:utc:http-iso:2014\"||t.attributes.schemeIdUri===\"urn:mpeg:dash:utc:http-xsdate:2014\")&&t.attributes.value!==void 0);return e.length>0?e[0].attributes.value:void 0}function ti(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getLastAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.min(t,i))}return t===null?null:t}function Oa(n){for(let e=n.length-1;e>=0;e--){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=ti(r);if(s===void 0)return{safe:void 0,unsafe:void 0};a=s}if(i!==void 0){let s=ti(i);if(s===void 0)return{safe:void 0,unsafe:void 0};o=s}if(r!==void 0&&a===null||i!==void 0&&o===null)return c.info(\"utils\",\"found Period with no segment. \",\"Going to previous one to calculate last position\"),{safe:void 0,unsafe:void 0};if(o!==null)return a!==null?{safe:Math.min(a,o),unsafe:Math.max(a,o)}:{safe:o,unsafe:o};if(a!==null)return{safe:a,unsafe:a}}}return{safe:void 0,unsafe:void 0}}function ni(n){let{representations:e}=n,t=null;for(let r of e){let i=r.index.getFirstAvailablePosition();if(i===void 0)return;i!==null&&(t=t===null?i:Math.max(t,i))}return t===null?null:t}function wa(n){for(let e=0;e<=n.length-1;e++){let t=n[e].adaptations,r=t.audio===void 0?void 0:t.audio[0],i=t.video===void 0?void 0:t.video[0];if(r!==void 0||i!==void 0){let a=null,o=null;if(r!==void 0){let s=ni(r);if(s===void 0)return;a=s}if(i!==void 0){let s=ni(i);if(s===void 0)return;o=s}if(r!==void 0&&a===null||i!==void 0&&o===null){c.info(\"utils\",\"found Period with no segment. \",\"Going to next one to calculate first position\");return}if(o!==null)return a!==null?Math.max(a,o):o;if(a!==null)return a}}}function Da(n){if(n.length===0)throw new Error(\"DASH Parser: no period available for a dynamic content\");let e=wa(n),t=Oa(n);return{minimumSafePosition:e,maximumSafePosition:t.safe,maximumUnsafePosition:t.unsafe}}var ur=class{constructor(e){this._isDynamic=e.isDynamic,this._timeShiftBufferDepth=!e.isDynamic||e.timeShiftBufferDepth===void 0?null:e.timeShiftBufferDepth,this._serverTimestampOffset=e.serverTimestampOffset,this._availabilityStartTime=e.availabilityStartTime}setLastPosition(e,t){this._lastPosition=e,this._positionTime=t}lastPositionIsKnown(){return this._isDynamic?this._positionTime!==void 0&&this._lastPosition!==void 0:this._lastPosition!==void 0}getEstimatedMinimumSegmentTime(e){var i;if(!this._isDynamic||this._timeShiftBufferDepth===null)return 0;let t=(i=this.getEstimatedLiveEdge())!=null?i:this.getEstimatedMaximumPosition(0);return t===void 0?void 0:t-(this._timeShiftBufferDepth+e)}getEstimatedLiveEdge(){if(!(!this._isDynamic||this._serverTimestampOffset===void 0))return(F()+this._serverTimestampOffset)/1e3-this._availabilityStartTime}getEstimatedMaximumPosition(e){if(!this._isDynamic)return this._lastPosition;let t=this.getEstimatedLiveEdge();return t!==void 0&&e!==1/0?t+e:this._positionTime!==void 0&&this._lastPosition!==void 0?Math.max(this._lastPosition-this._positionTime+F()/1e3,0):this._lastPosition}};function Ba(n,e){return n.type!==\"dynamic\"?0:C(n.availabilityStartTime)?e!=null?e:0:n.availabilityStartTime}function Na(n){if(n.length===0)return[];let e=[n[0]];for(let t=1;t<n.length;t++){let r=n[t],i=e[e.length-1];for(;(i.duration===void 0||i.start+i.duration>r.start)&&(c.warn(\"dash\",\"Updating overlapping Periods.\",{lastStart:i==null?void 0:i.start,newStart:r.start}),i.duration=r.start-i.start,i.end=r.start,!(i.duration>0));){if(e.pop(),e.length===0)break;i=e[e.length-1]}e.push(r)}return e}function La(n,e){let t=[];return n.forEach((r,i)=>{let a;if(!C(r.attributes.start))a=r.attributes.start;else if(i===0)a=!e.isDynamic||C(e.availabilityStartTime)?0:e.availabilityStartTime;else{let u=t[t.length-1];if(!C(u)&&!C(u.periodEnd))a=u.periodEnd;else throw new Error(\"Missing start time when parsing periods.\")}let o,s=n[i+1];C(r.attributes.duration)?i===n.length-1?o=e.duration:C(s.attributes.start)||(o=s.attributes.start-a):o=r.attributes.duration;let d=C(o)?void 0:a+o;t.push({periodStart:a,periodDuration:o,periodEnd:d})}),t}function rf(n,e){for(let t of e){let{adaptation:r,trickModeAttachedAdaptationIds:i}=t;for(let a of i)for(let o of Vt){let s=n[o];if(s!==void 0)for(let d of s)d.id===a&&(d.trickModeTracks===void 0&&(d.trickModeTracks=[]),d.trickModeTracks.push(r))}}}var rd=rf;var af=[\"subtitle\",\"caption\"];function Ua(n,e){var s,d,u,f;let t=(f=K((s=n.children.EssentialProperty)!=null?s:[],l=>l.attributes.schemeIdUri===\"http://dashif.org/guidelines/thumbnail_tile\"||l.attributes.schemeIdUri===\"http://dashif.org/thumbnail_tile\"))!=null?f:K((u=(d=e!=null?e:n.children.Representation[0])==null?void 0:d.children.EssentialProperty)!=null?u:[],l=>l.attributes.schemeIdUri===\"http://dashif.org/guidelines/thumbnail_tile\"||l.attributes.schemeIdUri===\"http://dashif.org/thumbnail_tile\");if(t===void 0)return null;let r=/(\\d+)x(\\d+)/;if(t===void 0||t.attributes.value===void 0||!r.test(t.attributes.value))return c.warn(\"dash\",\"Invalid thumbnails Representation, no tile-related information\"),null;let i=t.attributes.value.match(r),a=parseInt(i[1],10),o=parseInt(i[2],10);return{horizontalTiles:a,verticalTiles:o}}function Fa(n,e){if(n.attributes.contentType===\"image\")return Ua(n)!==null?\"thumbnails\":void 0;let t=Y(n.attributes.mimeType)?n.attributes.mimeType:null,r=Y(n.attributes.codecs)?n.attributes.codecs:null,i=C(n.children.Role)?null:n.children.Role;function a(s,d){let u=s.split(\"/\")[0];if(me(Vt,u))return u;if(s===\"application/ttml+xml\")return\"text\";if(s===\"application/mp4\")return d.length>0&&K(d,f=>f.attributes.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&me(af,f.attributes.value))!==void 0?\"text\":void 0}function o(s){switch(s.substring(0,3)){case\"avc\":case\"hev\":case\"hvc\":case\"vp8\":case\"vp9\":case\"av1\":return\"video\";case\"vtt\":return\"text\"}switch(s.substring(0,4)){case\"mp4a\":return\"audio\";case\"wvtt\":case\"stpp\":return\"text\"}}if(t!==null){let s=a(t,i!=null?i:[]);if(s!==void 0)return s}if(r!==null){let s=o(r);if(s!==void 0)return s}for(let s=0;s<e.length;s++){let d=e[s],{mimeType:u,codecs:f}=d.attributes;if(u!==void 0){let l=a(u,i!=null?i:[]);if(l!==void 0)return l}if(f!==void 0){let l=o(f);if(l!==void 0)return l}}}var of=/[, ]+/g;function id(n){return Y(n)?n.trim().replace(of,\", \"):\"\"}function ad(n){let[e,t,r,i,a,o,s,d]=n.split(\".\");if(e!==\"vp08\"&&e!==\"vp09\"&&e!==\"vp10\")return;let u,f,l;if((i!==void 0&&i===\"10\"||i===\"12\")&&(u=parseInt(i,10)),s!==void 0&&(s===\"16\"?f=\"pq\":s===\"18\"&&(f=\"hlg\")),o!==void 0&&d!==void 0&&o===\"09\"&&d===\"09\"&&(l=\"rec2020\"),!(u===void 0||f===void 0))return{colorDepth:u,eotf:f,colorSpace:l}}function Pt(n){return n[n.length-1]}function za(n,e){var S,E,v;let{availabilityTimeOffset:t,manifestBoundsCalculator:r,isDynamic:i,end:a,start:o,receivedTime:s,unsafelyBaseOnPreviousRepresentation:d,inbandEventStreams:u,isLastPeriod:f}=e,m={availabilityTimeComplete:void 0,availabilityTimeOffset:t,unsafelyBaseOnPreviousRepresentation:d,isEMSGWhitelisted:T=>u===void 0?!1:u.some(({attributes:_})=>_.schemeIdUri===T.schemeIdUri),isLastPeriod:f,manifestBoundsCalculator:r,isDynamic:i,periodEnd:a,periodStart:o,receivedTime:s,representationBitrate:n.attributes.bandwidth,representationId:n.attributes.id},g,h=Pt(n.children.SegmentBase),b=Pt(n.children.SegmentList),p=Pt(n.children.SegmentTemplate);if(h!==void 0)g=new Bt(te(X({},h.attributes),{initialization:lr(h.children.Initialization)}),m);else if(b!==void 0)g=new Nt(te(X({},b.attributes),{list:b.children.SegmentURL.map(T=>T.attributes),initialization:lr(b.children.Initialization)}),m);else if(p!==void 0||e.parentSegmentTemplates.length>0){let T=e.parentSegmentTemplates.slice();p!==void 0&&T.push(p);let _=T.reduce((k,D)=>(D.children.timeline!==void 0?k.timeline=D.children.timeline:D.children.timelineParser!==void 0&&(k.timelineParser=D.children.timelineParser),k),{}),R=j({},...T.map(k=>k.attributes));(R.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(m.availabilityTimeOffset=((S=R.availabilityTimeOffset)!=null?S:0)+((E=e.availabilityTimeOffset)!=null?E:0)),(R.availabilityTimeComplete!==void 0||e.availabilityTimeComplete!==void 0)&&(m.availabilityTimeComplete=(v=R.availabilityTimeComplete)!=null?v:e.availabilityTimeComplete);let x;for(let k of T){let D=lr(k.children.Initialization);D!==void 0?x=D:k.attributes.initialization!==void 0&&(x={media:k.attributes.initialization})}let A=te(X({},R),{timeline:_.timeline,timelineParser:_.timelineParser,initialization:x});g=Jr.isTimelineIndexArgument(A)?new Jr(A,m):new Lt(A,m)}else{let T=e.adaptation.children,_=Pt(T.SegmentBase),R=Pt(T.SegmentList);_!==void 0?g=new Bt(te(X({},_.attributes),{initialization:lr(_.children.Initialization)}),m):R!==void 0?g=new Nt(te(X({},R.attributes),{list:R.children.SegmentURL.map(x=>x.attributes),initialization:lr(R.children.Initialization)}),m):g=new Lt({duration:Number.MAX_VALUE,timescale:1,startNumber:0,media:\"\"},m)}return g}function lr(n){let e=Pt(n);if(e===void 0)return;let t={};return e.attributes.sourceURL!==void 0&&(t.media=e.attributes.sourceURL),e.attributes.range!==void 0&&(t.range=e.attributes.range),t}function lt(n,e){var i;if(e.length===0)return n;let t=e.map(a=>({url:a.value}));if(n.length===0)return t;let r=[];for(let a=0;a<n.length;a++){let o=n[a];for(let s=0;s<t.length;s++){let d=t[s],u=Hn(o.url,d.url);r.push({url:u,serviceLocation:(i=d.serviceLocation)!=null?i:o.serviceLocation})}}return r}function sf(n,e){let t=[];if(n.children.InbandEventStream.length>0&&t.push(...n.children.InbandEventStream),e.children.InbandEventStream.length>0&&t.push(...e.children.InbandEventStream),t.length!==0)return t}function df({adaptationProfiles:n,essentialProperties:e,supplementalProperties:t,manifestProfiles:r,codecs:i}){if(((n!=null?n:\"\")+(r!=null?r:\"\")).indexOf(\"http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10\")!==-1&&(i===\"hvc1.2.4.L153.B0\"||i===\"hev1.2.4.L153.B0\"))return{colorDepth:10,eotf:\"pq\",colorSpace:\"rec2020\"};let o=K([...e!=null?e:[],...t!=null?t:[]],s=>s.attributes.schemeIdUri===\"urn:mpeg:mpegB:cicp:TransferCharacteristics\");if(o!==void 0)switch(o.attributes.value){case\"15\":return;case\"16\":return{eotf:\"pq\"};case\"18\":return{eotf:\"hlg\"}}if(i!==void 0&&/^vp(08|09|10)/.test(i))return ad(i)}function Wa(n,e,t){var i,a,o,s,d;let r=[];for(let u of n){let f=u.attributes.id!==void 0?u.attributes.id:String(u.attributes.bandwidth)+(u.attributes.height!==void 0?`-${u.attributes.height}`:\"\")+(u.attributes.width!==void 0?`-${u.attributes.width}`:\"\")+(u.attributes.mimeType!==void 0?`-${u.attributes.mimeType}`:\"\")+(u.attributes.codecs!==void 0?`-${u.attributes.codecs}`:\"\");for(;r.some(x=>x.id===f);)f+=\"-dup\";let l=(a=(i=t.unsafelyBaseOnPreviousAdaptation)==null?void 0:i.getRepresentation(f))!=null?a:null,m=sf(u,e),g=(o=u.attributes.availabilityTimeComplete)!=null?o:t.availabilityTimeComplete,h;(u.attributes.availabilityTimeOffset!==void 0||t.availabilityTimeOffset!==void 0)&&(h=((s=u.attributes.availabilityTimeOffset)!=null?s:0)+((d=t.availabilityTimeOffset)!=null?d:0));let b=j({},t,{availabilityTimeOffset:h,availabilityTimeComplete:g,unsafelyBaseOnPreviousRepresentation:l,adaptation:e,inbandEventStreams:m}),p=za(u,b),S;u.attributes.bandwidth===void 0?(c.warn(\"dash\",\"No usable bandwidth found in the Representation.\"),S=0):S=u.attributes.bandwidth;let E=lt(t.baseURLs,u.children.BaseURL),v=E.length===0?[{baseUrl:\"\",id:void 0}]:E.map(x=>({baseUrl:x.url,id:x.serviceLocation})),T={bitrate:S,cdnMetadata:v,index:p,id:f};u.children.SupplementalProperty.length>0&&K(u.children.SupplementalProperty,x=>x.attributes.schemeIdUri===\"tag:dolby.com,2018:dash:EC3_ExtensionType:2018\"&&x.attributes.value===\"JOC\")!==void 0&&(T.isSpatialAudio=!0);let _;u.attributes.codecs!==void 0?_=u.attributes.codecs:e.attributes.codecs!==void 0&&(_=e.attributes.codecs),_!==void 0&&(_=_===\"mp4a.40.02\"?\"mp4a.40.2\":_,T.codecs=_);let R;u.attributes[\"scte214:supplementalCodecs\"]!==void 0?R=u.attributes[\"scte214:supplementalCodecs\"]:e.attributes[\"scte214:supplementalCodecs\"]!==void 0&&(R=e.attributes[\"scte214:supplementalCodecs\"]),R!==void 0&&(T.supplementalCodecs=id(R)),u.attributes.frameRate!==void 0?T.frameRate=u.attributes.frameRate:e.attributes.frameRate!==void 0&&(T.frameRate=e.attributes.frameRate),u.attributes.height!==void 0?T.height=u.attributes.height:e.attributes.height!==void 0&&(T.height=e.attributes.height),u.attributes.mimeType!==void 0?T.mimeType=u.attributes.mimeType:e.attributes.mimeType!==void 0&&(T.mimeType=e.attributes.mimeType),u.attributes.width!==void 0?T.width=u.attributes.width:e.attributes.width!==void 0&&(T.width=e.attributes.width);{let x=[...e.children.ContentProtection,...u.children.ContentProtection];for(let A of x)t.contentProtectionParser.add(T,A)}T.hdrInfo=df({adaptationProfiles:e.attributes.profiles,supplementalProperties:e.children.SupplementalProperty,essentialProperties:e.children.EssentialProperty,manifestProfiles:t.manifestProfiles,codecs:_}),r.push(T)}return r}function uf(n){if(n===void 0)return!1;let e=n.attributes.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&n.attributes.value===\"1\",t=n.attributes.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.attributes.value===\"description\";return e||t}function lf(n,e){return!!(n!==void 0&&n.some(r=>r.attributes.schemeIdUri===\"urn:tva:metadata:cs:AudioPurposeCS:2007\"&&r.attributes.value===\"2\")||e!==void 0&&e.some(r=>r.attributes.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&r.attributes.value===\"caption\"))}function ff(n){return n===void 0?!1:n.attributes.schemeIdUri===\"urn:mpeg:dash:role:2011\"&&n.attributes.value===\"sign\"}function mf(n,e){if(Y(n.attributes.id))return n.attributes.id;let{isClosedCaption:t,isForcedSubtitle:r,isAudioDescription:i,isSignInterpreted:a,isTrickModeTrack:o,type:s}=e,d=s;return Y(n.attributes.lang)&&(d+=`-${n.attributes.lang}`),t===!0&&(d+=\"-cc\"),r===!0&&(d+=\"-cc\"),i===!0&&(d+=\"-ad\"),a===!0&&(d+=\"-si\"),o&&(d+=\"-trickMode\"),Y(n.attributes.contentType)&&(d+=`-${n.attributes.contentType}`),Y(n.attributes.codecs)&&(d+=`-${n.attributes.codecs}`),Y(n.attributes.mimeType)&&(d+=`-${n.attributes.mimeType}`),n.attributes.frameRate!==void 0&&(d+=`-${String(n.attributes.frameRate)}`),d}function cf(n){if(n.children.SupplementalProperty.length>0){let e=n.children.SupplementalProperty;for(let t of e)if(t.attributes.schemeIdUri===\"urn:mpeg:dash:adaptation-set-switching:2016\"&&!C(t.attributes.value))return t.attributes.value.split(\",\").map(r=>r.trim()).filter(r=>Y(r))}return[]}function qa(n,e){var d,u,f,l,m,g,h;let t={video:[],audio:[],text:[]},r=[],i=[],a={},o=[];for(let b=0;b<n.length;b++){let p=n[b],S=p.children,E=S.EssentialProperty,v=S.Role,T=S.Label,_=Array.isArray(v)&&v.some(ue=>ue.attributes.value===\"main\")&&v.some(ue=>ue.attributes.schemeIdUri===\"urn:mpeg:dash:role:2011\"),R=p.children.Representation,x=(d=p.attributes.availabilityTimeComplete)!=null?d:e.availabilityTimeComplete,A;(p.attributes.availabilityTimeOffset!==void 0||e.availabilityTimeOffset!==void 0)&&(A=((u=p.attributes.availabilityTimeOffset)!=null?u:0)+((f=e.availabilityTimeOffset)!=null?f:0));let k=Fa(p,R);if(k===void 0){c.warn(\"dash\",\"unable to infer type, skip AdaptationSet\");continue}let D=(l=p.attributes.selectionPriority)!=null?l:1,N=p.attributes.id,W=cf(p),L=[];e.segmentTemplate!==void 0&&L.push(e.segmentTemplate),p.children.SegmentTemplate.length>0&&L.push(p.children.SegmentTemplate[p.children.SegmentTemplate.length-1]);let P={availabilityTimeComplete:x,availabilityTimeOffset:A,baseURLs:lt(e.baseURLs,S.BaseURL),contentProtectionParser:e.contentProtectionParser,manifestBoundsCalculator:e.manifestBoundsCalculator,end:e.end,isDynamic:e.isDynamic,isLastPeriod:e.isLastPeriod,manifestProfiles:e.manifestProfiles,parentSegmentTemplates:L,receivedTime:e.receivedTime,start:e.start,unsafelyBaseOnPreviousAdaptation:null},M=Array.isArray(E)?K(E,ue=>ue.attributes.schemeIdUri===\"http://dashif.org/guidelines/trickmode\"):void 0,w=(m=M==null?void 0:M.attributes.value)==null?void 0:m.split(\" \"),B=w!==void 0,H=S.Accessibility,Q;v!==void 0&&v.some(ue=>ue.attributes.value===\"dub\")&&(Q=!0);let Z;k!==\"text\"?Z=!1:Z=lf(H,v);let V;k===\"text\"&&v!==void 0&&v.some(ue=>ue.attributes.value===\"forced-subtitle\"||ue.attributes.value===\"forced_subtitle\")&&(V=!0);let ee;k!==\"audio\"?ee=!1:H!==void 0&&(ee=H.some(uf));let J;k!==\"video\"?J=!1:H!==void 0&&(J=H.some(ff));let ce=mf(p,{isAudioDescription:ee,isForcedSubtitle:V,isClosedCaption:Z,isSignInterpreted:J,isTrickModeTrack:B,type:k});for(;me(o,ce);)ce+=\"-dup\";let he=ce;o.push(ce),P.unsafelyBaseOnPreviousAdaptation=(h=(g=e.unsafelyBaseOnPreviousPeriod)==null?void 0:g.getAdaptation(ce))!=null?h:null;let Ze=Wa(R,p,P);if(k===\"thumbnails\"){let ue=pf(p,Ze);ue!==null&&r.push(...ue);continue}let oe={id:ce,representations:Ze,type:k,isTrickModeTrack:B};if(C(p.attributes.lang)||(oe.language=p.attributes.lang),C(Z)||(oe.closedCaption=Z),C(ee)||(oe.audioDescription=ee),Q===!0&&(oe.isDub=!0),V!==void 0&&(oe.forcedSubtitles=V),J===!0&&(oe.isSignInterpreted=!0),T.length>0&&(oe.label=T[T.length-1].value),w!==void 0)i.push({adaptation:oe,trickModeAttachedAdaptationIds:w});else{let ue=-1;for(let nn of W){let rn=a[nn];if(rn!==void 0&&rn.newID!==he&&me(rn.adaptationSetSwitchingIDs,N)){ue=se(t[k],an=>an[0].id===nn);let Pe=t[k][ue];if(Pe!==void 0&&Pe[0].audioDescription===oe.audioDescription&&Pe[0].closedCaption===oe.closedCaption&&Pe[0].language===oe.language){c.info(\"dash\",'merging \"switchable\" AdaptationSets',{originalID:N,id:nn}),Pe[0].representations.push(...oe.representations),Pe[1]={priority:Math.max(D,Pe[1].priority),isMainAdaptation:_||Pe[1].isMainAdaptation,indexInMpd:Math.min(b,Pe[1].indexInMpd)};break}}}ue<0&&t[k].push([oe,{priority:D,isMainAdaptation:_,indexInMpd:b}])}!C(N)&&C(a[N])&&(a[N]={newID:he,adaptationSetSwitchingIDs:W})}let s=Vt.reduce((b,p)=>{let S=t[p];return S.length>0&&(S.sort(od),b[p]=S.map(([E])=>E)),b},{});return t.video.sort(od),rd(s,i),{adaptations:s,thumbnailTracks:r}}function pf(n,e){var r,i;let t=[];for(let a=0;a<e.length;a++){let o=e[a];if(o!==void 0){if(o.mimeType===void 0){c.warn(\"dash\",\"Invalid thumbnails Representation, no mime-type\");continue}let s=Ua(n,n.children.Representation[a]);if(s===null)continue;if(o.height===void 0){c.warn(\"dash\",\"Invalid thumbnails Representation, no height information\");continue}if(o.width===void 0){c.warn(\"dash\",\"Invalid thumbnails Representation, no width information\");continue}let d=(r=o.index.getFirstAvailablePosition())!=null?r:void 0,u=(i=o.index.getEnd())!=null?i:void 0,f,l=o.index.getTargetSegmentDuration();l!==void 0&&l.isPrecize?f=l.duration:c.warn(\"dash\",\"Cannot produce duration estimate for thumbnail track\"),t.push({id:o.id,cdnMetadata:o.cdnMetadata,index:o.index,mimeType:o.mimeType,height:o.height,width:o.width,horizontalTiles:s.horizontalTiles,verticalTiles:s.verticalTiles,start:d,end:u,tileDuration:f===void 0?void 0:f/(s.horizontalTiles*s.verticalTiles)})}}return t}function od(n,e){let t=e[1].priority-n[1].priority;return t!==0?t:n[1].isMainAdaptation!==e[1].isMainAdaptation?n[1].isMainAdaptation?-1:1:n[1].indexInMpd-e[1].indexInMpd}var gf=Oe();function Va(n,e){var o,s,d,u;let t=[],r=La(n,e);if(r.length!==n.length)throw new Error(\"MPD parsing error: the time information are incoherent.\");let{isDynamic:i,manifestBoundsCalculator:a}=e;!i&&!C(e.duration)&&a.setLastPosition(e.duration);for(let f=n.length-1;f>=0;f--){let l=f===n.length-1,m=n[f],g=e.xlinkInfos.get(m),h=lt(e.baseURLs,m.children.BaseURL),{periodStart:b,periodDuration:p,periodEnd:S}=r[f],E;for(C(m.attributes.id)?(E=\"gen-dash-period-\"+gf(),c.warn(\"dash\",\"No usable id found in the Period. Generating one.\",{periodId:E})):E=m.attributes.id;t.some(w=>w.id===E);)E+=\"-dup\";let v=g!==void 0?g.receivedTime:e.receivedTime,T=(s=(o=e.unsafelyBaseOnPreviousManifest)==null?void 0:o.getPeriod(E))!=null?s:null,_=m.attributes.availabilityTimeComplete,R=m.attributes.availabilityTimeOffset,{manifestProfiles:x,contentProtectionParser:A}=e,k=m.children.SegmentTemplate[m.children.SegmentTemplate.length-1];A.addReferences(m.children.ContentProtection);let D={availabilityTimeComplete:_,availabilityTimeOffset:R,baseURLs:h,contentProtectionParser:A,manifestBoundsCalculator:a,end:S,isDynamic:i,isLastPeriod:l,manifestProfiles:x,receivedTime:v,segmentTemplate:k,start:b,unsafelyBaseOnPreviousPeriod:T},{adaptations:N,thumbnailTracks:W}=qa(m.children.AdaptationSet,D),L=((d=e.xmlNamespaces)!=null?d:[]).concat((u=m.attributes.namespaces)!=null?u:[]),P=If(m.children.EventStream,b,L),M={id:E,start:b,end:S,duration:p,thumbnailTracks:W,adaptations:N,streamEvents:P};if(t.unshift(M),!a.lastPositionIsKnown()){let w=hf(N);if(!i)typeof w==\"number\"&&a.setLastPosition(w);else if(typeof w==\"number\"){let B=F()/1e3;a.setLastPosition(w,B)}else{let B=sd(e,b);if(B!==void 0){let[H,Q]=B;a.setLastPosition(H,Q)}}}}if(e.isDynamic&&!a.lastPositionIsKnown()){let f=sd(e,0);if(f!==void 0){let[l,m]=f;a.setLastPosition(l,m)}}return Na(t)}function sd(n,e){if(C(n.clockOffset)){let t=Date.now()/1e3;if(t>=e){c.warn(\"dash\",\"no clock synchronization mechanism found. Using the system clock instead.\");let r=t-n.availabilityStartTime,i=F()/1e3;return[r,i]}}else{let t=n.clockOffset/1e3-n.availabilityStartTime,r=F()/1e3,i=r+t;if(i>=e)return[i,r]}}function hf(n){let e=null,t=!0,r=Cr(n).filter(a=>!C(a)),i=wi(r,a=>a);for(let a of i){let o=a.representations;for(let s of o){let d=s.index.getLastAvailablePosition();d!==null&&(t=!1,typeof d==\"number\"&&(e=C(e)?d:Math.max(e,d)))}}if(C(e)){if(t)return null}else return e}function If(n,e,t){var i,a;let r=[];for(let o of n){let{schemeIdUri:s=\"\",timescale:d=1}=o.attributes,u=t.concat((i=o.attributes.namespaces)!=null?i:[]);for(let f of o.children.Event)if(f.eventStreamData!==void 0){let l=((a=f.presentationTime)!=null?a:0)/d+e,m=f.duration===void 0?void 0:l+f.duration/d,g,h;try{h={namespaces:u,data:typeof f.eventStreamData==\"string\"?f.eventStreamData:Ke(new Uint8Array(f.eventStreamData))}}catch(b){c.error(\"dash\",\"Error while parsing event-stream:\",b instanceof Error?b.message:\"Unknown error\")}r.push({start:l,end:m,id:f.id,data:{type:\"dash-event-stream\",value:{schemeIdUri:s,timescale:d,element:g,xmlData:h}}})}}return r}function Xt(n,e,t,r,i=new WeakMap){let{children:a,attributes:o}=n;if(C(e.externalClockOffset)){let d=o.type===\"dynamic\",u=K(a.UTCTiming,m=>m.attributes.schemeIdUri===\"urn:mpeg:dash:utc:direct:2014\"&&!C(m.attributes.value)),f=!C(u)&&!C(u.attributes.value)?ei(u.attributes.value):void 0,l=!C(f)&&!isNaN(f)?f:void 0;if(!C(l)&&r!==!0)e.externalClockOffset=l;else if(d&&r!==!0){let m=Ma(n);if(!C(m)&&m.length>0)return{type:\"needs-clock\",value:{url:m,continue:function(h){return h.success?(e.externalClockOffset=ei(h.data),Xt(n,e,t,!0)):(t.push(h.error),c.warn(\"dash\",\"Error on fetching the clock ressource\",h.error),Xt(n,e,t,!0))}}}}}let s=[];for(let d=0;d<a.Period.length;d++){let u=a.Period[d].attributes[\"xlink:href\"],f=a.Period[d].attributes[\"xlink:actuate\"];!C(u)&&f===\"onLoad\"&&s.push({index:d,ressource:u})}return s.length===0?bf(n,e,t,i):{type:\"needs-xlinks\",value:{xlinksUrls:s.map(({ressource:d})=>d),continue:function(u){if(u.length!==s.length)throw new Error(\"DASH parser: wrong number of loaded ressources.\");for(let f=u.length-1;f>=0;f--){let l=s[f].index,{parsed:m,warnings:g,receivedTime:h,sendingTime:b,url:p}=u[f];g.length>0&&t.push(...g);for(let S of m)i.set(S,{receivedTime:h,sendingTime:b,url:p});a.Period.splice(l,1,...m)}return Xt(n,e,t,r,i)}}}}function bf(n,e,t,r){var P,M,w,B;let{children:i,attributes:a}=n,o=a.type===\"dynamic\",s=e.url!==void 0?[{url:e.url.substring(0,aa(e.url))}]:[],d=lt(s,i.BaseURL),u=Ba(a,e.referenceDateTime),f=a.timeShiftBufferDepth,l=a.maxSegmentDuration,{externalClockOffset:m,unsafelyBaseOnPreviousManifest:g}=e,{externalClockOffset:h}=e,b=new ur({availabilityStartTime:u,isDynamic:o,timeShiftBufferDepth:f,serverTimestampOffset:h}),p=new dr;p.addReferences(i.ContentProtection);let S={availabilityStartTime:u,baseURLs:d,clockOffset:m,contentProtectionParser:p,duration:a.mediaPresentationDuration,isDynamic:o,manifestBoundsCalculator:b,manifestProfiles:n.attributes.profiles,receivedTime:e.manifestReceivedTime,unsafelyBaseOnPreviousManifest:g,xlinkInfos:r,xmlNamespaces:n.attributes.namespaces},E=Va(i.Period,S);p.finalize();let v=a.mediaPresentationDuration,T,_,R=null,x;a.minimumUpdatePeriod!==void 0&&a.minimumUpdatePeriod>=0&&(T=a.minimumUpdatePeriod===0?U.getCurrent().DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0:a.minimumUpdatePeriod);let{minimumSafePosition:A,maximumSafePosition:k,maximumUnsafePosition:D}=Da(E),N=F();if(o){let H;k!==void 0?H=k:h===void 0?(c.warn(\"dash\",\"use system clock to define maximum position\"),H=Date.now()/1e3-u):H=(F()+h)/1e3-u;let Q=b.getEstimatedLiveEdge();Q===void 0&&(D!==void 0?Q=D:Q=H),x={isLinear:!0,maximumSafePosition:H,livePosition:Q,time:N},_=A,R=f!=null?f:null,R!==null&&(R+=l!=null?l:0),R!==null&&_!==void 0&&Q-_>R&&(R=Q-_)}else{_=A,_===void 0&&(_=(M=(P=E[0])==null?void 0:P.start)!=null?M:0);let H=v!=null?v:1/0;if(E[E.length-1]!==void 0){let Q=E[E.length-1],Z=(w=Q.end)!=null?w:Q.duration!==void 0?Q.start+Q.duration:void 0;Z!==void 0&&Z<H&&(H=Z)}k!==void 0&&k<H&&(H=k),x={isLinear:!1,maximumSafePosition:H,livePosition:void 0,time:N}}let W=!o||n.attributes.minimumUpdatePeriod===void 0&&(((B=E[E.length-1])==null?void 0:B.end)!==void 0||n.attributes.mediaPresentationDuration!==void 0);return{type:\"done\",value:{parsed:{availabilityStartTime:u,clockOffset:e.externalClockOffset,isDynamic:o,isLive:o,isLastPeriodKnown:W,periods:E,publishTime:a.publishTime,suggestedPresentationDelay:a.suggestedPresentationDelay,transportType:\"dash\",timeBounds:{minimumSafePosition:_,timeshiftDepth:R,maximumTimeData:x},lifetime:T,uris:C(e.url)?i.Location.map(H=>H.value):[e.url,...i.Location.map(H=>H.value)]},warnings:t}}}var ri=Xt;var Sf=/^P(([\\d.]*)Y)?(([\\d.]*)M)?(([\\d.]*)D)?T?(([\\d.]*)H)?(([\\d.]*)M)?(([\\d.]*)S)?/,yf=/([0-9]+)-([0-9]+)/;function xe(n,e){return n===\"true\"?[!0,null]:n===\"false\"?[!1,null]:[!1,new Ne(`\\`${e}\\` property is not a boolean value but \"${n}\"`)]}function de(n,e){let t=parseInt(n,10);return isNaN(t)?[null,new Ne(`\\`${e}\\` property is not an integer value but \"${n}\"`)]:[t,null]}function Be(n,e){if(n===\"INF\")return[1/0,null];let t=parseFloat(n);return isNaN(t)?[null,new Ne(`\\`${e}\\` property is invalid: \"${n}\"`)]:[t,null]}function Ga(n,e){if(n===\"true\")return[!0,null];if(n===\"false\")return[!1,null];let t=parseInt(n,10);return isNaN(t)?[null,new Ne(`\\`${e}\\` property is not a boolean nor an integer but \"${n}\"`)]:[t,null]}function ii(n,e){let t=Date.parse(n);return isNaN(t)?[null,new Ne(`\\`${e}\\` is in an invalid date format: \"${n}\"`)]:[new Date(Date.parse(n)).getTime()/1e3,null]}function Qe(n,e){if(!Y(n))return[0,new Ne(`\\`${e}\\` property is empty`)];let t=Sf.exec(n);return t===null?[null,new Ne(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[parseFloat(Y(t[2])?t[2]:\"0\")*365*24*60*60+parseFloat(Y(t[4])?t[4]:\"0\")*30*24*60*60+parseFloat(Y(t[6])?t[6]:\"0\")*24*60*60+parseFloat(Y(t[8])?t[8]:\"0\")*60*60+parseFloat(Y(t[10])?t[10]:\"0\")*60+parseFloat(Y(t[12])?t[12]:\"0\"),null]}function Ut(n,e){let t=yf.exec(n);return t===null?[null,new Ne(`\\`${e}\\` property has an unrecognized format \"${n}\"`)]:[[+t[1],+t[2]],null]}function dd(n,e){try{return[kr(n),null]}catch(t){return[null,new Ne(`\\`${e}\\` is not a valid base64 string: \"${n}\"`)]}}function Zt(n,e){let t=/^(\\d+)\\/(\\d+)$/.exec(n);return t!==null?[+t[1]/+t[2],null]:Be(n,e)}function Ve(n){let e,t;for(let r of Object.keys(n.attributes)){let i=n.attributes[r];if(!C(i))switch(r){case\"schemeIdUri\":e=i;break;case\"value\":t=i;break}}return{attributes:{schemeIdUri:e,value:t}}}function Ee(n,e){return function(t,{parser:r,name:i}){let[a,o]=r(t,i);o!==null&&(c.warn(\"dash\",\"failed to parse DASH value:\",o.message,{name:i}),e.push(o)),a!==null&&(n[i]=a)}}var Ne=class n extends Error{constructor(e){super(e),Object.setPrototypeOf(this,n.prototype),this.name=\"MPDError\"}};function vt(n){return $r(n)}function ft(n){let e=typeof n==\"string\"?n:vt(n.children),t=[];return e===null||e.length===0?[void 0,t]:[{value:e},t]}function Tf(n){let e=[],t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\"&&i.tagName===\"cenc:pssh\"){let a=vt(i.children);if(a!==null&&a.length>0){let[o,s]=dd(a,\"cenc:pssh\");s!==null&&(c.warn(\"dash\",\"Content protection parsing failure\",s.message),e.push(s)),o!==null&&t.push({value:o})}}}return[{\"cenc:pssh\":t},e]}function Ef(n){let e={};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!C(r))switch(t){case\"schemeIdUri\":e.schemeIdUri=r;break;case\"value\":e.value=r;break;case\"cenc:default_KID\":e[\"cenc:default_KID\"]=cn(r.replace(/-/g,\"\"));break;case\"ref\":e.ref=r;break;case\"refId\":e.refId=r;break}}return e}function mt(n){let[e,t]=Tf(n.children),r=Ef(n);return[{children:e,attributes:r},t]}function Ha(n){let e={attributes:{}};for(let t of Object.keys(n.attributes)){let r=n.attributes[t];if(!C(r))switch(t){case\"id\":e.attributes.id=r;break;case\"lang\":e.attributes.lang=r;break;case\"contentType\":e.attributes.contentType=r;break;case\"par\":e.attributes.par=r;break}}return e}function ja(n){let e={attributes:{}},t=[],r=Ee(e.attributes,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!C(a))switch(i){case\"range\":r(a,{parser:Ut,name:\"range\"});break;case\"sourceURL\":e.attributes.sourceURL=a;break}}return[e,t]}function ct(n){let e={children:{Initialization:[]},attributes:{}},t=[],r=Ee(e.attributes,t),i=n.children;for(let a=0;a<i.length;a++){let o=i[a];if(typeof o!=\"string\"&&o.tagName===\"Initialization\"){let[s,d]=ja(o);e.children.Initialization.push(s),t=t.concat(d)}}for(let a of Object.keys(n.attributes)){let o=n.attributes[a];if(!C(o))switch(a){case\"timescale\":r(o,{parser:de,name:\"timescale\"});break;case\"presentationTimeOffset\":r(o,{parser:Be,name:\"presentationTimeOffset\"});break;case\"indexRange\":r(o,{parser:Ut,name:\"indexRange\"});break;case\"indexRangeExact\":r(o,{parser:xe,name:\"indexRangeExact\"});break;case\"availabilityTimeOffset\":r(o,{parser:Be,name:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(o,{parser:xe,name:\"availabilityTimeComplete\"});break;case\"duration\":r(o,{parser:de,name:\"duration\"});break;case\"startNumber\":r(o,{parser:de,name:\"startNumber\"});break;case\"endNumber\":r(o,{parser:de,name:\"endNumber\"});break}}return[e,t]}function Ka(n){let e={attributes:{}},t=[],r=Ee(e.attributes,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!C(a))switch(i){case\"media\":e.attributes.media=a;break;case\"indexRange\":r(a,{parser:Ut,name:\"indexRange\"});break;case\"index\":e.attributes.index=a;break;case\"mediaRange\":r(a,{parser:Ut,name:\"mediaRange\"});break}}return[e,t]}function fr(n){let[e,t]=ct(n),r=t,i=[],a=n.children;for(let s=0;s<a.length;s++){let d=a[s];if(typeof d!=\"string\"&&d.tagName===\"SegmentURL\"){let[u,f]=Ka(d);i.push(u),r=r.concat(f)}}return[{children:j(e.children,{SegmentURL:i}),attributes:e.attributes},r]}function Ya(n){let e=n.children;return function(){for(let t=e.length-1;t>=0;t--){let r=e[t];(typeof r==\"string\"||r.tagName!==\"S\")&&e.splice(t,1)}return e}}function Ft(n){let[e,t]=ct(n),r=t,i;for(let s=0;s<n.children.length;s++){let d=n.children[s];typeof d!=\"string\"&&d.tagName===\"SegmentTimeline\"&&(i=Ya(d))}let a={children:{Initialization:e.children.Initialization,timelineParser:i},attributes:e.attributes},o=Ee(a.attributes,r);for(let s of Object.keys(n.attributes)){let d=n.attributes[s];if(!C(d))switch(s){case\"initialization\":a.attributes.initialization=d;break;case\"index\":a.attributes.index=d;break;case\"availabilityTimeOffset\":o(d,{parser:Be,name:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":o(d,{parser:xe,name:\"availabilityTimeComplete\"});break;case\"media\":a.attributes.media=d;break;case\"bitstreamSwitching\":o(d,{parser:xe,name:\"bitstreamSwitching\"});break}}return[a,r]}function _f(n){let e={BaseURL:[],ContentProtection:[],InbandEventStream:[],SegmentTemplate:[],SegmentBase:[],SegmentList:[],SupplementalProperty:[],EssentialProperty:[]},t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\")switch(i.tagName){case\"BaseURL\":{let[a,o]=ft(i);a!==void 0&&e.BaseURL.push(a),t=t.concat(o);break}case\"InbandEventStream\":e.InbandEventStream.push(Ve(i));break;case\"SegmentBase\":{let[a,o]=ct(i);t=t.concat(o),e.SegmentBase.push(a);break}case\"SegmentList\":{let[a,o]=fr(i);t=t.concat(o),e.SegmentList.push(a);break}case\"SegmentTemplate\":{let[a,o]=Ft(i);t=t.concat(o),e.SegmentTemplate.push(a);break}case\"ContentProtection\":{let[a,o]=mt(i);o.length>0&&(t=t.concat(o)),a!==void 0&&e.ContentProtection.push(a);break}case\"EssentialProperty\":e.EssentialProperty.push(Ve(i));break;case\"SupplementalProperty\":e.SupplementalProperty.push(Ve(i));break}}return[e,t]}function Rf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!C(a))switch(i){case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"bandwidth\":r(a,{parser:de,name:\"bandwidth\"});break;case\"codecs\":e.codecs=a;break;case\"codingDependency\":r(a,{parser:xe,name:\"codingDependency\"});break;case\"frameRate\":r(a,{parser:Zt,name:\"frameRate\"});break;case\"height\":r(a,{parser:de,name:\"height\"});break;case\"id\":e.id=a;break;case\"maxPlayoutRate\":r(a,{parser:Be,name:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{parser:Be,name:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"qualityRanking\":r(a,{parser:de,name:\"qualityRanking\"});break;case\"scte214:supplementalCodecs\":e[\"scte214:supplementalCodecs\"]=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{parser:de,name:\"width\"});break;case\"availabilityTimeOffset\":r(a,{parser:Be,name:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{parser:xe,name:\"availabilityTimeComplete\"});break}}return e.bandwidth===void 0&&t.push(new Ne(\"No bitrate found on a Representation\")),[e,t]}function ud(n){let[e,t]=_f(n.children),[r,i]=Rf(n),a=t.concat(i);return[{children:e,attributes:r},a]}function Pf(n){let e={BaseURL:[],Representation:[],Accessibility:[],ContentComponent:[],ContentProtection:[],EssentialProperty:[],InbandEventStream:[],Role:[],SupplementalProperty:[],SegmentBase:[],SegmentList:[],SegmentTemplate:[],Label:[]},t=[];for(let r=0;r<n.length;r++){let i=n[r];if(typeof i!=\"string\")switch(i.tagName){case\"Accessibility\":e.Accessibility.push(Ve(i));break;case\"BaseURL\":{let[a,o]=ft(i);a!==void 0&&e.BaseURL.push(a),o.length>0&&(t=t.concat(o));break}case\"ContentComponent\":e.ContentComponent.push(Ha(i));break;case\"EssentialProperty\":e.EssentialProperty.push(Ve(i));break;case\"InbandEventStream\":e.InbandEventStream.push(Ve(i));break;case\"Label\":{let a=vt(i.children);a!=null&&e.Label.push({value:a});break}case\"Representation\":{let[a,o]=ud(i);e.Representation.push(a),o.length>0&&(t=t.concat(o));break}case\"Role\":e.Role.push(Ve(i));break;case\"SupplementalProperty\":e.SupplementalProperty.push(Ve(i));break;case\"SegmentBase\":{let[a,o]=ct(i);e.SegmentBase.push(a),o.length>0&&(t=t.concat(o));break}case\"SegmentList\":{let[a,o]=fr(i);e.SegmentList.push(a),o.length>0&&(t=t.concat(o));break}case\"SegmentTemplate\":{let[a,o]=Ft(i);e.SegmentTemplate.push(a),o.length>0&&(t=t.concat(o));break}case\"ContentProtection\":{let[a,o]=mt(i);o.length>0&&(t=t.concat(o)),a!==void 0&&e.ContentProtection.push(a);break}}}return[e,t]}function vf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!C(a))switch(i){case\"id\":e.id=a;break;case\"group\":r(a,{parser:de,name:\"group\"});break;case\"lang\":e.lang=a;break;case\"contentType\":e.contentType=a;break;case\"par\":e.par=a;break;case\"minBandwidth\":r(a,{parser:de,name:\"minBandwidth\"});break;case\"maxBandwidth\":r(a,{parser:de,name:\"maxBandwidth\"});break;case\"minWidth\":r(a,{parser:de,name:\"minWidth\"});break;case\"maxWidth\":r(a,{parser:de,name:\"maxWidth\"});break;case\"minHeight\":r(a,{parser:de,name:\"minHeight\"});break;case\"maxHeight\":r(a,{parser:de,name:\"maxHeight\"});break;case\"minFrameRate\":r(a,{parser:Zt,name:\"minFrameRate\"});break;case\"maxFrameRate\":r(a,{parser:Zt,name:\"maxFrameRate\"});break;case\"selectionPriority\":r(a,{parser:de,name:\"selectionPriority\"});break;case\"subsegmentAlignment\":r(a,{parser:Ga,name:\"subsegmentAlignment\"});break;case\"segmentAlignment\":r(a,{parser:Ga,name:\"segmentAlignment\"});break;case\"bitstreamSwitching\":r(a,{parser:xe,name:\"bitstreamSwitching\"});break;case\"audioSamplingRate\":e.audioSamplingRate=a;break;case\"codecs\":e.codecs=a;break;case\"scte214:supplementalCodecs\":e[\"scte214:supplementalCodecs\"]=a;break;case\"codingDependency\":r(a,{parser:xe,name:\"codingDependency\"});break;case\"frameRate\":r(a,{parser:Zt,name:\"frameRate\"});break;case\"height\":r(a,{parser:de,name:\"height\"});break;case\"maxPlayoutRate\":r(a,{parser:Be,name:\"maxPlayoutRate\"});break;case\"maximumSAPPeriod\":r(a,{parser:Be,name:\"maximumSAPPeriod\"});break;case\"mimeType\":e.mimeType=a;break;case\"profiles\":e.profiles=a;break;case\"segmentProfiles\":e.segmentProfiles=a;break;case\"width\":r(a,{parser:de,name:\"width\"});break;case\"availabilityTimeOffset\":r(a,{parser:Be,name:\"availabilityTimeOffset\"});break;case\"availabilityTimeComplete\":r(a,{parser:xe,name:\"availabilityTimeComplete\"});break}}return[e,t]}function ld(n){let e=n.children,[t,r]=Pf(e),[i,a]=vf(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Cf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!C(a))switch(i){case\"schemeIdUri\":e.schemeIdUri=a;break;case\"value\":e.value=a;break;case\"timescale\":r(a,{parser:de,name:\"timescale\"});break;default:be(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function fd(n,e){let[t,r]=Cf(n),i=[];for(let a of n.children)if(typeof a!=\"string\"&&a.tagName===\"Event\"){let o={};if(C(a.attributes.id)||(o.id=a.attributes.id),!C(a.attributes.presentationTime)){let[s,d]=de(a.attributes.presentationTime,\"presentationTime\");d!==null&&r.push(d),s!==null&&(o.presentationTime=s)}if(!C(a.attributes.duration)){let[s,d]=de(a.attributes.duration,\"duration\");d!==null&&r.push(d),s!==null&&(o.duration=s)}if(a.posStart<a.posEnd){let s=e.substring(a.posStart,a.posEnd);o.eventStreamData=s}i.push(o)}return[{children:{Event:i},attributes:t},r]}function Af(n,e){let t={AdaptationSet:[],BaseURL:[],ContentProtection:[],SegmentTemplate:[],EventStream:[]},r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"BaseURL\":{let[o,s]=ft(a);o!==void 0&&t.BaseURL.push(o),r=r.concat(s);break}case\"AdaptationSet\":{let[o,s]=ld(a);t.AdaptationSet.push(o),r=r.concat(s);break}case\"EventStream\":{let[o,s]=fd(a,e);t.EventStream.push(o),r=r.concat(s);break}case\"SegmentTemplate\":{let[o,s]=Ft(a);t.SegmentTemplate.push(o),s.length>0&&(r=r.concat(s));break}case\"ContentProtection\":{let[o,s]=mt(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.ContentProtection.push(o);break}}}return[t,r]}function xf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!C(a))switch(i){case\"id\":e.id=a;break;case\"start\":r(a,{parser:Qe,name:\"start\"});break;case\"duration\":r(a,{parser:Qe,name:\"duration\"});break;case\"bitstreamSwitching\":r(a,{parser:xe,name:\"bitstreamSwitching\"});break;case\"xlink:href\":e[\"xlink:href\"]=a;break;case\"xlink:actuate\":e[\"xlink:actuate\"]=a;break;default:be(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function ai(n,e){let[t,r]=Af(n.children,e),[i,a]=xf(n),o=r.concat(a);return[{children:t,attributes:i},o]}function kf(n,e){let t={BaseURL:[],Location:[],Period:[],UTCTiming:[],ContentProtection:[]},r=[];for(let i=0;i<n.length;i++){let a=n[i];if(typeof a!=\"string\")switch(a.tagName){case\"BaseURL\":{let[o,s]=ft(a);o!==void 0&&t.BaseURL.push(o),r=r.concat(s);break}case\"Location\":t.Location.push({value:vt(a.children)});break;case\"Period\":{let[o,s]=ai(a,e);t.Period.push(o),r=r.concat(s);break}case\"UTCTiming\":{let o=Ve(a);t.UTCTiming.push(o);break}case\"ContentProtection\":{let[o,s]=mt(a);s.length>0&&(r=r.concat(s)),o!==void 0&&t.ContentProtection.push(o);break}}}return[t,r]}function Mf(n){let e={},t=[],r=Ee(e,t);for(let i of Object.keys(n.attributes)){let a=n.attributes[i];if(!C(a))switch(i){case\"id\":e.id=a;break;case\"profiles\":e.profiles=a;break;case\"type\":e.type=a;break;case\"availabilityStartTime\":r(a,{parser:ii,name:\"availabilityStartTime\"});break;case\"availabilityEndTime\":r(a,{parser:ii,name:\"availabilityEndTime\"});break;case\"publishTime\":r(a,{parser:ii,name:\"publishTime\"});break;case\"mediaPresentationDuration\":r(a,{parser:Qe,name:\"mediaPresentationDuration\"});break;case\"minimumUpdatePeriod\":r(a,{parser:Qe,name:\"minimumUpdatePeriod\"});break;case\"minBufferTime\":r(a,{parser:Qe,name:\"minBufferTime\"});break;case\"timeShiftBufferDepth\":r(a,{parser:Qe,name:\"timeShiftBufferDepth\"});break;case\"suggestedPresentationDelay\":r(a,{parser:Qe,name:\"suggestedPresentationDelay\"});break;case\"maxSegmentDuration\":r(a,{parser:Qe,name:\"maxSegmentDuration\"});break;case\"maxSubsegmentDuration\":r(a,{parser:Qe,name:\"maxSubsegmentDuration\"});break;default:be(i,\"xmlns:\")&&(e.namespaces===void 0&&(e.namespaces=[]),e.namespaces.push({key:i.substring(6),value:a}));break}}return[e,t]}function md(n,e){let[t,r]=kf(n.children,e),[i,a]=Mf(n),o=r.concat(a);return[{children:t,attributes:i},o]}function Qa(n,e){let[t,r]=Of(n),i=ri(t,e,r);return a(i);function a(o){if(o.type===\"done\")return o;if(o.type===\"needs-clock\")return{type:\"needs-resources\",value:{urls:[o.value.url],format:\"string\",continue(s){if(s.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let d=o.value.continue(s[0].responseData);return a(d)}}};if(o.type===\"needs-xlinks\")return{type:\"needs-resources\",value:{urls:o.value.xlinksUrls,format:\"string\",continue(s){let d=[];for(let f=0;f<s.length;f++){let{responseData:l,receivedTime:m,sendingTime:g,url:h}=s[f];if(!l.success)throw l.error;let b=\"<root>\"+l.data+\"</root>\",p=Ea(b),S=p[p.length-1];if(S===void 0||typeof S==\"string\")throw new Error(\"DASH parser: Invalid external ressources\");let E=S.children,v=[],T=[];for(let _=0;_<E.length;_++){let R=E[_];if(typeof R==\"string\"||R.tagName!==\"Period\")continue;let[x,A]=ai(R,b);T.push(...A),v.push(x)}d.push({url:h,receivedTime:m,sendingTime:g,parsed:v,warnings:T})}let u=o.value.continue(d);return a(u)}}};Ue(o)}}function Of(n){let e=Ea(n),t=e[e.length-1];if(t===void 0||typeof t==\"string\"||t.tagName!==\"MPD\")throw new Error(\"DASH Parser: document root should be MPD\");return md(t,n)}var cd=Qa;var wf=typeof WebAssembly==\"object\"&&typeof WebAssembly.instantiate==\"function\",pd=wf;function q(n,e,t){let r=new Uint8Array(n,e,t);return Df.decode(r)}var Df=new TextDecoder;function $a(n){return n===1/0?!0:n===-1/0?!1:n}function G(n){if(n===void 0)throw new Error(\"Missing direct numeric attribute value\");return n}function Re(n){if(n===void 0)throw new Error(\"Missing direct boolean attribute value\");return n!==0}function Ct(n,e){return function(r,i,a){r===64&&(n.value=q(e.buffer,i,a))}}function At(n,e){let t=n.attributes,r=n.children;return function(a,o,s){switch(a){case 16:t.schemeIdUri=q(e.buffer,o,s);break;case 13:t.value=q(e.buffer,o,s);break;case 14:{let d=q(e.buffer,o,s);t[\"cenc:default_KID\"]=cn(d.replace(/-/g,\"\"));break}case 15:try{let d=q(e.buffer,o,s);r[\"cenc:pssh\"].push({value:kr(d)})}catch(d){}break;case 78:t.ref=q(e.buffer,o,s);break;case 79:t.refId=q(e.buffer,o,s);break}}}function gd(n,e){return function(r,i,a){switch(r){case 0:n.id=q(e.buffer,i,a);break;case 60:n.lang=q(e.buffer,i,a);break;case 61:n.contentType=q(e.buffer,i,a);break;case 62:n.par=q(e.buffer,i,a);break}}}function hd(n,e){return function(r,i,a){r===64&&n.Label.push({value:q(e.buffer,i,a)})}}function Ge(n,e){return function(r,i,a){switch(r){case 16:n.schemeIdUri=q(e.buffer,i,a);break;case 17:n.value=q(e.buffer,i,a);break}}}function zt(n,e){return function(r,i,a){switch(r){case 29:{let o=new DataView(e.buffer);n.attributes.range=[o.getFloat64(i,!0),o.getFloat64(i+8,!0)];break}case 67:n.attributes.sourceURL=q(e.buffer,i,a);break}}}function oi(n,e,t){return function(i){if(i===22){let a={attributes:{}};n.Initialization.push(a),t.pushParsers(i,O,zt(a,e))}else t.pushParsers(i,O,O)}}function Jt(n,e){return function(r,i,a,o){switch(r){case 43:{n.attributes.availabilityTimeOffset=G(o);break}case 22:{n.attributes.availabilityTimeComplete=Re(o);break}case 24:{n.attributes.presentationTimeOffset=G(o);break}case 27:{n.attributes.timescale=G(o);break}case 31:{let s=new DataView(e.buffer);n.attributes.indexRange=[s.getFloat64(i,!0),s.getFloat64(i+8,!0)];break}case 23:{n.attributes.indexRangeExact=Re(o);break}case 1:{n.attributes.duration=G(o);break}case 20:{n.attributes.startNumber=G(o);break}case 76:{n.attributes.endNumber=G(o);break}}}}function Id(n,e){return function(r,i,a){switch(r){case 28:n.attributes.index=q(e.buffer,i,a);break;case 31:{let o=new DataView(e.buffer);n.attributes.indexRange=[o.getFloat64(i,!0),o.getFloat64(i+8,!0)];break}case 30:n.attributes.media=q(e.buffer,i,a);break;case 18:{let o=new DataView(e.buffer);n.attributes.mediaRange=[o.getFloat64(i,!0),o.getFloat64(i+8,!0)];break}}}}function si(n,e,t){return function(i){switch(i){case 22:{let a={attributes:{}};n.children.Initialization.push(a),t.pushParsers(i,O,zt(a,e));break}case 20:{let a={attributes:{}};n.children.SegmentURL.push(a);let o=Id(a,e);t.pushParsers(i,O,o);break}default:t.pushParsers(i,O,O);break}}}function en(n,e,t){return function(i){if(i===22){let a={attributes:{}};n.Initialization.push(a),t.pushParsers(i,O,zt(a,e))}else t.pushParsers(i,O,O)}}function tn(n,e){return function(r,i,a,o){switch(r){case 19:{let s=new DataView(e.buffer);n.children.timeline=[];let d=i;for(let u=0;u<a/24;u++)n.children.timeline.push({start:s.getFloat64(d,!0),duration:s.getFloat64(d+8,!0),repeatCount:s.getFloat64(d+16,!0)}),d+=24;break}case 67:n.attributes.initialization=q(e.buffer,i,a);break;case 28:n.attributes.index=q(e.buffer,i,a);break;case 43:{n.attributes.availabilityTimeOffset=G(o);break}case 22:{n.attributes.availabilityTimeComplete=Re(o);break}case 24:{n.attributes.presentationTimeOffset=G(o);break}case 27:{n.attributes.timescale=G(o);break}case 31:{let s=new DataView(e.buffer);n.attributes.indexRange=[s.getFloat64(i,!0),s.getFloat64(i+8,!0)];break}case 23:{n.attributes.indexRangeExact=Re(o);break}case 30:n.attributes.media=q(e.buffer,i,a);break;case 32:{n.attributes.bitstreamSwitching=Re(o);break}case 1:{n.attributes.duration=G(o);break}case 20:{n.attributes.startNumber=G(o);break}case 76:{n.attributes.endNumber=G(o);break}}}}function bd(n,e,t){return function(i){switch(i){case 15:{let a={value:\"\",attributes:{}};n.BaseURL.push(a),t.pushParsers(i,O,Ct(a,e));break}case 10:{let a={children:{\"cenc:pssh\":[]},attributes:{}};n.ContentProtection.push(a);let o=At(a,e);t.pushParsers(i,O,o);break}case 19:{let a={attributes:{}};n.InbandEventStream.push(a),t.pushParsers(i,O,Ge(a.attributes,e));break}case 11:{let a={attributes:{}};n.EssentialProperty.push(a);let o=Ge(a.attributes,e);t.pushParsers(i,O,o);break}case 13:{let a={attributes:{}};n.SupplementalProperty.push(a);let o=Ge(a.attributes,e);t.pushParsers(i,O,o);break}case 17:{let a={children:{Initialization:[]},attributes:{}};n.SegmentBase.push(a);let o=Jt(a,e),s=oi(a.children,e,t);t.pushParsers(i,s,o);break}case 18:{let a={children:{Initialization:[],SegmentURL:[]},attributes:{}};n.SegmentList.push(a);let o=si(a,e,t),s=Jt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={children:{Initialization:[]},attributes:{}};n.SegmentTemplate.push(a),t.pushParsers(i,en(a.children,e,t),tn(a,e));break}default:t.pushParsers(i,O,O);break}}}function Sd(n,e){return function(r,i,a,o){switch(r){case 0:n.id=q(e.buffer,i,a);break;case 3:n.audioSamplingRate=q(e.buffer,i,a);break;case 63:n.bandwidth=G(o);break;case 4:n.codecs=q(e.buffer,i,a);break;case 77:n[\"scte214:supplementalCodecs\"]=q(e.buffer,i,a);break;case 5:n.codingDependency=Re(o);break;case 6:n.frameRate=G(o);break;case 7:n.height=G(o);break;case 8:n.width=G(o);break;case 9:n.maxPlayoutRate=G(o);break;case 10:n.maximumSAPPeriod=G(o);break;case 11:n.mimeType=q(e.buffer,i,a);break;case 2:n.profiles=q(e.buffer,i,a);break;case 65:n.qualityRanking=G(o);break;case 12:n.segmentProfiles=q(e.buffer,i,a);break;case 43:n.availabilityTimeOffset=G(o);break;case 22:n.availabilityTimeComplete=Re(o);break}}}function yd(n,e,t){return function(i){switch(i){case 8:{let a={attributes:{}};n.Accessibility.push(a);let o=Ge(a.attributes,e);t.pushParsers(i,O,o);break}case 15:{let a={value:\"\",attributes:{}};n.BaseURL.push(a);let o=Ct(a,e);t.pushParsers(i,O,o);break}case 9:{let a={attributes:{}};n.ContentComponent.push(a),t.pushParsers(i,O,gd(a.attributes,e));break}case 10:{let a={children:{\"cenc:pssh\":[]},attributes:{}};n.ContentProtection.push(a);let o=At(a,e);t.pushParsers(i,O,o);break}case 11:{let a={attributes:{}};n.EssentialProperty.push(a);let o=O,s=Ge(a.attributes,e);t.pushParsers(i,o,s);break}case 19:{let a={attributes:{}};n.InbandEventStream.push(a);let o=O,s=Ge(a.attributes,e);t.pushParsers(i,o,s);break}case 7:{let a={children:{BaseURL:[],ContentProtection:[],InbandEventStream:[],SegmentBase:[],SegmentList:[],SegmentTemplate:[],SupplementalProperty:[],EssentialProperty:[]},attributes:{}};n.Representation.push(a);let o=bd(a.children,e,t),s=Sd(a.attributes,e);t.pushParsers(i,o,s);break}case 12:{let a={attributes:{}};n.Role.push(a);let o=Ge(a.attributes,e);t.pushParsers(i,O,o);break}case 13:{let a={attributes:{}};n.SupplementalProperty.push(a);let o=Ge(a.attributes,e);t.pushParsers(i,O,o);break}case 17:{let a={children:{Initialization:[]},attributes:{}};n.SegmentBase.push(a);let o=Jt(a,e),s=oi(a.children,e,t);t.pushParsers(i,s,o);break}case 18:{let a={children:{Initialization:[],SegmentURL:[]},attributes:{}};n.SegmentList.push(a);let o=si(a,e,t),s=Jt(a,e);t.pushParsers(i,o,s);break}case 16:{let a={children:{Initialization:[]},attributes:{}};n.SegmentTemplate.push(a),t.pushParsers(i,en(a.children,e,t),tn(a,e));break}case 21:{t.pushParsers(i,O,hd(n,e));break}default:t.pushParsers(i,O,O);break}}}function Td(n,e){return function(r,i,a,o){switch(r){case 0:n.id=q(e.buffer,i,a);break;case 48:n.group=G(o);break;case 60:n.lang=q(e.buffer,i,a);break;case 61:n.contentType=q(e.buffer,i,a);break;case 62:n.par=q(e.buffer,i,a);break;case 53:n.minBandwidth=G(o);break;case 49:n.maxBandwidth=G(o);break;case 56:n.minWidth=G(o);break;case 52:n.maxWidth=G(o);break;case 55:n.minHeight=G(o);break;case 51:n.maxHeight=G(o);break;case 54:n.minFrameRate=G(o);break;case 50:n.maxFrameRate=G(o);break;case 57:n.selectionPriority=G(o);break;case 58:n.segmentAlignment=$a(G(o));break;case 59:n.subsegmentAlignment=$a(G(o));break;case 32:n.bitstreamSwitching=Re(o);break;case 3:n.audioSamplingRate=q(e.buffer,i,a);break;case 4:n.codecs=q(e.buffer,i,a);break;case 77:n[\"scte214:supplementalCodecs\"]=q(e.buffer,i,a);break;case 2:n.profiles=q(e.buffer,i,a);break;case 12:n.segmentProfiles=q(e.buffer,i,a);break;case 11:n.mimeType=q(e.buffer,i,a);break;case 5:n.codingDependency=Re(o);break;case 6:n.frameRate=G(o);break;case 7:n.height=G(o);break;case 8:n.width=G(o);break;case 9:n.maxPlayoutRate=G(o);break;case 10:n.maximumSAPPeriod=G(o);break;case 43:n.availabilityTimeOffset=G(o);break;case 22:n.availabilityTimeComplete=Re(o);break}}}function Ed(n,e,t,r){return function(a){if(a===6){let o={};n.Event.push(o);let s=Bf(o,e,r);t.pushParsers(a,O,s)}else t.pushParsers(a,O,O)}}function _d(n,e){return function(r,i,a,o){let s=new DataView(e.buffer);switch(r){case 16:n.schemeIdUri=q(e.buffer,i,a);break;case 17:n.value=q(e.buffer,i,a);break;case 27:n.timescale=G(o);break;case 70:{let d={key:\"\",value:\"\"},u=i,f=s.getUint32(u);u+=4,d.key=q(e.buffer,u,f),u+=f;let l=s.getUint32(u);u+=4,d.value=q(e.buffer,u,l),n.namespaces===void 0?n.namespaces=[d]:n.namespaces.push(d);break}}}}function Bf(n,e,t){return function(i,a,o,s){let d=new DataView(e.buffer);switch(i){case 25:n.presentationTime=G(s);break;case 1:n.duration=G(s);break;case 0:n.id=q(e.buffer,a,o);break;case 69:{let u=d.getFloat64(a,!0),f=d.getFloat64(a+8,!0);n.eventStreamData=t.slice(u,f);break}}}}function di(n,e,t,r){return function(a){switch(a){case 4:{let o={children:{BaseURL:[],Representation:[],Accessibility:[],ContentComponent:[],ContentProtection:[],EssentialProperty:[],InbandEventStream:[],Role:[],SupplementalProperty:[],SegmentBase:[],SegmentList:[],SegmentTemplate:[],Label:[]},attributes:{}};n.AdaptationSet.push(o);let s=yd(o.children,e,t),d=Td(o.attributes,e);t.pushParsers(a,s,d);break}case 15:{let o={value:\"\",attributes:{}};n.BaseURL.push(o);let s=O,d=Ct(o,e);t.pushParsers(a,s,d);break}case 5:{let o={children:{Event:[]},attributes:{}};n.EventStream.push(o);let s=Ed(o.children,e,t,r),d=_d(o.attributes,e);t.pushParsers(a,s,d);break}case 16:{let o={children:{Initialization:[]},attributes:{}};n.SegmentTemplate.push(o),t.pushParsers(a,en(o.children,e,t),tn(o,e));break}case 10:{let o={children:{\"cenc:pssh\":[]},attributes:{}};n.ContentProtection.push(o);let s=At(o,e);t.pushParsers(a,O,s);break}default:t.pushParsers(a,O,O);break}}}function ui(n,e){return function(r,i,a,o){switch(r){case 0:n.id=q(e.buffer,i,a);break;case 45:n.start=G(o);break;case 1:n.duration=G(o);break;case 32:n.bitstreamSwitching=Re(o);break;case 46:n[\"xlink:href\"]=q(e.buffer,i,a);break;case 47:n[\"xlink:actuate\"]=q(e.buffer,i,a);break;case 43:n.availabilityTimeOffset=G(o);break;case 22:n.availabilityTimeComplete=Re(o);break;case 70:{let s={key:\"\",value:\"\"},d=new DataView(e.buffer),u=i,f=d.getUint32(u);u+=4,s.key=q(e.buffer,u,f),u+=f;let l=d.getUint32(u);u+=4,s.value=q(e.buffer,u,l),n.namespaces===void 0?n.namespaces=[s]:n.namespaces.push(s);break}}}}function Rd(n,e,t,r){return function(a){switch(a){case 15:{let o={value:\"\",attributes:{}};n.BaseURL.push(o);let s=O,d=Ct(o,e);t.pushParsers(a,s,d);break}case 2:{let o={children:{AdaptationSet:[],BaseURL:[],SegmentTemplate:[],EventStream:[],ContentProtection:[]},attributes:{}};n.Period.push(o);let s=di(o.children,e,t,r),d=ui(o.attributes,e);t.pushParsers(a,s,d);break}case 3:{let o={attributes:{}};n.UTCTiming.push(o);let s=O,d=Ge(o.attributes,e);t.pushParsers(a,s,d);break}case 10:{let o={children:{\"cenc:pssh\":[]},attributes:{}};n.ContentProtection.push(o);let s=At(o,e);t.pushParsers(a,O,s);break}default:t.pushParsers(a,O,O);break}}}function Pd(n,e,t){let r;return function(a,o,s,d){switch(a){case 0:e.id=q(t.buffer,o,s);break;case 2:e.profiles=q(t.buffer,o,s);break;case 33:e.type=q(t.buffer,o,s);break;case 34:{let u=q(t.buffer,o,s);e.availabilityStartTime=new Date(u).getTime()/1e3;break}case 35:{let u=q(t.buffer,o,s);e.availabilityEndTime=new Date(u).getTime()/1e3;break}case 36:{let u=q(t.buffer,o,s);e.publishTime=new Date(u).getTime()/1e3;break}case 68:e.mediaPresentationDuration=G(d);break;case 37:e.minimumUpdatePeriod=G(d);break;case 38:e.minBufferTime=G(d);break;case 39:e.timeShiftBufferDepth=G(d);break;case 40:e.suggestedPresentationDelay=G(d);break;case 41:e.maxSegmentDuration=G(d);break;case 42:e.maxSubsegmentDuration=G(d);break;case 66:{let u=q(t.buffer,o,s);n.Location.push({value:u});break}case 70:{let u={key:\"\",value:\"\"};r=new DataView(t.buffer);let f=o,l=r.getUint32(f);f+=4,u.key=q(t.buffer,f,l),f+=l;let m=r.getUint32(f);f+=4,u.value=q(t.buffer,f,m),e.namespaces===void 0?e.namespaces=[u]:e.namespaces.push(u);break}}}}function Xa(n,e,t,r){return function(a){if(a===1){n.mpd={children:{BaseURL:[],Location:[],Period:[],UTCTiming:[],ContentProtection:[]},attributes:{}};let o=Rd(n.mpd.children,e,t,r),s=Pd(n.mpd.children,n.mpd.attributes,e);t.pushParsers(a,o,s)}else t.pushParsers(a,O,O)}}function vd(n,e,t,r){return function(a){if(a===2){let o={children:{AdaptationSet:[],BaseURL:[],SegmentTemplate:[],EventStream:[],ContentProtection:[]},attributes:{}};n.periods.push(o);let s=di(o.children,e,t,r),d=ui(o.attributes,e);t.pushParsers(a,s,d)}else t.pushParsers(a,O,O)}}var mr=class{constructor(){this._currentNodeId=null,this.childrenParser=O,this.attributeParser=O,this._stack=[{nodeId:null,children:O,attribute:O}]}pushParsers(e,t,r){this._currentNodeId=e,this.childrenParser=t,this.attributeParser=r,this._stack.push({nodeId:e,attribute:r,children:t})}popIfCurrent(e){if(this._currentNodeId!==e)return;this._stack.pop();let{nodeId:t,children:r,attribute:i}=this._stack[this._stack.length-1];this._currentNodeId=t,this.attributeParser=i,this.childrenParser=r}reset(){this.childrenParser=O,this.attributeParser=O,this._stack=[{nodeId:null,children:O,attribute:O}]}};var Nf=15e3,cr=class{constructor(){this._parsersStack=new mr,this._instance=null,this._mpdData=null,this._linearMemory=null,this.status=\"uninitialized\",this._initProm=null,this._warnings=[],this._isParsing=!1}waitForInitialization(){var e;return(e=this._initProm)!=null?e:Promise.reject(\"No initialization performed yet.\")}async initialize(e){if(this.status!==\"uninitialized\")return Promise.reject(new Error(\"DashWasmParser already initialized.\"));if(!this.isCompatible())return this.status=\"failure\",Promise.reject(new Error(\"Target not compatible with WebAssembly.\"));this.status=\"initializing\";let t=this._parsersStack,r=new TextDecoder,i=this,a={env:{onTagOpen:u,onCustomEvent:h,onAttribute:l,onFloatAttribute:m,onBooleanAttribute:g,readNext:b,onTagClose:f}},o=null,s;typeof e.wasmUrl==\"string\"?s=fetch(e.wasmUrl):(o=URL.createObjectURL(new Blob([e.wasmUrl],{type:\"application/wasm\"})),s=fetch(o));let d=typeof WebAssembly.instantiateStreaming==\"function\"?WebAssembly.instantiateStreaming(s,a):Promise.reject(\"`WebAssembly.instantiateStreaming` API not available\");return this._initProm=d.catch(async p=>{o!==null&&(URL.revokeObjectURL(o),o=null),c.warn(\"dash\",\"Unable to call `instantiateStreaming` on WASM\",p instanceof Error?p:\"\");let S=await s;if(S.status<200||S.status>=300)throw new Error(\"WebAssembly request failed. status: \"+String(S.status));let E=await S.arrayBuffer();return WebAssembly.instantiate(E,a)}).then(p=>{o!==null&&(URL.revokeObjectURL(o),o=null),this._instance=p,this._linearMemory=this._instance.instance.exports.memory,this.status=\"initialized\"}).catch(p=>{let S=p instanceof Error?p.toString():\"Unknown error\";throw c.warn(\"dash\",\"Could not create DASH-WASM parser:\",S),this.status=\"failure\",p}),this._initProm;function u(p){return t.childrenParser(p)}function f(p){return t.popIfCurrent(p)}function l(p,S,E){return t.attributeParser(p,S,E)}function m(p,S){t.attributeParser(p,0,0,S)}function g(p,S){t.attributeParser(p,0,0,S)}function h(p,S,E){let v=i._linearMemory,T=new Uint8Array(v.buffer,S,E);if(p===1){let _=r.decode(T);c.warn(\"dash\",\"WASM Error Event:\",_),i._warnings.push(new Error(_))}else if(p===0){let _=r.decode(T);c.warn(\"dash\",\"WASM Log Event:\",_)}}function b(p,S){if(i._mpdData===null)throw new Error(\"DashWasmParser Error: No MPD to read.\");let E=i._linearMemory,{mpd:v,cursor:T}=i._mpdData,_=Math.min(S,Nf,v.byteLength-T);return new Uint8Array(E.buffer,p,_).set(new Uint8Array(v,T,_)),i._mpdData.cursor+=_,_}}runWasmParser(e,t){let[r,i]=this.parseToIntermediateRepresentation(e);if(r===null)throw new Error(\"DASH Parser: Unknown error while parsing the MPD\");let a=ri(r,t,i);return this._processParserReturnValue(a)}isCompatible(){return pd&&typeof ie.TextDecoder==\"function\"}parseToIntermediateRepresentation(e){var s;if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={},r=this._linearMemory,i=Xa(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,O),this._warnings=[];try{this._instance.instance.exports.parse()}catch(d){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,d}let a=(s=t.mpd)!=null?s:null,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_parseXlink(e){if(this._instance===null)throw new Error(\"DashWasmParser not initialized\");if(this._isParsing)throw new Error(\"Parsing operation already pending.\");this._isParsing=!0,this._mpdData={mpd:e,cursor:0};let t={periods:[]},r=this._linearMemory,i=vd(t,r,this._parsersStack,e);this._parsersStack.pushParsers(null,i,O),this._warnings=[];try{this._instance.instance.exports.parse()}catch(s){throw this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,s}let{periods:a}=t,o=this._warnings;return this._parsersStack.reset(),this._warnings=[],this._isParsing=!1,[a,o]}_processParserReturnValue(e){if(e.type===\"done\")return e;if(e.type===\"needs-clock\"){let t=r=>{if(r.length!==1)throw new Error(\"DASH parser: wrong number of loaded ressources.\");let i=e.value.continue(r[0].responseData);return this._processParserReturnValue(i)};return{type:\"needs-resources\",value:{urls:[e.value.url],format:\"string\",continue:t}}}else if(e.type===\"needs-xlinks\"){let t=r=>{let i=[];for(let o=0;o<r.length;o++){let{responseData:s,receivedTime:d,sendingTime:u,url:f}=r[o];if(!s.success)throw s.error;let[l,m]=this._parseXlink(s.data);i.push({url:f,receivedTime:d,sendingTime:u,parsed:l,warnings:m})}let a=e.value.continue(i);return this._processParserReturnValue(a)};return{type:\"needs-resources\",value:{urls:e.value.xlinksUrls,format:\"arraybuffer\",continue:t}}}else Ue(e)}};var Cd=cr;function $e(n,e){if(e.length===0)return n;let t,r=\"\",i=n.indexOf(\"#\"),a=n;i>=0&&(r=n.substring(i),a=n.substring(0,i));let o=a.indexOf(\"?\");o===-1?t=\"?\":o+1===a.length?t=\"\":t=\"&\";let s=a+t;for(let d=0;d<e.length;d++){let u=e[d];u[1]===null?s+=u[0]:s+=`${u[0]}=${u[1]}`,d<e.length-1&&(s+=\"&\")}return r.length>0&&(s+=r),s}function Za(n,e){return(t,r,i)=>new Promise((a,o)=>{let s=Date.now()-F(),d=!1,m={reject:b=>{var v,T;if(d||i.isCancelled())return;d=!0,i.deregister(h);let p=b,S=(v=p==null?void 0:p.message)!=null?v:\"Unknown error when fetching the Manifest through a custom manifestLoader.\",E=new Le(S,(T=p==null?void 0:p.canRetry)!=null?T:!1,p==null?void 0:p.xhr);o(E)},resolve:b=>{if(d||i.isCancelled())return;d=!0,i.deregister(h);let p=b.receivingTime!==void 0?b.receivingTime-s:void 0,S=b.sendingTime!==void 0?b.sendingTime-s:void 0;a({responseData:b.data,size:b.size,requestDuration:b.duration,url:b.url,receivedTime:p,sendingTime:S})},fallback:()=>{d||i.isCancelled()||(d=!0,i.deregister(h),e(t,r,i).then(a,o))}},g=n({url:t,timeout:r.timeout,cmcdPayload:r.cmcdPayload},m);i.register(h);function h(b){d||(d=!0,typeof g==\"function\"&&g(),o(b))}})}function Lf(n){return function(t,r,i){var s,d;if(t===void 0)throw new Error(\"Cannot perform HTTP(s) request. URL not known\");let a=((s=r.cmcdPayload)==null?void 0:s.type)===\"query\"?$e(t,r.cmcdPayload.value):t,o=((d=r.cmcdPayload)==null?void 0:d.type)===\"headers\"?r.cmcdPayload.value:void 0;switch(n){case\"arraybuffer\":return Se({url:a,headers:o,responseType:\"arraybuffer\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"text\":return Se({url:a,headers:o,responseType:\"text\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});case\"document\":return Se({url:a,headers:o,responseType:\"document\",timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:i});default:Ue(n)}}}function Ja({customManifestLoader:n},e,t){let r=Lf(e),i=typeof n!=\"function\"?r:Za(n,r);return t!==null?t(i):i}function eo(n,e){if(e){if(et(n,1718909296)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `ftyp` box\");if(et(n,1836019574)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `moov` box\")}else{if(et(n,1836019558)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `moof` box\");if(et(n,1835295092)<0)throw new _e(\"INTEGRITY_ERROR\",\"Incomplete `mdat` box\")}}function Xe(n,e){if(n===\"audio\"||n===\"video\")return e===\"video/mp4\"||e===\"audio/mp4\"?\"mp4\":e===\"video/webm\"||e===\"audio/webm\"?\"webm\":void 0;if(n===\"text\")return e===\"application/mp4\"?\"mp4\":void 0}function li(n){return(e,t,r,i,a)=>{return new Promise((s,d)=>{let u=new z(\"Segment integrity checks\"),f=u.linkToSignal(i);u.signal.register(d),n(e,t,r,u.signal,te(X({},a),{onNewChunk(m){try{o(m),a.onNewChunk(m)}catch(g){l(),u.cancel(\"Integrity check failed\"),d(g)}}})).then(m=>{if(l(),!u.isUsed()){if(m.resultType===\"segment-loaded\")try{o(m.resultData.responseData)}catch(g){d(g);return}s(m)}},m=>{l(),d(m)});function l(){u.signal.deregister(d),f()}});function o(s){!(s instanceof ArrayBuffer)&&!(s instanceof Uint8Array)||Xe(t.type,t.mimeType)!==\"mp4\"||eo(new Uint8Array(s),t.segment.isInit)}}}function Ad(n){return async(e,t,r)=>{let i=await n(e,t,r);return a(i.responseData),i;function a(o){if(typeof o==\"string\"){let s=o.length-1,d=[\"</\",\"MPD\",\">\"];for(let u=d.length-1;u>=0;u--){let f=d[u];for(;Uf(o[s]);)s--;for(let l=f.length-1;l>=0;l--){if(o[s]!==f[l])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(o instanceof ArrayBuffer){let s=o.byteLength-1,d=new DataView(o),u=[[60,47],[77,80,68],[62]];for(let f=u.length-1;f>=0;f--){let l=u[f];for(;Ff(d.getUint8(s));)s--;for(let m=l.length-1;m>=0;m--){if(d.getUint8(s)!==l[m])throw new Error(\"INTEGRITY_ERROR MPD does not end with </MPD>\");s--}}}else if(!C(ie.Document)&&o instanceof ie.Document&&o.documentElement.nodeName!==\"MPD\")throw new _e(\"INTEGRITY_ERROR\",\"MPD does not end with </MPD>\")}}}function Uf(n){return n===\" \"||n===\"\t\"||n===\"\\r\"||n===`\n`}function Ff(n){return n===32||n===9||n===13||n===10}function to(n){let{referenceDateTime:e}=n,t=n.serverSyncInfos!==void 0?n.serverSyncInfos.serverTimestamp-n.serverSyncInfos.clientTime:void 0;return function(i,a,o,s,d){var E;let{responseData:u}=i,f=a.externalClockOffset,l=(E=i.url)!=null?E:a.originalUrl,m=t!=null?t:f,h={unsafelyBaseOnPreviousManifest:a.unsafeMode?a.previousManifest:null,url:l,referenceDateTime:e,externalClockOffset:m},b=Me.dashParsers;if(b.wasm===null||b.wasm.status===\"uninitialized\"||b.wasm.status===\"failure\")return c.debug(\"dash\",\"WASM MPD Parser not initialized. Running JS one.\"),p();{let v=Vf(u);if(!Gf(v))return c.info(\"dash\",\"MPD doesn't seem to be UTF-8-encoded. Running JS parser instead of the WASM one.\"),p();if(b.wasm.status===\"initialized\"){c.debug(\"dash\",\"Running WASM MPD Parser.\");let T=b.wasm.runWasmParser(v,h);return S(T)}else return c.debug(\"dash\",\"Awaiting WASM initialization before parsing the MPD.\"),b.wasm.waitForInitialization().catch(()=>{}).then(()=>{if(b.wasm===null||b.wasm.status!==\"initialized\")return c.warn(\"dash\",\"WASM MPD parser initialization failed. Running JS parser instead\"),p();c.debug(\"dash\",\"Running WASM MPD Parser.\");let _=b.wasm.runWasmParser(v,h);return S(_)})}function p(){if(b.js!==null){let v=qf(u),T=b.js(v,h);return S(T)}else throw new Error(\"No MPD parser is imported\")}function S(v){if(v.type===\"done\")return v.value.warnings.length>0&&o(v.value.warnings),s.isCancelled()?Promise.reject(s.cancellationError):{manifest:new Tt(v.value.parsed,n),url:l};let{value:T}=v,_=T.urls.map(R=>d(()=>{let x=U.getCurrent().DEFAULT_REQUEST_TIMEOUT,A=U.getCurrent().DEFAULT_CONNECTION_TIMEOUT;return T.format===\"string\"?Se({url:R,responseType:\"text\",timeout:x,connectionTimeout:A,cancelSignal:s}):Se({url:R,responseType:\"arraybuffer\",timeout:x,connectionTimeout:A,cancelSignal:s})}).then(x=>{if(T.format===\"string\"){if(typeof x.responseData!=\"string\")throw new Error(\"External DASH resources should have been a string\");return j(x,{responseData:{success:!0,data:x.responseData}})}else{if(!(x.responseData instanceof ArrayBuffer))throw new Error(\"External DASH resources should have been ArrayBuffers\");return j(x,{responseData:{success:!0,data:x.responseData}})}},x=>{let A=Ie(x,{defaultCode:\"PIPELINE_PARSE_ERROR\",defaultReason:\"An unknown error occured when parsing ressources.\"});return j({},{size:void 0,requestDuration:void 0,responseData:{success:!1,error:A}})}));return Promise.all(_).then(R=>T.format===\"string\"?(zf(R),S(T.continue(R))):(Wf(R),S(T.continue(R))))}}}function zf(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&typeof t.data==\"string\")&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function Wf(n){I.CURRENT_ENV!==I.PRODUCTION&&n.forEach(e=>{let{responseData:t}=e;if(!(t.success&&t.data instanceof ArrayBuffer)&&t.success)throw new Error(\"Invalid data given to the LoadedRessource\")})}function qf(n){if(n instanceof ArrayBuffer)return Ke(new Uint8Array(n));if(typeof n==\"string\")return n;if(!C(ie.Document)&&n instanceof ie.Document)return n.documentElement.outerHTML;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function Vf(n){if(n instanceof ArrayBuffer)return n;if(typeof n==\"string\")return mn(n).buffer;if(!C(ie.Document)&&n instanceof ie.Document)return mn(n.documentElement.innerHTML).buffer;throw new Error(\"DASH Manifest Parser: Unrecognized Manifest format\")}function Gf(n){let e=new DataView(n);return e.getUint16(0)===61371&&e.getUint8(2)===191?!0:!(e.getUint16(0)===65279||e.getUint16(0)===65534)}function He([n,e]){return e===1/0?`bytes=${n}-`:`bytes=${n}-${e}`}function Wt(n,e){return n===null?null:e.url===null?n.baseUrl:Hn(n.baseUrl,e.url)}function pr(n,e,t,r,i){var u,f;let a=n;((u=t.cmcdPayload)==null?void 0:u.type)===\"query\"&&(a=$e(a,t.cmcdPayload.value));let o=((f=t.cmcdPayload)==null?void 0:f.type)===\"headers\"?t.cmcdPayload.value:void 0;if(e.range===void 0)return Se({url:a,responseType:\"arraybuffer\",headers:o,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.indexRange===void 0)return Se({url:a,headers:te(X({},o),{Range:He(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));if(e.range[1]+1===e.indexRange[0])return Se({url:a,headers:te(X({},o),{Range:He([e.range[0],e.indexRange[1]])}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}).then(l=>({resultType:\"segment-loaded\",resultData:l}));let s=Se({url:a,headers:te(X({},o),{Range:He(e.range)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress}),d=Se({url:a,headers:te(X({},o),{Range:He(e.indexRange)}),responseType:\"arraybuffer\",timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r,onProgress:i.onProgress});return Promise.all([s,d]).then(([l,m])=>{let g=Ot(new Uint8Array(l.responseData),new Uint8Array(m.responseData)),h=Math.min(l.sendingTime,m.sendingTime),b=Math.max(l.receivedTime,m.receivedTime);return{resultType:\"segment-loaded\",resultData:{url:a,responseData:g,size:l.size+m.size,requestDuration:b-h,sendingTime:h,receivedTime:b}}})}async function gr(n,e,t,r){let i=null;function a(s){let d=new Uint8Array(s.chunk),u=i!==null?Ot(i,d):d,f=Mr(u),l=f[0];i=f[1],!(l!==null&&(l.forEach(m=>{t.onNewChunk(m)}),r.isCancelled()))&&(t.onProgress({duration:s.duration,size:s.size,totalSize:s.totalSize}),r.isCancelled())}return{resultType:\"chunk-complete\",resultData:await _r({url:n,headers:e.headers,onData:a,timeout:e.timeout,connectionTimeout:e.connectionTimeout,cancelSignal:r})}}async function xd(n,e,t,r,i,a){var m,g;if(e.segment.isInit)return pr(n,e.segment,r,a,i);let o=((m=r.cmcdPayload)==null?void 0:m.type)===\"query\"?$e(n,r.cmcdPayload.value):n,s=((g=r.cmcdPayload)==null?void 0:g.type)===\"headers\"?r.cmcdPayload.value:void 0,{segment:d}=e,u;d.range!==void 0?u=te(X({},s),{Range:He(d.range)}):s!==void 0&&(u=s);let f=Xe(e.type,e.mimeType);if(t&&(f===\"mp4\"||f===void 0)){if(un())return gr(o,{headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout},i,a);ot(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}return{resultType:\"segment-loaded\",resultData:await Se({url:o,responseType:\"arraybuffer\",headers:u,timeout:r.timeout,connectionTimeout:r.connectionTimeout,cancelSignal:a,onProgress:i.onProgress})}}function no({lowLatencyMode:n,segmentLoader:e,checkMediaSegmentIntegrity:t}){return t!==!0?r:li(r);function r(i,a,o,s,d){let u=Wt(i,a.segment);return u===null?Promise.resolve({resultType:\"segment-created\",resultData:null}):n||e===void 0?xd(u,a,n,o,d,s):new Promise((f,l)=>{let m=!1,S={reject:R=>{var D,N;if(m||s.isCancelled())return;m=!0,s.deregister(_);let x=R,A=(D=x==null?void 0:x.message)!=null?D:\"Unknown error when fetching a DASH segment through a custom segmentLoader.\",k=new Le(A,(N=x==null?void 0:x.canRetry)!=null?N:!1,x==null?void 0:x.xhr);l(k)},resolve:R=>{if(m||s.isCancelled())return;m=!0,s.deregister(_);let x;R.data instanceof Uint8Array?R.data.buffer instanceof ArrayBuffer?x=R.data:x=R.data.slice():x=R.data,f({resultType:\"segment-loaded\",resultData:{responseData:x,size:R.size,requestDuration:R.duration}})},progress:R=>{m||s.isCancelled()||d.onProgress({duration:R.duration,size:R.size,totalSize:R.totalSize})},fallback:()=>{m||s.isCancelled()||(m=!0,s.deregister(_),xd(u,a,n,o,d,s).then(f,l))}},E;a.segment.range!==void 0&&(E=[a.segment.range],a.segment.indexRange!==void 0&&E.push(a.segment.indexRange));let v={isInit:a.segment.isInit,timeout:o.timeout,byteRanges:E,trackType:a.type,url:u,cmcdPayload:o.cmcdPayload},T=e(v,S);s.register(_);function _(R){m||(m=!0,typeof T==\"function\"&&T(),l(R))}})}}function kd(){if(it.browser!==it.BROWSERS.Other)return c.warn(\"utils\",\"getChromeVersion: Can't access Chrome version. Not a Chrome browser.\"),null;let n=navigator.userAgent.match(/Chrome\\/(\\d+)/);return n!==null?parseInt(n[1],10):null}function ro(n,e){let t=kd();return t===null||t>=94||!n.some(i=>be(i,\"dvh1\")||be(i,\"dvhe\"))?!1:e!==void 0&&!be(e,\"dvh1\")&&!be(e,\"dvhe\")}var ao=408125543,Md=357149030,Hf=2807729,jf=17545,Kf=475249515,Yf=187,Qf=179,$f=183,Xf=241;function xt(n,e,t,[r,i]){let a=r;for(;a<i;){let o=Jf(t,a);if(o===null)return null;let{value:s,length:d}=o,u=a+d,f=em(t,u);if(f===null)return null;let{length:l,value:m}=f,g=u+l,h=g+m;if(s===n)return[g,h];if(e.length>0){for(let b=0;b<e.length;b++)if(s===e[b]){let p=e.slice(b+1,e.length);return xt(n,p,t,[g,h])}}a=h}return null}function fi(n,e){let t=xt(Hf,[ao,Md],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return 1e9/io(n,t[0],r)}function Zf(n,e){let t=xt(jf,[ao,Md],n,[e,n.length]);if(t===null)return null;let r=t[1]-t[0];return r===4?tm(n,t[0]):r===8?nm(n,t[0]):null}function oo(n,e){let t=xt(ao,[],n,[e,n.length]);if(t===null)return null;let[r,i]=t,a=fi(n,r);if(a===null)return null;let o=Zf(n,r);if(o===null)return null;let s=xt(Kf,[],n,[r,i]);if(s===null)return null;let d=[],u=s[0];for(;u<s[1];){let l=xt(Yf,[],n,[u,s[1]]);if(l===null)break;let m=xt(Qf,[],n,[l[0],l[1]]);if(m===null)return null;let g=io(n,m[0],m[1]-m[0]),h=xt(Xf,[$f],n,[l[0],l[1]]);if(h===null)return null;let b=io(n,h[0],h[1]-h[0])+r;d.push({time:g,rangeStart:b}),u=l[1]}let f=[];for(let l=0;l<d.length;l++){let m=d[l];l===d.length-1?f.push({time:m.time,timescale:a,duration:l===0?o:o-m.time,range:[m.rangeStart,1/0]}):f.push({time:m.time,timescale:a,duration:d[l+1].time-m.time,range:[m.rangeStart,d[l+1].rangeStart-1]})}return f}function Od(n,e){for(let t=1;t<=8;t++)if(n[e]>=Math.pow(2,8-t))return t}function Jf(n,e){let t=Od(n,e);if(t===void 0)return c.warn(\"webm\",\"unrepresentable length\"),null;if(e+t>n.length)return c.warn(\"webm\",\"impossible length\",{offset:e,length:t,bufferLength:n.length}),null;let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function em(n,e){let t=Od(n,e);if(t===void 0)return c.warn(\"webm\",\"unrepresentable length\"),null;if(e+t>n.length)return c.warn(\"webm\",\"impossible length\",{offset:e,length:t,bufferLength:n.length}),null;let r=(n[e]&(1<<8-t)-1)*Math.pow(2,(t-1)*8);for(let i=1;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return{length:t,value:r}}function tm(n,e){return new DataView(n.buffer).getFloat32(e)}function nm(n,e){return new DataView(n.buffer).getFloat64(e)}function io(n,e,t){let r=0;for(let i=0;i<t;i++)r=n[e+i]*Math.pow(2,(t-i-1)*8)+r;return r}function hr(n,e,t,r){let i=Mi(n);if(i===void 0||r===void 0)return null;let a=t.timestampOffset!==void 0?i+t.timestampOffset*r:i,o=Oi(n);if(a<0&&(o!==void 0&&(o+=a),a=0),e||!t.complete)return o===void 0&&c.warn(\"dash\",\"Chunked segments should indicate a duration through their trun boxes\"),{time:a/r,duration:o!==void 0?o/r:void 0};let s,d=t.duration*r,u=Math.min(r*.9,d/4);return o!==void 0&&Math.abs(o-d)<=u&&(s=o),{time:a/r,duration:s!==void 0?s/r:s}}function rm(n,e){if(n.length<=0)return!1;let t=n.length;for(let r=0;r<t;r++){let i=n[r],a=e,{messageData:o}=i,s=Ke(o),d=Date.parse(s);if(a===void 0||d===void 0||isNaN(d)||d>=a)return!0}return!1}function so(n,e){if(n.length===0)return;let{manifestRefreshEventsFromEMSGs:t,EMSGs:r}=n.reduce((o,s)=>(s.schemeIdUri===\"urn:mpeg:dash:event:2012\"&&s.value===\"1\"?(o.manifestRefreshEventsFromEMSGs===void 0&&(o.manifestRefreshEventsFromEMSGs=[]),o.manifestRefreshEventsFromEMSGs.push(s)):(o.EMSGs===void 0&&(o.EMSGs=[]),o.EMSGs.push(s)),o),{manifestRefreshEventsFromEMSGs:void 0,EMSGs:void 0}),i=r==null?void 0:r.map(o=>({type:\"emsg\",value:o})),a=e===void 0||t===void 0?!1:rm(t,e);return{inbandEvents:i,needsManifestRefresh:a}}function uo({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var v,T;let{segment:a,periodStart:o,periodEnd:s}=r,{data:d,isChunked:u}=t,f=[o,s];if(d===null)return a.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:0,protectionData:[],appendWindow:f};let l=Lo(d),m=Xe(r.type,r.mimeType),g=m===\"mp4\"||m===void 0,h=[];if(g){let _=Or(l),R;a.isInit&&(R=(v=Vo(l))!=null?v:void 0),(_.length>0||R!==void 0)&&h.push({initDataType:\"cenc\",keyId:R,initData:_})}if(!a.isInit){let _=g?hr(l,u,a,i):null,R=(T=a.timestampOffset)!=null?T:0;if(g){let x=qo(l);if(x!==void 0){let A=x.filter(D=>a.privateInfos===void 0||a.privateInfos.isEMSGWhitelisted===void 0?!1:a.privateInfos.isEMSGWhitelisted(D)),k=so(A,r.manifestPublishTime);if(k!==void 0){let{needsManifestRefresh:D,inbandEvents:N}=k;return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:_,chunkOffset:R,appendWindow:f,inbandEvents:N,protectionData:h,needsManifestRefresh:D}}}}return{segmentType:\"media\",chunkData:l,chunkSize:l.length,chunkInfos:_,chunkOffset:R,protectionData:h,appendWindow:f}}let{indexRange:b}=a,p;if(m===\"webm\")p=oo(l,0);else if(g&&(ro(r.baseCodecs,r.chosenCodec)&&(c.debug(\"dash\",\"patching out Dolby Vision metadata from segment\"),wr(l)),p=In(l,Array.isArray(b)?b[0]:0),n===!0&&p!==null&&p.length>0)){let _=p[p.length-1];Array.isArray(_.range)&&(_.range[1]=1/0)}let S;g?S=bn(l):m===\"webm\"&&(S=fi(l,0));let E=C(S)?void 0:S;return{segmentType:\"init\",initializationData:l,initializationDataSize:l.length,protectionData:h,initTimescale:E,segmentList:p!=null?p:void 0}}}function lo({lowLatencyMode:n,checkMediaSegmentIntegrity:e}){return e!==!0?t:li(t);async function t(r,i,a,o,s){var p,S;let{segment:d}=i,u=Wt(r,d);if(u===null)return Promise.resolve({resultType:\"segment-created\",resultData:null});if(d.isInit)return pr(u,d,a,o,s);let f=((p=a.cmcdPayload)==null?void 0:p.type)===\"query\"?$e(u,a.cmcdPayload.value):u,l=((S=a.cmcdPayload)==null?void 0:S.type)===\"headers\"?a.cmcdPayload.value:void 0,m;d.range!==void 0?m=te(X({},l),{Range:He(d.range)}):l!==void 0&&(m=l);let g=Xe(i.type,i.mimeType),h=g===\"mp4\"||g===void 0;if(n&&h){if(un())return gr(f,{headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout},s,o);ot(\"DASH: Your browser does not have the fetch API. You will have a higher chance of rebuffering when playing close to the live edge\")}let b;return h?b=await Se({url:f,responseType:\"arraybuffer\",headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}):b=await Se({url:f,responseType:\"text\",headers:m,timeout:a.timeout,connectionTimeout:a.connectionTimeout,onProgress:s.onProgress,cancelSignal:o}),{resultType:\"segment-loaded\",resultData:b}}}function im(n){if(n===void 0)throw new Error(\"Cannot parse subtitles: unknown format\");switch(n.toLowerCase()){case\"stpp\":case\"stpp.ttml\":case\"stpp.ttml.im1t\":return\"ttml\";case\"wvtt\":return\"vtt\"}throw new Error(`The codec used for the subtitles \"${n}\" is not managed yet.`)}function am(n,e){switch(e){case\"application/ttml+xml\":return\"ttml\";case\"application/x-sami\":case\"application/smil\":return\"sami\";case\"text/vtt\":return\"vtt\"}if(n!==void 0&&n.toLowerCase()===\"srt\")return\"srt\";throw new Error(`could not find a text-track parser for the type ${e!=null?e:\"\"}`)}function wd({segment:n,language:e,codecs:t},r,i,a,o){if(n.isInit)return null;let s,d;a===null?o?(s=n.time,d=n.end):c.warn(\"utils\",\"Unavailable time data for current text track.\"):(s=a.time,a.duration!==void 0?d=s+a.duration:!o&&n.complete&&(d=s+n.duration));let u=im(t),f=xi(r),l=f!==null?Ke(f):\"\";return t===\"wvtt\"&&!be(l,\"WEBVTT\")&&!be(l,\"\\xFE\\xFFWEBVTT\")?{data:r,type:\"mp4vtt\",language:e,start:s,end:d,initTimescale:i!=null?i:null}:{data:l,type:u,language:e,start:s,end:d,initTimescale:i!=null?i:null}}function Dd(n,e,t,r){let{segment:i}=n;if(i.isInit)return null;let a,o;r?c.warn(\"utils\",\"Unavailable time data for current text track.\"):(a=i.time,i.complete&&(o=i.time+i.duration));let s=am(n.chosenCodec,n.mimeType);return{data:e,type:s,language:n.language,start:a,end:o,initTimescale:t!=null?t:null}}function om(n,e,t,r,i){var m;let{segment:a}=t,{isInit:o,indexRange:s}=a,d;if(typeof n==\"string\"?d=mn(n):n instanceof Uint8Array?d=n:d=new Uint8Array(n),o){let g=In(d,Array.isArray(s)?s[0]:0);if(i===!0&&g!==null&&g.length>0){let b=g[g.length-1];Array.isArray(b.range)&&(b.range[1]=1/0)}let h=bn(d);return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:h,segmentList:g!=null?g:void 0}}let u=hr(d,e,a,r),f=wd({segment:t.segment,codecs:t.chosenCodec,language:t.language},d,r,u,e),l=(m=a.timestampOffset)!=null?m:0;return{segmentType:\"media\",chunkData:f,chunkSize:d.length,chunkInfos:u,chunkOffset:l,protectionData:[],appendWindow:[t.periodStart,t.periodEnd]}}function sm(n,e,t,r){let{periodStart:i,periodEnd:a,segment:o}=r,{timestampOffset:s=0}=o;if(o.isInit)return{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0};let d,u;if(typeof n!=\"string\"){let l=n instanceof Uint8Array?n:new Uint8Array(n);d=Ke(l),u=l.length}else d=n;return{segmentType:\"media\",chunkData:Dd(r,d,e,t),chunkSize:u,chunkInfos:null,chunkOffset:s,protectionData:[],appendWindow:[i,a]}}function fo({__priv_patchLastSegmentInSidx:n}){return function(t,r,i){var l;let{periodStart:a,periodEnd:o,segment:s}=r,{data:d,isChunked:u}=t;if(d===null)return s.isInit?{segmentType:\"init\",initializationData:null,initializationDataSize:0,protectionData:[],initTimescale:void 0}:{segmentType:\"media\",chunkData:null,chunkSize:0,chunkInfos:null,chunkOffset:(l=s.timestampOffset)!=null?l:0,protectionData:[],appendWindow:[a,o]};let f=Xe(r.type,r.mimeType);if(f===\"webm\")throw new Error(\"Text tracks with a WEBM container are not yet handled.\");return f===\"mp4\"?om(d,u,r,i,n):sm(d,i,u,r)}}async function Bd(n,e,t,r){var d,u;let i=Wt(n,e);if(i===null)return Promise.reject(new Error(\"Cannot load thumbnail: no URL\"));let a=((d=t.cmcdPayload)==null?void 0:d.type)===\"query\"?$e(i,t.cmcdPayload.value):i,o=((u=t.cmcdPayload)==null?void 0:u.type)===\"headers\"?t.cmcdPayload.value:void 0,s;return e.range!==void 0?s=te(X({},o),{Range:He(e.range)}):o!==void 0&&(s=o),ln({url:a,responseType:\"arraybuffer\",headers:s,timeout:t.timeout,connectionTimeout:t.connectionTimeout,cancelSignal:r})}function Nd(n,e){var u;let{thumbnailTrack:t,thumbnail:r}=e,i=t.height/t.verticalTiles,a=t.width/t.horizontalTiles,o=[],s=(u=t.tileDuration)!=null?u:(r.end-r.time)/(t.horizontalTiles*t.verticalTiles),d=r.time;for(let f=0;f<t.verticalTiles;f++)for(let l=0;l<t.horizontalTiles;l++)o.push({start:d,end:d+s,offsetX:Math.round(l*a),offsetY:Math.round(f*i),height:Math.floor(i),width:Math.floor(a)}),d+=s;return{mimeType:t.mimeType,data:n,thumbnails:o}}function Ld(n){let e=Ja({customManifestLoader:n.manifestLoader},dm()?\"text\":\"arraybuffer\",n.checkManifestIntegrity===!0?Ad:null),t=to(n),r=no(n),i=uo(n),a=lo(n),o=fo(n);return{transportName:\"dash\",manifest:{loadManifest:e,parseManifest:t},audio:{loadSegment:r,parseSegment:i},video:{loadSegment:r,parseSegment:i},text:{loadSegment:a,parseSegment:o},thumbnails:{loadThumbnail:Bd,parseThumbnail:Nd}}}function dm(){return Me.dashParsers.wasm!==null&&(Me.dashParsers.wasm.status===\"initialized\"||Me.dashParsers.wasm.status===\"initializing\")}var Ud=Ld;function mo(n){let e=new Cd;Me.dashParsers.wasm=e,Me.dashParsers.js=cd,Me.transports.dash=Ud,ie.onmessageerror=t=>{c.error(\"Core\",\"Error when receiving message from main thread.\")},Ys(t=>{onmessage=t},um,n)}function um(n,e){lm(n),n.type!==\"log\"&&c.debug(\"M<--C\",\"Sending message from worker\",{name:n.type}),e===void 0?postMessage(n):postMessage(n,e)}function lm(n){(n.type===\"manifest-ready\"||n.type===\"manifest-update\")&&(n.value.manifest instanceof Tt?(n.value.manifest=n.value.manifest.getMetadataSnapshot(),n.type===\"manifest-update\"&&(n.value.manifest.periods=[])):c.warn(\"Core\",\"the Manifest instance should be communicated to `sendMessage`.\"))}mo({representationFilters:new Map,segmentLoaders:new Map,manifestLoaders:new Map});})();\n" + "})()"], { type: "application/javascript" });
2
2
  export { blob as EMBEDDED_WORKER };
3
3
  export default blob;