@mux/mux-player 2.9.0 → 2.9.1-canary.0-e3eadec

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.
@@ -1,11 +1,11 @@
1
- "use strict";(()=>{var lh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var fe=(i,e,t)=>(lh(i,e,"read from private field"),t?t.call(i):e.get(i)),qe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Wt=(i,e,t,r)=>(lh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Xe=(i,e,t)=>(lh(i,e,"access private method"),t);var nn=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends nn{}globalThis.DocumentFragment=i}var aa=class extends nn{},dh=class extends nn{},M1={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve(aa)}},oa,uh=class{constructor(e,t={}){qe(this,oa,void 0);Wt(this,oa,t==null?void 0:t.detail)}get detail(){return fe(this,oa)}initCustomEvent(){}};oa=new WeakMap;function P1(i,e){return new aa}var bv={document:{createElement:P1},DocumentFragment,customElements:M1,CustomEvent:uh,EventTarget:nn,HTMLElement:aa,HTMLVideoElement:dh},yv=typeof window=="undefined"||typeof globalThis.customElements=="undefined",$e=yv?bv:globalThis,Ut=yv?bv.document:globalThis.document;var B={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},te={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},ch={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_PAUSED:"mediaPaused",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_ENDED:"mediaEnded",MEDIA_MUTED:"mediaMuted",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_IS_PIP:"mediaIsPip",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_LOADING:"mediaLoading",MEDIA_BUFFERED:"mediaBuffered",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_CHAPTERS_CUES:"mediaChaptersCues"},Tv=Object.entries(ch),b=Tv.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{}),tr=Tv.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),iP=Object.entries(tr).reduce((i,[e,t])=>{let r=b[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),_v=Object.entries(b).reduce((i,[e,t])=>{let r=tr[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),ri={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},Er={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var hh={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Ft={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},si={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var Av={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};var De={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:i=1}={})=>`current playback rate ${i}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading",SETTINGS:()=>"settings",AUDIO_TRACKS:()=>"audio tracks",QUALITY:()=>"quality"},Me={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",ENTER_AIRPLAY:()=>"start airplay",EXIT_AIRPLAY:()=>"stop airplay",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:i=30}={})=>`seek forward ${i} seconds`,SEEK_BACK_N_SECS:({seekOffset:i=30}={})=>`seek back ${i} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},N1={...De,...Me};function Sv(i){return i==null?void 0:i.map(U1).join(" ")}function Yo(i){return i==null?void 0:i.split(/\s+/).map(F1)}function U1(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function F1(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:t,height:r}}}function xv(i){return i==null?void 0:i.map(B1).join(" ")}function zo(i){return i==null?void 0:i.split(/\s+/).map($1)}function B1(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function $1(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function Lv(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function kv(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function jo(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var Xo=i=>new Promise(e=>setTimeout(e,i));var Iv=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],H1=(i,e)=>{let t=i===1?Iv[e].singular:Iv[e].plural;return`${i} ${t}`},jr=i=>{if(!kv(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((o,l)=>o&&H1(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function _i(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),s=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=s=r="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",r=r<10?"0"+r:r,(t?"-":"")+n+s+r}var aP=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var Qo=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Zo=class extends Qo{},fh=class{observe(){}unobserve(){}disconnect(){}},Rv={createElement:function(){return new Jo.HTMLElement},createElementNS:function(){return new Jo.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},Jo={ResizeObserver:fh,document:Rv,Node:Zo,HTMLElement:class extends Zo{},DocumentFragment:class extends Qo{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}}},wv=typeof window=="undefined"||typeof window.customElements=="undefined",Cv=Object.keys(Jo).every(i=>i in globalThis),_=wv&&!Cv?Jo:globalThis,O=wv&&!Cv?Rv:globalThis.document;var Dv=new WeakMap,mh=i=>{let e=Dv.get(i);return e||Dv.set(i,e=new Set),e},Mv=new _.ResizeObserver(i=>{for(let e of i)for(let t of mh(e.target))t(e)});function Kt(i,e){mh(i).add(e),Mv.observe(i)}function Ai(i,e){let t=mh(i);t.delete(e),t.size||Mv.unobserve(i)}function Ye(i){var e;return(e=el(i))!=null?e:ni(i,"media-controller")}function el(i){var e;let{MEDIA_CONTROLLER:t}=te,r=i.getAttribute(t);if(r)return(e=Qr(i))==null?void 0:e.getElementById(r)}var tl=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},W1=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},il=(i,e)=>W1(i,e)[0],mt=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:mt(i,e.getRootNode().host),ni=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||ni(i.getRootNode().host,e)};function Xr(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=Xr(t.shadowRoot))!=null?e:t:null}function Qr(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function Pv(i,e=3){if(i.checkVisibility)return i.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0});let t=i;for(;t&&e>0;){let r=getComputedStyle(t);if(r.opacity==="0"||r.visibility==="hidden"||r.display==="none")return!1;t=t.parentElement,e--}return!0}function Ov(i,e,t,r){let s=ph(t,r),n=ph(t,{x:i,y:e}),a=ph(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function ph(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function Te(i,e){let t=K1(i,r=>r===e);return t||gh(i,e)}function K1(i,e){var t;let r;for(r of i.querySelectorAll("style")){let s;try{s=(t=r.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(e(n.selectorText))return n}}function gh(i,e){var t,r;let s=(t=i.querySelectorAll("style"))!=null?t:[],n=s==null?void 0:s[s.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function Ee(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function _e(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}Ee(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function Le(i,e){return i.hasAttribute(e)}function Ae(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}Le(i,e)!=t&&i.toggleAttribute(e,t)}function ue(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function le(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;ue(i,e,void 0)!==r&&i.setAttribute(e,r)}var Nv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},br=(i,e,t)=>(Nv(i,e,"read from private field"),t?t.call(i):e.get(i)),V1=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},rl=(i,e,t,r)=>(Nv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Rt,Uv=O.createElement("template");Uv.innerHTML=`
1
+ "use strict";(()=>{var uh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var fe=(i,e,t)=>(uh(i,e,"read from private field"),t?t.call(i):e.get(i)),qe=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Wt=(i,e,t,r)=>(uh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Xe=(i,e,t)=>(uh(i,e,"access private method"),t);var nn=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends nn{}globalThis.DocumentFragment=i}var aa=class extends nn{},ch=class extends nn{},O1={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve(aa)}},oa,hh=class{constructor(e,t={}){qe(this,oa,void 0);Wt(this,oa,t==null?void 0:t.detail)}get detail(){return fe(this,oa)}initCustomEvent(){}};oa=new WeakMap;function N1(i,e){return new aa}var Tv={document:{createElement:N1},DocumentFragment,customElements:O1,CustomEvent:hh,EventTarget:nn,HTMLElement:aa,HTMLVideoElement:ch},_v=typeof window=="undefined"||typeof globalThis.customElements=="undefined",$e=_v?Tv:globalThis,Ft=_v?Tv.document:globalThis.document;var B={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},te={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},fh={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_PAUSED:"mediaPaused",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_ENDED:"mediaEnded",MEDIA_MUTED:"mediaMuted",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_IS_PIP:"mediaIsPip",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_LOADING:"mediaLoading",MEDIA_BUFFERED:"mediaBuffered",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_CHAPTERS_CUES:"mediaChaptersCues"},Av=Object.entries(fh),b=Av.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{}),ir=Av.reduce((i,[e,t])=>(i[e]=`${t.toLowerCase()}`,i),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),nP=Object.entries(ir).reduce((i,[e,t])=>{let r=b[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),Sv=Object.entries(b).reduce((i,[e,t])=>{let r=ir[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),ri={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},yr={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var mh={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Bt={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},si={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var xv={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};var De={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:i=1}={})=>`current playback rate ${i}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading",SETTINGS:()=>"settings",AUDIO_TRACKS:()=>"audio tracks",QUALITY:()=>"quality"},Me={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",ENTER_AIRPLAY:()=>"start airplay",EXIT_AIRPLAY:()=>"stop airplay",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:i=30}={})=>`seek forward ${i} seconds`,SEEK_BACK_N_SECS:({seekOffset:i=30}={})=>`seek back ${i} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},F1={...De,...Me};function Lv(i){return i==null?void 0:i.map(B1).join(" ")}function Yo(i){return i==null?void 0:i.split(/\s+/).map($1)}function B1(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function $1(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:t,height:r}}}function kv(i){return i==null?void 0:i.map(H1).join(" ")}function zo(i){return i==null?void 0:i.split(/\s+/).map(G1)}function H1(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function G1(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function Iv(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Rv(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function jo(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var Xo=i=>new Promise(e=>setTimeout(e,i));var wv=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],W1=(i,e)=>{let t=i===1?wv[e].singular:wv[e].plural;return`${i} ${t}`},jr=i=>{if(!Rv(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((o,l)=>o&&W1(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function _i(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),s=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=s=r="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",r=r<10?"0"+r:r,(t?"-":"")+n+s+r}var dP=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var Qo=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Zo=class extends Qo{},ph=class{observe(){}unobserve(){}disconnect(){}},Cv={createElement:function(){return new Jo.HTMLElement},createElementNS:function(){return new Jo.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},Jo={ResizeObserver:ph,document:Cv,Node:Zo,HTMLElement:class extends Zo{},DocumentFragment:class extends Qo{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}}},Dv=typeof window=="undefined"||typeof window.customElements=="undefined",Mv=Object.keys(Jo).every(i=>i in globalThis),_=Dv&&!Mv?Jo:globalThis,O=Dv&&!Mv?Cv:globalThis.document;var Pv=new WeakMap,gh=i=>{let e=Pv.get(i);return e||Pv.set(i,e=new Set),e},Ov=new _.ResizeObserver(i=>{for(let e of i)for(let t of gh(e.target))t(e)});function Kt(i,e){gh(i).add(e),Ov.observe(i)}function Ai(i,e){let t=gh(i);t.delete(e),t.size||Ov.unobserve(i)}function Ye(i){var e;return(e=el(i))!=null?e:ni(i,"media-controller")}function el(i){var e;let{MEDIA_CONTROLLER:t}=te,r=i.getAttribute(t);if(r)return(e=Qr(i))==null?void 0:e.getElementById(r)}var tl=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},V1=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},il=(i,e)=>V1(i,e)[0],mt=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:mt(i,e.getRootNode().host),ni=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||ni(i.getRootNode().host,e)};function Xr(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=Xr(t.shadowRoot))!=null?e:t:null}function Qr(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function Nv(i,e=3){if(i.checkVisibility)return i.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0});let t=i;for(;t&&e>0;){let r=getComputedStyle(t);if(r.opacity==="0"||r.visibility==="hidden"||r.display==="none")return!1;t=t.parentElement,e--}return!0}function Uv(i,e,t,r){let s=vh(t,r),n=vh(t,{x:i,y:e}),a=vh(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function vh(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function Te(i,e){let t=q1(i,r=>r===e);return t||Eh(i,e)}function q1(i,e){var t;let r;for(r of i.querySelectorAll("style")){let s;try{s=(t=r.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(e(n.selectorText))return n}}function Eh(i,e){var t,r;let s=(t=i.querySelectorAll("style"))!=null?t:[],n=s==null?void 0:s[s.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function Ee(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function _e(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}Ee(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function Le(i,e){return i.hasAttribute(e)}function Ae(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}Le(i,e)!=t&&i.toggleAttribute(e,t)}function ce(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function le(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;ce(i,e,void 0)!==r&&i.setAttribute(e,r)}var Fv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Tr=(i,e,t)=>(Fv(i,e,"read from private field"),t?t.call(i):e.get(i)),Y1=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},rl=(i,e,t,r)=>(Fv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Rt,Bv=O.createElement("template");Bv.innerHTML=`
2
2
  <style>
3
3
  :host {
4
4
  display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block));
5
5
  box-sizing: border-box;
6
6
  }
7
7
  </style>
8
- `;var vh=class extends _.HTMLElement{constructor(e={}){if(super(),V1(this,Rt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=Uv.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=O.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[te.MEDIA_CONTROLLER,b.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER&&(t&&((n=(s=br(this,Rt))==null?void 0:s.unassociateElement)==null||n.call(s,this),rl(this,Rt,null)),r&&this.isConnected&&(rl(this,Rt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=br(this,Rt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),rl(this,Rt,q1(this)),this.getAttribute(te.MEDIA_CONTROLLER)&&((t=(e=br(this,Rt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=br(this,Rt))==null||r.addEventListener("pointerdown",this),(s=br(this,Rt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(te.MEDIA_CONTROLLER)&&((t=(e=br(this,Rt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=br(this,Rt))==null||r.removeEventListener("pointerdown",this),(s=br(this,Rt))==null||s.removeEventListener("click",this),rl(this,Rt,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:u}=this.getBoundingClientRect(),c=n-o,h=a-l;if(c<0||h<0||c>d||h>u||d===0&&u===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===hh.TOUCH){this.handleTap(e);return}else if(f===hh.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?B.MEDIA_PLAY_REQUEST:B.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new _.CustomEvent(t,{composed:!0,bubbles:!0}))}};Rt=new WeakMap;function q1(i){var e;let t=i.getAttribute(te.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}_.customElements.get("media-gesture-receiver")||_.customElements.define("media-gesture-receiver",vh);var Y1=Object.defineProperty,z1=(i,e,t)=>e in i?Y1(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,j1=(i,e,t)=>(z1(i,typeof e!="symbol"?e+"":e,t),t),_h=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},bh=(i,e,t)=>(_h(i,e,"read from private field"),t?t.call(i):e.get(i)),Zr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Eh=(i,e,t,r)=>(_h(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ai=(i,e,t)=>(_h(i,e,"access private method"),t),sl,an,yh,Fv,Th,Bv,la,nl,al,Ah,on,da,me={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},$v=O.createElement("template");$v.innerHTML=`
8
+ `;var bh=class extends _.HTMLElement{constructor(e={}){if(super(),Y1(this,Rt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=Bv.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=O.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[te.MEDIA_CONTROLLER,b.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER&&(t&&((n=(s=Tr(this,Rt))==null?void 0:s.unassociateElement)==null||n.call(s,this),rl(this,Rt,null)),r&&this.isConnected&&(rl(this,Rt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Tr(this,Rt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),rl(this,Rt,z1(this)),this.getAttribute(te.MEDIA_CONTROLLER)&&((t=(e=Tr(this,Rt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=Tr(this,Rt))==null||r.addEventListener("pointerdown",this),(s=Tr(this,Rt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(te.MEDIA_CONTROLLER)&&((t=(e=Tr(this,Rt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=Tr(this,Rt))==null||r.removeEventListener("pointerdown",this),(s=Tr(this,Rt))==null||s.removeEventListener("click",this),rl(this,Rt,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:u}=this.getBoundingClientRect(),c=n-o,h=a-l;if(c<0||h<0||c>d||h>u||d===0&&u===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===mh.TOUCH){this.handleTap(e);return}else if(f===mh.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?B.MEDIA_PLAY_REQUEST:B.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new _.CustomEvent(t,{composed:!0,bubbles:!0}))}};Rt=new WeakMap;function z1(i){var e;let t=i.getAttribute(te.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}_.customElements.get("media-gesture-receiver")||_.customElements.define("media-gesture-receiver",bh);var j1=Object.defineProperty,X1=(i,e,t)=>e in i?j1(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Q1=(i,e,t)=>(X1(i,typeof e!="symbol"?e+"":e,t),t),Sh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Th=(i,e,t)=>(Sh(i,e,"read from private field"),t?t.call(i):e.get(i)),Zr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yh=(i,e,t,r)=>(Sh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ai=(i,e,t)=>(Sh(i,e,"access private method"),t),sl,an,_h,$v,Ah,Hv,la,nl,al,xh,on,da,me={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},Gv=O.createElement("template");Gv.innerHTML=`
9
9
  <style>
10
10
 
11
11
  :host([${b.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
@@ -142,7 +142,7 @@
142
142
 
143
143
  <slot part="bottom chrome"></slot>
144
144
  </span>
145
- `;var X1=Object.values(b),Q1="sm:384 md:576 lg:768 xl:960";function Z1(i){J1(i.target,i.contentRect.width)}function J1(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(me.BREAKPOINTS))!=null?t:Q1,s=eS(r),n=tS(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){i.hasAttribute(`breakpoint${o}`)||(i.setAttribute(`breakpoint${o}`,""),a=!0);return}i.hasAttribute(`breakpoint${o}`)&&(i.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(tr.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}}function eS(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function tS(i,e){return Object.keys(i).filter(t=>e>=i[t])}var ua=class extends _.HTMLElement{constructor(){super(),Zr(this,yh),Zr(this,Th),Zr(this,la),Zr(this,al),Zr(this,on),Zr(this,sl,0),Zr(this,an,void 0),j1(this,"breakpointsComputed",!1),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild($v.content.cloneNode(!0)));let e=a=>{let o=this.media;for(let l of a)l.type==="childList"&&(l.removedNodes.forEach(d=>{if(d.slot=="media"&&l.target==this){let u=l.previousSibling&&l.previousSibling.previousElementSibling;if(!u||!o)this.mediaUnsetCallback(d);else{let c=u.slot!=="media";for(;(u=u.previousSibling)!==null;)u.slot=="media"&&(c=!1);c&&this.mediaUnsetCallback(d)}}}),o&&l.addedNodes.forEach(d=>{d===o&&this.handleMediaUpdated(o)}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let r=!1;Kt(this,a=>{r||(setTimeout(()=>{Z1(a),r=!1,this.breakpointsComputed||(this.breakpointsComputed=!0,this.dispatchEvent(new CustomEvent(tr.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))},0),r=!0)});let n=this.querySelector(":scope > slot[slot=media]");n&&n.addEventListener("slotchange",()=>{if(!n.assignedElements({flatten:!0}).length){bh(this,an)&&this.mediaUnsetCallback(bh(this,an));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[me.AUTOHIDE,me.GESTURES_DISABLED].concat(X1).filter(e=>![b.MEDIA_RENDITION_LIST,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_CHAPTERS_CUES].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==me.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(Eh(this,an,e),e.localName.includes("-")&&await _.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;let r=this.getAttribute(me.AUDIO)!=null?De.AUDIO_PLAYER():De.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(me.USER_INACTIVE,""),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=_.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;this.media&&this.mediaUnsetCallback(this.media),(e=_.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){Eh(this,an,null)}handleEvent(e){switch(e.type){case"pointerdown":Eh(this,sl,e.timeStamp);break;case"pointermove":ai(this,yh,Fv).call(this,e);break;case"pointerup":ai(this,Th,Bv).call(this,e);break;case"mouseleave":ai(this,la,nl).call(this);break;case"mouseup":this.removeAttribute(me.KEYBOARD_CONTROL);break;case"keyup":ai(this,on,da).call(this),this.setAttribute(me.KEYBOARD_CONTROL,"");break}}set autohide(e){e=Number(e),this._autohide=isNaN(e)?0:e}get autohide(){return this._autohide===void 0?2:this._autohide}};sl=new WeakMap;an=new WeakMap;yh=new WeakSet;Fv=function(i){i.pointerType!=="mouse"&&i.timeStamp-bh(this,sl)<250||(ai(this,al,Ah).call(this),clearTimeout(this._inactiveTimeout),[this,this.media].includes(i.target)&&ai(this,on,da).call(this))};Th=new WeakSet;Bv=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(me.USER_INACTIVE);[this,this.media].includes(i.target)&&e?ai(this,la,nl).call(this):ai(this,on,da).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&ai(this,on,da).call(this)};la=new WeakSet;nl=function(){if(this.autohide<0||this.hasAttribute(me.USER_INACTIVE))return;this.setAttribute(me.USER_INACTIVE,"");let i=new _.CustomEvent(tr.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};al=new WeakSet;Ah=function(){if(!this.hasAttribute(me.USER_INACTIVE))return;this.removeAttribute(me.USER_INACTIVE);let i=new _.CustomEvent(tr.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};on=new WeakSet;da=function(){ai(this,al,Ah).call(this),clearTimeout(this._inactiveTimeout),!(this.autohide<0)&&(this._inactiveTimeout=setTimeout(()=>{ai(this,la,nl).call(this)},this.autohide*1e3))};_.customElements.get("media-container")||_.customElements.define("media-container",ua);var Hv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},at=(i,e,t)=>(Hv(i,e,"read from private field"),t?t.call(i):e.get(i)),ca=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ol=(i,e,t,r)=>(Hv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ln,dn,ll,Jr,ir,yr,Vt=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ca(this,ir),ca(this,ln,void 0),ca(this,dn,void 0),ca(this,ll,void 0),ca(this,Jr,new Set),ol(this,ln,e),ol(this,dn,t),ol(this,ll,new Set(r))}[Symbol.iterator](){return at(this,ir,yr).values()}get length(){return at(this,ir,yr).size}get value(){var e;return(e=[...at(this,ir,yr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(ol(this,Jr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...at(this,ir,yr)][e]}values(){return at(this,ir,yr).values()}forEach(e){at(this,ir,yr).forEach(e)}add(...e){var t,r;e.forEach(s=>at(this,Jr).add(s)),!(this.value===""&&!((t=at(this,ln))!=null&&t.hasAttribute(`${at(this,dn)}`)))&&((r=at(this,ln))==null||r.setAttribute(`${at(this,dn)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>at(this,Jr).delete(r)),(t=at(this,ln))==null||t.setAttribute(`${at(this,dn)}`,`${this.value}`)}contains(e){return at(this,ir,yr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};ln=new WeakMap;dn=new WeakMap;ll=new WeakMap;Jr=new WeakMap;ir=new WeakSet;yr=function(){return at(this,Jr).size?at(this,Jr):at(this,ll)};var iS=(i="")=>i.split(/\s+/),Gv=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return e=e==="cc"?"captions":"subtitles",{kind:e,language:t,label:s}},rr=(i="",e={})=>iS(i).map(t=>{let r=Gv(t);return{...e,...r}}),Sh=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?Gv(e):e):typeof i=="string"?rr(i):[i]:[],es=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,oi=(i=[])=>Array.prototype.map.call(i,es).join(" "),rS=(i,e)=>t=>t[i]===e,Wv=i=>{let e=Object.entries(i).map(([t,r])=>rS(t,r));return t=>e.every(r=>r(t))},ts=(i,e=[],t=[])=>{let r=Sh(t).map(Wv),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},is=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:Wv(e);return Array.from(i.textTracks).filter(t)},dl=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(b.MEDIA_SUBTITLES_SHOWING)};var Vv=i=>{var e;let{media:t,fullscreenElement:r}=i,s=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(s){let n=(e=r[s])==null?void 0:e.call(r);if(n instanceof Promise)return n.catch(()=>{})}else t!=null&&t.webkitEnterFullscreen?t.webkitEnterFullscreen():t!=null&&t.requestFullscreen&&t.requestFullscreen()},Kv="exitFullscreen"in O?"exitFullscreen":"webkitExitFullscreen"in O?"webkitExitFullscreen":"webkitCancelFullScreen"in O?"webkitCancelFullScreen":void 0,qv=i=>{var e;let{documentElement:t}=i;if(Kv){let r=(e=t==null?void 0:t[Kv])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},ha="fullscreenElement"in O?"fullscreenElement":"webkitFullscreenElement"in O?"webkitFullscreenElement":void 0,sS=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[ha];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===Av.FULLSCREEN?t:r},Yv=i=>{var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;let n=sS(i);if(!n)return!1;if(n===s||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(ha in a))return mt(n,s);for(;a!=null&&a[ha];){if(a[ha]===s)return!0;a=(e=a[ha])==null?void 0:e.shadowRoot}}return!1},nS="fullscreenEnabled"in O?"fullscreenEnabled":"webkitFullscreenEnabled"in O?"webkitFullscreenEnabled":void 0,zv=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[nS])||t&&"webkitSupportsFullscreen"in t};var ul,xh=()=>{var i,e;return ul||(ul=(e=(i=O)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),ul)},jv=async(i=xh())=>{if(!i)return!1;let e=i.volume;return i.volume=e/2+.1,await Xo(0),i.volume!==e},aS=/.*Version\/.*Safari\/.*/.test(_.navigator.userAgent),Lh=(i=xh())=>_.matchMedia("(display-mode: standalone)").matches&&aS?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",kh=(i=xh())=>zv({documentElement:O,media:i}),Xv=kh(),Qv=Lh(),Zv=!!_.WebKitPlaybackTargetAvailabilityEvent,Jv=!!_.chrome;var un=i=>is(i.media,e=>[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Ih=i=>is(i.media,e=>e.mode===Er.SHOWING&&[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)),cl=(i,e)=>{let t=un(i),r=Ih(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)ts(Er.DISABLED,t,r);else if(e===!0||!s&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let u=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),c=u?[u,...globalThis.navigator.languages]:globalThis.navigator.languages,h=t.filter(f=>c.some(m=>f.language.toLowerCase().startsWith(m.split("-")[0]))).sort((f,m)=>{let p=c.findIndex(E=>f.language.toLowerCase().startsWith(E.split("-")[0])),g=c.findIndex(E=>m.language.toLowerCase().startsWith(E.split("-")[0]));return p-g});h[0]&&(n=h[0])}let{language:o,label:l,kind:d}=n;ts(Er.DISABLED,t,r),ts(Er.SHOWING,t,[{language:o,label:l,kind:d}])}}},hl=(i,e)=>i===e?!0:typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?oS(i,e):Object.entries(i).every(([t,r])=>t in e&&hl(r,e[t])),oS=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((s,n)=>hl(s,e[n])):!0};var lS=Object.values(si),fl,dS=jv().then(i=>(fl=i,fl)),eE=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof _.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=_.customElements.get(t);r&&e instanceof r||(await _.customElements.whenDefined(t),_.customElements.upgrade(e))}))},fa={mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t}=e;t&&(t.muted=i)},mediaEvents:["volumechange"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t}=e;if(t){try{i==null?_.localStorage.removeItem("media-chrome-pref-volume"):_.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let r=_.localStorage.getItem("media-chrome-pref-volume");if(r==null)return;fa.mediaVolume.set(+r,e),i(r)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)=="undefined"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||t.readyState===0||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!r&&!s))return[Number(r.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((s,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[si.LIVE,si.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(lS.includes(s))return s===si.UNKNOWN?r:s;let n=e.duration;return n===1/0?si.LIVE:Number.isFinite(n)?si.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=fa.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===si.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(fa.mediaStreamType.get(i)===si.LIVE))return!1;let s=e.seekable;if(!s)return!0;if(!s.length)return!1;let n=s.end(s.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return un(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return Ih(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:s,options:n}=e;if(!s)return;let a=o=>{var l;!n.defaultSubtitles||o&&![ri.CAPTIONS,ri.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||cl(e,!0)};return(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),a(),()=>{var o,l;(o=s.textTracks)==null||o.removeEventListener("addtrack",a),(l=s.textTracks)==null||l.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=is(t,{kind:ri.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:s,startTime:n,endTime:a})=>({text:s,startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{let{media:t}=e;if(!t)return;let r=t.querySelector('track[kind="chapters"][default][src]');return r==null||r.addEventListener("load",i),()=>{r==null||r.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:s}=i;if(!r||!s||!s.pictureInPictureElement)return!1;if(s.pictureInPictureElement===r)return!0;if(s.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?mt(r,s.pictureInPictureElement):!1;if(s.pictureInPictureElement.localName.includes("-")){let n=s.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!O.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(s=>{if(s.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw s}else throw s})}else O.pictureInPictureElement&&O.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:s}=i;return(r=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,s=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=s&&(t.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let s of t.audioTracks)s.enabled=r==s.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){return Yv(i)},set(i,e){i?Vv(e):qv(e)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:s}=e;if(s&&!(i&&((t=s.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=s.remote)==null?void 0:r.state)!=="connected")){if(typeof s.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}s.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&_.WebKitPlaybackTargetAvailabilityEvent)){console.warn("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!Xv||!kh(e))return Ft.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!Qv||!Lh(e))return Ft.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(fl===!1||(e==null?void 0:e.volume)==null)return Ft.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{fl==null&&dS.then(e=>i(e?void 0:Ft.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!Jv||!((t=r==null?void 0:r.remote)!=null&&t.state))return Ft.UNSUPPORTED;if(!(e==null||e==="available"))return Ft.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!Zv)return Ft.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Ft.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Ft.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Ft.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Ft.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var tE={[B.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,s,n;let{media:a}=e,o=t!=null?t:void 0,l,d;if(a&&o!=null){let[f]=is(a,{kind:ri.METADATA,label:"thumbnails"}),m=Array.prototype.find.call((r=f==null?void 0:f.cues)!=null?r:[],(p,g,E)=>g===0?p.endTime>o:g===E.length-1?p.startTime<=o:p.startTime<=o&&p.endTime>o);if(m){let p=/'^(?:[a-z]+:)?\/\//i.test(m.text)||(s=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:s.src,g=new URL(m.text,p);d=new URLSearchParams(g.hash).get("#xywh").split(",").map(T=>+T),l=g.href}}let u=i.mediaDuration.get(e),h=(n=i.mediaChaptersCues.get(e).find((f,m,p)=>m===p.length-1&&u===f.endTime?f.startTime<=o&&f.endTime>=o:f.startTime<=o&&f.endTime>o))==null?void 0:n.text;return t!=null&&h==null&&(h=""),{mediaPreviewTime:o,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:h}},[B.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[B.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===si.LIVE){let a=!(i.mediaTargetLiveWindow.get(e)>0),o=(t=i.mediaSeekable.get(e))==null?void 0:t[1];a&&o&&i.mediaCurrentTime.set(o,e)}i[r].set(!1,e)},[B.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[B.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[B.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[B.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",s=t;s&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(s,e)},[B.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[B.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t;let r="mediaCurrentTime",s=(t=i.mediaSeekable.get(e))==null?void 0:t[1];Number.isNaN(Number(s))&&i[r].set(s,e)},[B.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=un(e),a=Sh(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&_.localStorage.setItem("media-chrome-pref-subtitles-lang",o),ts(Er.SHOWING,n,a)},[B.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=un(e),s=t!=null?t:[];ts(Er.DISABLED,r,s)},[B.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){cl(e,t)},[B.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[B.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[B.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[B.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[B.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[B.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[B.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[B.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[B.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var uS=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=fa,requestMap:s=tE,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let o=[],l={options:{...n}},d=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=p=>{p!=null&&(hl(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:T}])=>(g[E]=T(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,T,y,S,A,L,x,w,P,k,D,U,F,z,j,K;let se=!!f;if(f={...l,...f!=null?f:{},...p},se)return;await eE(...Object.values(p));let oe=o.length>0&&g===0&&a,W=l.media!==f.media,G=((E=l.media)==null?void 0:E.textTracks)!==((T=f.media)==null?void 0:T.textTracks),ne=((y=l.media)==null?void 0:y.videoRenditions)!==((S=f.media)==null?void 0:S.videoRenditions),Q=((A=l.media)==null?void 0:A.audioTracks)!==((L=f.media)==null?void 0:L.audioTracks),pe=((x=l.media)==null?void 0:x.remote)!==((w=f.media)==null?void 0:w.remote),Pe=l.documentElement!==f.documentElement,Be=!!l.media&&(W||oe),Ve=!!((P=l.media)!=null&&P.textTracks)&&(G||oe),Lt=!!((k=l.media)!=null&&k.videoRenditions)&&(ne||oe),vr=!!((D=l.media)!=null&&D.audioTracks)&&(Q||oe),rn=!!((U=l.media)!=null&&U.remote)&&(pe||oe),dv=!!l.documentElement&&(Pe||oe),uv=Be||Ve||Lt||vr||rn||dv,sn=o.length===0&&g===1&&a,cv=!!f.media&&(W||sn),hv=!!((F=f.media)!=null&&F.textTracks)&&(G||sn),fv=!!((z=f.media)!=null&&z.videoRenditions)&&(ne||sn),mv=!!((j=f.media)!=null&&j.audioTracks)&&(Q||sn),pv=!!((K=f.media)!=null&&K.remote)&&(pe||sn),gv=!!f.documentElement&&(Pe||sn),vv=cv||hv||fv||mv||pv||gv;if(!(uv||vv)){Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0;return}Object.entries(r).forEach(([Re,{get:na,mediaEvents:L1=[],textTracksEvents:k1=[],videoRenditionsEvents:I1=[],audioTracksEvents:R1=[],remoteEvents:w1=[],rootEvents:C1=[],stateOwnersUpdateHandlers:D1=[]}])=>{h[Re]||(h[Re]={});let Ot=je=>{let Nt=na(l,je);u({[Re]:Nt})},nt;nt=h[Re].mediaEvents,L1.forEach(je=>{nt&&Be&&(l.media.removeEventListener(je,nt),h[Re].mediaEvents=void 0),cv&&(f.media.addEventListener(je,Ot),h[Re].mediaEvents=Ot)}),nt=h[Re].textTracksEvents,k1.forEach(je=>{var Nt,ii;nt&&Ve&&((Nt=l.media.textTracks)==null||Nt.removeEventListener(je,nt),h[Re].textTracksEvents=void 0),hv&&((ii=f.media.textTracks)==null||ii.addEventListener(je,Ot),h[Re].textTracksEvents=Ot)}),nt=h[Re].videoRenditionsEvents,I1.forEach(je=>{var Nt,ii;nt&&Lt&&((Nt=l.media.videoRenditions)==null||Nt.removeEventListener(je,nt),h[Re].videoRenditionsEvents=void 0),fv&&((ii=f.media.videoRenditions)==null||ii.addEventListener(je,Ot),h[Re].videoRenditionsEvents=Ot)}),nt=h[Re].audioTracksEvents,R1.forEach(je=>{var Nt,ii;nt&&vr&&((Nt=l.media.audioTracks)==null||Nt.removeEventListener(je,nt),h[Re].audioTracksEvents=void 0),mv&&((ii=f.media.audioTracks)==null||ii.addEventListener(je,Ot),h[Re].audioTracksEvents=Ot)}),nt=h[Re].remoteEvents,w1.forEach(je=>{var Nt,ii;nt&&rn&&((Nt=l.media.remote)==null||Nt.removeEventListener(je,nt),h[Re].remoteEvents=void 0),pv&&((ii=f.media.remote)==null||ii.addEventListener(je,Ot),h[Re].remoteEvents=Ot)}),nt=h[Re].rootEvents,C1.forEach(je=>{nt&&dv&&(l.documentElement.removeEventListener(je,nt),h[Re].rootEvents=void 0),gv&&(f.documentElement.addEventListener(je,Ot),h[Re].rootEvents=Ot)});let Ev=h[Re].stateOwnersUpdateHandlers;D1.forEach(je=>{Ev&&uv&&Ev(),vv&&(h[Re].stateOwnersUpdateHandlers=je(Ot,f))})}),Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0};return m({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(p){let{type:g,detail:E}=p;if(s[g]){u(s[g](r,l,p));return}g==="mediaelementchangerequest"?m({media:E}):g==="fullscreenelementchangerequest"?m({fullscreenElement:E}):g==="documentelementchangerequest"?m({documentElement:E}):g==="optionschangerequest"&&Object.entries(E!=null?E:{}).forEach(([T,y])=>{l.options[T]=y})},getState(){return d},subscribe(p){return m({},o.length+1),o.push(p),p(d),()=>{let g=o.indexOf(p);g>=0&&(m({},o.length-1),o.splice(g,1))}}}},iE=uS;var Dh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},he=(i,e,t)=>(Dh(i,e,"read from private field"),t?t.call(i):e.get(i)),sr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Tr=(i,e,t,r)=>(Dh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),_r=(i,e,t)=>(Dh(i,e,"access private method"),t),Ar,ma,Oe,pa,Si,ml,pl,Rh,cn,ga,gl,wh,oE=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],rE=10,ge={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys",NO_VOLUME_PREF:"novolumepref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_DEFAULT_STORE:"nodefaultstore",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset"},vl=class extends ua{constructor(){super(),sr(this,pl),sr(this,cn),sr(this,gl),sr(this,Ar,new Vt(this,ge.HOTKEYS)),sr(this,ma,void 0),sr(this,Oe,void 0),sr(this,pa,void 0),sr(this,Si,void 0),sr(this,ml,t=>{var r;(r=he(this,Oe))==null||r.dispatch(t)}),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,this.associateElement(this);let e={};Tr(this,pa,t=>{Object.entries(t).forEach(([r,s])=>{if(r in e&&e[r]===s)return;this.propagateMediaState(r,s);let n=r.toLowerCase(),a=new _.CustomEvent(_v[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(ge.NO_HOTKEYS,ge.HOTKEYS,ge.DEFAULT_STREAM_TYPE,ge.DEFAULT_SUBTITLES,ge.DEFAULT_DURATION)}get mediaStore(){return he(this,Oe)}set mediaStore(e){var t,r;if(he(this,Oe)&&((t=he(this,Si))==null||t.call(this),Tr(this,Si,void 0)),Tr(this,Oe,e),!he(this,Oe)&&!this.hasAttribute(ge.NO_DEFAULT_STORE)){_r(this,pl,Rh).call(this);return}Tr(this,Si,(r=he(this,Oe))==null?void 0:r.subscribe(he(this,pa)))}get fullscreenElement(){var e;return(e=he(this,ma))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(ge.FULLSCREEN_ELEMENT)&&this.removeAttribute(ge.FULLSCREEN_ELEMENT),Tr(this,ma,e),(t=he(this,Oe))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===ge.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(ge.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===ge.HOTKEYS)he(this,Ar).value=r;else if(e===ge.DEFAULT_SUBTITLES&&r!==t)(s=he(this,Oe))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(ge.DEFAULT_SUBTITLES)}});else if(e===ge.DEFAULT_STREAM_TYPE)(a=he(this,Oe))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(ge.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===ge.LIVE_EDGE_OFFSET)(o=he(this,Oe))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(ge.LIVE_EDGE_OFFSET)?+this.getAttribute(ge.LIVE_EDGE_OFFSET):void 0}});else if(e===ge.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;Tr(this,ma,u),(d=he(this,Oe))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!he(this,Oe)&&!this.hasAttribute(ge.NO_DEFAULT_STORE)&&_r(this,pl,Rh).call(this),(e=he(this,Oe))==null||e.dispatch({type:"documentelementchangerequest",detail:O}),super.connectedCallback(),he(this,Oe)&&!he(this,Si)&&Tr(this,Si,(t=he(this,Oe))==null?void 0:t.subscribe(he(this,pa))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),he(this,Oe)&&((t=he(this,Oe))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=he(this,Oe))==null||r.dispatch({type:B.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),he(this,Si)&&((s=he(this,Si))==null||s.call(this),Tr(this,Si,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=he(this,Oe))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=he(this,Oe))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){aE(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=gS(e,r,s);Object.values(B).forEach(a=>{e.addEventListener(a,he(this,ml))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values(B).forEach(s=>{e.removeEventListener(s,he(this,ml))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),he(this,Oe)&&Object.entries(he(this,Oe).getState()).forEach(([s,n])=>{aE([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",_r(this,gl,wh))}disableHotkeys(){this.removeEventListener("keydown",_r(this,gl,wh)),this.removeEventListener("keyup",_r(this,cn,ga))}get hotkeys(){return he(this,Ar)}keyboardShortcutHandler(e){var t,r,s,n,a,o;if(((n=(s=(t=e.target.getAttribute(ge.KEYS_USED))==null?void 0:t.split(" "))!=null?s:(r=e.target)==null?void 0:r.keysUsed)!=null?n:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!he(this,Ar).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&he(this,Ar).contains("nospace")))switch(e.key){case" ":case"k":d=he(this,Oe).getState().mediaPaused?B.MEDIA_PLAY_REQUEST:B.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new _.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?B.MEDIA_UNMUTE_REQUEST:B.MEDIA_MUTE_REQUEST,this.dispatchEvent(new _.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?B.MEDIA_EXIT_FULLSCREEN_REQUEST:B.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new _.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new _.CustomEvent(B.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(ge.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(ge.KEYBOARD_BACKWARD_SEEK_OFFSET):rE;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)-h,0),c=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(ge.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(ge.KEYBOARD_FORWARD_SEEK_OFFSET):rE;u=Math.max(((o=this.mediaStore.getState().mediaCurrentTime)!=null?o:0)+h,0),c=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};Ar=new WeakMap;ma=new WeakMap;Oe=new WeakMap;pa=new WeakMap;Si=new WeakMap;ml=new WeakMap;pl=new WeakSet;Rh=function(){var i;this.mediaStore=iE({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(ge.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(ge.DEFAULT_DURATION)?+this.getAttribute(ge.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(ge.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(ge.LIVE_EDGE_OFFSET)?+this.getAttribute(ge.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(ge.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(ge.NO_SUBTITLES_LANG_PREF)}})};cn=new WeakSet;ga=function(i){let{key:e}=i;if(!oE.includes(e)){this.removeEventListener("keyup",_r(this,cn,ga));return}this.keyboardShortcutHandler(i)};gl=new WeakSet;wh=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!oE.includes(r)){this.removeEventListener("keyup",_r(this,cn,ga));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(he(this,Ar).contains(`no${r.toLowerCase()}`)||r===" "&&he(this,Ar).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",_r(this,cn,ga),{once:!0})};var cS=Object.values(b),hS=Object.values(ch),lE=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(_.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,te.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>cS.includes(o)):[]},fS=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&_.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof _.customElements.get(i.nodeName.toLowerCase()))&&_.customElements.upgrade(i),hS.some(r=>r in i)},Ch=i=>fS(i)||!!lE(i).length,sE=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},nE={[b.MEDIA_SUBTITLES_LIST]:oi,[b.MEDIA_SUBTITLES_SHOWING]:oi,[b.MEDIA_SEEKABLE]:sE,[b.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(sE).join(" "),[b.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[b.MEDIA_RENDITION_LIST]:Sv,[b.MEDIA_AUDIO_TRACK_LIST]:xv},mS=async(i,e,t)=>{var r,s;if(i.isConnected||await Xo(0),typeof t=="boolean"||t==null)return Ae(i,e,t);if(typeof t=="number")return _e(i,e,t);if(typeof t=="string")return le(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=nE[e])==null?void 0:r.call(nE,t))!=null?s:t;return i.setAttribute(e,n)},pS=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},rs=(i,e)=>{if(pS(i))return;let t=(s,n)=>{var a,o;Ch(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(c=>rs(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Ch(i)){_.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},aE=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=lE(r),n=e.toLowerCase();s.includes(n)&&mS(r,n,t)})},gS=(i,e,t)=>{rs(i,e);let r=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;e(h)},s=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;t(h)};i.addEventListener(B.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener(B.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=u=>{u.forEach(c=>{let{addedNodes:h=[],removedNodes:f=[],type:m,target:p,attributeName:g}=c;m==="childList"?(Array.prototype.forEach.call(h,E=>rs(E,e)),Array.prototype.forEach.call(f,E=>rs(E,t))):m==="attributes"&&g===te.MEDIA_CHROME_ATTRIBUTES&&(Ch(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>rs(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>rs(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{rs(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener(B.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener(B.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};_.customElements.get("media-controller")||_.customElements.define("media-controller",vl);var Mh=vl;var vS=Object.defineProperty,ES=(i,e,t)=>e in i?vS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,bS=(i,e,t)=>(ES(i,typeof e!="symbol"?e+"":e,t),t),dE=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},qt=(i,e,t)=>(dE(i,e,"read from private field"),t?t.call(i):e.get(i)),El=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},bl=(i,e,t,r)=>(dE(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),xi,yl,hn,Tl,uE=O.createElement("template");uE.innerHTML=`
145
+ `;var Z1=Object.values(b),J1="sm:384 md:576 lg:768 xl:960";function eS(i){tS(i.target,i.contentRect.width)}function tS(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(me.BREAKPOINTS))!=null?t:J1,s=iS(r),n=rS(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){i.hasAttribute(`breakpoint${o}`)||(i.setAttribute(`breakpoint${o}`,""),a=!0);return}i.hasAttribute(`breakpoint${o}`)&&(i.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(ir.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}}function iS(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function rS(i,e){return Object.keys(i).filter(t=>e>=i[t])}var ua=class extends _.HTMLElement{constructor(){super(),Zr(this,_h),Zr(this,Ah),Zr(this,la),Zr(this,al),Zr(this,on),Zr(this,sl,0),Zr(this,an,void 0),Q1(this,"breakpointsComputed",!1),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Gv.content.cloneNode(!0)));let e=a=>{let o=this.media;for(let l of a)l.type==="childList"&&(l.removedNodes.forEach(d=>{if(d.slot=="media"&&l.target==this){let u=l.previousSibling&&l.previousSibling.previousElementSibling;if(!u||!o)this.mediaUnsetCallback(d);else{let c=u.slot!=="media";for(;(u=u.previousSibling)!==null;)u.slot=="media"&&(c=!1);c&&this.mediaUnsetCallback(d)}}}),o&&l.addedNodes.forEach(d=>{d===o&&this.handleMediaUpdated(o)}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let r=!1;Kt(this,a=>{r||(setTimeout(()=>{eS(a),r=!1,this.breakpointsComputed||(this.breakpointsComputed=!0,this.dispatchEvent(new CustomEvent(ir.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))},0),r=!0)});let n=this.querySelector(":scope > slot[slot=media]");n&&n.addEventListener("slotchange",()=>{if(!n.assignedElements({flatten:!0}).length){Th(this,an)&&this.mediaUnsetCallback(Th(this,an));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[me.AUTOHIDE,me.GESTURES_DISABLED].concat(Z1).filter(e=>![b.MEDIA_RENDITION_LIST,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_CHAPTERS_CUES].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==me.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(yh(this,an,e),e.localName.includes("-")&&await _.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;let r=this.getAttribute(me.AUDIO)!=null?De.AUDIO_PLAYER():De.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(me.USER_INACTIVE,""),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=_.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;this.media&&this.mediaUnsetCallback(this.media),(e=_.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){yh(this,an,null)}handleEvent(e){switch(e.type){case"pointerdown":yh(this,sl,e.timeStamp);break;case"pointermove":ai(this,_h,$v).call(this,e);break;case"pointerup":ai(this,Ah,Hv).call(this,e);break;case"mouseleave":ai(this,la,nl).call(this);break;case"mouseup":this.removeAttribute(me.KEYBOARD_CONTROL);break;case"keyup":ai(this,on,da).call(this),this.setAttribute(me.KEYBOARD_CONTROL,"");break}}set autohide(e){e=Number(e),this._autohide=isNaN(e)?0:e}get autohide(){return this._autohide===void 0?2:this._autohide}};sl=new WeakMap;an=new WeakMap;_h=new WeakSet;$v=function(i){i.pointerType!=="mouse"&&i.timeStamp-Th(this,sl)<250||(ai(this,al,xh).call(this),clearTimeout(this._inactiveTimeout),[this,this.media].includes(i.target)&&ai(this,on,da).call(this))};Ah=new WeakSet;Hv=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(me.USER_INACTIVE);[this,this.media].includes(i.target)&&e?ai(this,la,nl).call(this):ai(this,on,da).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&ai(this,on,da).call(this)};la=new WeakSet;nl=function(){if(this.autohide<0||this.hasAttribute(me.USER_INACTIVE))return;this.setAttribute(me.USER_INACTIVE,"");let i=new _.CustomEvent(ir.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};al=new WeakSet;xh=function(){if(!this.hasAttribute(me.USER_INACTIVE))return;this.removeAttribute(me.USER_INACTIVE);let i=new _.CustomEvent(ir.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};on=new WeakSet;da=function(){ai(this,al,xh).call(this),clearTimeout(this._inactiveTimeout),!(this.autohide<0)&&(this._inactiveTimeout=setTimeout(()=>{ai(this,la,nl).call(this)},this.autohide*1e3))};_.customElements.get("media-container")||_.customElements.define("media-container",ua);var Wv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},at=(i,e,t)=>(Wv(i,e,"read from private field"),t?t.call(i):e.get(i)),ca=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ol=(i,e,t,r)=>(Wv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ln,dn,ll,Jr,rr,_r,Vt=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ca(this,rr),ca(this,ln,void 0),ca(this,dn,void 0),ca(this,ll,void 0),ca(this,Jr,new Set),ol(this,ln,e),ol(this,dn,t),ol(this,ll,new Set(r))}[Symbol.iterator](){return at(this,rr,_r).values()}get length(){return at(this,rr,_r).size}get value(){var e;return(e=[...at(this,rr,_r)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(ol(this,Jr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...at(this,rr,_r)][e]}values(){return at(this,rr,_r).values()}forEach(e){at(this,rr,_r).forEach(e)}add(...e){var t,r;e.forEach(s=>at(this,Jr).add(s)),!(this.value===""&&!((t=at(this,ln))!=null&&t.hasAttribute(`${at(this,dn)}`)))&&((r=at(this,ln))==null||r.setAttribute(`${at(this,dn)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>at(this,Jr).delete(r)),(t=at(this,ln))==null||t.setAttribute(`${at(this,dn)}`,`${this.value}`)}contains(e){return at(this,rr,_r).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};ln=new WeakMap;dn=new WeakMap;ll=new WeakMap;Jr=new WeakMap;rr=new WeakSet;_r=function(){return at(this,Jr).size?at(this,Jr):at(this,ll)};var sS=(i="")=>i.split(/\s+/),Kv=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return e=e==="cc"?"captions":"subtitles",{kind:e,language:t,label:s}},sr=(i="",e={})=>sS(i).map(t=>{let r=Kv(t);return{...e,...r}}),Lh=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?Kv(e):e):typeof i=="string"?sr(i):[i]:[],es=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,oi=(i=[])=>Array.prototype.map.call(i,es).join(" "),nS=(i,e)=>t=>t[i]===e,Vv=i=>{let e=Object.entries(i).map(([t,r])=>nS(t,r));return t=>e.every(r=>r(t))},ts=(i,e=[],t=[])=>{let r=Lh(t).map(Vv),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},is=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:Vv(e);return Array.from(i.textTracks).filter(t)},dl=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(b.MEDIA_SUBTITLES_SHOWING)};var Yv=i=>{var e;let{media:t,fullscreenElement:r}=i,s=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(s){let n=(e=r[s])==null?void 0:e.call(r);if(n instanceof Promise)return n.catch(()=>{})}else t!=null&&t.webkitEnterFullscreen?t.webkitEnterFullscreen():t!=null&&t.requestFullscreen&&t.requestFullscreen()},qv="exitFullscreen"in O?"exitFullscreen":"webkitExitFullscreen"in O?"webkitExitFullscreen":"webkitCancelFullScreen"in O?"webkitCancelFullScreen":void 0,zv=i=>{var e;let{documentElement:t}=i;if(qv){let r=(e=t==null?void 0:t[qv])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},ha="fullscreenElement"in O?"fullscreenElement":"webkitFullscreenElement"in O?"webkitFullscreenElement":void 0,aS=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[ha];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===xv.FULLSCREEN?t:r},jv=i=>{var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;let n=aS(i);if(!n)return!1;if(n===s||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(ha in a))return mt(n,s);for(;a!=null&&a[ha];){if(a[ha]===s)return!0;a=(e=a[ha])==null?void 0:e.shadowRoot}}return!1},oS="fullscreenEnabled"in O?"fullscreenEnabled":"webkitFullscreenEnabled"in O?"webkitFullscreenEnabled":void 0,Xv=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[oS])||t&&"webkitSupportsFullscreen"in t};var ul,kh=()=>{var i,e;return ul||(ul=(e=(i=O)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),ul)},Qv=async(i=kh())=>{if(!i)return!1;let e=i.volume;return i.volume=e/2+.1,await Xo(0),i.volume!==e},lS=/.*Version\/.*Safari\/.*/.test(_.navigator.userAgent),Ih=(i=kh())=>_.matchMedia("(display-mode: standalone)").matches&&lS?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",Rh=(i=kh())=>Xv({documentElement:O,media:i}),Zv=Rh(),Jv=Ih(),eE=!!_.WebKitPlaybackTargetAvailabilityEvent,tE=!!_.chrome;var un=i=>is(i.media,e=>[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),wh=i=>is(i.media,e=>e.mode===yr.SHOWING&&[ri.SUBTITLES,ri.CAPTIONS].includes(e.kind)),cl=(i,e)=>{let t=un(i),r=wh(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)ts(yr.DISABLED,t,r);else if(e===!0||!s&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let u=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),c=u?[u,...globalThis.navigator.languages]:globalThis.navigator.languages,h=t.filter(f=>c.some(m=>f.language.toLowerCase().startsWith(m.split("-")[0]))).sort((f,m)=>{let p=c.findIndex(E=>f.language.toLowerCase().startsWith(E.split("-")[0])),g=c.findIndex(E=>m.language.toLowerCase().startsWith(E.split("-")[0]));return p-g});h[0]&&(n=h[0])}let{language:o,label:l,kind:d}=n;ts(yr.DISABLED,t,r),ts(yr.SHOWING,t,[{language:o,label:l,kind:d}])}}},hl=(i,e)=>i===e?!0:typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?dS(i,e):Object.entries(i).every(([t,r])=>t in e&&hl(r,e[t])),dS=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((s,n)=>hl(s,e[n])):!0};var uS=Object.values(si),fl,cS=Qv().then(i=>(fl=i,fl)),iE=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof _.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=_.customElements.get(t);r&&e instanceof r||(await _.customElements.whenDefined(t),_.customElements.upgrade(e))}))},fa={mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t}=e;t&&(t.muted=i)},mediaEvents:["volumechange"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t}=e;if(t){try{i==null?_.localStorage.removeItem("media-chrome-pref-volume"):_.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let r=_.localStorage.getItem("media-chrome-pref-volume");if(r==null)return;fa.mediaVolume.set(+r,e),i(r)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)=="undefined"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||t.readyState===0||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!r&&!s))return[Number(r.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((s,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[si.LIVE,si.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(uS.includes(s))return s===si.UNKNOWN?r:s;let n=e.duration;return n===1/0?si.LIVE:Number.isFinite(n)?si.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=fa.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===si.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(fa.mediaStreamType.get(i)===si.LIVE))return!1;let s=e.seekable;if(!s)return!0;if(!s.length)return!1;let n=s.end(s.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return un(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return wh(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:s,options:n}=e;if(!s)return;let a=o=>{var l;!n.defaultSubtitles||o&&![ri.CAPTIONS,ri.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||cl(e,!0)};return(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),a(),()=>{var o,l;(o=s.textTracks)==null||o.removeEventListener("addtrack",a),(l=s.textTracks)==null||l.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=is(t,{kind:ri.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:s,startTime:n,endTime:a})=>({text:s,startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{let{media:t}=e;if(!t)return;let r=t.querySelector('track[kind="chapters"][default][src]');return r==null||r.addEventListener("load",i),()=>{r==null||r.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:s}=i;if(!r||!s||!s.pictureInPictureElement)return!1;if(s.pictureInPictureElement===r)return!0;if(s.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?mt(r,s.pictureInPictureElement):!1;if(s.pictureInPictureElement.localName.includes("-")){let n=s.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!O.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(s=>{if(s.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw s}else throw s})}else O.pictureInPictureElement&&O.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:s}=i;return(r=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,s=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=s&&(t.videoRenditions.selectedIndex=s)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let s of t.audioTracks)s.enabled=r==s.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){return jv(i)},set(i,e){i?Yv(e):zv(e)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:s}=e;if(s&&!(i&&((t=s.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=s.remote)==null?void 0:r.state)!=="connected")){if(typeof s.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}s.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&_.WebKitPlaybackTargetAvailabilityEvent)){console.warn("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!Zv||!Rh(e))return Bt.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!Jv||!Ih(e))return Bt.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(fl===!1||(e==null?void 0:e.volume)==null)return Bt.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{fl==null&&cS.then(e=>i(e?void 0:Bt.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!tE||!((t=r==null?void 0:r.remote)!=null&&t.state))return Bt.UNSUPPORTED;if(!(e==null||e==="available"))return Bt.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!eE)return Bt.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Bt.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Bt.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Bt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Bt.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Bt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var rE={[B.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,s,n;let{media:a}=e,o=t!=null?t:void 0,l,d;if(a&&o!=null){let[f]=is(a,{kind:ri.METADATA,label:"thumbnails"}),m=Array.prototype.find.call((r=f==null?void 0:f.cues)!=null?r:[],(p,g,E)=>g===0?p.endTime>o:g===E.length-1?p.startTime<=o:p.startTime<=o&&p.endTime>o);if(m){let p=/'^(?:[a-z]+:)?\/\//i.test(m.text)||(s=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:s.src,g=new URL(m.text,p);d=new URLSearchParams(g.hash).get("#xywh").split(",").map(T=>+T),l=g.href}}let u=i.mediaDuration.get(e),h=(n=i.mediaChaptersCues.get(e).find((f,m,p)=>m===p.length-1&&u===f.endTime?f.startTime<=o&&f.endTime>=o:f.startTime<=o&&f.endTime>o))==null?void 0:n.text;return t!=null&&h==null&&(h=""),{mediaPreviewTime:o,mediaPreviewImage:l,mediaPreviewCoords:d,mediaPreviewChapter:h}},[B.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[B.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===si.LIVE){let a=!(i.mediaTargetLiveWindow.get(e)>0),o=(t=i.mediaSeekable.get(e))==null?void 0:t[1];a&&o&&i.mediaCurrentTime.set(o,e)}i[r].set(!1,e)},[B.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[B.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[B.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[B.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",s=t;s&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(s,e)},[B.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[B.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t;let r="mediaCurrentTime",s=(t=i.mediaSeekable.get(e))==null?void 0:t[1];Number.isNaN(Number(s))&&i[r].set(s,e)},[B.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=un(e),a=Lh(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&_.localStorage.setItem("media-chrome-pref-subtitles-lang",o),ts(yr.SHOWING,n,a)},[B.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=un(e),s=t!=null?t:[];ts(yr.DISABLED,r,s)},[B.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){cl(e,t)},[B.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[B.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[B.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[B.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[B.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[B.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[B.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[B.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[B.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var hS=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=fa,requestMap:s=rE,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let o=[],l={options:{...n}},d=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=p=>{p!=null&&(hl(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:T}])=>(g[E]=T(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,T,y,S,A,L,x,w,P,k,D,U,F,z,X,K;let se=!!f;if(f={...l,...f!=null?f:{},...p},se)return;await iE(...Object.values(p));let oe=o.length>0&&g===0&&a,W=l.media!==f.media,G=((E=l.media)==null?void 0:E.textTracks)!==((T=f.media)==null?void 0:T.textTracks),ne=((y=l.media)==null?void 0:y.videoRenditions)!==((S=f.media)==null?void 0:S.videoRenditions),Q=((A=l.media)==null?void 0:A.audioTracks)!==((L=f.media)==null?void 0:L.audioTracks),pe=((x=l.media)==null?void 0:x.remote)!==((w=f.media)==null?void 0:w.remote),Pe=l.documentElement!==f.documentElement,Be=!!l.media&&(W||oe),Ve=!!((P=l.media)!=null&&P.textTracks)&&(G||oe),Lt=!!((k=l.media)!=null&&k.videoRenditions)&&(ne||oe),br=!!((D=l.media)!=null&&D.audioTracks)&&(Q||oe),rn=!!((U=l.media)!=null&&U.remote)&&(pe||oe),cv=!!l.documentElement&&(Pe||oe),hv=Be||Ve||Lt||br||rn||cv,sn=o.length===0&&g===1&&a,fv=!!f.media&&(W||sn),mv=!!((F=f.media)!=null&&F.textTracks)&&(G||sn),pv=!!((z=f.media)!=null&&z.videoRenditions)&&(ne||sn),gv=!!((X=f.media)!=null&&X.audioTracks)&&(Q||sn),vv=!!((K=f.media)!=null&&K.remote)&&(pe||sn),Ev=!!f.documentElement&&(Pe||sn),bv=fv||mv||pv||gv||vv||Ev;if(!(hv||bv)){Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0;return}Object.entries(r).forEach(([Re,{get:na,mediaEvents:I1=[],textTracksEvents:R1=[],videoRenditionsEvents:w1=[],audioTracksEvents:C1=[],remoteEvents:D1=[],rootEvents:M1=[],stateOwnersUpdateHandlers:P1=[]}])=>{h[Re]||(h[Re]={});let Nt=je=>{let Ut=na(l,je);u({[Re]:Ut})},nt;nt=h[Re].mediaEvents,I1.forEach(je=>{nt&&Be&&(l.media.removeEventListener(je,nt),h[Re].mediaEvents=void 0),fv&&(f.media.addEventListener(je,Nt),h[Re].mediaEvents=Nt)}),nt=h[Re].textTracksEvents,R1.forEach(je=>{var Ut,ii;nt&&Ve&&((Ut=l.media.textTracks)==null||Ut.removeEventListener(je,nt),h[Re].textTracksEvents=void 0),mv&&((ii=f.media.textTracks)==null||ii.addEventListener(je,Nt),h[Re].textTracksEvents=Nt)}),nt=h[Re].videoRenditionsEvents,w1.forEach(je=>{var Ut,ii;nt&&Lt&&((Ut=l.media.videoRenditions)==null||Ut.removeEventListener(je,nt),h[Re].videoRenditionsEvents=void 0),pv&&((ii=f.media.videoRenditions)==null||ii.addEventListener(je,Nt),h[Re].videoRenditionsEvents=Nt)}),nt=h[Re].audioTracksEvents,C1.forEach(je=>{var Ut,ii;nt&&br&&((Ut=l.media.audioTracks)==null||Ut.removeEventListener(je,nt),h[Re].audioTracksEvents=void 0),gv&&((ii=f.media.audioTracks)==null||ii.addEventListener(je,Nt),h[Re].audioTracksEvents=Nt)}),nt=h[Re].remoteEvents,D1.forEach(je=>{var Ut,ii;nt&&rn&&((Ut=l.media.remote)==null||Ut.removeEventListener(je,nt),h[Re].remoteEvents=void 0),vv&&((ii=f.media.remote)==null||ii.addEventListener(je,Nt),h[Re].remoteEvents=Nt)}),nt=h[Re].rootEvents,M1.forEach(je=>{nt&&cv&&(l.documentElement.removeEventListener(je,nt),h[Re].rootEvents=void 0),Ev&&(f.documentElement.addEventListener(je,Nt),h[Re].rootEvents=Nt)});let yv=h[Re].stateOwnersUpdateHandlers;P1.forEach(je=>{yv&&hv&&yv(),bv&&(h[Re].stateOwnersUpdateHandlers=je(Nt,f))})}),Object.entries(f).forEach(([Re,na])=>{l[Re]=na}),c(),f=void 0};return m({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(p){let{type:g,detail:E}=p;if(s[g]){u(s[g](r,l,p));return}g==="mediaelementchangerequest"?m({media:E}):g==="fullscreenelementchangerequest"?m({fullscreenElement:E}):g==="documentelementchangerequest"?m({documentElement:E}):g==="optionschangerequest"&&Object.entries(E!=null?E:{}).forEach(([T,y])=>{l.options[T]=y})},getState(){return d},subscribe(p){return m({},o.length+1),o.push(p),p(d),()=>{let g=o.indexOf(p);g>=0&&(m({},o.length-1),o.splice(g,1))}}}},sE=hS;var Ph=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},he=(i,e,t)=>(Ph(i,e,"read from private field"),t?t.call(i):e.get(i)),nr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ar=(i,e,t,r)=>(Ph(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Sr=(i,e,t)=>(Ph(i,e,"access private method"),t),xr,ma,Oe,pa,Si,ml,pl,Ch,cn,ga,gl,Dh,dE=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],nE=10,ge={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys",NO_VOLUME_PREF:"novolumepref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_DEFAULT_STORE:"nodefaultstore",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset"},vl=class extends ua{constructor(){super(),nr(this,pl),nr(this,cn),nr(this,gl),nr(this,xr,new Vt(this,ge.HOTKEYS)),nr(this,ma,void 0),nr(this,Oe,void 0),nr(this,pa,void 0),nr(this,Si,void 0),nr(this,ml,t=>{var r;(r=he(this,Oe))==null||r.dispatch(t)}),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,this.associateElement(this);let e={};Ar(this,pa,t=>{Object.entries(t).forEach(([r,s])=>{if(r in e&&e[r]===s)return;this.propagateMediaState(r,s);let n=r.toLowerCase(),a=new _.CustomEvent(Sv[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(ge.NO_HOTKEYS,ge.HOTKEYS,ge.DEFAULT_STREAM_TYPE,ge.DEFAULT_SUBTITLES,ge.DEFAULT_DURATION)}get mediaStore(){return he(this,Oe)}set mediaStore(e){var t,r;if(he(this,Oe)&&((t=he(this,Si))==null||t.call(this),Ar(this,Si,void 0)),Ar(this,Oe,e),!he(this,Oe)&&!this.hasAttribute(ge.NO_DEFAULT_STORE)){Sr(this,pl,Ch).call(this);return}Ar(this,Si,(r=he(this,Oe))==null?void 0:r.subscribe(he(this,pa)))}get fullscreenElement(){var e;return(e=he(this,ma))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(ge.FULLSCREEN_ELEMENT)&&this.removeAttribute(ge.FULLSCREEN_ELEMENT),Ar(this,ma,e),(t=he(this,Oe))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===ge.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(ge.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===ge.HOTKEYS)he(this,xr).value=r;else if(e===ge.DEFAULT_SUBTITLES&&r!==t)(s=he(this,Oe))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(ge.DEFAULT_SUBTITLES)}});else if(e===ge.DEFAULT_STREAM_TYPE)(a=he(this,Oe))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(ge.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===ge.LIVE_EDGE_OFFSET)(o=he(this,Oe))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(ge.LIVE_EDGE_OFFSET)?+this.getAttribute(ge.LIVE_EDGE_OFFSET):void 0}});else if(e===ge.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;Ar(this,ma,u),(d=he(this,Oe))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!he(this,Oe)&&!this.hasAttribute(ge.NO_DEFAULT_STORE)&&Sr(this,pl,Ch).call(this),(e=he(this,Oe))==null||e.dispatch({type:"documentelementchangerequest",detail:O}),super.connectedCallback(),he(this,Oe)&&!he(this,Si)&&Ar(this,Si,(t=he(this,Oe))==null?void 0:t.subscribe(he(this,pa))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),he(this,Oe)&&((t=he(this,Oe))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=he(this,Oe))==null||r.dispatch({type:B.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),he(this,Si)&&((s=he(this,Si))==null||s.call(this),Ar(this,Si,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=he(this,Oe))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=he(this,Oe))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){lE(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=ES(e,r,s);Object.values(B).forEach(a=>{e.addEventListener(a,he(this,ml))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values(B).forEach(s=>{e.removeEventListener(s,he(this,ml))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),he(this,Oe)&&Object.entries(he(this,Oe).getState()).forEach(([s,n])=>{lE([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",Sr(this,gl,Dh))}disableHotkeys(){this.removeEventListener("keydown",Sr(this,gl,Dh)),this.removeEventListener("keyup",Sr(this,cn,ga))}get hotkeys(){return he(this,xr)}keyboardShortcutHandler(e){var t,r,s,n,a,o;if(((n=(s=(t=e.target.getAttribute(ge.KEYS_USED))==null?void 0:t.split(" "))!=null?s:(r=e.target)==null?void 0:r.keysUsed)!=null?n:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!he(this,xr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&he(this,xr).contains("nospace")))switch(e.key){case" ":case"k":d=he(this,Oe).getState().mediaPaused?B.MEDIA_PLAY_REQUEST:B.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new _.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?B.MEDIA_UNMUTE_REQUEST:B.MEDIA_MUTE_REQUEST,this.dispatchEvent(new _.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?B.MEDIA_EXIT_FULLSCREEN_REQUEST:B.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new _.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new _.CustomEvent(B.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(ge.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(ge.KEYBOARD_BACKWARD_SEEK_OFFSET):nE;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)-h,0),c=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(ge.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(ge.KEYBOARD_FORWARD_SEEK_OFFSET):nE;u=Math.max(((o=this.mediaStore.getState().mediaCurrentTime)!=null?o:0)+h,0),c=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};xr=new WeakMap;ma=new WeakMap;Oe=new WeakMap;pa=new WeakMap;Si=new WeakMap;ml=new WeakMap;pl=new WeakSet;Ch=function(){var i;this.mediaStore=sE({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(ge.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(ge.DEFAULT_DURATION)?+this.getAttribute(ge.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(ge.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(ge.LIVE_EDGE_OFFSET)?+this.getAttribute(ge.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(ge.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(ge.NO_SUBTITLES_LANG_PREF)}})};cn=new WeakSet;ga=function(i){let{key:e}=i;if(!dE.includes(e)){this.removeEventListener("keyup",Sr(this,cn,ga));return}this.keyboardShortcutHandler(i)};gl=new WeakSet;Dh=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!dE.includes(r)){this.removeEventListener("keyup",Sr(this,cn,ga));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(he(this,xr).contains(`no${r.toLowerCase()}`)||r===" "&&he(this,xr).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",Sr(this,cn,ga),{once:!0})};var fS=Object.values(b),mS=Object.values(fh),uE=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(_.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,te.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>fS.includes(o)):[]},pS=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&_.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof _.customElements.get(i.nodeName.toLowerCase()))&&_.customElements.upgrade(i),mS.some(r=>r in i)},Mh=i=>pS(i)||!!uE(i).length,aE=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},oE={[b.MEDIA_SUBTITLES_LIST]:oi,[b.MEDIA_SUBTITLES_SHOWING]:oi,[b.MEDIA_SEEKABLE]:aE,[b.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(aE).join(" "),[b.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[b.MEDIA_RENDITION_LIST]:Lv,[b.MEDIA_AUDIO_TRACK_LIST]:kv},gS=async(i,e,t)=>{var r,s;if(i.isConnected||await Xo(0),typeof t=="boolean"||t==null)return Ae(i,e,t);if(typeof t=="number")return _e(i,e,t);if(typeof t=="string")return le(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=oE[e])==null?void 0:r.call(oE,t))!=null?s:t;return i.setAttribute(e,n)},vS=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},rs=(i,e)=>{if(vS(i))return;let t=(s,n)=>{var a,o;Mh(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(c=>rs(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Mh(i)){_.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},lE=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=uE(r),n=e.toLowerCase();s.includes(n)&&gS(r,n,t)})},ES=(i,e,t)=>{rs(i,e);let r=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;e(h)},s=u=>{var c;let h=(c=u==null?void 0:u.composedPath()[0])!=null?c:u.target;t(h)};i.addEventListener(B.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener(B.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=u=>{u.forEach(c=>{let{addedNodes:h=[],removedNodes:f=[],type:m,target:p,attributeName:g}=c;m==="childList"?(Array.prototype.forEach.call(h,E=>rs(E,e)),Array.prototype.forEach.call(f,E=>rs(E,t))):m==="attributes"&&g===te.MEDIA_CHROME_ATTRIBUTES&&(Mh(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>rs(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>rs(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{rs(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener(B.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener(B.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};_.customElements.get("media-controller")||_.customElements.define("media-controller",vl);var Oh=vl;var bS=Object.defineProperty,yS=(i,e,t)=>e in i?bS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,TS=(i,e,t)=>(yS(i,typeof e!="symbol"?e+"":e,t),t),cE=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},qt=(i,e,t)=>(cE(i,e,"read from private field"),t?t.call(i):e.get(i)),El=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},bl=(i,e,t,r)=>(cE(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),xi,yl,hn,Tl,hE=O.createElement("template");hE.innerHTML=`
146
146
  <style>
147
147
  :host {
148
148
  font: var(--media-font,
@@ -191,10 +191,10 @@
191
191
  min-width: 100%;
192
192
  }
193
193
  </style>
194
- `;var be=class extends _.HTMLElement{constructor(e={}){if(super(),El(this,xi,void 0),bS(this,"preventClick",!1),El(this,yl,t=>{this.preventClick||this.handleClick(t)}),El(this,hn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",qt(this,hn));return}this.preventClick||this.handleClick(t)}),El(this,Tl,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",qt(this,hn));return}this.addEventListener("keyup",qt(this,hn),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let t=uE.content.cloneNode(!0);this.nativeEl=t;let r=e.slotTemplate;r||(r=O.createElement("template"),r.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(r.content.cloneNode(!0)),this.shadowRoot.appendChild(t)}}static get observedAttributes(){return["disabled",te.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",qt(this,yl)),this.addEventListener("keydown",qt(this,Tl)),this.tabIndex=0}disable(){this.removeEventListener("click",qt(this,yl)),this.removeEventListener("keydown",qt(this,Tl)),this.removeEventListener("keyup",qt(this,hn)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER?(t&&((n=(s=qt(this,xi))==null?void 0:s.unassociateElement)==null||n.call(s,this),bl(this,xi,null)),r&&this.isConnected&&(bl(this,xi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=qt(this,xi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(bl(this,xi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=qt(this,xi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=qt(this,xi))==null?void 0:e.unassociateElement)==null||t.call(e,this),bl(this,xi,null)}get keysUsed(){return["Enter"," "]}handleClick(e){}};xi=new WeakMap;yl=new WeakMap;hn=new WeakMap;Tl=new WeakMap;_.customElements.get("media-chrome-button")||_.customElements.define("media-chrome-button",be);var cE=`<svg aria-hidden="true" viewBox="0 0 26 24">
194
+ `;var be=class extends _.HTMLElement{constructor(e={}){if(super(),El(this,xi,void 0),TS(this,"preventClick",!1),El(this,yl,t=>{this.preventClick||this.handleClick(t)}),El(this,hn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",qt(this,hn));return}this.preventClick||this.handleClick(t)}),El(this,Tl,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",qt(this,hn));return}this.addEventListener("keyup",qt(this,hn),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let t=hE.content.cloneNode(!0);this.nativeEl=t;let r=e.slotTemplate;r||(r=O.createElement("template"),r.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(r.content.cloneNode(!0)),this.shadowRoot.appendChild(t)}}static get observedAttributes(){return["disabled",te.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",qt(this,yl)),this.addEventListener("keydown",qt(this,Tl)),this.tabIndex=0}disable(){this.removeEventListener("click",qt(this,yl)),this.removeEventListener("keydown",qt(this,Tl)),this.removeEventListener("keyup",qt(this,hn)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER?(t&&((n=(s=qt(this,xi))==null?void 0:s.unassociateElement)==null||n.call(s,this),bl(this,xi,null)),r&&this.isConnected&&(bl(this,xi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=qt(this,xi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(bl(this,xi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=qt(this,xi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=qt(this,xi))==null?void 0:e.unassociateElement)==null||t.call(e,this),bl(this,xi,null)}get keysUsed(){return["Enter"," "]}handleClick(e){}};xi=new WeakMap;yl=new WeakMap;hn=new WeakMap;Tl=new WeakMap;_.customElements.get("media-chrome-button")||_.customElements.define("media-chrome-button",be);var fE=`<svg aria-hidden="true" viewBox="0 0 26 24">
195
195
  <path d="M22.13 3H3.87a.87.87 0 0 0-.87.87v13.26a.87.87 0 0 0 .87.87h3.4L9 16H5V5h16v11h-4l1.72 2h3.4a.87.87 0 0 0 .87-.87V3.87a.87.87 0 0 0-.86-.87Zm-8.75 11.44a.5.5 0 0 0-.76 0l-4.91 5.73a.5.5 0 0 0 .38.83h9.82a.501.501 0 0 0 .38-.83l-4.91-5.73Z"/>
196
196
  </svg>
197
- `,fE=O.createElement("template");fE.innerHTML=`
197
+ `,pE=O.createElement("template");pE.innerHTML=`
198
198
  <style>
199
199
  :host([${b.MEDIA_IS_AIRPLAYING}]) slot:not([name=exit]):not([name=icon]) {
200
200
  display: none !important;
@@ -207,10 +207,10 @@
207
207
  </style>
208
208
 
209
209
  <slot name="icon">
210
- <slot name="enter">${cE}</slot>
211
- <slot name="exit">${cE}</slot>
210
+ <slot name="enter">${fE}</slot>
211
+ <slot name="exit">${fE}</slot>
212
212
  </slot>
213
- `;var hE=i=>{let e=i.mediaIsAirplaying?Me.EXIT_AIRPLAY():Me.ENTER_AIRPLAY();i.setAttribute("aria-label",e)},Ph=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_AIRPLAYING,b.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:fE,...e})}connectedCallback(){super.connectedCallback(),hE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_AIRPLAYING&&hE(this)}get mediaIsAirplaying(){return Le(this,b.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){Ae(this,b.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return ue(this,b.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){le(this,b.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new _.CustomEvent(B.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};_.customElements.get("media-airplay-button")||_.customElements.define("media-airplay-button",Ph);function mE({anchor:i,floating:e,placement:t}){let r=yS({anchor:i,floating:e}),{x:s,y:n}=_S(r,t);return{x:s,y:n}}function yS({anchor:i,floating:e}){return{anchor:TS(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function TS(i,e){let t=i.getBoundingClientRect(),r=e.getBoundingClientRect();return{x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}function _S({anchor:i,floating:e},t){let r=AS(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=pE(t),a=i.x+i.width/2-e.width/2,o=i.y+i.height/2-e.height/2,l=i[s]/2-e[s]/2,d;switch(n){case"top":d={x:a,y:i.y-e.height};break;case"bottom":d={x:a,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:o};break;case"left":d={x:i.x-e.width,y:o};break;default:d={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":d[r]-=l;break;case"end":d[r]+=l;break}return d}function pE(i){return i.split("-")[0]}function AS(i){return["top","bottom"].includes(pE(i))?"y":"x"}var SS=Object.defineProperty,xS=(i,e,t)=>e in i?SS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,_l=(i,e,t)=>(xS(i,typeof e!="symbol"?e+"":e,t),t),Sr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),_l(this,"action"),_l(this,"relatedTarget"),this.action=e,this.relatedTarget=t}},Al=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),_l(this,"newState"),_l(this,"oldState"),this.newState=e,this.oldState=t}};var LS=Object.defineProperty,kS=(i,e,t)=>e in i?LS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,IS=(i,e,t)=>(kS(i,typeof e!="symbol"?e+"":e,t),t),qh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Se=(i,e,t)=>(qh(i,e,"read from private field"),t?t.call(i):e.get(i)),Ie=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},nr=(i,e,t,r)=>(qh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),we=(i,e,t)=>(qh(i,e,"access private method"),t),Li,ns,xr,gE,vE,Sl,xl,as,Oh,EE,Il,Ll,Nh,Uh,bE,Fh,yE,Bh,TE,fn,mn,os,pn,Rl,Yh,$h,_E,zh,AE,Hh,SE,jh,xE,Gh,LE,Wh,kE,va,wl,Kh,IE,Ea,Cl,kl,Vh;function ki({type:i,text:e,value:t,checked:r}){let s=O.createElement("media-chrome-menu-item");s.type=i!=null?i:"",s.part.add("menu-item"),i&&s.part.add(i),s.value=t,s.checked=r;let n=O.createElement("span");return n.textContent=e,s.append(n),s}function li(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}var RE=O.createElement("template");RE.innerHTML=`
213
+ `;var mE=i=>{let e=i.mediaIsAirplaying?Me.EXIT_AIRPLAY():Me.ENTER_AIRPLAY();i.setAttribute("aria-label",e)},Nh=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_AIRPLAYING,b.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:pE,...e})}connectedCallback(){super.connectedCallback(),mE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_AIRPLAYING&&mE(this)}get mediaIsAirplaying(){return Le(this,b.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){Ae(this,b.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return ce(this,b.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){le(this,b.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new _.CustomEvent(B.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};_.customElements.get("media-airplay-button")||_.customElements.define("media-airplay-button",Nh);function gE({anchor:i,floating:e,placement:t}){let r=_S({anchor:i,floating:e}),{x:s,y:n}=SS(r,t);return{x:s,y:n}}function _S({anchor:i,floating:e}){return{anchor:AS(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function AS(i,e){let t=i.getBoundingClientRect(),r=e.getBoundingClientRect();return{x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}function SS({anchor:i,floating:e},t){let r=xS(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=vE(t),a=i.x+i.width/2-e.width/2,o=i.y+i.height/2-e.height/2,l=i[s]/2-e[s]/2,d;switch(n){case"top":d={x:a,y:i.y-e.height};break;case"bottom":d={x:a,y:i.y+i.height};break;case"right":d={x:i.x+i.width,y:o};break;case"left":d={x:i.x-e.width,y:o};break;default:d={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":d[r]-=l;break;case"end":d[r]+=l;break}return d}function vE(i){return i.split("-")[0]}function xS(i){return["top","bottom"].includes(vE(i))?"y":"x"}var LS=Object.defineProperty,kS=(i,e,t)=>e in i?LS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,_l=(i,e,t)=>(kS(i,typeof e!="symbol"?e+"":e,t),t),Lr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),_l(this,"action"),_l(this,"relatedTarget"),this.action=e,this.relatedTarget=t}},Al=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),_l(this,"newState"),_l(this,"oldState"),this.newState=e,this.oldState=t}};var IS=Object.defineProperty,RS=(i,e,t)=>e in i?IS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,wS=(i,e,t)=>(RS(i,typeof e!="symbol"?e+"":e,t),t),zh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Se=(i,e,t)=>(zh(i,e,"read from private field"),t?t.call(i):e.get(i)),Ie=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ar=(i,e,t,r)=>(zh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),we=(i,e,t)=>(zh(i,e,"access private method"),t),Li,ns,kr,EE,bE,Sl,xl,as,Uh,yE,Il,Ll,Fh,Bh,TE,$h,_E,Hh,AE,fn,mn,os,pn,Rl,jh,Gh,SE,Xh,xE,Wh,LE,Qh,kE,Kh,IE,Vh,RE,va,wl,qh,wE,Ea,Cl,kl,Yh;function ki({type:i,text:e,value:t,checked:r}){let s=O.createElement("media-chrome-menu-item");s.type=i!=null?i:"",s.part.add("menu-item"),i&&s.part.add(i),s.value=t,s.checked=r;let n=O.createElement("span");return n.textContent=e,s.append(n),s}function li(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}var CE=O.createElement("template");CE.innerHTML=`
214
214
  <style>
215
215
  :host {
216
216
  font: var(--media-font,
@@ -372,16 +372,16 @@
372
372
  <slot></slot>
373
373
  </div>
374
374
  <slot name="checked-indicator" hidden></slot>
375
- `;var ss={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},yt=class extends _.HTMLElement{constructor(){super(),Ie(this,Oh),Ie(this,Ll),Ie(this,Uh),Ie(this,Fh),Ie(this,Bh),Ie(this,os),Ie(this,Rl),Ie(this,$h),Ie(this,zh),Ie(this,Hh),Ie(this,jh),Ie(this,Gh),Ie(this,Wh),Ie(this,va),Ie(this,Kh),Ie(this,Ea),Ie(this,kl),Ie(this,Li,void 0),Ie(this,ns,void 0),Ie(this,xr,void 0),Ie(this,gE,""),Ie(this,vE,null),Ie(this,Sl,new Set),Ie(this,xl,void 0),Ie(this,as,!1),Ie(this,Il,()=>{let e=Se(this,Sl),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));nr(this,Sl,t)}),Ie(this,fn,()=>{we(this,os,pn).call(this,!1),we(this,Rl,Yh).call(this,!1)}),Ie(this,mn,()=>{we(this,os,pn).call(this,!1)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),nr(this,xl,new MutationObserver(Se(this,Il))),Se(this,xl).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[ss.DISABLED,ss.HIDDEN,ss.STYLE,ss.ANCHOR,te.MEDIA_CONTROLLER]}static formatMenuItemText(e){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":we(this,Oh,EE).call(this,e);break;case"invoke":we(this,Uh,bE).call(this,e);break;case"click":we(this,$h,_E).call(this,e);break;case"toggle":we(this,Hh,SE).call(this,e);break;case"focusout":we(this,Gh,LE).call(this,e);break;case"keydown":we(this,Wh,kE).call(this,e);break}}connectedCallback(){var e,t;we(this,Ll,Nh).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),nr(this,Li,el(this)),(t=(e=Se(this,Li))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Kt(ba(this),Se(this,fn)),Kt(this,Se(this,mn)))}disconnectedCallback(){var e,t;Ai(ba(this),Se(this,fn)),Ai(this,Se(this,mn)),this.disable(),(t=(e=Se(this,Li))==null?void 0:e.unassociateElement)==null||t.call(e,this),nr(this,Li,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===ss.HIDDEN&&r!==t?(Se(this,as)||nr(this,as,!0),this.hidden?we(this,Bh,TE).call(this):we(this,Fh,yE).call(this),this.dispatchEvent(new Al({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===te.MEDIA_CONTROLLER?(t&&((n=(s=Se(this,Li))==null?void 0:s.unassociateElement)==null||n.call(s,this),nr(this,Li,null)),r&&this.isConnected&&(nr(this,Li,el(this)),(o=(a=Se(this,Li))==null?void 0:a.associateElement)==null||o.call(a,this))):e===ss.DISABLED&&r!==t?r==null?this.enable():this.disable():e===ss.STYLE&&r!==t&&we(this,Ll,Nh).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Qr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(RS)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&we(this,kl,Vh).call(this,t)}focus(){if(nr(this,ns,Xr()),this.items.length){we(this,Ea,Cl).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=we(this,va,wl).call(this,e);r&&(we(this,kl,Vh).call(this,r,r.type==="checkbox"),Se(this,xr)&&!this.hidden&&((t=Se(this,ns))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:s}=e,n=this.items,a=(r=(t=we(this,va,wl).call(this,e))!=null?t:we(this,Kh,IE).call(this))!=null?r:n[0],o=n.indexOf(a),l=Math.max(0,o);s==="ArrowDown"?l++:s==="ArrowUp"?l--:e.key==="Home"?l=0:e.key==="End"&&(l=n.length-1),l<0&&(l=n.length-1),l>n.length-1&&(l=0),we(this,Ea,Cl).call(this,n[l]),n[l].focus()}};Li=new WeakMap;ns=new WeakMap;xr=new WeakMap;gE=new WeakMap;vE=new WeakMap;Sl=new WeakMap;xl=new WeakMap;as=new WeakMap;Oh=new WeakSet;EE=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();if(["header","title"].includes(e.name)){let t=this.shadowRoot.querySelector('slot[name="header"]');t.hidden=e.assignedNodes().length===0}e.name||Se(this,Il).call(this)};Il=new WeakMap;Ll=new WeakSet;Nh=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};Uh=new WeakSet;bE=function(i){nr(this,xr,i.relatedTarget),mt(this,i.relatedTarget)||(this.hidden=!this.hidden)};Fh=new WeakSet;yE=function(){var i;(i=Se(this,xr))==null||i.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>we(this,os,pn).call(this,!1)),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Kt(ba(this),Se(this,fn)),Kt(this,Se(this,mn))};Bh=new WeakSet;TE=function(){var i;(i=Se(this,xr))==null||i.setAttribute("aria-expanded","false"),Ai(ba(this),Se(this,fn)),Ai(this,Se(this,mn))};fn=new WeakMap;mn=new WeakMap;os=new WeakSet;pn=function(i,e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:r}=mE({anchor:this.anchorElement,floating:this,placement:"top-start"});e!=null||(e=this.offsetWidth);let n=ba(this).getBoundingClientRect(),a=this.anchorElement.getBoundingClientRect(),o=n.width-t-e,l=n.height-r-this.offsetHeight,d=n.height-a.height,{style:u}=Te(this.shadowRoot,":host");i||u.setProperty("--media-menu-transition-in","none"),u.setProperty("position","absolute"),u.setProperty("right",`${Math.max(0,o)}px`),u.setProperty("bottom",`${l}px`),u.setProperty("--_menu-max-height",`${d}px`),u.removeProperty("--media-menu-transition-in")};Rl=new WeakSet;Yh=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=Te(this.shadowRoot,":host");if(i||r.setProperty("--media-menu-transition-in","none"),t){let s=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${s}px`),we(this,os,pn).call(this,i,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),we(this,os,pn).call(this,i);r.removeProperty("--media-menu-transition-in")};$h=new WeakSet;_E=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(Se(this,zh,AE))){(e=Se(this,ns))==null||e.focus(),this.hidden=!0;return}let t=we(this,va,wl).call(this,i);!t||t.hasAttribute("disabled")||(we(this,Ea,Cl).call(this,t),this.handleSelect(i))};zh=new WeakSet;AE=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.part.contains("back")&&t.part.contains("button"))};Hh=new WeakSet;SE=function(i){if(i.target===this)return;we(this,jh,xE).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);we(this,Rl,Yh).call(this,!0)};jh=new WeakSet;xE=function(){let i='[role="menuitem"] > [role="menu"]:not([hidden])',e=this.querySelector(i);this.container.classList.toggle("has-expanded",!!e)};Gh=new WeakSet;LE=function(i){var e;mt(this,i.relatedTarget)||(Se(this,as)&&((e=Se(this,ns))==null||e.focus()),Se(this,xr)&&Se(this,xr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};Wh=new WeakSet;kE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;if(!(o||l||d)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(Se(this,as)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()}else a==="Escape"?((n=Se(this,ns))==null||n.focus(),Se(this,as)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};va=new WeakSet;wl=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};Kh=new WeakSet;IE=function(){return this.items.find(i=>i.tabIndex===0)};Ea=new WeakSet;Cl=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};kl=new WeakSet;Vh=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};IS(yt,"template",RE);function RS(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function ba(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):Ye(i)||i.parentElement)!=null?e:i}_.customElements.get("media-chrome-menu")||_.customElements.define("media-chrome-menu",yt);var ef=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},wE=(i,e,t)=>(ef(i,e,"read from private field"),t?t.call(i):e.get(i)),Dl=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Xh=(i,e,t,r)=>(ef(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ml=(i,e,t)=>(ef(i,e,"access private method"),t),ya,Nl,Pl,Qh,Ol,Zh,Jh=class extends yt{constructor(){super(...arguments),Dl(this,Pl),Dl(this,Ol),Dl(this,ya,[]),Dl(this,Nl,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(Xh(this,ya,zo(r)),Ml(this,Pl,Qh).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ml(this,Ol,Zh))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ml(this,Ol,Zh))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return wE(this,ya)}set mediaAudioTrackList(e){Xh(this,ya,e),Ml(this,Pl,Qh).call(this)}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};ya=new WeakMap;Nl=new WeakMap;Pl=new WeakSet;Qh=function(){if(wE(this,Nl)===JSON.stringify(this.mediaAudioTrackList))return;Xh(this,Nl,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=ki({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(li(this,"checked-indicator")),this.defaultSlot.append(r)}};Ol=new WeakSet;Zh=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-audio-track-menu")||_.customElements.define("media-audio-track-menu",Jh);var Bt=class extends be{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Qr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){this.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:this}))}};_.customElements.get("media-chrome-menu-button")||_.customElements.define("media-chrome-menu-button",Bt);var wS=`<svg aria-hidden="true" viewBox="0 0 24 24">
375
+ `;var ss={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},yt=class extends _.HTMLElement{constructor(){super(),Ie(this,Uh),Ie(this,Ll),Ie(this,Bh),Ie(this,$h),Ie(this,Hh),Ie(this,os),Ie(this,Rl),Ie(this,Gh),Ie(this,Xh),Ie(this,Wh),Ie(this,Qh),Ie(this,Kh),Ie(this,Vh),Ie(this,va),Ie(this,qh),Ie(this,Ea),Ie(this,kl),Ie(this,Li,void 0),Ie(this,ns,void 0),Ie(this,kr,void 0),Ie(this,EE,""),Ie(this,bE,null),Ie(this,Sl,new Set),Ie(this,xl,void 0),Ie(this,as,!1),Ie(this,Il,()=>{let e=Se(this,Sl),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));ar(this,Sl,t)}),Ie(this,fn,()=>{we(this,os,pn).call(this,!1),we(this,Rl,jh).call(this,!1)}),Ie(this,mn,()=>{we(this,os,pn).call(this,!1)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),ar(this,xl,new MutationObserver(Se(this,Il))),Se(this,xl).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[ss.DISABLED,ss.HIDDEN,ss.STYLE,ss.ANCHOR,te.MEDIA_CONTROLLER]}static formatMenuItemText(e){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":we(this,Uh,yE).call(this,e);break;case"invoke":we(this,Bh,TE).call(this,e);break;case"click":we(this,Gh,SE).call(this,e);break;case"toggle":we(this,Wh,LE).call(this,e);break;case"focusout":we(this,Kh,IE).call(this,e);break;case"keydown":we(this,Vh,RE).call(this,e);break}}connectedCallback(){var e,t;we(this,Ll,Fh).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),ar(this,Li,el(this)),(t=(e=Se(this,Li))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Kt(ba(this),Se(this,fn)),Kt(this,Se(this,mn)))}disconnectedCallback(){var e,t;Ai(ba(this),Se(this,fn)),Ai(this,Se(this,mn)),this.disable(),(t=(e=Se(this,Li))==null?void 0:e.unassociateElement)==null||t.call(e,this),ar(this,Li,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===ss.HIDDEN&&r!==t?(Se(this,as)||ar(this,as,!0),this.hidden?we(this,Hh,AE).call(this):we(this,$h,_E).call(this),this.dispatchEvent(new Al({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===te.MEDIA_CONTROLLER?(t&&((n=(s=Se(this,Li))==null?void 0:s.unassociateElement)==null||n.call(s,this),ar(this,Li,null)),r&&this.isConnected&&(ar(this,Li,el(this)),(o=(a=Se(this,Li))==null?void 0:a.associateElement)==null||o.call(a,this))):e===ss.DISABLED&&r!==t?r==null?this.enable():this.disable():e===ss.STYLE&&r!==t&&we(this,Ll,Fh).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Qr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(CS)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&we(this,kl,Yh).call(this,t)}focus(){if(ar(this,ns,Xr()),this.items.length){we(this,Ea,Cl).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=we(this,va,wl).call(this,e);r&&(we(this,kl,Yh).call(this,r,r.type==="checkbox"),Se(this,kr)&&!this.hidden&&((t=Se(this,ns))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:s}=e,n=this.items,a=(r=(t=we(this,va,wl).call(this,e))!=null?t:we(this,qh,wE).call(this))!=null?r:n[0],o=n.indexOf(a),l=Math.max(0,o);s==="ArrowDown"?l++:s==="ArrowUp"?l--:e.key==="Home"?l=0:e.key==="End"&&(l=n.length-1),l<0&&(l=n.length-1),l>n.length-1&&(l=0),we(this,Ea,Cl).call(this,n[l]),n[l].focus()}};Li=new WeakMap;ns=new WeakMap;kr=new WeakMap;EE=new WeakMap;bE=new WeakMap;Sl=new WeakMap;xl=new WeakMap;as=new WeakMap;Uh=new WeakSet;yE=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();if(["header","title"].includes(e.name)){let t=this.shadowRoot.querySelector('slot[name="header"]');t.hidden=e.assignedNodes().length===0}e.name||Se(this,Il).call(this)};Il=new WeakMap;Ll=new WeakSet;Fh=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};Bh=new WeakSet;TE=function(i){ar(this,kr,i.relatedTarget),mt(this,i.relatedTarget)||(this.hidden=!this.hidden)};$h=new WeakSet;_E=function(){var i;(i=Se(this,kr))==null||i.setAttribute("aria-expanded","true"),requestAnimationFrame(()=>we(this,os,pn).call(this,!1)),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Kt(ba(this),Se(this,fn)),Kt(this,Se(this,mn))};Hh=new WeakSet;AE=function(){var i;(i=Se(this,kr))==null||i.setAttribute("aria-expanded","false"),Ai(ba(this),Se(this,fn)),Ai(this,Se(this,mn))};fn=new WeakMap;mn=new WeakMap;os=new WeakSet;pn=function(i,e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:r}=gE({anchor:this.anchorElement,floating:this,placement:"top-start"});e!=null||(e=this.offsetWidth);let n=ba(this).getBoundingClientRect(),a=this.anchorElement.getBoundingClientRect(),o=n.width-t-e,l=n.height-r-this.offsetHeight,d=n.height-a.height,{style:u}=Te(this.shadowRoot,":host");i||u.setProperty("--media-menu-transition-in","none"),u.setProperty("position","absolute"),u.setProperty("right",`${Math.max(0,o)}px`),u.setProperty("bottom",`${l}px`),u.setProperty("--_menu-max-height",`${d}px`),u.removeProperty("--media-menu-transition-in")};Rl=new WeakSet;jh=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=Te(this.shadowRoot,":host");if(i||r.setProperty("--media-menu-transition-in","none"),t){let s=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${s}px`),we(this,os,pn).call(this,i,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),we(this,os,pn).call(this,i);r.removeProperty("--media-menu-transition-in")};Gh=new WeakSet;SE=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(Se(this,Xh,xE))){(e=Se(this,ns))==null||e.focus(),this.hidden=!0;return}let t=we(this,va,wl).call(this,i);!t||t.hasAttribute("disabled")||(we(this,Ea,Cl).call(this,t),this.handleSelect(i))};Xh=new WeakSet;xE=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.part.contains("back")&&t.part.contains("button"))};Wh=new WeakSet;LE=function(i){if(i.target===this)return;we(this,Qh,kE).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new Lr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);we(this,Rl,jh).call(this,!0)};Qh=new WeakSet;kE=function(){let i='[role="menuitem"] > [role="menu"]:not([hidden])',e=this.querySelector(i);this.container.classList.toggle("has-expanded",!!e)};Kh=new WeakSet;IE=function(i){var e;mt(this,i.relatedTarget)||(Se(this,as)&&((e=Se(this,ns))==null||e.focus()),Se(this,kr)&&Se(this,kr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};Vh=new WeakSet;RE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;if(!(o||l||d)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(Se(this,as)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()}else a==="Escape"?((n=Se(this,ns))==null||n.focus(),Se(this,as)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};va=new WeakSet;wl=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};qh=new WeakSet;wE=function(){return this.items.find(i=>i.tabIndex===0)};Ea=new WeakSet;Cl=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};kl=new WeakSet;Yh=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};wS(yt,"template",CE);function CS(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function ba(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):Ye(i)||i.parentElement)!=null?e:i}_.customElements.get("media-chrome-menu")||_.customElements.define("media-chrome-menu",yt);var rf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},DE=(i,e,t)=>(rf(i,e,"read from private field"),t?t.call(i):e.get(i)),Dl=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Zh=(i,e,t,r)=>(rf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ml=(i,e,t)=>(rf(i,e,"access private method"),t),ya,Nl,Pl,Jh,Ol,ef,tf=class extends yt{constructor(){super(...arguments),Dl(this,Pl),Dl(this,Ol),Dl(this,ya,[]),Dl(this,Nl,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(Zh(this,ya,zo(r)),Ml(this,Pl,Jh).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ml(this,Ol,ef))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ml(this,Ol,ef))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return DE(this,ya)}set mediaAudioTrackList(e){Zh(this,ya,e),Ml(this,Pl,Jh).call(this)}get mediaAudioTrackEnabled(){return ce(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};ya=new WeakMap;Nl=new WeakMap;Pl=new WeakSet;Jh=function(){if(DE(this,Nl)===JSON.stringify(this.mediaAudioTrackList))return;Zh(this,Nl,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=ki({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(li(this,"checked-indicator")),this.defaultSlot.append(r)}};Ol=new WeakSet;ef=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-audio-track-menu")||_.customElements.define("media-audio-track-menu",tf);var $t=class extends be{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Qr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){this.invokeTargetElement.dispatchEvent(new Lr({relatedTarget:this}))}};_.customElements.get("media-chrome-menu-button")||_.customElements.define("media-chrome-menu-button",$t);var DS=`<svg aria-hidden="true" viewBox="0 0 24 24">
376
376
  <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
377
377
  <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
378
- </svg>`,CE=O.createElement("template");CE.innerHTML=`
379
- <slot name="icon">${wS}</slot>
380
- `;var tf=class extends Bt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:CE})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.AUDIO_TRACKS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};_.customElements.get("media-audio-track-menu-button")||_.customElements.define("media-audio-track-menu-button",tf);var CS=`<svg aria-hidden="true" viewBox="0 0 26 24">
378
+ </svg>`,ME=O.createElement("template");ME.innerHTML=`
379
+ <slot name="icon">${DS}</slot>
380
+ `;var sf=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:ME})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.AUDIO_TRACKS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){return ce(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};_.customElements.get("media-audio-track-menu-button")||_.customElements.define("media-audio-track-menu-button",sf);var MS=`<svg aria-hidden="true" viewBox="0 0 26 24">
381
381
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
382
- </svg>`,DS=`<svg aria-hidden="true" viewBox="0 0 26 24">
382
+ </svg>`,PS=`<svg aria-hidden="true" viewBox="0 0 26 24">
383
383
  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
384
- </svg>`,OE=O.createElement("template");OE.innerHTML=`
384
+ </svg>`,UE=O.createElement("template");UE.innerHTML=`
385
385
  <style>
386
386
  :host([aria-checked="true"]) slot[name=off] {
387
387
  display: none !important;
@@ -394,18 +394,18 @@
394
394
  </style>
395
395
 
396
396
  <slot name="icon">
397
- <slot name="on">${CS}</slot>
398
- <slot name="off">${DS}</slot>
397
+ <slot name="on">${MS}</slot>
398
+ <slot name="off">${PS}</slot>
399
399
  </slot>
400
- `;var DE=i=>{i.setAttribute("aria-checked",dl(i))},rf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:OE,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",De.CLOSED_CAPTIONS()),DE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&DE(this)}get mediaSubtitlesList(){return ME(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){PE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return ME(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){PE(this,b.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new _.CustomEvent(B.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},ME=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},PE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-button")||_.customElements.define("media-captions-button",rf);var MS=Object.defineProperty,PS=(i,e,t)=>e in i?MS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,OS=(i,e,t)=>(PS(i,typeof e!="symbol"?e+"":e,t),t),lf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},NS=(i,e,t)=>(lf(i,e,"read from private field"),t?t.call(i):e.get(i)),sf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},US=(i,e,t,r)=>(lf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),nf=(i,e,t)=>(lf(i,e,"access private method"),t),Fl,af,FE,Ul,of,FS=`
400
+ `;var PE=i=>{i.setAttribute("aria-checked",dl(i))},nf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:UE,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",De.CLOSED_CAPTIONS()),PE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&PE(this)}get mediaSubtitlesList(){return OE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){NE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return OE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){NE(this,b.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new _.CustomEvent(B.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},OE=(i,e)=>{let t=i.getAttribute(e);return t?sr(t):[]},NE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-button")||_.customElements.define("media-captions-button",nf);var OS=Object.defineProperty,NS=(i,e,t)=>e in i?OS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,US=(i,e,t)=>(NS(i,typeof e!="symbol"?e+"":e,t),t),uf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},FS=(i,e,t)=>(uf(i,e,"read from private field"),t?t.call(i):e.get(i)),af=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},BS=(i,e,t,r)=>(uf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),of=(i,e,t)=>(uf(i,e,"access private method"),t),Fl,lf,$E,Ul,df,$S=`
401
401
  <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
402
402
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
403
- </svg>`,BE=O.createElement("template");BE.innerHTML=yt.template.innerHTML+`
404
- <slot name="captions-indicator" hidden>${FS}</slot>`;var Bl=class extends yt{constructor(){super(...arguments),sf(this,af),sf(this,Ul),sf(this,Fl,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?nf(this,af,FE).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",nf(this,Ul,of))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",nf(this,Ul,of))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return NE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){UE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return NE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){UE(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Fl=new WeakMap;af=new WeakSet;FE=function(){var i;if(NS(this,Fl)===JSON.stringify(this.mediaSubtitlesList))return;US(this,Fl,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=ki({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=ki({type:"radio",text:this.formatMenuItemText(s.label,s),value:es(s),checked:this.value==es(s)});n.prepend(li(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(li(this,"captions-indicator")),this.defaultSlot.append(n)}};Ul=new WeakSet;of=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new _.CustomEvent(B.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new _.CustomEvent(B.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};OS(Bl,"template",BE);var NE=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},UE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-menu")||_.customElements.define("media-captions-menu",Bl);var BS=`<svg aria-hidden="true" viewBox="0 0 26 24">
403
+ </svg>`,HE=O.createElement("template");HE.innerHTML=yt.template.innerHTML+`
404
+ <slot name="captions-indicator" hidden>${$S}</slot>`;var Bl=class extends yt{constructor(){super(...arguments),af(this,lf),af(this,Ul),af(this,Fl,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?of(this,lf,$E).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",of(this,Ul,df))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",of(this,Ul,df))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return FE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){BE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return FE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){BE(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Fl=new WeakMap;lf=new WeakSet;$E=function(){var i;if(FS(this,Fl)===JSON.stringify(this.mediaSubtitlesList))return;BS(this,Fl,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=ki({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=ki({type:"radio",text:this.formatMenuItemText(s.label,s),value:es(s),checked:this.value==es(s)});n.prepend(li(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(li(this,"captions-indicator")),this.defaultSlot.append(n)}};Ul=new WeakSet;df=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new _.CustomEvent(B.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new _.CustomEvent(B.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};US(Bl,"template",HE);var FE=(i,e)=>{let t=i.getAttribute(e);return t?sr(t):[]},BE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-menu")||_.customElements.define("media-captions-menu",Bl);var HS=`<svg aria-hidden="true" viewBox="0 0 26 24">
405
405
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
406
- </svg>`,$S=`<svg aria-hidden="true" viewBox="0 0 26 24">
406
+ </svg>`,GS=`<svg aria-hidden="true" viewBox="0 0 26 24">
407
407
  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
408
- </svg>`,WE=O.createElement("template");WE.innerHTML=`
408
+ </svg>`,VE=O.createElement("template");VE.innerHTML=`
409
409
  <style>
410
410
  :host([aria-checked="true"]) slot[name=off] {
411
411
  display: none !important;
@@ -418,10 +418,10 @@
418
418
  </style>
419
419
 
420
420
  <slot name="icon">
421
- <slot name="on">${BS}</slot>
422
- <slot name="off">${$S}</slot>
421
+ <slot name="on">${HS}</slot>
422
+ <slot name="off">${GS}</slot>
423
423
  </slot>
424
- `;var $E=i=>{i.setAttribute("aria-checked",dl(i))},df=class extends Bt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:WE,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.CLOSED_CAPTIONS()),$E(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&$E(this)}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-captions-menu")}get mediaSubtitlesList(){return HE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){GE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return HE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){GE(this,b.MEDIA_SUBTITLES_SHOWING,e)}},HE=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},GE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-menu-button")||_.customElements.define("media-captions-menu-button",df);var HS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',GS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',VE=O.createElement("template");VE.innerHTML=`
424
+ `;var GE=i=>{i.setAttribute("aria-checked",dl(i))},cf=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:VE,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.CLOSED_CAPTIONS()),GE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_SHOWING&&GE(this)}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-captions-menu")}get mediaSubtitlesList(){return WE(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){KE(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return WE(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){KE(this,b.MEDIA_SUBTITLES_SHOWING,e)}},WE=(i,e)=>{let t=i.getAttribute(e);return t?sr(t):[]},KE=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-menu-button")||_.customElements.define("media-captions-menu-button",cf);var WS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',KS='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',YE=O.createElement("template");YE.innerHTML=`
425
425
  <style>
426
426
  :host([${b.MEDIA_IS_CASTING}]) slot:not([name=exit]):not([name=icon]) {
427
427
  display: none !important;
@@ -434,10 +434,10 @@
434
434
  </style>
435
435
 
436
436
  <slot name="icon">
437
- <slot name="enter">${HS}</slot>
438
- <slot name="exit">${GS}</slot>
437
+ <slot name="enter">${WS}</slot>
438
+ <slot name="exit">${KS}</slot>
439
439
  </slot>
440
- `;var KE=i=>{let e=i.mediaIsCasting?Me.EXIT_CAST():Me.ENTER_CAST();i.setAttribute("aria-label",e)},uf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_CASTING,b.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:VE,...e})}connectedCallback(){super.connectedCallback(),KE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_CASTING&&KE(this)}get mediaIsCasting(){return Le(this,b.MEDIA_IS_CASTING)}set mediaIsCasting(e){Ae(this,b.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return ue(this,b.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){le(this,b.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?B.MEDIA_EXIT_CAST_REQUEST:B.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-cast-button")||_.customElements.define("media-cast-button",uf);var WS=Object.defineProperty,KS=(i,e,t)=>e in i?WS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,VS=(i,e,t)=>(KS(i,typeof e!="symbol"?e+"":e,t),t),vf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},gn=(i,e,t)=>(vf(i,e,"read from private field"),t?t.call(i):e.get(i)),ls=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},qE=(i,e,t,r)=>(vf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ta=(i,e,t)=>(vf(i,e,"access private method"),t),_a,ds,hf,YE,ff,zE,mf,jE,pf,XE,gf,QE,ZE=O.createElement("template");ZE.innerHTML=`
440
+ `;var qE=i=>{let e=i.mediaIsCasting?Me.EXIT_CAST():Me.ENTER_CAST();i.setAttribute("aria-label",e)},hf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_CASTING,b.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:YE,...e})}connectedCallback(){super.connectedCallback(),qE(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_CASTING&&qE(this)}get mediaIsCasting(){return Le(this,b.MEDIA_IS_CASTING)}set mediaIsCasting(e){Ae(this,b.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return ce(this,b.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){le(this,b.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?B.MEDIA_EXIT_CAST_REQUEST:B.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-cast-button")||_.customElements.define("media-cast-button",hf);var VS=Object.defineProperty,qS=(i,e,t)=>e in i?VS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,YS=(i,e,t)=>(qS(i,typeof e!="symbol"?e+"":e,t),t),bf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},gn=(i,e,t)=>(bf(i,e,"read from private field"),t?t.call(i):e.get(i)),ls=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},zE=(i,e,t,r)=>(bf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ta=(i,e,t)=>(bf(i,e,"access private method"),t),_a,ds,mf,jE,pf,XE,gf,QE,vf,ZE,Ef,JE,eb=O.createElement("template");eb.innerHTML=`
441
441
  <style>
442
442
  :host {
443
443
  font: var(--media-font,
@@ -474,7 +474,7 @@
474
474
  }
475
475
  </style>
476
476
  <slot></slot>
477
- `;var cf={HIDDEN:"hidden",ANCHOR:"anchor"},$l=class extends _.HTMLElement{constructor(){super(),ls(this,hf),ls(this,ff),ls(this,mf),ls(this,pf),ls(this,gf),ls(this,_a,void 0),ls(this,ds,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[cf.HIDDEN,cf.ANCHOR]}handleEvent(e){switch(e.type){case"invoke":Ta(this,mf,jE).call(this,e);break;case"focusout":Ta(this,pf,XE).call(this,e);break;case"keydown":Ta(this,gf,QE).call(this,e);break}}connectedCallback(){this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){e===cf.HIDDEN&&r!==t&&(this.hidden?Ta(this,ff,zE).call(this):Ta(this,hf,YE).call(this))}focus(){qE(this,_a,Xr());let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}get keysUsed(){return["Escape","Tab"]}};_a=new WeakMap;ds=new WeakMap;hf=new WeakSet;YE=function(){var i;(i=gn(this,ds))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};ff=new WeakSet;zE=function(){var i;(i=gn(this,ds))==null||i.setAttribute("aria-expanded","false")};mf=new WeakSet;jE=function(i){qE(this,ds,i.relatedTarget),mt(this,i.relatedTarget)||(this.hidden=!this.hidden)};pf=new WeakSet;XE=function(i){var e;mt(this,i.relatedTarget)||((e=gn(this,_a))==null||e.focus(),gn(this,ds)&&gn(this,ds)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};gf=new WeakSet;QE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;o||l||d||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()):a==="Escape"&&((n=gn(this,_a))==null||n.focus(),this.hidden=!0))};VS($l,"template",ZE);_.customElements.get("media-chrome-dialog")||_.customElements.define("media-chrome-dialog",$l);var qS=Object.defineProperty,YS=(i,e,t)=>e in i?qS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,zS=(i,e,t)=>(YS(i,typeof e!="symbol"?e+"":e,t),t),Af=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ri=(i,e,t)=>(Af(i,e,"read from private field"),t?t.call(i):e.get(i)),ar=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ef=(i,e,t,r)=>(Af(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ii=(i,e,t)=>(Af(i,e,"access private method"),t),Hl,Sa,bf,JE,Sf,eb,xf,tb,wi,vn,xa,yf,ib,Gl,Tf,rb=O.createElement("template");rb.innerHTML=`
477
+ `;var ff={HIDDEN:"hidden",ANCHOR:"anchor"},$l=class extends _.HTMLElement{constructor(){super(),ls(this,mf),ls(this,pf),ls(this,gf),ls(this,vf),ls(this,Ef),ls(this,_a,void 0),ls(this,ds,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=this.constructor.template.content.cloneNode(!0),this.shadowRoot.append(this.nativeEl)),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[ff.HIDDEN,ff.ANCHOR]}handleEvent(e){switch(e.type){case"invoke":Ta(this,gf,QE).call(this,e);break;case"focusout":Ta(this,vf,ZE).call(this,e);break;case"keydown":Ta(this,Ef,JE).call(this,e);break}}connectedCallback(){this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){e===ff.HIDDEN&&r!==t&&(this.hidden?Ta(this,pf,XE).call(this):Ta(this,mf,jE).call(this))}focus(){zE(this,_a,Xr());let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}get keysUsed(){return["Escape","Tab"]}};_a=new WeakMap;ds=new WeakMap;mf=new WeakSet;jE=function(){var i;(i=gn(this,ds))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};pf=new WeakSet;XE=function(){var i;(i=gn(this,ds))==null||i.setAttribute("aria-expanded","false")};gf=new WeakSet;QE=function(i){zE(this,ds,i.relatedTarget),mt(this,i.relatedTarget)||(this.hidden=!this.hidden)};vf=new WeakSet;ZE=function(i){var e;mt(this,i.relatedTarget)||((e=gn(this,_a))==null||e.focus(),gn(this,ds)&&gn(this,ds)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};Ef=new WeakSet;JE=function(i){var e,t,r,s,n;let{key:a,ctrlKey:o,altKey:l,metaKey:d}=i;o||l||d||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(s=(r=this.nextElementSibling)==null?void 0:r.focus)==null||s.call(r),this.blur()):a==="Escape"&&((n=gn(this,_a))==null||n.focus(),this.hidden=!0))};YS($l,"template",eb);_.customElements.get("media-chrome-dialog")||_.customElements.define("media-chrome-dialog",$l);var zS=Object.defineProperty,jS=(i,e,t)=>e in i?zS(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,XS=(i,e,t)=>(jS(i,typeof e!="symbol"?e+"":e,t),t),xf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ri=(i,e,t)=>(xf(i,e,"read from private field"),t?t.call(i):e.get(i)),or=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yf=(i,e,t,r)=>(xf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ii=(i,e,t)=>(xf(i,e,"access private method"),t),Hl,Sa,Tf,tb,Lf,ib,kf,rb,wi,vn,xa,_f,sb,Gl,Af,nb=O.createElement("template");nb.innerHTML=`
478
478
  <style>
479
479
  :host {
480
480
  transition: var(--media-menu-item-transition,
@@ -590,7 +590,7 @@
590
590
  <slot name="description"></slot>
591
591
  <slot name="suffix"></slot>
592
592
  <slot name="submenu"></slot>
593
- `;var Yt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},us=class extends _.HTMLElement{constructor(){super(),ar(this,bf),ar(this,Sf),ar(this,xf),ar(this,vn),ar(this,yf),ar(this,Gl),ar(this,Hl,!1),ar(this,Sa,void 0),ar(this,wi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(t=(e=this.submenuElement.checkedItems)==null?void 0:e[0])==null?void 0:t.text,n=O.createElement("span");n.textContent=s!=null?s:"",r.replaceChildren(n)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Yt.TYPE,Yt.DISABLED,Yt.CHECKED,Yt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),Aa(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":Ii(this,bf,JE).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":Ii(this,yf,ib).call(this,e);break;case"keyup":Ii(this,vn,xa).call(this,e);break}}attributeChangedCallback(e,t,r){e===Yt.CHECKED&&Aa(this)&&!Ri(this,Hl)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Yt.TYPE&&r!==t?this.role="menuitem"+r:e===Yt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Yt.DISABLED)||this.enable(),this.role="menuitem"+this.type,Ef(this,Sa,_f(this,this.parentNode)),Ii(this,Gl,Tf).call(this)}disconnectedCallback(){this.disable(),Ii(this,Gl,Tf).call(this),Ef(this,Sa,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Qr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(Yt.TYPE))!=null?e:""}set type(e){this.setAttribute(Yt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Yt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Yt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(Aa(this))return this.getAttribute("aria-checked")==="true"}set checked(e){Aa(this)&&(Ef(this,Hl,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){Aa(this)||this.invokeTargetElement&&mt(this,e.target)&&this.invokeTargetElement.dispatchEvent(new Sr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};Hl=new WeakMap;Sa=new WeakMap;bf=new WeakSet;JE=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?Ii(this,Sf,eb).call(this):Ii(this,xf,tb).call(this))};Sf=new WeakSet;eb=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Ri(this,wi)),this.submenuElement.addEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.addEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};xf=new WeakSet;tb=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Ri(this,wi)),this.submenuElement.removeEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.removeEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};wi=new WeakMap;vn=new WeakSet;xa=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",Ii(this,vn,xa));return}this.handleClick(i)};yf=new WeakSet;ib=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",Ii(this,vn,xa));return}this.addEventListener("keyup",Ii(this,vn,xa),{once:!0})};Gl=new WeakSet;Tf=function(){var i;let e=(i=Ri(this,Sa))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};zS(us,"template",rb);function Aa(i){return i.type==="radio"||i.type==="checkbox"}function _f(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?_f(i,t):e!=null&&e.items?e:_f(e,e==null?void 0:e.parentNode)}_.customElements.get("media-chrome-menu-item")||_.customElements.define("media-chrome-menu-item",us);var Df=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},He=(i,e,t)=>(Df(i,e,"read from private field"),t?t.call(i):e.get(i)),pt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Lr=(i,e,t,r)=>(Df(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),di=(i,e,t)=>(Df(i,e,"access private method"),t),Ci,Zl,Wl,Kl,ui,Xl,Vl,ql,Yl,Mf,sb,zl,Lf,jl,kf,Ql,Pf,If,nb,Rf,ab,wf,ob,Cf,lb,db=O.createElement("template");db.innerHTML=`
593
+ `;var Yt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},us=class extends _.HTMLElement{constructor(){super(),or(this,Tf),or(this,Lf),or(this,kf),or(this,vn),or(this,_f),or(this,Gl),or(this,Hl,!1),or(this,Sa,void 0),or(this,wi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(t=(e=this.submenuElement.checkedItems)==null?void 0:e[0])==null?void 0:t.text,n=O.createElement("span");n.textContent=s!=null?s:"",r.replaceChildren(n)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Yt.TYPE,Yt.DISABLED,Yt.CHECKED,Yt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),Aa(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":Ii(this,Tf,tb).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":Ii(this,_f,sb).call(this,e);break;case"keyup":Ii(this,vn,xa).call(this,e);break}}attributeChangedCallback(e,t,r){e===Yt.CHECKED&&Aa(this)&&!Ri(this,Hl)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Yt.TYPE&&r!==t?this.role="menuitem"+r:e===Yt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Yt.DISABLED)||this.enable(),this.role="menuitem"+this.type,yf(this,Sa,Sf(this,this.parentNode)),Ii(this,Gl,Af).call(this)}disconnectedCallback(){this.disable(),Ii(this,Gl,Af).call(this),yf(this,Sa,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Qr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(Yt.TYPE))!=null?e:""}set type(e){this.setAttribute(Yt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Yt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Yt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(Aa(this))return this.getAttribute("aria-checked")==="true"}set checked(e){Aa(this)&&(yf(this,Hl,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){Aa(this)||this.invokeTargetElement&&mt(this,e.target)&&this.invokeTargetElement.dispatchEvent(new Lr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};Hl=new WeakMap;Sa=new WeakMap;Tf=new WeakSet;tb=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?Ii(this,Lf,ib).call(this):Ii(this,kf,rb).call(this))};Lf=new WeakSet;ib=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Ri(this,wi)),this.submenuElement.addEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.addEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};kf=new WeakSet;rb=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Ri(this,wi)),this.submenuElement.removeEventListener("addmenuitem",Ri(this,wi)),this.submenuElement.removeEventListener("removemenuitem",Ri(this,wi)),Ri(this,wi).call(this)};wi=new WeakMap;vn=new WeakSet;xa=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",Ii(this,vn,xa));return}this.handleClick(i)};_f=new WeakSet;sb=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",Ii(this,vn,xa));return}this.addEventListener("keyup",Ii(this,vn,xa),{once:!0})};Gl=new WeakSet;Af=function(){var i;let e=(i=Ri(this,Sa))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};XS(us,"template",nb);function Aa(i){return i.type==="radio"||i.type==="checkbox"}function Sf(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?Sf(i,t):e!=null&&e.items?e:Sf(e,e==null?void 0:e.parentNode)}_.customElements.get("media-chrome-menu-item")||_.customElements.define("media-chrome-menu-item",us);var Pf=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},He=(i,e,t)=>(Pf(i,e,"read from private field"),t?t.call(i):e.get(i)),pt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ir=(i,e,t,r)=>(Pf(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),di=(i,e,t)=>(Pf(i,e,"access private method"),t),Ci,Zl,Wl,Kl,ui,Xl,Vl,ql,Yl,Of,ab,zl,If,jl,Rf,Ql,Nf,wf,ob,Cf,lb,Df,db,Mf,ub,cb=O.createElement("template");cb.innerHTML=`
594
594
  <style>
595
595
  :host {
596
596
  --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
@@ -826,7 +826,7 @@
826
826
  <input id="range" type="range" min="0" max="1" step="any" value="0">
827
827
  </div>
828
828
  <div id="rightgap"></div>
829
- `;var cs=class extends _.HTMLElement{constructor(){super(),pt(this,Mf),pt(this,zl),pt(this,jl),pt(this,Ql),pt(this,If),pt(this,Rf),pt(this,wf),pt(this,Cf),pt(this,Ci,void 0),pt(this,Zl,void 0),pt(this,Wl,void 0),pt(this,Kl,void 0),pt(this,ui,{}),pt(this,Xl,[]),pt(this,Vl,()=>{if(this.range.matches(":focus-visible")){let{style:e}=Te(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),pt(this,ql,()=>{let{style:e}=Te(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),pt(this,Yl,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(db.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),Lr(this,Wl,this.shadowRoot.querySelector("#startpoint")),Lr(this,Kl,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",te.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER?(t&&((n=(s=He(this,Ci))==null?void 0:s.unassociateElement)==null||n.call(s,this),Lr(this,Ci,null)),r&&this.isConnected&&(Lr(this,Ci,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=He(this,Ci))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),di(this,zl,Lf).call(this)):(this.range.setAttribute(e,r),di(this,jl,kf).call(this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),He(this,ui).pointer=Te(this.shadowRoot,"#pointer"),He(this,ui).progress=Te(this.shadowRoot,"#progress"),He(this,ui).thumb=Te(this.shadowRoot,"#thumb");let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(Lr(this,Ci,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=He(this,Ci))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",He(this,Vl)),this.shadowRoot.addEventListener("focusout",He(this,ql)),di(this,zl,Lf).call(this),Kt(this.container,He(this,Yl))}disconnectedCallback(){var e,t;di(this,jl,kf).call(this),(t=(e=He(this,Ci))==null?void 0:e.unassociateElement)==null||t.call(e,this),Lr(this,Ci,null),this.shadowRoot.removeEventListener("focusin",He(this,Vl)),this.shadowRoot.removeEventListener("focusout",He(this,ql)),Ai(this.container,He(this,Yl))}updatePointerBar(e){var t;(t=He(this,ui).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=He(this,ui).progress)==null||e.style.setProperty("width",`${r}%`),(t=He(this,ui).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;He(this,ui).activeSegment=gh(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];Lr(this,Xl,[...r]);let s=r.pop();for(let[n,a]of r.entries()){let[o,l]=[n===0,n===r.length-1],d=o?"calc(var(--segments-gap) / -1)":`${a*100}%`,c=`calc(${((l?s:r[n+1])-a)*100}%${o||l?"":" - var(--segments-gap)"})`,h=O.createElementNS("http://www.w3.org/2000/svg","rect"),f=Te(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){let t=Ov(e.clientX,e.clientY,He(this,Wl).getBoundingClientRect(),He(this,Kl).getBoundingClientRect());return Math.max(0,Math.min(1,t))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":di(this,Cf,lb).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":di(this,If,nb).call(this,e);break;case"pointerdown":di(this,Ql,Pf).call(this,e);break;case"pointerup":di(this,Rf,ab).call(this);break;case"pointerleave":di(this,wf,ob).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};Ci=new WeakMap;Zl=new WeakMap;Wl=new WeakMap;Kl=new WeakMap;ui=new WeakMap;Xl=new WeakMap;Vl=new WeakMap;ql=new WeakMap;Yl=new WeakMap;Mf=new WeakSet;sb=function(i){let e=He(this,ui).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${He(this,Xl).findIndex((n,a,o)=>{let l=o[a+1];return l!=null&&t>=n&&t<=l})+1})`;(e.selectorText!=s||!e.style.transform)&&(e.selectorText=s,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};zl=new WeakSet;Lf=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};jl=new WeakSet;kf=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=_.window)==null||i.removeEventListener("pointerup",this),(e=_.window)==null||e.removeEventListener("pointermove",this)};Ql=new WeakSet;Pf=function(i){var e;Lr(this,Zl,i.composedPath().includes(this.range)),(e=_.window)==null||e.addEventListener("pointerup",this)};If=new WeakSet;nb=function(i){var e;i.pointerType!=="mouse"&&di(this,Ql,Pf).call(this,i),this.addEventListener("pointerleave",this),(e=_.window)==null||e.addEventListener("pointermove",this)};Rf=new WeakSet;ab=function(){var i;(i=_.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};wf=new WeakSet;ob=function(){var i,e;this.removeEventListener("pointerleave",this),(i=_.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=He(this,ui).activeSegment)==null||e.style.removeProperty("transform")};Cf=new WeakSet;lb=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),di(this,Mf,sb).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!He(this,Zl))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};_.customElements.get("media-chrome-range")||_.customElements.define("media-chrome-range",cs);var ub=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Jl=(i,e,t)=>(ub(i,e,"read from private field"),t?t.call(i):e.get(i)),jS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ed=(i,e,t,r)=>(ub(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Di,cb=O.createElement("template");cb.innerHTML=`
829
+ `;var cs=class extends _.HTMLElement{constructor(){super(),pt(this,Of),pt(this,zl),pt(this,jl),pt(this,Ql),pt(this,wf),pt(this,Cf),pt(this,Df),pt(this,Mf),pt(this,Ci,void 0),pt(this,Zl,void 0),pt(this,Wl,void 0),pt(this,Kl,void 0),pt(this,ui,{}),pt(this,Xl,[]),pt(this,Vl,()=>{if(this.range.matches(":focus-visible")){let{style:e}=Te(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),pt(this,ql,()=>{let{style:e}=Te(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),pt(this,Yl,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(cb.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),Ir(this,Wl,this.shadowRoot.querySelector("#startpoint")),Ir(this,Kl,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",te.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER?(t&&((n=(s=He(this,Ci))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ir(this,Ci,null)),r&&this.isConnected&&(Ir(this,Ci,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=He(this,Ci))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),di(this,zl,If).call(this)):(this.range.setAttribute(e,r),di(this,jl,Rf).call(this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),He(this,ui).pointer=Te(this.shadowRoot,"#pointer"),He(this,ui).progress=Te(this.shadowRoot,"#progress"),He(this,ui).thumb=Te(this.shadowRoot,"#thumb");let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(Ir(this,Ci,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=He(this,Ci))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",He(this,Vl)),this.shadowRoot.addEventListener("focusout",He(this,ql)),di(this,zl,If).call(this),Kt(this.container,He(this,Yl))}disconnectedCallback(){var e,t;di(this,jl,Rf).call(this),(t=(e=He(this,Ci))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ir(this,Ci,null),this.shadowRoot.removeEventListener("focusin",He(this,Vl)),this.shadowRoot.removeEventListener("focusout",He(this,ql)),Ai(this.container,He(this,Yl))}updatePointerBar(e){var t;(t=He(this,ui).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=He(this,ui).progress)==null||e.style.setProperty("width",`${r}%`),(t=He(this,ui).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;He(this,ui).activeSegment=Eh(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];Ir(this,Xl,[...r]);let s=r.pop();for(let[n,a]of r.entries()){let[o,l]=[n===0,n===r.length-1],d=o?"calc(var(--segments-gap) / -1)":`${a*100}%`,c=`calc(${((l?s:r[n+1])-a)*100}%${o||l?"":" - var(--segments-gap)"})`,h=O.createElementNS("http://www.w3.org/2000/svg","rect"),f=Te(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){let t=Uv(e.clientX,e.clientY,He(this,Wl).getBoundingClientRect(),He(this,Kl).getBoundingClientRect());return Math.max(0,Math.min(1,t))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":di(this,Mf,ub).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":di(this,wf,ob).call(this,e);break;case"pointerdown":di(this,Ql,Nf).call(this,e);break;case"pointerup":di(this,Cf,lb).call(this);break;case"pointerleave":di(this,Df,db).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};Ci=new WeakMap;Zl=new WeakMap;Wl=new WeakMap;Kl=new WeakMap;ui=new WeakMap;Xl=new WeakMap;Vl=new WeakMap;ql=new WeakMap;Yl=new WeakMap;Of=new WeakSet;ab=function(i){let e=He(this,ui).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${He(this,Xl).findIndex((n,a,o)=>{let l=o[a+1];return l!=null&&t>=n&&t<=l})+1})`;(e.selectorText!=s||!e.style.transform)&&(e.selectorText=s,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};zl=new WeakSet;If=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};jl=new WeakSet;Rf=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=_.window)==null||i.removeEventListener("pointerup",this),(e=_.window)==null||e.removeEventListener("pointermove",this)};Ql=new WeakSet;Nf=function(i){var e;Ir(this,Zl,i.composedPath().includes(this.range)),(e=_.window)==null||e.addEventListener("pointerup",this)};wf=new WeakSet;ob=function(i){var e;i.pointerType!=="mouse"&&di(this,Ql,Nf).call(this,i),this.addEventListener("pointerleave",this),(e=_.window)==null||e.addEventListener("pointermove",this)};Cf=new WeakSet;lb=function(){var i;(i=_.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};Df=new WeakSet;db=function(){var i,e;this.removeEventListener("pointerleave",this),(i=_.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=He(this,ui).activeSegment)==null||e.style.removeProperty("transform")};Mf=new WeakSet;ub=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),di(this,Of,ab).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!He(this,Zl))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};_.customElements.get("media-chrome-range")||_.customElements.define("media-chrome-range",cs);var hb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Jl=(i,e,t)=>(hb(i,e,"read from private field"),t?t.call(i):e.get(i)),QS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ed=(i,e,t,r)=>(hb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Di,fb=O.createElement("template");fb.innerHTML=`
830
830
  <style>
831
831
  :host {
832
832
 
@@ -848,7 +848,7 @@
848
848
  </style>
849
849
 
850
850
  <slot></slot>
851
- `;var Of=class extends _.HTMLElement{constructor(){super(),jS(this,Di,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(cb.content.cloneNode(!0)))}static get observedAttributes(){return[te.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER&&(t&&((n=(s=Jl(this,Di))==null?void 0:s.unassociateElement)==null||n.call(s,this),ed(this,Di,null)),r&&this.isConnected&&(ed(this,Di,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Jl(this,Di))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(ed(this,Di,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Jl(this,Di))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Jl(this,Di))==null?void 0:e.unassociateElement)==null||t.call(e,this),ed(this,Di,null)}};Di=new WeakMap;_.customElements.get("media-control-bar")||_.customElements.define("media-control-bar",Of);var hb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},td=(i,e,t)=>(hb(i,e,"read from private field"),t?t.call(i):e.get(i)),XS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},id=(i,e,t,r)=>(hb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Mi,fb=O.createElement("template");fb.innerHTML=`
851
+ `;var Uf=class extends _.HTMLElement{constructor(){super(),QS(this,Di,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(fb.content.cloneNode(!0)))}static get observedAttributes(){return[te.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER&&(t&&((n=(s=Jl(this,Di))==null?void 0:s.unassociateElement)==null||n.call(s,this),ed(this,Di,null)),r&&this.isConnected&&(ed(this,Di,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Jl(this,Di))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(ed(this,Di,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Jl(this,Di))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Jl(this,Di))==null?void 0:e.unassociateElement)==null||t.call(e,this),ed(this,Di,null)}};Di=new WeakMap;_.customElements.get("media-control-bar")||_.customElements.define("media-control-bar",Uf);var mb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},td=(i,e,t)=>(mb(i,e,"read from private field"),t?t.call(i):e.get(i)),ZS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},id=(i,e,t,r)=>(mb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Mi,pb=O.createElement("template");pb.innerHTML=`
852
852
  <style>
853
853
  :host {
854
854
  font: var(--media-font,
@@ -881,11 +881,11 @@
881
881
  }
882
882
  </style>
883
883
  <slot></slot>
884
- `;var Pi=class extends _.HTMLElement{constructor(){super(),XS(this,Mi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(fb.content.cloneNode(!0)))}static get observedAttributes(){return[te.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER&&(t&&((n=(s=td(this,Mi))==null?void 0:s.unassociateElement)==null||n.call(s,this),id(this,Mi,null)),r&&this.isConnected&&(id(this,Mi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=td(this,Mi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(id(this,Mi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=td(this,Mi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=td(this,Mi))==null?void 0:e.unassociateElement)==null||t.call(e,this),id(this,Mi,null)}};Mi=new WeakMap;_.customElements.get("media-text-display")||_.customElements.define("media-text-display",Pi);var mb=Pi;var gb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},pb=(i,e,t)=>(gb(i,e,"read from private field"),t?t.call(i):e.get(i)),QS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ZS=(i,e,t,r)=>(gb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),La,Nf=class extends Pi{constructor(){super(),QS(this,La,void 0),ZS(this,La,this.shadowRoot.querySelector("slot")),pb(this,La).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===b.MEDIA_DURATION&&(pb(this,La).textContent=_i(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return Ee(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}};La=new WeakMap;_.customElements.get("media-duration-display")||_.customElements.define("media-duration-display",Nf);var JS=`<svg aria-hidden="true" viewBox="0 0 26 24">
884
+ `;var Pi=class extends _.HTMLElement{constructor(){super(),ZS(this,Mi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(pb.content.cloneNode(!0)))}static get observedAttributes(){return[te.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER&&(t&&((n=(s=td(this,Mi))==null?void 0:s.unassociateElement)==null||n.call(s,this),id(this,Mi,null)),r&&this.isConnected&&(id(this,Mi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=td(this,Mi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(id(this,Mi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=td(this,Mi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=td(this,Mi))==null?void 0:e.unassociateElement)==null||t.call(e,this),id(this,Mi,null)}};Mi=new WeakMap;_.customElements.get("media-text-display")||_.customElements.define("media-text-display",Pi);var gb=Pi;var Eb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},vb=(i,e,t)=>(Eb(i,e,"read from private field"),t?t.call(i):e.get(i)),JS=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ex=(i,e,t,r)=>(Eb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),La,Ff=class extends Pi{constructor(){super(),JS(this,La,void 0),ex(this,La,this.shadowRoot.querySelector("slot")),vb(this,La).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===b.MEDIA_DURATION&&(vb(this,La).textContent=_i(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return Ee(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}};La=new WeakMap;_.customElements.get("media-duration-display")||_.customElements.define("media-duration-display",Ff);var tx=`<svg aria-hidden="true" viewBox="0 0 26 24">
885
885
  <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/>
886
- </svg>`,ex=`<svg aria-hidden="true" viewBox="0 0 26 24">
886
+ </svg>`,ix=`<svg aria-hidden="true" viewBox="0 0 26 24">
887
887
  <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/>
888
- </svg>`,Eb=O.createElement("template");Eb.innerHTML=`
888
+ </svg>`,yb=O.createElement("template");yb.innerHTML=`
889
889
  <style>
890
890
  :host([${b.MEDIA_IS_FULLSCREEN}]) slot:not([name=exit]):not([name=icon]) {
891
891
  display: none !important;
@@ -898,10 +898,10 @@
898
898
  </style>
899
899
 
900
900
  <slot name="icon">
901
- <slot name="enter">${JS}</slot>
902
- <slot name="exit">${ex}</slot>
901
+ <slot name="enter">${tx}</slot>
902
+ <slot name="exit">${ix}</slot>
903
903
  </slot>
904
- `;var vb=i=>{let e=i.mediaIsFullscreen?Me.EXIT_FULLSCREEN():Me.ENTER_FULLSCREEN();i.setAttribute("aria-label",e)},Uf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_FULLSCREEN,b.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Eb,...e})}connectedCallback(){super.connectedCallback(),vb(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_FULLSCREEN&&vb(this)}get mediaFullscreenUnavailable(){return ue(this,b.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){le(this,b.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Le(this,b.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Ae(this,b.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?B.MEDIA_EXIT_FULLSCREEN_REQUEST:B.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-fullscreen-button")||_.customElements.define("media-fullscreen-button",Uf);var{MEDIA_TIME_IS_LIVE:rd,MEDIA_PAUSED:ka}=b,{MEDIA_SEEK_TO_LIVE_REQUEST:tx,MEDIA_PLAY_REQUEST:ix}=B,rx='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',yb=O.createElement("template");yb.innerHTML=`
904
+ `;var bb=i=>{let e=i.mediaIsFullscreen?Me.EXIT_FULLSCREEN():Me.ENTER_FULLSCREEN();i.setAttribute("aria-label",e)},Bf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_FULLSCREEN,b.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:yb,...e})}connectedCallback(){super.connectedCallback(),bb(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_IS_FULLSCREEN&&bb(this)}get mediaFullscreenUnavailable(){return ce(this,b.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){le(this,b.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Le(this,b.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Ae(this,b.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?B.MEDIA_EXIT_FULLSCREEN_REQUEST:B.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-fullscreen-button")||_.customElements.define("media-fullscreen-button",Bf);var{MEDIA_TIME_IS_LIVE:rd,MEDIA_PAUSED:ka}=b,{MEDIA_SEEK_TO_LIVE_REQUEST:rx,MEDIA_PLAY_REQUEST:sx}=B,nx='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',_b=O.createElement("template");_b.innerHTML=`
905
905
  <style>
906
906
 
907
907
  slot[name=indicator] > *,
@@ -924,10 +924,10 @@
924
924
 
925
925
  </style>
926
926
 
927
- <slot name="indicator">${rx}</slot>
927
+ <slot name="indicator">${nx}</slot>
928
928
 
929
929
  <slot name="spacer">&nbsp;</slot><slot name="text">LIVE</slot>
930
- `;var bb=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?Me.SEEK_LIVE():Me.PLAYING_LIVE();i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},Ff=class extends be{static get observedAttributes(){return[...super.observedAttributes,ka,rd]}constructor(e={}){super({slotTemplate:yb,...e})}connectedCallback(){bb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),bb(this)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Le(this,b.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Ae(this,b.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new _.CustomEvent(tx,{composed:!0,bubbles:!0})),this.hasAttribute(ka)&&this.dispatchEvent(new _.CustomEvent(ix,{composed:!0,bubbles:!0})))}};_.customElements.get("media-live-button")||_.customElements.define("media-live-button",Ff);var Ab=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ia=(i,e,t)=>(Ab(i,e,"read from private field"),t?t.call(i):e.get(i)),Tb=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ra=(i,e,t,r)=>(Ab(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Oi,sd,_b={LOADING_DELAY:"loadingdelay"},Sb=500,xb=O.createElement("template"),sx=`
930
+ `;var Tb=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?Me.SEEK_LIVE():Me.PLAYING_LIVE();i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},$f=class extends be{static get observedAttributes(){return[...super.observedAttributes,ka,rd]}constructor(e={}){super({slotTemplate:_b,...e})}connectedCallback(){Tb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),Tb(this)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Le(this,b.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Ae(this,b.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new _.CustomEvent(rx,{composed:!0,bubbles:!0})),this.hasAttribute(ka)&&this.dispatchEvent(new _.CustomEvent(sx,{composed:!0,bubbles:!0})))}};_.customElements.get("media-live-button")||_.customElements.define("media-live-button",$f);var xb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ia=(i,e,t)=>(xb(i,e,"read from private field"),t?t.call(i):e.get(i)),Ab=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ra=(i,e,t,r)=>(xb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Oi,sd,Sb={LOADING_DELAY:"loadingdelay"},Lb=500,kb=O.createElement("template"),ax=`
931
931
  <svg aria-hidden="true" viewBox="0 0 100 100">
932
932
  <path d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
933
933
  <animateTransform
@@ -940,13 +940,13 @@
940
940
  repeatCount="indefinite" />
941
941
  </path>
942
942
  </svg>
943
- `;xb.innerHTML=`
943
+ `;kb.innerHTML=`
944
944
  <style>
945
945
  :host {
946
946
  display: var(--media-control-display, var(--media-loading-indicator-display, inline-block));
947
947
  vertical-align: middle;
948
948
  box-sizing: border-box;
949
- --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${Sb}ms);
949
+ --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${Lb}ms);
950
950
  }
951
951
 
952
952
  #status {
@@ -985,15 +985,15 @@ svg, img, ::slotted(svg), ::slotted(img) {
985
985
  }
986
986
  </style>
987
987
 
988
- <slot name="icon">${sx}</slot>
988
+ <slot name="icon">${ax}</slot>
989
989
  <div id="status" role="status" aria-live="polite">${De.MEDIA_LOADING()}</div>
990
- `;var Bf=class extends _.HTMLElement{constructor(){if(super(),Tb(this,Oi,void 0),Tb(this,sd,Sb),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=xb.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[te.MEDIA_CONTROLLER,b.MEDIA_PAUSED,b.MEDIA_LOADING,_b.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===_b.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===te.MEDIA_CONTROLLER&&(t&&((n=(s=Ia(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ra(this,Oi,null)),r&&this.isConnected&&(Ra(this,Oi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Ia(this,Oi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(Ra(this,Oi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Ia(this,Oi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Ia(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ra(this,Oi,null)}get loadingDelay(){return Ia(this,sd)}set loadingDelay(e){Ra(this,sd,e);let{style:t}=Te(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}};Oi=new WeakMap;sd=new WeakMap;_.customElements.get("media-loading-indicator")||_.customElements.define("media-loading-indicator",Bf);var{MEDIA_VOLUME_LEVEL:wa}=b,nx=`<svg aria-hidden="true" viewBox="0 0 24 24">
990
+ `;var Hf=class extends _.HTMLElement{constructor(){if(super(),Ab(this,Oi,void 0),Ab(this,sd,Lb),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=kb.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[te.MEDIA_CONTROLLER,b.MEDIA_PAUSED,b.MEDIA_LOADING,Sb.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===Sb.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===te.MEDIA_CONTROLLER&&(t&&((n=(s=Ia(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ra(this,Oi,null)),r&&this.isConnected&&(Ra(this,Oi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Ia(this,Oi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(Ra(this,Oi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=Ia(this,Oi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Ia(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ra(this,Oi,null)}get loadingDelay(){return Ia(this,sd)}set loadingDelay(e){Ra(this,sd,e);let{style:t}=Te(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}};Oi=new WeakMap;sd=new WeakMap;_.customElements.get("media-loading-indicator")||_.customElements.define("media-loading-indicator",Hf);var{MEDIA_VOLUME_LEVEL:wa}=b,ox=`<svg aria-hidden="true" viewBox="0 0 24 24">
991
991
  <path d="M16.5 12A4.5 4.5 0 0 0 14 8v2.18l2.45 2.45a4.22 4.22 0 0 0 .05-.63Zm2.5 0a6.84 6.84 0 0 1-.54 2.64L20 16.15A8.8 8.8 0 0 0 21 12a9 9 0 0 0-7-8.77v2.06A7 7 0 0 1 19 12ZM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25A6.92 6.92 0 0 1 14 18.7v2.06A9 9 0 0 0 17.69 19l2 2.05L21 19.73l-9-9L4.27 3ZM12 4 9.91 6.09 12 8.18V4Z"/>
992
- </svg>`,Lb=`<svg aria-hidden="true" viewBox="0 0 24 24">
992
+ </svg>`,Ib=`<svg aria-hidden="true" viewBox="0 0 24 24">
993
993
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4Z"/>
994
- </svg>`,ax=`<svg aria-hidden="true" viewBox="0 0 24 24">
994
+ </svg>`,lx=`<svg aria-hidden="true" viewBox="0 0 24 24">
995
995
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4ZM14 3.23v2.06a7 7 0 0 1 0 13.42v2.06a9 9 0 0 0 0-17.54Z"/>
996
- </svg>`,Ib=O.createElement("template");Ib.innerHTML=`
996
+ </svg>`,wb=O.createElement("template");wb.innerHTML=`
997
997
  <style>
998
998
 
999
999
  :host(:not([${wa}])) slot:not([name=high]):not([name=icon]),
@@ -1015,14 +1015,14 @@ svg, img, ::slotted(svg), ::slotted(img) {
1015
1015
  </style>
1016
1016
 
1017
1017
  <slot name="icon">
1018
- <slot name="off">${nx}</slot>
1019
- <slot name="low">${Lb}</slot>
1020
- <slot name="medium">${Lb}</slot>
1021
- <slot name="high">${ax}</slot>
1018
+ <slot name="off">${ox}</slot>
1019
+ <slot name="low">${Ib}</slot>
1020
+ <slot name="medium">${Ib}</slot>
1021
+ <slot name="high">${lx}</slot>
1022
1022
  </slot>
1023
- `;var kb=i=>{let t=i.mediaVolumeLevel==="off"?Me.UNMUTE():Me.MUTE();i.setAttribute("aria-label",t)},$f=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:Ib,...e})}connectedCallback(){kb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_VOLUME_LEVEL&&kb(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return ue(this,b.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){le(this,b.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?B.MEDIA_UNMUTE_REQUEST:B.MEDIA_MUTE_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-mute-button")||_.customElements.define("media-mute-button",$f);var Rb=`<svg aria-hidden="true" viewBox="0 0 28 24">
1023
+ `;var Rb=i=>{let t=i.mediaVolumeLevel==="off"?Me.UNMUTE():Me.MUTE();i.setAttribute("aria-label",t)},Gf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:wb,...e})}connectedCallback(){Rb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_VOLUME_LEVEL&&Rb(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return ce(this,b.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){le(this,b.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?B.MEDIA_UNMUTE_REQUEST:B.MEDIA_MUTE_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-mute-button")||_.customElements.define("media-mute-button",Gf);var Cb=`<svg aria-hidden="true" viewBox="0 0 28 24">
1024
1024
  <path d="M24 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1Zm-1 16H5V5h18v14Zm-3-8h-7v5h7v-5Z"/>
1025
- </svg>`,Cb=O.createElement("template");Cb.innerHTML=`
1025
+ </svg>`,Mb=O.createElement("template");Mb.innerHTML=`
1026
1026
  <style>
1027
1027
  :host([${b.MEDIA_IS_PIP}]) slot:not([name=exit]):not([name=icon]) {
1028
1028
  display: none !important;
@@ -1035,10 +1035,10 @@ svg, img, ::slotted(svg), ::slotted(img) {
1035
1035
  </style>
1036
1036
 
1037
1037
  <slot name="icon">
1038
- <slot name="enter">${Rb}</slot>
1039
- <slot name="exit">${Rb}</slot>
1038
+ <slot name="enter">${Cb}</slot>
1039
+ <slot name="exit">${Cb}</slot>
1040
1040
  </slot>
1041
- `;var wb=i=>{let e=i.mediaIsPip?Me.EXIT_PIP():Me.ENTER_PIP();i.setAttribute("aria-label",e)},Hf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_PIP,b.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Cb,...e})}connectedCallback(){wb(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_IS_PIP&&wb(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return ue(this,b.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){le(this,b.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Le(this,b.MEDIA_IS_PIP)}set mediaIsPip(e){Ae(this,b.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?B.MEDIA_EXIT_PIP_REQUEST:B.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-pip-button")||_.customElements.define("media-pip-button",Hf);var ox=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},nd=(i,e,t)=>(ox(i,e,"read from private field"),t?t.call(i):e.get(i)),lx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},En,Gf={RATES:"rates"},Ca=[1,1.2,1.5,1.7,2],kr=1,Db=O.createElement("template");Db.innerHTML=`
1041
+ `;var Db=i=>{let e=i.mediaIsPip?Me.EXIT_PIP():Me.ENTER_PIP();i.setAttribute("aria-label",e)},Wf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_IS_PIP,b.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Mb,...e})}connectedCallback(){Db(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_IS_PIP&&Db(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return ce(this,b.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){le(this,b.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Le(this,b.MEDIA_IS_PIP)}set mediaIsPip(e){Ae(this,b.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?B.MEDIA_EXIT_PIP_REQUEST:B.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-pip-button")||_.customElements.define("media-pip-button",Wf);var dx=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},nd=(i,e,t)=>(dx(i,e,"read from private field"),t?t.call(i):e.get(i)),ux=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},En,Kf={RATES:"rates"},Ca=[1,1.2,1.5,1.7,2],Rr=1,Pb=O.createElement("template");Pb.innerHTML=`
1042
1042
  <style>
1043
1043
  :host {
1044
1044
  min-width: 5ch;
@@ -1046,7 +1046,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1046
1046
  }
1047
1047
  </style>
1048
1048
  <slot name="icon"></slot>
1049
- `;var Wf=class extends be{constructor(e={}){super({slotTemplate:Db,...e}),lx(this,En,new Vt(this,Gf.RATES,{defaultValue:Ca})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${kr}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Gf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Gf.RATES&&(nd(this,En).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?kr:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",De.PLAYBACK_RATE({playbackRate:n}))}}get rates(){return nd(this,En)}set rates(e){e?Array.isArray(e)&&(nd(this,En).value=e.join(" ")):nd(this,En).value=""}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:kr,n=new _.CustomEvent(B.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};En=new WeakMap;_.customElements.get("media-playback-rate-button")||_.customElements.define("media-playback-rate-button",Wf);var Mb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ad=(i,e,t)=>(Mb(i,e,"read from private field"),t?t.call(i):e.get(i)),Kf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Da=(i,e,t)=>(Mb(i,e,"access private method"),t),bn,Ma,od,ld,qf,Vf={RATES:"rates"},Yf=class extends yt{constructor(){super(),Kf(this,Ma),Kf(this,ld),Kf(this,bn,new Vt(this,Vf.RATES,{defaultValue:Ca})),Da(this,Ma,od).call(this)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Vf.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===Vf.RATES&&t!=r&&(ad(this,bn).value=r,Da(this,Ma,od).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Da(this,ld,qf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Da(this,ld,qf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-playback-rate-menu-button")}get rates(){return ad(this,bn)}set rates(e){e?Array.isArray(e)&&(ad(this,bn).value=e.join(" ")):ad(this,bn).value="",Da(this,Ma,od).call(this)}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};bn=new WeakMap;Ma=new WeakSet;od=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=ki({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(li(this,"checked-indicator")),this.defaultSlot.append(e)}};ld=new WeakSet;qf=function(){if(!this.value)return;let i=new _.CustomEvent(B.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-playback-rate-menu")||_.customElements.define("media-playback-rate-menu",Yf);var dx=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dd=(i,e,t)=>(dx(i,e,"read from private field"),t?t.call(i):e.get(i)),ux=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yn,zf={RATES:"rates"},cx=[1,1.2,1.5,1.7,2],jf=1,Pb=O.createElement("template");Pb.innerHTML=`
1049
+ `;var Vf=class extends be{constructor(e={}){super({slotTemplate:Pb,...e}),ux(this,En,new Vt(this,Kf.RATES,{defaultValue:Ca})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${Rr}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Kf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Kf.RATES&&(nd(this,En).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?Rr:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",De.PLAYBACK_RATE({playbackRate:n}))}}get rates(){return nd(this,En)}set rates(e){e?Array.isArray(e)&&(nd(this,En).value=e.join(" ")):nd(this,En).value=""}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,Rr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:Rr,n=new _.CustomEvent(B.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};En=new WeakMap;_.customElements.get("media-playback-rate-button")||_.customElements.define("media-playback-rate-button",Vf);var Ob=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ad=(i,e,t)=>(Ob(i,e,"read from private field"),t?t.call(i):e.get(i)),qf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Da=(i,e,t)=>(Ob(i,e,"access private method"),t),bn,Ma,od,ld,zf,Yf={RATES:"rates"},jf=class extends yt{constructor(){super(),qf(this,Ma),qf(this,ld),qf(this,bn,new Vt(this,Yf.RATES,{defaultValue:Ca})),Da(this,Ma,od).call(this)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Yf.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===Yf.RATES&&t!=r&&(ad(this,bn).value=r,Da(this,Ma,od).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Da(this,ld,zf))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Da(this,ld,zf))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-playback-rate-menu-button")}get rates(){return ad(this,bn)}set rates(e){e?Array.isArray(e)&&(ad(this,bn).value=e.join(" ")):ad(this,bn).value="",Da(this,Ma,od).call(this)}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,Rr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};bn=new WeakMap;Ma=new WeakSet;od=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=ki({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(li(this,"checked-indicator")),this.defaultSlot.append(e)}};ld=new WeakSet;zf=function(){if(!this.value)return;let i=new _.CustomEvent(B.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-playback-rate-menu")||_.customElements.define("media-playback-rate-menu",jf);var cx=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dd=(i,e,t)=>(cx(i,e,"read from private field"),t?t.call(i):e.get(i)),hx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yn,Xf={RATES:"rates"},fx=[1,1.2,1.5,1.7,2],Qf=1,Nb=O.createElement("template");Nb.innerHTML=`
1050
1050
  <style>
1051
1051
  :host {
1052
1052
  min-width: 5ch;
@@ -1054,11 +1054,11 @@ svg, img, ::slotted(svg), ::slotted(img) {
1054
1054
  }
1055
1055
  </style>
1056
1056
  <slot name="icon"></slot>
1057
- `;var Xf=class extends Bt{constructor(e={}){super({slotTemplate:Pb,...e}),ux(this,yn,new Vt(this,zf.RATES,{defaultValue:cx})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${jf}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,zf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===zf.RATES&&(dd(this,yn).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?jf:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",De.PLAYBACK_RATE({playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-playback-rate-menu")}get rates(){return dd(this,yn)}set rates(e){e?Array.isArray(e)&&(dd(this,yn).value=e.join(" ")):dd(this,yn).value=""}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,jf)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};yn=new WeakMap;_.customElements.get("media-playback-rate-menu-button")||_.customElements.define("media-playback-rate-menu-button",Xf);var hx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1057
+ `;var Zf=class extends $t{constructor(e={}){super({slotTemplate:Nb,...e}),hx(this,yn,new Vt(this,Xf.RATES,{defaultValue:fx})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${Qf}x`}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PLAYBACK_RATE,Xf.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Xf.RATES&&(dd(this,yn).value=r),e===b.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?Qf:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",De.PLAYBACK_RATE({playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-playback-rate-menu")}get rates(){return dd(this,yn)}set rates(e){e?Array.isArray(e)&&(dd(this,yn).value=e.join(" ")):dd(this,yn).value=""}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,Qf)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}};yn=new WeakMap;_.customElements.get("media-playback-rate-menu-button")||_.customElements.define("media-playback-rate-menu-button",Zf);var mx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1058
1058
  <path d="m6 21 15-9L6 3v18Z"/>
1059
- </svg>`,fx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1059
+ </svg>`,px=`<svg aria-hidden="true" viewBox="0 0 24 24">
1060
1060
  <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/>
1061
- </svg>`,Nb=O.createElement("template");Nb.innerHTML=`
1061
+ </svg>`,Fb=O.createElement("template");Fb.innerHTML=`
1062
1062
  <style>
1063
1063
  :host([${b.MEDIA_PAUSED}]) slot[name=pause] {
1064
1064
  display: none !important;
@@ -1070,10 +1070,10 @@ svg, img, ::slotted(svg), ::slotted(img) {
1070
1070
  </style>
1071
1071
 
1072
1072
  <slot name="icon">
1073
- <slot name="play">${hx}</slot>
1074
- <slot name="pause">${fx}</slot>
1073
+ <slot name="play">${mx}</slot>
1074
+ <slot name="pause">${px}</slot>
1075
1075
  </slot>
1076
- `;var Ob=i=>{let e=i.mediaPaused?Me.PLAY():Me.PAUSE();i.setAttribute("aria-label",e)},Qf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Nb,...e})}connectedCallback(){Ob(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_PAUSED&&Ob(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?B.MEDIA_PLAY_REQUEST:B.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-play-button")||_.customElements.define("media-play-button",Qf);var Ni={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},Ub=O.createElement("template");Ub.innerHTML=`
1076
+ `;var Ub=i=>{let e=i.mediaPaused?Me.PLAY():Me.PAUSE();i.setAttribute("aria-label",e)},Jf=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Fb,...e})}connectedCallback(){Ub(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===b.MEDIA_PAUSED&&Ub(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?B.MEDIA_PLAY_REQUEST:B.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new _.CustomEvent(e,{composed:!0,bubbles:!0}))}};_.customElements.get("media-play-button")||_.customElements.define("media-play-button",Jf);var Ni={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},Bb=O.createElement("template");Bb.innerHTML=`
1077
1077
  <style>
1078
1078
  :host {
1079
1079
  pointer-events: none;
@@ -1095,7 +1095,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1095
1095
  </style>
1096
1096
 
1097
1097
  <img part="poster img" aria-hidden="true" id="image"/>
1098
- `;var mx=i=>{i.style.removeProperty("background-image")},px=(i,e)=>{i.style["background-image"]=`url('${e}')`},Zf=class extends _.HTMLElement{static get observedAttributes(){return[Ni.PLACEHOLDER_SRC,Ni.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Ub.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===Ni.SRC&&(r==null?this.image.removeAttribute(Ni.SRC):this.image.setAttribute(Ni.SRC,r)),e===Ni.PLACEHOLDER_SRC&&(r==null?mx(this.image):px(this.image,r))}get placeholderSrc(){return ue(this,Ni.PLACEHOLDER_SRC)}set placeholderSrc(e){le(this,Ni.SRC,e)}get src(){return ue(this,Ni.SRC)}set src(e){le(this,Ni.SRC,e)}};_.customElements.get("media-poster-image")||_.customElements.define("media-poster-image",Zf);var Fb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},gx=(i,e,t)=>(Fb(i,e,"read from private field"),t?t.call(i):e.get(i)),vx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ex=(i,e,t,r)=>(Fb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ud,Jf=class extends mb{constructor(){super(),vx(this,ud,void 0),Ex(this,ud,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(gx(this,ud).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return ue(this,b.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){le(this,b.MEDIA_PREVIEW_CHAPTER,e)}};ud=new WeakMap;_.customElements.get("media-preview-chapter-display")||_.customElements.define("media-preview-chapter-display",Jf);var Bb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},cd=(i,e,t)=>(Bb(i,e,"read from private field"),t?t.call(i):e.get(i)),bx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},hd=(i,e,t,r)=>(Bb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ui,$b=O.createElement("template");$b.innerHTML=`
1098
+ `;var gx=i=>{i.style.removeProperty("background-image")},vx=(i,e)=>{i.style["background-image"]=`url('${e}')`},em=class extends _.HTMLElement{static get observedAttributes(){return[Ni.PLACEHOLDER_SRC,Ni.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Bb.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===Ni.SRC&&(r==null?this.image.removeAttribute(Ni.SRC):this.image.setAttribute(Ni.SRC,r)),e===Ni.PLACEHOLDER_SRC&&(r==null?gx(this.image):vx(this.image,r))}get placeholderSrc(){return ce(this,Ni.PLACEHOLDER_SRC)}set placeholderSrc(e){le(this,Ni.SRC,e)}get src(){return ce(this,Ni.SRC)}set src(e){le(this,Ni.SRC,e)}};_.customElements.get("media-poster-image")||_.customElements.define("media-poster-image",em);var $b=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ex=(i,e,t)=>($b(i,e,"read from private field"),t?t.call(i):e.get(i)),bx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},yx=(i,e,t,r)=>($b(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ud,tm=class extends gb{constructor(){super(),bx(this,ud,void 0),yx(this,ud,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(Ex(this,ud).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return ce(this,b.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){le(this,b.MEDIA_PREVIEW_CHAPTER,e)}};ud=new WeakMap;_.customElements.get("media-preview-chapter-display")||_.customElements.define("media-preview-chapter-display",tm);var Hb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},cd=(i,e,t)=>(Hb(i,e,"read from private field"),t?t.call(i):e.get(i)),Tx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},hd=(i,e,t,r)=>(Hb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ui,Gb=O.createElement("template");Gb.innerHTML=`
1099
1099
  <style>
1100
1100
  :host {
1101
1101
  box-sizing: border-box;
@@ -1109,15 +1109,15 @@ svg, img, ::slotted(svg), ::slotted(img) {
1109
1109
  }
1110
1110
  </style>
1111
1111
  <img crossorigin loading="eager" decoding="async">
1112
- `;var em=class extends _.HTMLElement{constructor(){super(),bx(this,Ui,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild($b.content.cloneNode(!0)))}static get observedAttributes(){return[te.MEDIA_CONTROLLER,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(hd(this,Ui,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=cd(this,Ui))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=cd(this,Ui))==null?void 0:e.unassociateElement)==null||t.call(e,this),hd(this,Ui,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===te.MEDIA_CONTROLLER&&(t&&((n=(s=cd(this,Ui))==null?void 0:s.unassociateElement)==null||n.call(s,this),hd(this,Ui,null)),r&&this.isConnected&&(hd(this,Ui,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=cd(this,Ui))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return ue(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(b.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(b.MEDIA_PREVIEW_COORDS);return}this.setAttribute(b.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:u,minWidth:c,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(u)/a),m=Math.max(parseInt(c)/n,parseInt(h)/a),p=f<1,g=p?f:m>1?m:1,{style:E}=Te(this.shadowRoot,":host"),T=Te(this.shadowRoot,"img").style,y=this.shadowRoot.querySelector("img"),S=p?"min":"max";E.setProperty(`${S}-width`,"initial","important"),E.setProperty(`${S}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let A=()=>{T.width=`${this.imgWidth*g}px`,T.height=`${this.imgHeight*g}px`,T.display="block"};y.src!==o&&(y.onload=()=>{this.imgWidth=y.naturalWidth,this.imgHeight=y.naturalHeight,A()},y.src=o,A()),A(),T.transform=`translate(-${r*g}px, -${s*g}px)`}};Ui=new WeakMap;_.customElements.get("media-preview-thumbnail")||_.customElements.define("media-preview-thumbnail",em);var Gb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Hb=(i,e,t)=>(Gb(i,e,"read from private field"),t?t.call(i):e.get(i)),yx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Tx=(i,e,t,r)=>(Gb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Pa,tm=class extends Pi{constructor(){super(),yx(this,Pa,void 0),Tx(this,Pa,this.shadowRoot.querySelector("slot")),Hb(this,Pa).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_TIME&&r!=null&&(Hb(this,Pa).textContent=_i(r))}get mediaPreviewTime(){return Ee(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}};Pa=new WeakMap;_.customElements.get("media-preview-time-display")||_.customElements.define("media-preview-time-display",tm);var am=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Wb=(i,e,t)=>(am(i,e,"read from private field"),t?t.call(i):e.get(i)),fd=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},im=(i,e,t,r)=>(am(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),md=(i,e,t)=>(am(i,e,"access private method"),t),Oa,vd,pd,rm,gd,sm,nm=class extends yt{constructor(){super(...arguments),fd(this,pd),fd(this,gd),fd(this,Oa,[]),fd(this,vd,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(im(this,Oa,Yo(r)),md(this,pd,rm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",md(this,gd,sm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",md(this,gd,sm))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return Wb(this,Oa)}set mediaRenditionList(e){im(this,Oa,e),md(this,pd,rm).call(this)}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};Oa=new WeakMap;vd=new WeakMap;pd=new WeakSet;rm=function(){if(Wb(this,vd)===JSON.stringify(this.mediaRenditionList))return;im(this,vd,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((r,s)=>s.height-r.height);this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let r of i){let s=this.formatMenuItemText(`${Math.min(r.width,r.height)}p`,r),n=ki({type:"radio",text:s,value:`${r.id}`,checked:r.selected&&!e});n.prepend(li(this,"checked-indicator")),this.defaultSlot.append(n)}let t=ki({type:"radio",text:this.formatMenuItemText("Auto"),value:"auto",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t)};gd=new WeakSet;sm=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-rendition-menu")||_.customElements.define("media-rendition-menu",nm);var _x=`<svg aria-hidden="true" viewBox="0 0 24 24">
1112
+ `;var im=class extends _.HTMLElement{constructor(){super(),Tx(this,Ui,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Gb.content.cloneNode(!0)))}static get observedAttributes(){return[te.MEDIA_CONTROLLER,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(hd(this,Ui,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=cd(this,Ui))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=cd(this,Ui))==null?void 0:e.unassociateElement)==null||t.call(e,this),hd(this,Ui,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===te.MEDIA_CONTROLLER&&(t&&((n=(s=cd(this,Ui))==null?void 0:s.unassociateElement)==null||n.call(s,this),hd(this,Ui,null)),r&&this.isConnected&&(hd(this,Ui,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=cd(this,Ui))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return ce(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(b.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(b.MEDIA_PREVIEW_COORDS);return}this.setAttribute(b.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:u,minWidth:c,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(u)/a),m=Math.max(parseInt(c)/n,parseInt(h)/a),p=f<1,g=p?f:m>1?m:1,{style:E}=Te(this.shadowRoot,":host"),T=Te(this.shadowRoot,"img").style,y=this.shadowRoot.querySelector("img"),S=p?"min":"max";E.setProperty(`${S}-width`,"initial","important"),E.setProperty(`${S}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let A=()=>{T.width=`${this.imgWidth*g}px`,T.height=`${this.imgHeight*g}px`,T.display="block"};y.src!==o&&(y.onload=()=>{this.imgWidth=y.naturalWidth,this.imgHeight=y.naturalHeight,A()},y.src=o,A()),A(),T.transform=`translate(-${r*g}px, -${s*g}px)`}};Ui=new WeakMap;_.customElements.get("media-preview-thumbnail")||_.customElements.define("media-preview-thumbnail",im);var Kb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Wb=(i,e,t)=>(Kb(i,e,"read from private field"),t?t.call(i):e.get(i)),_x=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ax=(i,e,t,r)=>(Kb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Pa,rm=class extends Pi{constructor(){super(),_x(this,Pa,void 0),Ax(this,Pa,this.shadowRoot.querySelector("slot")),Wb(this,Pa).textContent=_i(0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PREVIEW_TIME&&r!=null&&(Wb(this,Pa).textContent=_i(r))}get mediaPreviewTime(){return Ee(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}};Pa=new WeakMap;_.customElements.get("media-preview-time-display")||_.customElements.define("media-preview-time-display",rm);var lm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Vb=(i,e,t)=>(lm(i,e,"read from private field"),t?t.call(i):e.get(i)),fd=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},sm=(i,e,t,r)=>(lm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),md=(i,e,t)=>(lm(i,e,"access private method"),t),Oa,vd,pd,nm,gd,am,om=class extends yt{constructor(){super(...arguments),fd(this,pd),fd(this,gd),fd(this,Oa,[]),fd(this,vd,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(sm(this,Oa,Yo(r)),md(this,pd,nm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",md(this,gd,am))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",md(this,gd,am))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return Vb(this,Oa)}set mediaRenditionList(e){sm(this,Oa,e),md(this,pd,nm).call(this)}get mediaRenditionSelected(){return ce(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};Oa=new WeakMap;vd=new WeakMap;pd=new WeakSet;nm=function(){if(Vb(this,vd)===JSON.stringify(this.mediaRenditionList))return;sm(this,vd,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((r,s)=>s.height-r.height);this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let r of i){let s=this.formatMenuItemText(`${Math.min(r.width,r.height)}p`,r),n=ki({type:"radio",text:s,value:`${r.id}`,checked:r.selected&&!e});n.prepend(li(this,"checked-indicator")),this.defaultSlot.append(n)}let t=ki({type:"radio",text:this.formatMenuItemText("Auto"),value:"auto",checked:e});t.prepend(li(this,"checked-indicator")),this.defaultSlot.append(t)};gd=new WeakSet;am=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-rendition-menu")||_.customElements.define("media-rendition-menu",om);var Sx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1113
1113
  <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
1114
- </svg>`,Kb=O.createElement("template");Kb.innerHTML=`
1115
- <slot name="icon">${_x}</slot>
1116
- `;var om=class extends Bt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:Kb})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.QUALITY())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};_.customElements.get("media-rendition-menu-button")||_.customElements.define("media-rendition-menu-button",om);var Tn={SEEK_OFFSET:"seekoffset"},Ed=30,Ax=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${Ed}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Vb=O.createElement("template");Vb.innerHTML=`
1117
- <slot name="icon">${Ax}</slot>
1118
- `;var Sx=0,lm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,Tn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Vb,...e})}connectedCallback(){this.seekOffset=Ee(this,Tn.SEEK_OFFSET,Ed),super.connectedCallback()}attributeChangedCallback(e,t,r){e===Tn.SEEK_OFFSET&&(this.seekOffset=Ee(this,Tn.SEEK_OFFSET,Ed)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return Ee(this,Tn.SEEK_OFFSET,Ed)}set seekOffset(e){_e(this,Tn.SEEK_OFFSET,e),this.setAttribute("aria-label",Me.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),tl(il(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME,Sx)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};_.customElements.get("media-seek-backward-button")||_.customElements.define("media-seek-backward-button",lm);var _n={SEEK_OFFSET:"seekoffset"},bd=30,xx=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${bd}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,qb=O.createElement("template");qb.innerHTML=`
1114
+ </svg>`,qb=O.createElement("template");qb.innerHTML=`
1115
+ <slot name="icon">${Sx}</slot>
1116
+ `;var dm=class extends $t{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:qb})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.QUALITY())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return ce(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};_.customElements.get("media-rendition-menu-button")||_.customElements.define("media-rendition-menu-button",dm);var Tn={SEEK_OFFSET:"seekoffset"},Ed=30,xx=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${Ed}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Yb=O.createElement("template");Yb.innerHTML=`
1119
1117
  <slot name="icon">${xx}</slot>
1120
- `;var Lx=0,dm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,_n.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:qb,...e})}connectedCallback(){this.seekOffset=Ee(this,_n.SEEK_OFFSET,bd),super.connectedCallback()}attributeChangedCallback(e,t,r){e===_n.SEEK_OFFSET&&(this.seekOffset=Ee(this,_n.SEEK_OFFSET,bd)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return Ee(this,_n.SEEK_OFFSET,bd)}set seekOffset(e){_e(this,_n.SEEK_OFFSET,e),this.setAttribute("aria-label",Me.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),tl(il(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME,Lx)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};_.customElements.get("media-seek-forward-button")||_.customElements.define("media-seek-forward-button",dm);var kx=Object.defineProperty,Ix=(i,e,t)=>e in i?kx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Rx=(i,e,t)=>(Ix(i,typeof e!="symbol"?e+"":e,t),t),Yb=O.createElement("template");Yb.innerHTML=yt.template.innerHTML+`
1118
+ `;var Lx=0,um=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,Tn.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Yb,...e})}connectedCallback(){this.seekOffset=Ee(this,Tn.SEEK_OFFSET,Ed),super.connectedCallback()}attributeChangedCallback(e,t,r){e===Tn.SEEK_OFFSET&&(this.seekOffset=Ee(this,Tn.SEEK_OFFSET,Ed)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return Ee(this,Tn.SEEK_OFFSET,Ed)}set seekOffset(e){_e(this,Tn.SEEK_OFFSET,e),this.setAttribute("aria-label",Me.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),tl(il(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME,Lx)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};_.customElements.get("media-seek-backward-button")||_.customElements.define("media-seek-backward-button",um);var _n={SEEK_OFFSET:"seekoffset"},bd=30,kx=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${bd}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,zb=O.createElement("template");zb.innerHTML=`
1119
+ <slot name="icon">${kx}</slot>
1120
+ `;var Ix=0,cm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_CURRENT_TIME,_n.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:zb,...e})}connectedCallback(){this.seekOffset=Ee(this,_n.SEEK_OFFSET,bd),super.connectedCallback()}attributeChangedCallback(e,t,r){e===_n.SEEK_OFFSET&&(this.seekOffset=Ee(this,_n.SEEK_OFFSET,bd)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return Ee(this,_n.SEEK_OFFSET,bd)}set seekOffset(e){_e(this,_n.SEEK_OFFSET,e),this.setAttribute("aria-label",Me.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),tl(il(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME,Ix)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};_.customElements.get("media-seek-forward-button")||_.customElements.define("media-seek-forward-button",cm);var Rx=Object.defineProperty,wx=(i,e,t)=>e in i?Rx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Cx=(i,e,t)=>(wx(i,typeof e!="symbol"?e+"":e,t),t),jb=O.createElement("template");jb.innerHTML=yt.template.innerHTML+`
1121
1121
  <style>
1122
1122
  :host {
1123
1123
  background: var(--media-settings-menu-background,
@@ -1144,13 +1144,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
1144
1144
  --media-settings-menu-item-opacity: 0;
1145
1145
  }
1146
1146
  </style>
1147
- `;var yd=class extends yt{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-settings-menu-button")}};Rx(yd,"template",Yb);_.customElements.get("media-settings-menu")||_.customElements.define("media-settings-menu",yd);var zb=O.createElement("template");zb.innerHTML=`
1147
+ `;var yd=class extends yt{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ye(this).querySelector("media-settings-menu-button")}};Cx(yd,"template",jb);_.customElements.get("media-settings-menu")||_.customElements.define("media-settings-menu",yd);var Xb=O.createElement("template");Xb.innerHTML=`
1148
1148
  <slot name="icon">
1149
1149
  <svg aria-hidden="true" viewBox="0 0 24 24">
1150
1150
  <path d="M4.5 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/>
1151
1151
  </svg>
1152
1152
  </slot>
1153
- `;var um=class extends Bt{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:zb})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.SETTINGS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-settings-menu")}};_.customElements.get("media-settings-menu-button")||_.customElements.define("media-settings-menu-button",um);var wx=Object.defineProperty,Cx=(i,e,t)=>e in i?wx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Dx=(i,e,t)=>(Cx(i,typeof e!="symbol"?e+"":e,t),t),jb,Td=O.createElement("template");Td.innerHTML=us.template.innerHTML+`
1153
+ `;var hm=class extends $t{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:Xb})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",De.SETTINGS())}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ye(this).querySelector("media-settings-menu")}};_.customElements.get("media-settings-menu-button")||_.customElements.define("media-settings-menu-button",hm);var Dx=Object.defineProperty,Mx=(i,e,t)=>e in i?Dx(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Px=(i,e,t)=>(Mx(i,typeof e!="symbol"?e+"":e,t),t),Qb,Td=O.createElement("template");Td.innerHTML=us.template.innerHTML+`
1154
1154
  <style>
1155
1155
  slot:not([name="submenu"]) {
1156
1156
  opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity));
@@ -1160,11 +1160,11 @@ svg, img, ::slotted(svg), ::slotted(img) {
1160
1160
  background: transparent;
1161
1161
  }
1162
1162
  </style>
1163
- `;(jb=Td.content)!=null&&jb.querySelector&&(Td.content.querySelector('slot[name="suffix"]').innerHTML=`
1163
+ `;(Qb=Td.content)!=null&&Qb.querySelector&&(Td.content.querySelector('slot[name="suffix"]').innerHTML=`
1164
1164
  <svg aria-hidden="true" viewBox="0 0 20 24">
1165
1165
  <path d="m8.12 17.585-.742-.669 4.2-4.665-4.2-4.666.743-.669 4.803 5.335-4.803 5.334Z"/>
1166
1166
  </svg>
1167
- `);var _d=class extends us{};Dx(_d,"template",Td);_.customElements.get("media-settings-menu-item")||_.customElements.define("media-settings-menu-item",_d);var Jb=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},cm=(i,e,t)=>(Jb(i,e,"read from private field"),t?t.call(i):e.get(i)),Mx=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Px=(i,e,t,r)=>(Jb(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),An,ci={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Xb=[...Object.values(ci),b.MEDIA_CURRENT_TIME,b.MEDIA_DURATION,b.MEDIA_SEEKABLE],Qb=["Enter"," "],Ox="&nbsp;/&nbsp;",Zb=(i,{timesSep:e=Ox}={})=>{var t,r;let s=i.hasAttribute(ci.REMAINING),n=i.hasAttribute(ci.SHOW_DURATION),a=(t=i.mediaCurrentTime)!=null?t:0,[,o]=(r=i.mediaSeekable)!=null?r:[],l=0;Number.isFinite(i.mediaDuration)?l=i.mediaDuration:Number.isFinite(o)&&(l=o);let d=s?_i(0-(l-a)):_i(a);return n?`${d}${e}${_i(l)}`:d},Nx="video not loaded, unknown time.",Ux=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],s=null;if(Number.isFinite(i.mediaDuration)?s=i.mediaDuration:Number.isFinite(r)&&(s=r),t==null||s===null){i.setAttribute("aria-valuetext",Nx);return}let n=i.hasAttribute(ci.REMAINING),a=i.hasAttribute(ci.SHOW_DURATION),o=n?jr(0-(s-t)):jr(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=jr(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},hm=class extends Pi{constructor(){super(),Mx(this,An,void 0),Px(this,An,this.shadowRoot.querySelector("slot")),cm(this,An).innerHTML=`${Zb(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Xb,"disabled"]}connectedCallback(){let{style:e}=Te(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","pointer"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",De.PLAYBACK_TIME());let t=r=>{let{key:s}=r;if(!Qb.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!Qb.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Xb.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Le(this,ci.REMAINING)}set remaining(e){Ae(this,ci.REMAINING,e)}get showDuration(){return Le(this,ci.SHOW_DURATION)}set showDuration(e){Ae(this,ci.SHOW_DURATION,e)}get noToggle(){return Le(this,ci.NO_TOGGLE)}set noToggle(e){Ae(this,ci.NO_TOGGLE,e)}get mediaDuration(){return Ee(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}update(){let e=Zb(this);Ux(this),e!==cm(this,An).innerHTML&&(cm(this,An).innerHTML=e)}};An=new WeakMap;_.customElements.get("media-time-display")||_.customElements.define("media-time-display",hm);var ey=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ot=(i,e,t)=>(ey(i,e,"read from private field"),t?t.call(i):e.get(i)),Fi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},$t=(i,e,t,r)=>(ey(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Fx=(i,e,t,r)=>({set _(s){$t(i,e,s,t)},get _(){return ot(i,e,r)}}),Sn,Ad,xn,Na,Sd,xd,Ld,Ln,hs,kd,Id=class{constructor(e,t,r){Fi(this,Sn,void 0),Fi(this,Ad,void 0),Fi(this,xn,void 0),Fi(this,Na,void 0),Fi(this,Sd,void 0),Fi(this,xd,void 0),Fi(this,Ld,void 0),Fi(this,Ln,void 0),Fi(this,hs,0),Fi(this,kd,(s=performance.now())=>{$t(this,hs,requestAnimationFrame(ot(this,kd))),$t(this,Na,performance.now()-ot(this,xn));let n=1e3/this.fps;if(ot(this,Na)>n){$t(this,xn,s-ot(this,Na)%n);let a=1e3/((s-ot(this,Ad))/++Fx(this,Sd)._),o=(s-ot(this,xd))/1e3/this.duration,l=ot(this,Ld)+o*this.playbackRate;l-ot(this,Sn).valueAsNumber>0?$t(this,Ln,this.playbackRate/this.duration/a):($t(this,Ln,.995*ot(this,Ln)),l=ot(this,Sn).valueAsNumber+ot(this,Ln)),this.callback(l)}}),$t(this,Sn,e),this.callback=t,this.fps=r}start(){ot(this,hs)===0&&($t(this,xn,performance.now()),$t(this,Ad,ot(this,xn)),$t(this,Sd,0),ot(this,kd).call(this))}stop(){ot(this,hs)!==0&&(cancelAnimationFrame(ot(this,hs)),$t(this,hs,0))}update({start:e,duration:t,playbackRate:r}){let s=e-ot(this,Sn).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),$t(this,Ld,e),$t(this,xd,performance.now()),this.duration=t,this.playbackRate=r}};Sn=new WeakMap;Ad=new WeakMap;xn=new WeakMap;Na=new WeakMap;Sd=new WeakMap;xd=new WeakMap;Ld=new WeakMap;Ln=new WeakMap;hs=new WeakMap;kd=new WeakMap;var vm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Je=(i,e,t)=>(vm(i,e,"read from private field"),t?t.call(i):e.get(i)),lt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bi=(i,e,t,r)=>(vm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Tt=(i,e,t)=>(vm(i,e,"access private method"),t),kn,fs,Cd,Fa,Dd,wd,Ba,$a,In,Rn,Ua,Em,ty,fm,Md,bm,Pd,ym,Od,Tm,mm,iy,Ha,Nd,pm,ry,Bx="video not loaded, unknown time.",$x=i=>{let e=i.range,t=jr(+ny(i)),r=jr(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:Bx;e.setAttribute("aria-valuetext",s)},sy=O.createElement("template");sy.innerHTML=`
1167
+ `);var _d=class extends us{};Px(_d,"template",Td);_.customElements.get("media-settings-menu-item")||_.customElements.define("media-settings-menu-item",_d);var ty=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},fm=(i,e,t)=>(ty(i,e,"read from private field"),t?t.call(i):e.get(i)),Ox=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Nx=(i,e,t,r)=>(ty(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),An,ci={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Zb=[...Object.values(ci),b.MEDIA_CURRENT_TIME,b.MEDIA_DURATION,b.MEDIA_SEEKABLE],Jb=["Enter"," "],Ux="&nbsp;/&nbsp;",ey=(i,{timesSep:e=Ux}={})=>{var t,r;let s=i.hasAttribute(ci.REMAINING),n=i.hasAttribute(ci.SHOW_DURATION),a=(t=i.mediaCurrentTime)!=null?t:0,[,o]=(r=i.mediaSeekable)!=null?r:[],l=0;Number.isFinite(i.mediaDuration)?l=i.mediaDuration:Number.isFinite(o)&&(l=o);let d=s?_i(0-(l-a)):_i(a);return n?`${d}${e}${_i(l)}`:d},Fx="video not loaded, unknown time.",Bx=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],s=null;if(Number.isFinite(i.mediaDuration)?s=i.mediaDuration:Number.isFinite(r)&&(s=r),t==null||s===null){i.setAttribute("aria-valuetext",Fx);return}let n=i.hasAttribute(ci.REMAINING),a=i.hasAttribute(ci.SHOW_DURATION),o=n?jr(0-(s-t)):jr(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=jr(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},mm=class extends Pi{constructor(){super(),Ox(this,An,void 0),Nx(this,An,this.shadowRoot.querySelector("slot")),fm(this,An).innerHTML=`${ey(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Zb,"disabled"]}connectedCallback(){let{style:e}=Te(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","pointer"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",De.PLAYBACK_TIME());let t=r=>{let{key:s}=r;if(!Jb.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!Jb.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Zb.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Le(this,ci.REMAINING)}set remaining(e){Ae(this,ci.REMAINING,e)}get showDuration(){return Le(this,ci.SHOW_DURATION)}set showDuration(e){Ae(this,ci.SHOW_DURATION,e)}get noToggle(){return Le(this,ci.NO_TOGGLE)}set noToggle(e){Ae(this,ci.NO_TOGGLE,e)}get mediaDuration(){return Ee(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}update(){let e=ey(this);Bx(this),e!==fm(this,An).innerHTML&&(fm(this,An).innerHTML=e)}};An=new WeakMap;_.customElements.get("media-time-display")||_.customElements.define("media-time-display",mm);var iy=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ot=(i,e,t)=>(iy(i,e,"read from private field"),t?t.call(i):e.get(i)),Fi=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ht=(i,e,t,r)=>(iy(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),$x=(i,e,t,r)=>({set _(s){Ht(i,e,s,t)},get _(){return ot(i,e,r)}}),Sn,Ad,xn,Na,Sd,xd,Ld,Ln,hs,kd,Id=class{constructor(e,t,r){Fi(this,Sn,void 0),Fi(this,Ad,void 0),Fi(this,xn,void 0),Fi(this,Na,void 0),Fi(this,Sd,void 0),Fi(this,xd,void 0),Fi(this,Ld,void 0),Fi(this,Ln,void 0),Fi(this,hs,0),Fi(this,kd,(s=performance.now())=>{Ht(this,hs,requestAnimationFrame(ot(this,kd))),Ht(this,Na,performance.now()-ot(this,xn));let n=1e3/this.fps;if(ot(this,Na)>n){Ht(this,xn,s-ot(this,Na)%n);let a=1e3/((s-ot(this,Ad))/++$x(this,Sd)._),o=(s-ot(this,xd))/1e3/this.duration,l=ot(this,Ld)+o*this.playbackRate;l-ot(this,Sn).valueAsNumber>0?Ht(this,Ln,this.playbackRate/this.duration/a):(Ht(this,Ln,.995*ot(this,Ln)),l=ot(this,Sn).valueAsNumber+ot(this,Ln)),this.callback(l)}}),Ht(this,Sn,e),this.callback=t,this.fps=r}start(){ot(this,hs)===0&&(Ht(this,xn,performance.now()),Ht(this,Ad,ot(this,xn)),Ht(this,Sd,0),ot(this,kd).call(this))}stop(){ot(this,hs)!==0&&(cancelAnimationFrame(ot(this,hs)),Ht(this,hs,0))}update({start:e,duration:t,playbackRate:r}){let s=e-ot(this,Sn).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),Ht(this,Ld,e),Ht(this,xd,performance.now()),this.duration=t,this.playbackRate=r}};Sn=new WeakMap;Ad=new WeakMap;xn=new WeakMap;Na=new WeakMap;Sd=new WeakMap;xd=new WeakMap;Ld=new WeakMap;Ln=new WeakMap;hs=new WeakMap;kd=new WeakMap;var bm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Je=(i,e,t)=>(bm(i,e,"read from private field"),t?t.call(i):e.get(i)),lt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bi=(i,e,t,r)=>(bm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Tt=(i,e,t)=>(bm(i,e,"access private method"),t),kn,fs,Cd,Fa,Dd,wd,Ba,$a,In,Rn,Ua,ym,ry,pm,Md,Tm,Pd,_m,Od,Am,gm,sy,Ha,Nd,vm,ny,Hx="video not loaded, unknown time.",Gx=i=>{let e=i.range,t=jr(+oy(i)),r=jr(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:Hx;e.setAttribute("aria-valuetext",s)},ay=O.createElement("template");ay.innerHTML=`
1168
1168
  <style>
1169
1169
  :host {
1170
1170
  --media-box-border-radius: 4px;
@@ -1374,10 +1374,10 @@ svg, img, ::slotted(svg), ::slotted(img) {
1374
1374
 
1375
1375
  </slot>
1376
1376
  </div>
1377
- `;var Rd=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let s=(e-t)/(r-t);return Math.max(0,Math.min(s,1))},ny=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},gm=class extends cs{constructor(){super(),lt(this,Rn),lt(this,Em),lt(this,Md),lt(this,Pd),lt(this,Od),lt(this,mm),lt(this,Ha),lt(this,pm),lt(this,kn,void 0),lt(this,fs,void 0),lt(this,Cd,void 0),lt(this,Fa,void 0),lt(this,Dd,void 0),lt(this,wd,void 0),lt(this,Ba,void 0),lt(this,$a,void 0),lt(this,In,void 0),lt(this,fm,t=>{this.dragging||(this.range.valueAsNumber=t,this.updateBar())}),this.container.appendChild(sy.content.cloneNode(!0)),Bi(this,Cd,this.shadowRoot.querySelectorAll('[part~="box"]')),Bi(this,Dd,this.shadowRoot.querySelector('[part~="preview-box"]')),Bi(this,wd,this.shadowRoot.querySelector('[part~="current-box"]'));let e=getComputedStyle(this);Bi(this,Ba,parseInt(e.getPropertyValue("--media-box-padding-left"))),Bi(this,$a,parseInt(e.getPropertyValue("--media-box-padding-right"))),Bi(this,fs,new Id(this.range,Je(this,fm),60))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_DURATION,b.MEDIA_SEEKABLE,b.MEDIA_CURRENT_TIME,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_TIME,b.MEDIA_PREVIEW_CHAPTER,b.MEDIA_BUFFERED,b.MEDIA_PLAYBACK_RATE,b.MEDIA_LOADING,b.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",De.SEEK()),Tt(this,Rn,Ua).call(this),Bi(this,kn,this.getRootNode()),(e=Je(this,kn))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),Tt(this,Rn,Ua).call(this),(e=Je(this,kn))==null||e.removeEventListener("transitionstart",this),Bi(this,kn,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===b.MEDIA_CURRENT_TIME||e===b.MEDIA_PAUSED||e===b.MEDIA_ENDED||e===b.MEDIA_LOADING||e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE?(Je(this,fs).update({start:Rd(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),Tt(this,Rn,Ua).call(this),$x(this)):e===b.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=Je(this,In),this.updateBar()))}get mediaChaptersCues(){return Je(this,In)}set mediaChaptersCues(e){var t;Bi(this,In,e),this.updateSegments((t=Je(this,In))==null?void 0:t.map(r=>({start:Rd(this,r.startTime),end:Rd(this,r.endTime)})))}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}get mediaDuration(){return Ee(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(b.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(b.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(b.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return ue(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return Ee(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Le(this,b.MEDIA_ENDED)}set mediaEnded(e){Ae(this,b.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([o,l])=>o<=n&&n<=l))!=null?e:[];r=Rd(this,a)}let{style:s}=Te(this.shadowRoot,"#highlight");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=Te(this.shadowRoot,"#current-rail"),r=Te(this.shadowRoot,'[part~="current-box"]'),s=Tt(this,Md,bm).call(this,Je(this,wd)),n=Tt(this,Pd,ym).call(this,s,this.range.valueAsNumber),a=Tt(this,Od,Tm).call(this,s,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${s.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${s.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":Tt(this,pm,ry).call(this);break;case"pointermove":Tt(this,mm,iy).call(this,e);break;case"pointerup":case"pointerleave":Tt(this,Ha,Nd).call(this,null);break;case"transitionstart":mt(e.target,this)&&setTimeout(()=>Tt(this,Rn,Ua).call(this),0);break}}};kn=new WeakMap;fs=new WeakMap;Cd=new WeakMap;Fa=new WeakMap;Dd=new WeakMap;wd=new WeakMap;Ba=new WeakMap;$a=new WeakMap;In=new WeakMap;Rn=new WeakSet;Ua=function(){Tt(this,Em,ty).call(this)?Je(this,fs).start():Je(this,fs).stop()};Em=new WeakSet;ty=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&Pv(this)};fm=new WeakMap;Md=new WeakSet;bm=function(i){var e;let r=((e=this.getAttribute("bounds")?ni(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(s.left-r.left-n/2),o=r.right-s.left-n/2;return{box:{width:n,min:a,max:o},bounds:r,range:s}};Pd=new WeakSet;ym=function(i,e){let t=`${e*100}%`,{width:r,min:s,max:n}=i.box;if(!r)return t;if(Number.isNaN(s)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${s}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let o=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${o})`}return t};Od=new WeakSet;Tm=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(n<r+Je(this,Ba)){let a=i.range.left-i.bounds.left-Je(this,Ba);return`${n-t/2+a}px`}if(n>s-Je(this,$a)){let a=i.bounds.right-i.range.right-Je(this,$a);return`${n+t/2-a-i.range.width}px`}return 0};mm=new WeakSet;iy=function(i){let e=[...Je(this,Cd)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){Tt(this,Ha,Nd).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=Te(this.shadowRoot,"#preview-rail"),s=Te(this.shadowRoot,'[part~="preview-box"]'),n=Tt(this,Md,bm).call(this,Je(this,Dd)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=Tt(this,Pd,ym).call(this,n,a),l=Tt(this,Od,Tm).call(this,n,a);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${n.range.width}`),s.style.setProperty("--_box-shift",`${l}`),s.style.setProperty("--_box-width",`${n.box.width}px`);let d=Math.round(Je(this,Fa))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(Bi(this,Fa,a*t),Tt(this,Ha,Nd).call(this,Je(this,Fa)))};Ha=new WeakSet;Nd=function(i){this.dispatchEvent(new _.CustomEvent(B.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};pm=new WeakSet;ry=function(){Je(this,fs).stop();let i=ny(this);this.dispatchEvent(new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};_.customElements.get("media-time-range")||_.customElements.define("media-time-range",gm);var Hx=1,Gx=i=>i.mediaMuted?0:i.mediaVolume,Wx=({value:i})=>`${Math.round(i*100)}%`,_m=class extends cs{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME,b.MEDIA_MUTED,b.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new _.CustomEvent(B.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",De.VOLUME())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===b.MEDIA_VOLUME||e===b.MEDIA_MUTED)&&(this.range.valueAsNumber=Gx(this),this.range.setAttribute("aria-valuetext",Wx(this.range)),this.updateBar())}get mediaVolume(){return Ee(this,b.MEDIA_VOLUME,Hx)}set mediaVolume(e){_e(this,b.MEDIA_VOLUME,e)}get mediaMuted(){return Le(this,b.MEDIA_MUTED)}set mediaMuted(e){Ae(this,b.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return ue(this,b.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){le(this,b.MEDIA_VOLUME_UNAVAILABLE,e)}};_.customElements.get("media-volume-range")||_.customElements.define("media-volume-range",_m);var Im=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},gt=(i,e,t)=>(Im(i,e,"read from private field"),t?t.call(i):e.get(i)),Ht=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fi=(i,e,t,r)=>(Im(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),hi=(i,e,t)=>(Im(i,e,"access private method"),t),$i,Ir,Cn,Ga,Ud,Fd,Am,wn,Sm,Bd,xm,Wa,$d,Hd,Lm,km,ay,Rm,oy,Kx=`
1377
+ `;var Rd=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let s=(e-t)/(r-t);return Math.max(0,Math.min(s,1))},oy=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},Em=class extends cs{constructor(){super(),lt(this,Rn),lt(this,ym),lt(this,Md),lt(this,Pd),lt(this,Od),lt(this,gm),lt(this,Ha),lt(this,vm),lt(this,kn,void 0),lt(this,fs,void 0),lt(this,Cd,void 0),lt(this,Fa,void 0),lt(this,Dd,void 0),lt(this,wd,void 0),lt(this,Ba,void 0),lt(this,$a,void 0),lt(this,In,void 0),lt(this,pm,t=>{this.dragging||(this.range.valueAsNumber=t,this.updateBar())}),this.container.appendChild(ay.content.cloneNode(!0)),Bi(this,Cd,this.shadowRoot.querySelectorAll('[part~="box"]')),Bi(this,Dd,this.shadowRoot.querySelector('[part~="preview-box"]')),Bi(this,wd,this.shadowRoot.querySelector('[part~="current-box"]'));let e=getComputedStyle(this);Bi(this,Ba,parseInt(e.getPropertyValue("--media-box-padding-left"))),Bi(this,$a,parseInt(e.getPropertyValue("--media-box-padding-right"))),Bi(this,fs,new Id(this.range,Je(this,pm),60))}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_PAUSED,b.MEDIA_DURATION,b.MEDIA_SEEKABLE,b.MEDIA_CURRENT_TIME,b.MEDIA_PREVIEW_IMAGE,b.MEDIA_PREVIEW_TIME,b.MEDIA_PREVIEW_CHAPTER,b.MEDIA_BUFFERED,b.MEDIA_PLAYBACK_RATE,b.MEDIA_LOADING,b.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",De.SEEK()),Tt(this,Rn,Ua).call(this),Bi(this,kn,this.getRootNode()),(e=Je(this,kn))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),Tt(this,Rn,Ua).call(this),(e=Je(this,kn))==null||e.removeEventListener("transitionstart",this),Bi(this,kn,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===b.MEDIA_CURRENT_TIME||e===b.MEDIA_PAUSED||e===b.MEDIA_ENDED||e===b.MEDIA_LOADING||e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE?(Je(this,fs).update({start:Rd(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),Tt(this,Rn,Ua).call(this),Gx(this)):e===b.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===b.MEDIA_DURATION||e===b.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=Je(this,In),this.updateBar()))}get mediaChaptersCues(){return Je(this,In)}set mediaChaptersCues(e){var t;Bi(this,In,e),this.updateSegments((t=Je(this,In))==null?void 0:t.map(r=>({start:Rd(this,r.startTime),end:Rd(this,r.endTime)})))}get mediaPaused(){return Le(this,b.MEDIA_PAUSED)}set mediaPaused(e){Ae(this,b.MEDIA_PAUSED,e)}get mediaLoading(){return Le(this,b.MEDIA_LOADING)}set mediaLoading(e){Ae(this,b.MEDIA_LOADING,e)}get mediaDuration(){return Ee(this,b.MEDIA_DURATION)}set mediaDuration(e){_e(this,b.MEDIA_DURATION,e)}get mediaCurrentTime(){return Ee(this,b.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){_e(this,b.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(b.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(b.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(b.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(b.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(b.MEDIA_SEEKABLE);return}this.setAttribute(b.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return ce(this,b.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){le(this,b.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return Ee(this,b.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){_e(this,b.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Le(this,b.MEDIA_ENDED)}set mediaEnded(e){Ae(this,b.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([o,l])=>o<=n&&n<=l))!=null?e:[];r=Rd(this,a)}let{style:s}=Te(this.shadowRoot,"#highlight");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=Te(this.shadowRoot,"#current-rail"),r=Te(this.shadowRoot,'[part~="current-box"]'),s=Tt(this,Md,Tm).call(this,Je(this,wd)),n=Tt(this,Pd,_m).call(this,s,this.range.valueAsNumber),a=Tt(this,Od,Am).call(this,s,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${s.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${s.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":Tt(this,vm,ny).call(this);break;case"pointermove":Tt(this,gm,sy).call(this,e);break;case"pointerup":case"pointerleave":Tt(this,Ha,Nd).call(this,null);break;case"transitionstart":mt(e.target,this)&&setTimeout(()=>Tt(this,Rn,Ua).call(this),0);break}}};kn=new WeakMap;fs=new WeakMap;Cd=new WeakMap;Fa=new WeakMap;Dd=new WeakMap;wd=new WeakMap;Ba=new WeakMap;$a=new WeakMap;In=new WeakMap;Rn=new WeakSet;Ua=function(){Tt(this,ym,ry).call(this)?Je(this,fs).start():Je(this,fs).stop()};ym=new WeakSet;ry=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&Nv(this)};pm=new WeakMap;Md=new WeakSet;Tm=function(i){var e;let r=((e=this.getAttribute("bounds")?ni(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),s=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(s.left-r.left-n/2),o=r.right-s.left-n/2;return{box:{width:n,min:a,max:o},bounds:r,range:s}};Pd=new WeakSet;_m=function(i,e){let t=`${e*100}%`,{width:r,min:s,max:n}=i.box;if(!r)return t;if(Number.isNaN(s)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${s}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let o=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${o})`}return t};Od=new WeakSet;Am=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(n<r+Je(this,Ba)){let a=i.range.left-i.bounds.left-Je(this,Ba);return`${n-t/2+a}px`}if(n>s-Je(this,$a)){let a=i.bounds.right-i.range.right-Je(this,$a);return`${n+t/2-a-i.range.width}px`}return 0};gm=new WeakSet;sy=function(i){let e=[...Je(this,Cd)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){Tt(this,Ha,Nd).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=Te(this.shadowRoot,"#preview-rail"),s=Te(this.shadowRoot,'[part~="preview-box"]'),n=Tt(this,Md,Tm).call(this,Je(this,Dd)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=Tt(this,Pd,_m).call(this,n,a),l=Tt(this,Od,Am).call(this,n,a);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${n.range.width}`),s.style.setProperty("--_box-shift",`${l}`),s.style.setProperty("--_box-width",`${n.box.width}px`);let d=Math.round(Je(this,Fa))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(Bi(this,Fa,a*t),Tt(this,Ha,Nd).call(this,Je(this,Fa)))};Ha=new WeakSet;Nd=function(i){this.dispatchEvent(new _.CustomEvent(B.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};vm=new WeakSet;ny=function(){Je(this,fs).stop();let i=oy(this);this.dispatchEvent(new _.CustomEvent(B.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};_.customElements.get("media-time-range")||_.customElements.define("media-time-range",Em);var Wx=1,Kx=i=>i.mediaMuted?0:i.mediaVolume,Vx=({value:i})=>`${Math.round(i*100)}%`,Sm=class extends cs{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_VOLUME,b.MEDIA_MUTED,b.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new _.CustomEvent(B.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",De.VOLUME())}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===b.MEDIA_VOLUME||e===b.MEDIA_MUTED)&&(this.range.valueAsNumber=Kx(this),this.range.setAttribute("aria-valuetext",Vx(this.range)),this.updateBar())}get mediaVolume(){return Ee(this,b.MEDIA_VOLUME,Wx)}set mediaVolume(e){_e(this,b.MEDIA_VOLUME,e)}get mediaMuted(){return Le(this,b.MEDIA_MUTED)}set mediaMuted(e){Ae(this,b.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return ce(this,b.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){le(this,b.MEDIA_VOLUME_UNAVAILABLE,e)}};_.customElements.get("media-volume-range")||_.customElements.define("media-volume-range",Sm);var wm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},gt=(i,e,t)=>(wm(i,e,"read from private field"),t?t.call(i):e.get(i)),Gt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fi=(i,e,t,r)=>(wm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),hi=(i,e,t)=>(wm(i,e,"access private method"),t),$i,wr,Cn,Ga,Ud,Fd,xm,wn,Lm,Bd,km,Wa,$d,Hd,Im,Rm,ly,Cm,dy,qx=`
1378
1378
  <svg aria-hidden="true" viewBox="0 1 24 24" part="select-indicator indicator">
1379
1379
  <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/>
1380
- </svg>`;function Hi(i,e,t){let r=O.createElement("media-chrome-option");r.part.add("option"),r.value=e,r.selected=t;let s=O.createElement("span");return s.textContent=i,r.append(s),r}function mi(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);return(t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t?(t=t.cloneNode(!0),t.removeAttribute("slot"),t):i.shadowRoot.querySelector(`[name="${e}"] > svg`).cloneNode(!0)}var ly=O.createElement("template");ly.innerHTML=`
1380
+ </svg>`;function Hi(i,e,t){let r=O.createElement("media-chrome-option");r.part.add("option"),r.value=e,r.selected=t;let s=O.createElement("span");return s.textContent=i,r.append(s),r}function mi(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);return(t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t?(t=t.cloneNode(!0),t.removeAttribute("slot"),t):i.shadowRoot.querySelector(`[name="${e}"] > svg`).cloneNode(!0)}var uy=O.createElement("template");uy.innerHTML=`
1381
1381
  <style>
1382
1382
  :host {
1383
1383
  font: var(--media-font,
@@ -1456,8 +1456,8 @@ svg, img, ::slotted(svg), ::slotted(img) {
1456
1456
  </style>
1457
1457
  <slot name="header"></slot>
1458
1458
  <slot id="container"></slot>
1459
- <slot name="select-indicator" hidden>${Kx}</slot>
1460
- `;var zt=class extends _.HTMLElement{constructor(e={}){super(),Ht(this,Fd),Ht(this,Bd),Ht(this,Wa),Ht(this,Hd),Ht(this,km),Ht(this,Rm),Ht(this,$i,void 0),Ht(this,Ir,""),Ht(this,Cn,null),Ht(this,Ga,!1),Ht(this,Ud,t=>{this.handleClick(t)}),Ht(this,wn,t=>{let{key:r}=t;if(r==="Escape"){this.removeEventListener("keyup",gt(this,wn));return}if(r==="Meta"){fi(this,Ga,!1);return}hi(this,Fd,Am).call(this,t)}),Ht(this,Sm,t=>{let{key:r,altKey:s}=t;if(s){this.removeEventListener("keyup",gt(this,wn));return}if(r==="Meta"){fi(this,Ga,!0);return}if(this.keysUsed.includes(r)&&t.preventDefault(),gt(this,Ga)&&this.keysUsed.includes(r)){hi(this,Fd,Am).call(this,t);return}this.addEventListener("keyup",gt(this,wn),{once:!0})}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=ly.content.cloneNode(!0),e.slotTemplate&&this.nativeEl.append(e.slotTemplate.content.cloneNode(!0)),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.container.addEventListener("slotchange",t=>{for(let r of t.target.assignedNodes({flatten:!0}))r.nodeType===3&&r.textContent.trim()===""&&r.remove()})}static get observedAttributes(){return["disabled","style",te.MEDIA_CONTROLLER]}static formatOptionText(e){return e}formatOptionText(e,t){return this.constructor.formatOptionText(e,t)}get options(){var e;let t=this.querySelectorAll("media-chrome-option");return t.length||(t=(e=this.container)==null?void 0:e.querySelectorAll("media-chrome-option")),Array.from(t)}get selectedOptions(){return this.options.filter(e=>e.selected)}get value(){var e,t;return(t=(e=this.selectedOptions[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.options.find(r=>r.value===e);t&&hi(this,Hd,Lm).call(this,t)}focus(){var e;(e=this.selectedOptions[0])==null||e.focus()}enable(){this.addEventListener("click",gt(this,Ud)),this.addEventListener("keydown",gt(this,Sm))}disable(){this.removeEventListener("click",gt(this,Ud)),this.removeEventListener("keyup",gt(this,wn))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e==="style"&&r!==t?hi(this,Bd,xm).call(this):e===te.MEDIA_CONTROLLER?(t&&((n=(s=gt(this,$i))==null?void 0:s.unassociateElement)==null||n.call(s,this),fi(this,$i,null)),r&&this.isConnected&&(fi(this,$i,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=gt(this,$i))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;hi(this,Bd,xm).call(this),this.hasAttribute("disabled")||this.enable(),this.hasAttribute("role")||this.setAttribute("role","listbox");let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(fi(this,$i,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=gt(this,$i))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=gt(this,$i))==null?void 0:e.unassociateElement)==null||t.call(e,this),fi(this,$i,null)}get keysUsed(){return["Enter"," ","ArrowDown","ArrowUp","Home","End"]}handleSelection(e,t){let r=hi(this,Wa,$d).call(this,e);r&&hi(this,Hd,Lm).call(this,r,t)}handleMovement(e){let{key:t}=e,r=this.options,s=hi(this,Wa,$d).call(this,e);s||(s=r.filter(a=>a.getAttribute("tabindex")==="0")[0]);let n;switch(t){case"ArrowDown":n=s.nextElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.nextElementSibling);break;case"ArrowUp":n=s.previousElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.previousElementSibling);break;case"Home":n=r[0];break;case"End":n=r[r.length-1];break;default:n=hi(this,km,ay).call(this,t);break}n&&(r.forEach(a=>a.setAttribute("tabindex","-1")),n.setAttribute("tabindex","0"),n.focus())}handleClick(e){let t=hi(this,Wa,$d).call(this,e);!t||t.hasAttribute("disabled")||(this.options.forEach(r=>r.setAttribute("tabindex","-1")),t.setAttribute("tabindex","0"),this.handleSelection(e,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"))}};$i=new WeakMap;Ir=new WeakMap;Cn=new WeakMap;Ga=new WeakMap;Ud=new WeakMap;Fd=new WeakSet;Am=function(i){let{key:e}=i;e==="Enter"||e===" "?this.handleSelection(i,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"):this.handleMovement(i)};wn=new WeakMap;Sm=new WeakMap;Bd=new WeakSet;xm=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=((i=getComputedStyle(this).getPropertyValue("--media-listbox-layout"))==null?void 0:i.trim())==="row";e.setAttribute("media",t?"":"width:0")};Wa=new WeakSet;$d=function(i){let e=i.composedPath(),t=e.findIndex(r=>r.nodeName==="MEDIA-CHROME-OPTION");return e[t]};Hd=new WeakSet;Lm=function(i,e){let t=[...this.selectedOptions];(!this.hasAttribute("aria-multiselectable")||this.getAttribute("aria-multiselectable")!=="true")&&this.options.forEach(r=>r.selected=!1),e?i.selected=!i.selected:i.selected=!0,this.selectedOptions.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};km=new WeakSet;ay=function(i){hi(this,Rm,oy).call(this);let e=this.options,t=e.findIndex(d=>d.getAttribute("tabindex")==="0");fi(this,Ir,gt(this,Ir)+i);let r=gt(this,Ir).split("").every(d=>d===i),s=e.slice(t+(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(gt(this,Ir))),n=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(gt(this,Ir))),a=[],o=[];return r&&(a=e.slice(t+(r?1:0)).filter(d=>d.textContent.startsWith(i)),o=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.startsWith(i))),[...s,...n,...a,...o][0]};Rm=new WeakSet;oy=function(){clearTimeout(gt(this,Cn)),fi(this,Cn,null),fi(this,Cn,setTimeout(()=>{fi(this,Ir,""),fi(this,Cn,null)},500))};_.customElements.get("media-chrome-listbox")||_.customElements.define("media-chrome-listbox",zt);var Om=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Dm=(i,e,t)=>(Om(i,e,"read from private field"),t?t.call(i):e.get(i)),wm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Cm=(i,e,t,r)=>(Om(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),dy=(i,e,t)=>(Om(i,e,"access private method"),t),Gd,Dn,Wd,Mm,uy=O.createElement("template");uy.innerHTML=`
1459
+ <slot name="select-indicator" hidden>${qx}</slot>
1460
+ `;var zt=class extends _.HTMLElement{constructor(e={}){super(),Gt(this,Fd),Gt(this,Bd),Gt(this,Wa),Gt(this,Hd),Gt(this,Rm),Gt(this,Cm),Gt(this,$i,void 0),Gt(this,wr,""),Gt(this,Cn,null),Gt(this,Ga,!1),Gt(this,Ud,t=>{this.handleClick(t)}),Gt(this,wn,t=>{let{key:r}=t;if(r==="Escape"){this.removeEventListener("keyup",gt(this,wn));return}if(r==="Meta"){fi(this,Ga,!1);return}hi(this,Fd,xm).call(this,t)}),Gt(this,Lm,t=>{let{key:r,altKey:s}=t;if(s){this.removeEventListener("keyup",gt(this,wn));return}if(r==="Meta"){fi(this,Ga,!0);return}if(this.keysUsed.includes(r)&&t.preventDefault(),gt(this,Ga)&&this.keysUsed.includes(r)){hi(this,Fd,xm).call(this,t);return}this.addEventListener("keyup",gt(this,wn),{once:!0})}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=uy.content.cloneNode(!0),e.slotTemplate&&this.nativeEl.append(e.slotTemplate.content.cloneNode(!0)),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.container.addEventListener("slotchange",t=>{for(let r of t.target.assignedNodes({flatten:!0}))r.nodeType===3&&r.textContent.trim()===""&&r.remove()})}static get observedAttributes(){return["disabled","style",te.MEDIA_CONTROLLER]}static formatOptionText(e){return e}formatOptionText(e,t){return this.constructor.formatOptionText(e,t)}get options(){var e;let t=this.querySelectorAll("media-chrome-option");return t.length||(t=(e=this.container)==null?void 0:e.querySelectorAll("media-chrome-option")),Array.from(t)}get selectedOptions(){return this.options.filter(e=>e.selected)}get value(){var e,t;return(t=(e=this.selectedOptions[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.options.find(r=>r.value===e);t&&hi(this,Hd,Im).call(this,t)}focus(){var e;(e=this.selectedOptions[0])==null||e.focus()}enable(){this.addEventListener("click",gt(this,Ud)),this.addEventListener("keydown",gt(this,Lm))}disable(){this.removeEventListener("click",gt(this,Ud)),this.removeEventListener("keyup",gt(this,wn))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e==="style"&&r!==t?hi(this,Bd,km).call(this):e===te.MEDIA_CONTROLLER?(t&&((n=(s=gt(this,$i))==null?void 0:s.unassociateElement)==null||n.call(s,this),fi(this,$i,null)),r&&this.isConnected&&(fi(this,$i,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=gt(this,$i))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;hi(this,Bd,km).call(this),this.hasAttribute("disabled")||this.enable(),this.hasAttribute("role")||this.setAttribute("role","listbox");let s=this.getAttribute(te.MEDIA_CONTROLLER);s&&(fi(this,$i,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=gt(this,$i))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=gt(this,$i))==null?void 0:e.unassociateElement)==null||t.call(e,this),fi(this,$i,null)}get keysUsed(){return["Enter"," ","ArrowDown","ArrowUp","Home","End"]}handleSelection(e,t){let r=hi(this,Wa,$d).call(this,e);r&&hi(this,Hd,Im).call(this,r,t)}handleMovement(e){let{key:t}=e,r=this.options,s=hi(this,Wa,$d).call(this,e);s||(s=r.filter(a=>a.getAttribute("tabindex")==="0")[0]);let n;switch(t){case"ArrowDown":n=s.nextElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.nextElementSibling);break;case"ArrowUp":n=s.previousElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.previousElementSibling);break;case"Home":n=r[0];break;case"End":n=r[r.length-1];break;default:n=hi(this,Rm,ly).call(this,t);break}n&&(r.forEach(a=>a.setAttribute("tabindex","-1")),n.setAttribute("tabindex","0"),n.focus())}handleClick(e){let t=hi(this,Wa,$d).call(this,e);!t||t.hasAttribute("disabled")||(this.options.forEach(r=>r.setAttribute("tabindex","-1")),t.setAttribute("tabindex","0"),this.handleSelection(e,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"))}};$i=new WeakMap;wr=new WeakMap;Cn=new WeakMap;Ga=new WeakMap;Ud=new WeakMap;Fd=new WeakSet;xm=function(i){let{key:e}=i;e==="Enter"||e===" "?this.handleSelection(i,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"):this.handleMovement(i)};wn=new WeakMap;Lm=new WeakMap;Bd=new WeakSet;km=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=((i=getComputedStyle(this).getPropertyValue("--media-listbox-layout"))==null?void 0:i.trim())==="row";e.setAttribute("media",t?"":"width:0")};Wa=new WeakSet;$d=function(i){let e=i.composedPath(),t=e.findIndex(r=>r.nodeName==="MEDIA-CHROME-OPTION");return e[t]};Hd=new WeakSet;Im=function(i,e){let t=[...this.selectedOptions];(!this.hasAttribute("aria-multiselectable")||this.getAttribute("aria-multiselectable")!=="true")&&this.options.forEach(r=>r.selected=!1),e?i.selected=!i.selected:i.selected=!0,this.selectedOptions.some((r,s)=>r!=t[s])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};Rm=new WeakSet;ly=function(i){hi(this,Cm,dy).call(this);let e=this.options,t=e.findIndex(d=>d.getAttribute("tabindex")==="0");fi(this,wr,gt(this,wr)+i);let r=gt(this,wr).split("").every(d=>d===i),s=e.slice(t+(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(gt(this,wr))),n=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(gt(this,wr))),a=[],o=[];return r&&(a=e.slice(t+(r?1:0)).filter(d=>d.textContent.startsWith(i)),o=e.slice(0,t-(r?1:0)).filter(d=>d.textContent.startsWith(i))),[...s,...n,...a,...o][0]};Cm=new WeakSet;dy=function(){clearTimeout(gt(this,Cn)),fi(this,Cn,null),fi(this,Cn,setTimeout(()=>{fi(this,wr,""),fi(this,Cn,null)},500))};_.customElements.get("media-chrome-listbox")||_.customElements.define("media-chrome-listbox",zt);var Um=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Pm=(i,e,t)=>(Um(i,e,"read from private field"),t?t.call(i):e.get(i)),Dm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Mm=(i,e,t,r)=>(Um(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),cy=(i,e,t)=>(Um(i,e,"access private method"),t),Gd,Dn,Wd,Om,hy=O.createElement("template");hy.innerHTML=`
1461
1461
  <style>
1462
1462
  :host {
1463
1463
  cursor: pointer;
@@ -1495,7 +1495,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
1495
1495
  }
1496
1496
  </style>
1497
1497
  <slot></slot>
1498
- `;var Rr={VALUE:"value",SELECTED:"selected",DISABLED:"disabled"},Kd=class extends _.HTMLElement{constructor(){super(),wm(this,Wd),wm(this,Gd,!1),wm(this,Dn,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(uy.content.cloneNode(!0)))}static get observedAttributes(){return[Rr.DISABLED,Rr.SELECTED,Rr.VALUE]}get value(){var e;return(e=this.getAttribute(Rr.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Rr.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get selected(){return this.getAttribute("aria-selected")==="true"}set selected(e){Cm(this,Gd,!0),this.setAttribute("aria-selected",e?"true":"false"),e?this.part.add("option-selected"):this.part.remove("option-selected")}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.hasAttribute("aria-selected")||this.setAttribute("aria-selected","false")}disable(){this.removeAttribute("tabindex")}attributeChangedCallback(e,t,r){e===Rr.SELECTED&&!Dm(this,Gd)?this.setAttribute("aria-selected",r!=null?"true":"false"):e===Rr.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Rr.DISABLED)||this.enable(),this.setAttribute("role","option"),Cm(this,Dn,Pm(this,this.parentNode)),dy(this,Wd,Mm).call(this)}disconnectedCallback(){this.disable(),dy(this,Wd,Mm).call(this),Cm(this,Dn,null)}handleClick(){}};Gd=new WeakMap;Dn=new WeakMap;Wd=new WeakSet;Mm=function(){var i;let e=(i=Dm(this,Dn))==null?void 0:i.options;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-selected")==="true").pop();t||(t=e[0]),Dm(this,Dn).getAttribute("aria-multiselectable")!=="true"&&e.forEach(r=>{r.setAttribute("tabindex","-1"),r.setAttribute("aria-selected","false")}),t==null||t.setAttribute("tabindex","0"),t==null||t.setAttribute("aria-selected","true")};function Pm(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?Pm(i,t):e!=null&&e.options?e:Pm(e,e==null?void 0:e.parentNode)}_.customElements.get("media-chrome-option")||_.customElements.define("media-chrome-option",Kd);var Um=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Y=(i,e,t)=>(Um(i,e,"read from private field"),t?t.call(i):e.get(i)),wt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Gi=(i,e,t,r)=>(Um(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ms=(i,e,t)=>(Um(i,e,"access private method"),t),Wi,_t,Ka,ze,pi,Mn,Vd,qd,Yd,zd,jd,Nm,Fm,cy,Pn,Va,ps,hy=O.createElement("template");hy.innerHTML=`
1498
+ `;var Cr={VALUE:"value",SELECTED:"selected",DISABLED:"disabled"},Kd=class extends _.HTMLElement{constructor(){super(),Dm(this,Wd),Dm(this,Gd,!1),Dm(this,Dn,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(hy.content.cloneNode(!0)))}static get observedAttributes(){return[Cr.DISABLED,Cr.SELECTED,Cr.VALUE]}get value(){var e;return(e=this.getAttribute(Cr.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Cr.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get selected(){return this.getAttribute("aria-selected")==="true"}set selected(e){Mm(this,Gd,!0),this.setAttribute("aria-selected",e?"true":"false"),e?this.part.add("option-selected"):this.part.remove("option-selected")}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.hasAttribute("aria-selected")||this.setAttribute("aria-selected","false")}disable(){this.removeAttribute("tabindex")}attributeChangedCallback(e,t,r){e===Cr.SELECTED&&!Pm(this,Gd)?this.setAttribute("aria-selected",r!=null?"true":"false"):e===Cr.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Cr.DISABLED)||this.enable(),this.setAttribute("role","option"),Mm(this,Dn,Nm(this,this.parentNode)),cy(this,Wd,Om).call(this)}disconnectedCallback(){this.disable(),cy(this,Wd,Om).call(this),Mm(this,Dn,null)}handleClick(){}};Gd=new WeakMap;Dn=new WeakMap;Wd=new WeakSet;Om=function(){var i;let e=(i=Pm(this,Dn))==null?void 0:i.options;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-selected")==="true").pop();t||(t=e[0]),Pm(this,Dn).getAttribute("aria-multiselectable")!=="true"&&e.forEach(r=>{r.setAttribute("tabindex","-1"),r.setAttribute("aria-selected","false")}),t==null||t.setAttribute("tabindex","0"),t==null||t.setAttribute("aria-selected","true")};function Nm(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?Nm(i,t):e!=null&&e.options?e:Nm(e,e==null?void 0:e.parentNode)}_.customElements.get("media-chrome-option")||_.customElements.define("media-chrome-option",Kd);var Bm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Y=(i,e,t)=>(Bm(i,e,"read from private field"),t?t.call(i):e.get(i)),wt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Gi=(i,e,t,r)=>(Bm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ms=(i,e,t)=>(Bm(i,e,"access private method"),t),Wi,_t,Ka,ze,pi,Mn,Vd,qd,Yd,zd,jd,Fm,$m,fy,Pn,Va,ps,my=O.createElement("template");my.innerHTML=`
1499
1499
  <style>
1500
1500
  :host {
1501
1501
  font: var(--media-font,
@@ -1546,22 +1546,22 @@ svg, img, ::slotted(svg), ::slotted(img) {
1546
1546
  <slot></slot>
1547
1547
  </media-chrome-listbox>
1548
1548
  </slot>
1549
- `;var jt=class extends _.HTMLElement{constructor(){var e;super(),wt(this,jd),wt(this,Fm),wt(this,Pn),wt(this,Wi,void 0),wt(this,_t,void 0),wt(this,Ka,void 0),wt(this,ze,void 0),wt(this,pi,void 0),wt(this,Mn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",Y(this,Mn));return}t.composedPath().includes(Y(this,_t))&&(r==="Enter"||r===" ")?ms(this,jd,Nm).call(this):r==="Escape"&&ms(this,Pn,Va).call(this)}),wt(this,Vd,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",Y(this,Mn));return}t.preventDefault(),this.addEventListener("keyup",Y(this,Mn),{once:!0})}),wt(this,qd,t=>{t.composedPath().includes(this)||ms(this,Pn,Va).call(this)}),wt(this,Yd,t=>{t.composedPath().includes(Y(this,_t))&&ms(this,jd,Nm).call(this)}),wt(this,zd,()=>{ms(this,Pn,Va).call(this)}),wt(this,ps,()=>{if(Y(this,ze).offsetWidth===0)return;let t=Y(this,ze).offsetWidth,r=Y(this,_t).getBoundingClientRect();if(this.hasAttribute("mediacontroller")||Y(this,_t).hasAttribute("mediacontroller")||Y(this,ze).hasAttribute("mediacontroller")){Y(this,ze).style.zIndex="1",Y(this,ze).style.bottom="unset",Y(this,ze).style.right=null,Y(this,ze).style.left="0",Y(this,ze).style.top=`${r.height}px`;return}let n=qa(this).getBoundingClientRect(),a=r.x+t,o=Math.max(r.right-a,r.right-n.right);Y(this,ze).style.left=null,Y(this,ze).style.right=`${o}px`,Y(this,ze).style.maxHeight=`${n.height-r.height}px`}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(hy.content.cloneNode(!0))),(e=this.init)==null||e.call(this),Gi(this,_t,this.shadowRoot.querySelector("[part=button]")),Gi(this,ze,this.shadowRoot.querySelector("[part=listbox]")),Gi(this,Ka,this.shadowRoot.querySelector("slot[name=button]")),Y(this,Ka).addEventListener("slotchange",()=>{let t=Y(this,Ka).assignedElements()[0];if(!t)return;Gi(this,_t,t),Y(this,_t).preventClick=!0,this.hasAttribute("disabled")||Y(this,_t).hasAttribute("disabled")?this.disable():(this.enable(),Y(this,_t).setAttribute("aria-haspopup","listbox"))}),Gi(this,pi,this.shadowRoot.querySelector("slot[name=listbox]")),Y(this,pi).addEventListener("slotchange",()=>{Gi(this,ze,Y(this,pi).assignedElements()[0]||Y(this,ze))})}static get observedAttributes(){return["disabled",te.MEDIA_CONTROLLER]}enable(){Y(this,_t).toggleAttribute("disabled",!1),this.addEventListener("change",Y(this,zd)),this.addEventListener("keydown",Y(this,Vd)),this.addEventListener("click",Y(this,Yd)),O.addEventListener("click",Y(this,qd))}disable(){Y(this,_t).toggleAttribute("disabled",!0),this.removeEventListener("change",Y(this,zd)),this.removeEventListener("keydown",Y(this,Vd)),this.removeEventListener("keyup",Y(this,Mn)),this.removeEventListener("click",Y(this,Yd)),O.removeEventListener("click",Y(this,qd))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER?(t&&((n=(s=Y(this,Wi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Gi(this,Wi,null),Y(this,ze).removeAttribute(te.MEDIA_CONTROLLER)),r&&this.isConnected&&(Gi(this,Wi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Y(this,Wi))==null?void 0:o.associateElement)==null||l.call(o,this),Y(this,ze).setAttribute(te.MEDIA_CONTROLLER,r))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(Gi(this,Wi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Y(this,Wi))==null?void 0:t.associateElement)==null||r.call(t,this),Y(this,ze).setAttribute(te.MEDIA_CONTROLLER,n)),this.hasAttribute("disabled")||this.enable(),Y(this,pi).hidden||Kt(qa(this),Y(this,ps))}disconnectedCallback(){var e,t;Ai(qa(this),Y(this,ps)),this.disable(),(t=(e=Y(this,Wi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Gi(this,Wi,null),Y(this,ze).removeAttribute(te.MEDIA_CONTROLLER)}get keysUsed(){return["Enter","Escape"," ","ArrowUp","ArrowDown","f","c","k","m"]}};Wi=new WeakMap;_t=new WeakMap;Ka=new WeakMap;ze=new WeakMap;pi=new WeakMap;Mn=new WeakMap;Vd=new WeakMap;qd=new WeakMap;Yd=new WeakMap;zd=new WeakMap;jd=new WeakSet;Nm=function(){Y(this,pi).hidden?ms(this,Fm,cy).call(this):ms(this,Pn,Va).call(this)};Fm=new WeakSet;cy=function(){Y(this,pi).hidden&&(Y(this,pi).hidden=!1,Y(this,_t).setAttribute("aria-expanded","true"),Y(this,ps).call(this),Y(this,ze).focus(),Kt(qa(this),Y(this,ps)))};Pn=new WeakSet;Va=function(){if(Y(this,pi).hidden)return;Ai(qa(this),Y(this,ps));let i=Xr();Y(this,pi).hidden=!0,Y(this,_t).setAttribute("aria-expanded","false"),mt(Y(this,ze),i)&&Y(this,_t).focus()};ps=new WeakMap;function qa(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):Vx(i)||i.parentElement)!=null?e:i}function Vx(i){var e;let t=i.getAttribute(te.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}_.customElements.get("media-chrome-selectmenu")||_.customElements.define("media-chrome-selectmenu",jt);var Wm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},qx=(i,e,t)=>(Wm(i,e,"read from private field"),t?t.call(i):e.get(i)),Bm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Yx=(i,e,t,r)=>(Wm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),$m=(i,e,t)=>(Wm(i,e,"access private method"),t),Qd,Hm,py,Xd,Gm,zx=`
1549
+ `;var jt=class extends _.HTMLElement{constructor(){var e;super(),wt(this,jd),wt(this,$m),wt(this,Pn),wt(this,Wi,void 0),wt(this,_t,void 0),wt(this,Ka,void 0),wt(this,ze,void 0),wt(this,pi,void 0),wt(this,Mn,t=>{let{key:r}=t;if(!this.keysUsed.includes(r)){this.removeEventListener("keyup",Y(this,Mn));return}t.composedPath().includes(Y(this,_t))&&(r==="Enter"||r===" ")?ms(this,jd,Fm).call(this):r==="Escape"&&ms(this,Pn,Va).call(this)}),wt(this,Vd,t=>{let{metaKey:r,altKey:s,key:n}=t;if(r||s||!this.keysUsed.includes(n)){this.removeEventListener("keyup",Y(this,Mn));return}t.preventDefault(),this.addEventListener("keyup",Y(this,Mn),{once:!0})}),wt(this,qd,t=>{t.composedPath().includes(this)||ms(this,Pn,Va).call(this)}),wt(this,Yd,t=>{t.composedPath().includes(Y(this,_t))&&ms(this,jd,Fm).call(this)}),wt(this,zd,()=>{ms(this,Pn,Va).call(this)}),wt(this,ps,()=>{if(Y(this,ze).offsetWidth===0)return;let t=Y(this,ze).offsetWidth,r=Y(this,_t).getBoundingClientRect();if(this.hasAttribute("mediacontroller")||Y(this,_t).hasAttribute("mediacontroller")||Y(this,ze).hasAttribute("mediacontroller")){Y(this,ze).style.zIndex="1",Y(this,ze).style.bottom="unset",Y(this,ze).style.right=null,Y(this,ze).style.left="0",Y(this,ze).style.top=`${r.height}px`;return}let n=qa(this).getBoundingClientRect(),a=r.x+t,o=Math.max(r.right-a,r.right-n.right);Y(this,ze).style.left=null,Y(this,ze).style.right=`${o}px`,Y(this,ze).style.maxHeight=`${n.height-r.height}px`}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(my.content.cloneNode(!0))),(e=this.init)==null||e.call(this),Gi(this,_t,this.shadowRoot.querySelector("[part=button]")),Gi(this,ze,this.shadowRoot.querySelector("[part=listbox]")),Gi(this,Ka,this.shadowRoot.querySelector("slot[name=button]")),Y(this,Ka).addEventListener("slotchange",()=>{let t=Y(this,Ka).assignedElements()[0];if(!t)return;Gi(this,_t,t),Y(this,_t).preventClick=!0,this.hasAttribute("disabled")||Y(this,_t).hasAttribute("disabled")?this.disable():(this.enable(),Y(this,_t).setAttribute("aria-haspopup","listbox"))}),Gi(this,pi,this.shadowRoot.querySelector("slot[name=listbox]")),Y(this,pi).addEventListener("slotchange",()=>{Gi(this,ze,Y(this,pi).assignedElements()[0]||Y(this,ze))})}static get observedAttributes(){return["disabled",te.MEDIA_CONTROLLER]}enable(){Y(this,_t).toggleAttribute("disabled",!1),this.addEventListener("change",Y(this,zd)),this.addEventListener("keydown",Y(this,Vd)),this.addEventListener("click",Y(this,Yd)),O.addEventListener("click",Y(this,qd))}disable(){Y(this,_t).toggleAttribute("disabled",!0),this.removeEventListener("change",Y(this,zd)),this.removeEventListener("keydown",Y(this,Vd)),this.removeEventListener("keyup",Y(this,Mn)),this.removeEventListener("click",Y(this,Yd)),O.removeEventListener("click",Y(this,qd))}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===te.MEDIA_CONTROLLER?(t&&((n=(s=Y(this,Wi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Gi(this,Wi,null),Y(this,ze).removeAttribute(te.MEDIA_CONTROLLER)),r&&this.isConnected&&(Gi(this,Wi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Y(this,Wi))==null?void 0:o.associateElement)==null||l.call(o,this),Y(this,ze).setAttribute(te.MEDIA_CONTROLLER,r))):e==="disabled"&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){var e,t,r;let{style:s}=Te(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(te.MEDIA_CONTROLLER);n&&(Gi(this,Wi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Y(this,Wi))==null?void 0:t.associateElement)==null||r.call(t,this),Y(this,ze).setAttribute(te.MEDIA_CONTROLLER,n)),this.hasAttribute("disabled")||this.enable(),Y(this,pi).hidden||Kt(qa(this),Y(this,ps))}disconnectedCallback(){var e,t;Ai(qa(this),Y(this,ps)),this.disable(),(t=(e=Y(this,Wi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Gi(this,Wi,null),Y(this,ze).removeAttribute(te.MEDIA_CONTROLLER)}get keysUsed(){return["Enter","Escape"," ","ArrowUp","ArrowDown","f","c","k","m"]}};Wi=new WeakMap;_t=new WeakMap;Ka=new WeakMap;ze=new WeakMap;pi=new WeakMap;Mn=new WeakMap;Vd=new WeakMap;qd=new WeakMap;Yd=new WeakMap;zd=new WeakMap;jd=new WeakSet;Fm=function(){Y(this,pi).hidden?ms(this,$m,fy).call(this):ms(this,Pn,Va).call(this)};$m=new WeakSet;fy=function(){Y(this,pi).hidden&&(Y(this,pi).hidden=!1,Y(this,_t).setAttribute("aria-expanded","true"),Y(this,ps).call(this),Y(this,ze).focus(),Kt(qa(this),Y(this,ps)))};Pn=new WeakSet;Va=function(){if(Y(this,pi).hidden)return;Ai(qa(this),Y(this,ps));let i=Xr();Y(this,pi).hidden=!0,Y(this,_t).setAttribute("aria-expanded","false"),mt(Y(this,ze),i)&&Y(this,_t).focus()};ps=new WeakMap;function qa(i){var e;return(e=i.getAttribute("bounds")?ni(i,`#${i.getAttribute("bounds")}`):Yx(i)||i.parentElement)!=null?e:i}function Yx(i){var e;let t=i.getAttribute(te.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):ni(i,"media-controller")}_.customElements.get("media-chrome-selectmenu")||_.customElements.define("media-chrome-selectmenu",jt);var Vm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},zx=(i,e,t)=>(Vm(i,e,"read from private field"),t?t.call(i):e.get(i)),Hm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},jx=(i,e,t,r)=>(Vm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Gm=(i,e,t)=>(Vm(i,e,"access private method"),t),Qd,Wm,vy,Xd,Km,Xx=`
1550
1550
  <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
1551
1551
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
1552
- </svg>`,gy=O.createElement("template");gy.innerHTML=`
1553
- <slot name="captions-indicator" hidden>${zx}</slot>
1554
- `;var Zd=class extends zt{constructor(){super({slotTemplate:gy}),Bm(this,Hm),Bm(this,Xd),Bm(this,Qd,void 0)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?$m(this,Hm,py).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r?this.value=r:e==="aria-multiselectable"&&(this.removeAttribute("aria-multiselectable"),console.warn("Captions List doesn't currently support multiple selections. You can enable multiple items via the media.textTracks API."))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",$m(this,Xd,Gm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",$m(this,Xd,Gm))}get mediaSubtitlesList(){return fy(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){my(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return fy(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){my(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Qd=new WeakMap;Hm=new WeakSet;py=function(){var i;if(qx(this,Qd)===JSON.stringify(this.mediaSubtitlesList))return;Yx(this,Qd,JSON.stringify(this.mediaSubtitlesList));let e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.value,r=Hi(this.formatOptionText("Off"),"off",t);r.prepend(mi(this,"select-indicator")),e.append(r);let s=this.mediaSubtitlesList;for(let n of s){let a=Hi(this.formatOptionText(n.label,n),es(n),this.value==es(n));a.prepend(mi(this,"select-indicator")),((i=n.kind)!=null?i:"subs")==="captions"&&a.append(mi(this,"captions-indicator")),e.append(a)}};Xd=new WeakSet;Gm=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new _.CustomEvent(B.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new _.CustomEvent(B.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};var fy=(i,e)=>{let t=i.getAttribute(e);return t?rr(t):[]},my=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-listbox")||_.customElements.define("media-captions-listbox",Zd);var Jd=class extends jt{init(){let e=O.createElement("media-captions-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-captions-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-captions-selectmenu")||_.customElements.define("media-captions-selectmenu",Jd);var vy=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},eu=(i,e,t)=>(vy(i,e,"read from private field"),t?t.call(i):e.get(i)),Km=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ya=(i,e,t)=>(vy(i,e,"access private method"),t),On,za,tu,iu,qm,Vm={RATES:"rates"},ru=class extends zt{constructor(){super(),Km(this,za),Km(this,iu),Km(this,On,new Vt(this,Vm.RATES,{defaultValue:Ca})),Ya(this,za,tu).call(this)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_PLAYBACK_RATE,Vm.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===Vm.RATES&&t!=r&&(eu(this,On).value=r,Ya(this,za,tu).call(this))}get rates(){return eu(this,On)}set rates(e){e?Array.isArray(e)&&(eu(this,On).value=e.join(" ")):eu(this,On).value="",Ya(this,za,tu).call(this)}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,kr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ya(this,iu,qm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ya(this,iu,qm))}};On=new WeakMap;za=new WeakSet;tu=function(){let i=this.shadowRoot.querySelector("#container");i.textContent="";for(let e of this.rates){let t=Hi(this.formatOptionText(`${e}x`,e),e,this.mediaPlaybackRate==e);t.prepend(mi(this,"select-indicator")),i.append(t)}};iu=new WeakSet;qm=function(){if(!this.value)return;let i=new _.CustomEvent(B.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-playback-rate-listbox")||_.customElements.define("media-playback-rate-listbox",ru);var su=class extends jt{init(){let e=O.createElement("media-playback-rate-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-playback-rate-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-playback-rate-selectmenu")||_.customElements.define("media-playback-rate-selectmenu",su);var Xm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ey=(i,e,t)=>(Xm(i,e,"read from private field"),t?t.call(i):e.get(i)),nu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ym=(i,e,t,r)=>(Xm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),au=(i,e,t)=>(Xm(i,e,"access private method"),t),ja,du,ou,zm,lu,jm,uu=class extends zt{constructor(){super(...arguments),nu(this,ou),nu(this,lu),nu(this,ja,[]),nu(this,du,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(Ym(this,ja,Yo(r)),au(this,ou,zm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",au(this,lu,jm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",au(this,lu,jm))}get mediaRenditionList(){return Ey(this,ja)}set mediaRenditionList(e){Ym(this,ja,e),au(this,ou,zm).call(this)}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};ja=new WeakMap;du=new WeakMap;ou=new WeakSet;zm=function(){if(Ey(this,du)===JSON.stringify(this.mediaRenditionList))return;Ym(this,du,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((s,n)=>n.height-s.height),e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.mediaRenditionSelected;for(let s of i){let n=this.formatOptionText(`${Math.min(s.width,s.height)}p`,s),a=Hi(n,`${s.id}`,s.selected&&!t);a.prepend(mi(this,"select-indicator")),e.append(a)}let r=Hi(this.formatOptionText("Auto"),"auto",t);r.prepend(mi(this,"select-indicator")),e.append(r)};lu=new WeakSet;jm=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-rendition-listbox")||_.customElements.define("media-rendition-listbox",uu);var jx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1552
+ </svg>`,Ey=O.createElement("template");Ey.innerHTML=`
1553
+ <slot name="captions-indicator" hidden>${Xx}</slot>
1554
+ `;var Zd=class extends zt{constructor(){super({slotTemplate:Ey}),Hm(this,Wm),Hm(this,Xd),Hm(this,Qd,void 0)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_SUBTITLES_LIST,b.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_SUBTITLES_LIST&&t!==r?Gm(this,Wm,vy).call(this):e===b.MEDIA_SUBTITLES_SHOWING&&t!==r?this.value=r:e==="aria-multiselectable"&&(this.removeAttribute("aria-multiselectable"),console.warn("Captions List doesn't currently support multiple selections. You can enable multiple items via the media.textTracks API."))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Gm(this,Xd,Km))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Gm(this,Xd,Km))}get mediaSubtitlesList(){return py(this,b.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){gy(this,b.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return py(this,b.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){gy(this,b.MEDIA_SUBTITLES_SHOWING,e)}};Qd=new WeakMap;Wm=new WeakSet;vy=function(){var i;if(zx(this,Qd)===JSON.stringify(this.mediaSubtitlesList))return;jx(this,Qd,JSON.stringify(this.mediaSubtitlesList));let e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.value,r=Hi(this.formatOptionText("Off"),"off",t);r.prepend(mi(this,"select-indicator")),e.append(r);let s=this.mediaSubtitlesList;for(let n of s){let a=Hi(this.formatOptionText(n.label,n),es(n),this.value==es(n));a.prepend(mi(this,"select-indicator")),((i=n.kind)!=null?i:"subs")==="captions"&&a.append(mi(this,"captions-indicator")),e.append(a)}};Xd=new WeakSet;Km=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(b.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new _.CustomEvent(B.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new _.CustomEvent(B.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};var py=(i,e)=>{let t=i.getAttribute(e);return t?sr(t):[]},gy=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=oi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};_.customElements.get("media-captions-listbox")||_.customElements.define("media-captions-listbox",Zd);var Jd=class extends jt{init(){let e=O.createElement("media-captions-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-captions-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-captions-selectmenu")||_.customElements.define("media-captions-selectmenu",Jd);var by=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},eu=(i,e,t)=>(by(i,e,"read from private field"),t?t.call(i):e.get(i)),qm=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ya=(i,e,t)=>(by(i,e,"access private method"),t),On,za,tu,iu,zm,Ym={RATES:"rates"},ru=class extends zt{constructor(){super(),qm(this,za),qm(this,iu),qm(this,On,new Vt(this,Ym.RATES,{defaultValue:Ca})),Ya(this,za,tu).call(this)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",b.MEDIA_PLAYBACK_RATE,Ym.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===Ym.RATES&&t!=r&&(eu(this,On).value=r,Ya(this,za,tu).call(this))}get rates(){return eu(this,On)}set rates(e){e?Array.isArray(e)&&(eu(this,On).value=e.join(" ")):eu(this,On).value="",Ya(this,za,tu).call(this)}get mediaPlaybackRate(){return Ee(this,b.MEDIA_PLAYBACK_RATE,Rr)}set mediaPlaybackRate(e){_e(this,b.MEDIA_PLAYBACK_RATE,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Ya(this,iu,zm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Ya(this,iu,zm))}};On=new WeakMap;za=new WeakSet;tu=function(){let i=this.shadowRoot.querySelector("#container");i.textContent="";for(let e of this.rates){let t=Hi(this.formatOptionText(`${e}x`,e),e,this.mediaPlaybackRate==e);t.prepend(mi(this,"select-indicator")),i.append(t)}};iu=new WeakSet;zm=function(){if(!this.value)return;let i=new _.CustomEvent(B.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-playback-rate-listbox")||_.customElements.define("media-playback-rate-listbox",ru);var su=class extends jt{init(){let e=O.createElement("media-playback-rate-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-playback-rate-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-playback-rate-selectmenu")||_.customElements.define("media-playback-rate-selectmenu",su);var Zm=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},yy=(i,e,t)=>(Zm(i,e,"read from private field"),t?t.call(i):e.get(i)),nu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},jm=(i,e,t,r)=>(Zm(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),au=(i,e,t)=>(Zm(i,e,"access private method"),t),ja,du,ou,Xm,lu,Qm,uu=class extends zt{constructor(){super(...arguments),nu(this,ou),nu(this,lu),nu(this,ja,[]),nu(this,du,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_LIST,b.MEDIA_RENDITION_SELECTED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_RENDITION_SELECTED&&t!==r?this.value=r!=null?r:"auto":e===b.MEDIA_RENDITION_LIST&&t!==r&&(jm(this,ja,Yo(r)),au(this,ou,Xm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",au(this,lu,Qm))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",au(this,lu,Qm))}get mediaRenditionList(){return yy(this,ja)}set mediaRenditionList(e){jm(this,ja,e),au(this,ou,Xm).call(this)}get mediaRenditionSelected(){return ce(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};ja=new WeakMap;du=new WeakMap;ou=new WeakSet;Xm=function(){if(yy(this,du)===JSON.stringify(this.mediaRenditionList))return;jm(this,du,JSON.stringify(this.mediaRenditionList));let i=this.mediaRenditionList.sort((s,n)=>n.height-s.height),e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.mediaRenditionSelected;for(let s of i){let n=this.formatOptionText(`${Math.min(s.width,s.height)}p`,s),a=Hi(n,`${s.id}`,s.selected&&!t);a.prepend(mi(this,"select-indicator")),e.append(a)}let r=Hi(this.formatOptionText("Auto"),"auto",t);r.prepend(mi(this,"select-indicator")),e.append(r)};lu=new WeakSet;Qm=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-rendition-listbox")||_.customElements.define("media-rendition-listbox",uu);var Qx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1555
1555
  <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
1556
- </svg>`,by=O.createElement("template");by.innerHTML=`
1557
- <slot name="icon">${jx}</slot>
1558
- `;var Qm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:by})}get mediaRenditionSelected(){return ue(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};_.customElements.get("media-rendition-button")||_.customElements.define("media-rendition-button",Qm);var cu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}init(){let e=O.createElement("media-rendition-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-rendition-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-rendition-selectmenu")||_.customElements.define("media-rendition-selectmenu",cu);var tp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},yy=(i,e,t)=>(tp(i,e,"read from private field"),t?t.call(i):e.get(i)),hu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Zm=(i,e,t,r)=>(tp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fu=(i,e,t)=>(tp(i,e,"access private method"),t),Xa,gu,mu,Jm,pu,ep,vu=class extends zt{constructor(){super(...arguments),hu(this,mu),hu(this,pu),hu(this,Xa,[]),hu(this,gu,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(Zm(this,Xa,zo(r)),fu(this,mu,Jm).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",fu(this,pu,ep))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",fu(this,pu,ep))}get mediaAudioTrackList(){return yy(this,Xa)}set mediaAudioTrackList(e){Zm(this,Xa,e),fu(this,mu,Jm).call(this)}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};Xa=new WeakMap;gu=new WeakMap;mu=new WeakSet;Jm=function(){if(yy(this,gu)===JSON.stringify(this.mediaAudioTrackList))return;Zm(this,gu,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList,e=this.shadowRoot.querySelector("#container");e.textContent="";for(let t of i){let r=this.formatOptionText(t.label,t),s=Hi(r,`${t.id}`,t.enabled);s.prepend(mi(this,"select-indicator")),e.append(s)}};pu=new WeakSet;ep=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-audio-track-listbox")||_.customElements.define("media-audio-track-listbox",vu);var Xx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1556
+ </svg>`,Ty=O.createElement("template");Ty.innerHTML=`
1557
+ <slot name="icon">${Qx}</slot>
1558
+ `;var Jm=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:Ty})}get mediaRenditionSelected(){return ce(this,b.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){le(this,b.MEDIA_RENDITION_SELECTED,e)}};_.customElements.get("media-rendition-button")||_.customElements.define("media-rendition-button",Jm);var cu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_RENDITION_SELECTED,b.MEDIA_RENDITION_UNAVAILABLE]}init(){let e=O.createElement("media-rendition-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-rendition-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-rendition-selectmenu")||_.customElements.define("media-rendition-selectmenu",cu);var rp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},_y=(i,e,t)=>(rp(i,e,"read from private field"),t?t.call(i):e.get(i)),hu=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ep=(i,e,t,r)=>(rp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fu=(i,e,t)=>(rp(i,e,"access private method"),t),Xa,gu,mu,tp,pu,ip,vu=class extends zt{constructor(){super(...arguments),hu(this,mu),hu(this,pu),hu(this,Xa,[]),hu(this,gu,void 0)}static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_LIST,b.MEDIA_AUDIO_TRACK_ENABLED]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===b.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===b.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(ep(this,Xa,zo(r)),fu(this,mu,tp).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",fu(this,pu,ip))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",fu(this,pu,ip))}get mediaAudioTrackList(){return _y(this,Xa)}set mediaAudioTrackList(e){ep(this,Xa,e),fu(this,mu,tp).call(this)}get mediaAudioTrackEnabled(){return ce(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};Xa=new WeakMap;gu=new WeakMap;mu=new WeakSet;tp=function(){if(_y(this,gu)===JSON.stringify(this.mediaAudioTrackList))return;ep(this,gu,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList,e=this.shadowRoot.querySelector("#container");e.textContent="";for(let t of i){let r=this.formatOptionText(t.label,t),s=Hi(r,`${t.id}`,t.enabled);s.prepend(mi(this,"select-indicator")),e.append(s)}};pu=new WeakSet;ip=function(){if(this.value==null)return;let i=new _.CustomEvent(B.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};_.customElements.get("media-audio-track-listbox")||_.customElements.define("media-audio-track-listbox",vu);var Zx=`<svg aria-hidden="true" viewBox="0 0 24 24">
1559
1559
  <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
1560
1560
  <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
1561
- </svg>`,Ty=O.createElement("template");Ty.innerHTML=`
1562
- <slot name="icon">${Xx}</slot>
1563
- `;var ip=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:Ty})}get mediaAudioTrackEnabled(){return ue(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};_.customElements.get("media-audio-track-button")||_.customElements.define("media-audio-track-button",ip);var Eu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=O.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-audio-track-selectmenu")||_.customElements.define("media-audio-track-selectmenu",Eu);var Qx=Object.create,wy=Object.defineProperty,Zx=Object.getOwnPropertyDescriptor,Jx=Object.getOwnPropertyNames,eL=Object.getPrototypeOf,tL=Object.prototype.hasOwnProperty,Cy=function(i,e){return function(){return i&&(e=i(i=0)),e}},vt=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},iL=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=Jx(e),n=0,a=s.length,o;n<a;n++)o=s[n],!tL.call(i,o)&&o!==t&&wy(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=Zx(e,o))||r.enumerable});return i},Ct=function(i,e,t){return t=i!=null?Qx(eL(i)):{},iL(e||!i||!i.__esModule?wy(t,"default",{value:i,enumerable:!0}):t,i)},Ki=vt(function(i,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function At(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var Su=Cy(function(){}),rL=vt(function(i,e){Su(),function(t,r){"use strict";typeof define=="function"&&define.amd?define(r):typeof e=="object"&&e.exports?e.exports=r():t.log=r()}(i,function(){"use strict";var t=function(){},r="undefined",s=(typeof window=="undefined"?"undefined":At(window))!==r&&At(window.navigator)!==r&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function a(g,E){var T=g[E];if(typeof T.bind=="function")return T.bind(g);try{return Function.prototype.bind.call(T,g)}catch{return function(){return Function.prototype.apply.apply(T,[g,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(g){return g==="debug"&&(g="log"),(typeof console=="undefined"?"undefined":At(console))===r?!1:g==="trace"&&s?o:console[g]!==void 0?a(console,g):console.log!==void 0?a(console,"log"):t}function d(g,E){for(var T=0;T<n.length;T++){var y=n[T];this[y]=T<g?t:this.methodFactory(y,g,E)}this.log=this.debug}function u(g,E,T){return function(){(typeof console=="undefined"?"undefined":At(console))!==r&&(d.call(this,E,T),this[g].apply(this,arguments))}}function c(g,E,T){return l(g)||u.apply(this,arguments)}function h(g,E,T){var y=this,S;E=E==null?"WARN":E;var A="loglevel";typeof g=="string"?A+=":"+g:(typeof g=="undefined"?"undefined":At(g))==="symbol"&&(A=void 0);function L(k){var D=(n[k]||"silent").toUpperCase();if(!((typeof window=="undefined"?"undefined":At(window))===r||!A)){try{window.localStorage[A]=D;return}catch{}try{window.document.cookie=encodeURIComponent(A)+"="+D+";"}catch{}}}function x(){var k;if(!((typeof window=="undefined"?"undefined":At(window))===r||!A)){try{k=window.localStorage[A]}catch{}if((typeof k=="undefined"?"undefined":At(k))===r)try{var D=window.document.cookie,U=D.indexOf(encodeURIComponent(A)+"=");U!==-1&&(k=/^([^;]+)/.exec(D.slice(U))[1])}catch{}return y.levels[k]===void 0&&(k=void 0),k}}function w(){if(!((typeof window=="undefined"?"undefined":At(window))===r||!A)){try{window.localStorage.removeItem(A);return}catch{}try{window.document.cookie=encodeURIComponent(A)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}y.name=g,y.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},y.methodFactory=T||c,y.getLevel=function(){return S},y.setLevel=function(k,D){if(typeof k=="string"&&y.levels[k.toUpperCase()]!==void 0&&(k=y.levels[k.toUpperCase()]),typeof k=="number"&&k>=0&&k<=y.levels.SILENT){if(S=k,D!==!1&&L(k),d.call(y,k,g),(typeof console=="undefined"?"undefined":At(console))===r&&k<y.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+k},y.setDefaultLevel=function(k){E=k,x()||y.setLevel(k,!1)},y.resetLevel=function(){y.setLevel(E,!1),w()},y.enableAll=function(k){y.setLevel(y.levels.TRACE,k)},y.disableAll=function(k){y.setLevel(y.levels.SILENT,k)};var P=x();P==null&&(P=E),y.setLevel(P,!1)}var f=new h,m={};f.getLogger=function(g){if((typeof g=="undefined"?"undefined":At(g))!=="symbol"&&typeof g!="string"||g==="")throw new TypeError("You must supply a name when creating a logger.");var E=m[g];return E||(E=m[g]=new h(g,f.getLevel(),f.methodFactory)),E};var p=(typeof window=="undefined"?"undefined":At(window))!==r?window.log:void 0;return f.noConflict=function(){return(typeof window=="undefined"?"undefined":At(window))!==r&&window.log===f&&(window.log=p),f},f.getLoggers=function(){return m},f.default=f,f})});function ys(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):ys(i,e)}var Ts=Cy(function(){Ts()}),sL=vt(function(i){"use strict";var e=Object.prototype.hasOwnProperty,t;function r(o){try{return decodeURIComponent(o.replace(/\+/g," "))}catch{return null}}function s(o){try{return encodeURIComponent(o)}catch{return null}}function n(o){for(var l=/([^=?#&]+)=?([^&]*)/g,d={},u;u=l.exec(o);){var c=r(u[1]),h=r(u[2]);c===null||h===null||c in d||(d[c]=h)}return d}function a(o,l){l=l||"";var d=[],u,c;typeof l!="string"&&(l="?");for(c in o)if(e.call(o,c)){if(u=o[c],!u&&(u===null||u===t||isNaN(u))&&(u=""),c=s(c),u=s(u),c===null||u===null)continue;d.push(c+"="+u)}return d.length?l+d.join("&"):""}i.stringify=a,i.parse=n}),nL=vt(function(i,e){"use strict";(function(t){var r=!1;if(typeof define=="function"&&define.amd&&(define(t),r=!0),typeof i=="object"&&(e.exports=t(),r=!0),!r){var s=window.Cookies,n=window.Cookies=t();n.noConflict=function(){return window.Cookies=s,n}}})(function(){var t=function(){for(var s=0,n={};s<arguments.length;s++){var a=arguments[s];for(var o in a)n[o]=a[o]}return n};function r(s){function n(a,o,l){var d;if(typeof document!="undefined"){if(arguments.length>1){if(l=t({path:"/"},n.defaults,l),typeof l.expires=="number"){var u=new Date;u.setMilliseconds(u.getMilliseconds()+l.expires*864e5),l.expires=u}try{d=JSON.stringify(o),/^[\{\[]/.test(d)&&(o=d)}catch{}return s.write?o=s.write(o,a):o=encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),a=encodeURIComponent(String(a)),a=a.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),a=a.replace(/[\(\)]/g,escape),document.cookie=[a,"=",o,l.expires?"; expires="+l.expires.toUTCString():"",l.path?"; path="+l.path:"",l.domain?"; domain="+l.domain:"",l.secure?"; secure":""].join("")}a||(d={});for(var c=document.cookie?document.cookie.split("; "):[],h=/(%[0-9A-Z]{2})+/g,f=0;f<c.length;f++){var m=c[f].split("="),p=m.slice(1).join("=");p.charAt(0)==='"'&&(p=p.slice(1,-1));try{var g=m[0].replace(h,decodeURIComponent);if(p=s.read?s.read(p,g):s(p,g)||p.replace(h,decodeURIComponent),this.json)try{p=JSON.parse(p)}catch{}if(a===g){d=p;break}a||(d[g]=p)}catch{}}return d}}return n.set=n,n.get=function(a){return n.call(n,a)},n.getJSON=function(){return n.apply({json:!0},[].slice.call(arguments))},n.defaults={},n.remove=function(a,o){n(a,"",t(o,{expires:-1}))},n.withConverter=r,n}return r(function(){})})}),Dy=vt(function(i,e){var t=Array.prototype.slice;e.exports=r;function r(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),aL=vt(function(i,e){Ts(),e.exports=t;function t(r,s){if(!ys(this,t))return new t(r,s);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),oL=vt(function(i,e){Ts(),e.exports=t;function t(r,s){if(!ys(this,t))return new t(r);this.data=r||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(r,s,n){var a=this.data,o=a.substring(0,r),l=a.substring(r+s,a.length);this.data=o+n+l,this.length=this.data.length}}),My=vt(function(i,e){e.exports=t;function t(r){var s=this,n=r.type;r.target||(r.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){r.currentTarget=s,typeof o=="function"?o(r):o.handleEvent(r)});s.parentNode&&s.parentNode.dispatchEvent(r)}}),Py=vt(function(i,e){e.exports=t;function t(r,s){var n=this;n.listeners||(n.listeners={}),n.listeners[r]||(n.listeners[r]=[]),n.listeners[r].indexOf(s)===-1&&n.listeners[r].push(s)}}),Oy=vt(function(i,e){e.exports=t;function t(r,s){var n=this;if(n.listeners&&n.listeners[r]){var a=n.listeners[r],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),lL=vt(function(i,e){Su(),e.exports=r;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+d(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(r)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=At(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var p=h[m];m=m.replace(/[A-Z]/g,function(g){return"-"+g.toLowerCase()}),f+=m+":"+p+";"}),f}function o(h){var f=h.dataset,m=[];for(var p in f)m.push({name:"data-"+p,value:f[p]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var p=m.name,g=m.value;p==="style"&&(g=a(g)),f.push(p+'="'+c(g)+'"')}),f.length?" "+f.join(" "):""}function d(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var p in h._attributes)for(var g in h._attributes[p]){var E=h._attributes[p][g],T=(E.prefix?E.prefix+":":"")+g;f.push({name:T,value:E.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(h){return u(h).replace(/"/g,"&quot;")}}),Ny=vt(function(i,e){Ts();var t=Dy(),r=My(),s=Py(),n=Oy(),a=lL(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!ys(this,l))return new l(d);var h=c===void 0?o:c||null;this.tagName=h===o?String(d).toUpperCase():d,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(d){return d.parentNode&&d.parentNode.removeChild(d),this.childNodes.push(d),d.parentNode=this,d},l.prototype.replaceChild=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=this.childNodes.indexOf(u);return u.parentNode=null,this.childNodes[c]=d,d.parentNode=this,u},l.prototype.removeChild=function(d){var u=this.childNodes.indexOf(d);return this.childNodes.splice(u,1),d.parentNode=null,d},l.prototype.insertBefore=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=u==null?-1:this.childNodes.indexOf(u);return c>-1?this.childNodes.splice(c,0,d):this.childNodes.push(d),d.parentNode=this,d},l.prototype.setAttributeNS=function(d,u,c){var h=null,f=u,m=u.indexOf(":");if(m>-1&&(h=u.substr(0,m),f=u.substr(m+1)),this.tagName==="INPUT"&&u==="type")this.type=c;else{var p=this._attributes[d]||(this._attributes[d]={});p[f]={value:c,prefix:h}}},l.prototype.getAttributeNS=function(d,u){var c=this._attributes[d],h=c&&c[u]&&c[u].value;return this.tagName==="INPUT"&&u==="type"?this.type:typeof h!="string"?null:h},l.prototype.removeAttributeNS=function(d,u){var c=this._attributes[d];c&&delete c[u]},l.prototype.hasAttributeNS=function(d,u){var c=this._attributes[d];return!!c&&u in c},l.prototype.setAttribute=function(d,u){return this.setAttributeNS(null,d,u)},l.prototype.getAttribute=function(d){return this.getAttributeNS(null,d)},l.prototype.removeAttribute=function(d){return this.removeAttributeNS(null,d)},l.prototype.hasAttribute=function(d){return this.hasAttributeNS(null,d)},l.prototype.removeEventListener=n,l.prototype.addEventListener=s,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return a(this)},l.prototype.getElementsByClassName=function(d){var u=d.split(" "),c=[];return t(this,function(h){if(h.nodeType===1){var f=h.className||"",m=f.split(" ");u.every(function(p){return m.indexOf(p)!==-1})&&c.push(h)}}),c},l.prototype.getElementsByTagName=function(d){d=d.toLowerCase();var u=[];return t(this.childNodes,function(c){c.nodeType===1&&(d==="*"||c.tagName.toLowerCase()===d)&&u.push(c)}),u},l.prototype.contains=function(d){return t(this,function(u){return d===u})||!1}}),dL=vt(function(i,e){Ts();var t=Ny();e.exports=r;function r(s){if(!ys(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null}r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=t.prototype.appendChild,r.prototype.replaceChild=t.prototype.replaceChild,r.prototype.removeChild=t.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(s){return String(s)}).join("")}}),uL=vt(function(i,e){e.exports=t;function t(r){}t.prototype.initEvent=function(r,s,n){this.type=r,this.bubbles=s,this.cancelable=n},t.prototype.preventDefault=function(){}}),cL=vt(function(i,e){Ts();var t=Dy(),r=aL(),s=oL(),n=Ny(),a=dL(),o=uL(),l=My(),d=Py(),u=Oy();e.exports=c;function c(){if(!ys(this,c))return new c;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var h=c.prototype;h.createTextNode=function(f){return new s(f,this)},h.createElementNS=function(f,m){var p=f===null?null:String(f);return new n(m,this,p)},h.createElement=function(f){return new n(f,this)},h.createDocumentFragment=function(){return new a(this)},h.createEvent=function(f){return new o(f)},h.createComment=function(f){return new r(f,this)},h.getElementById=function(f){f=String(f);var m=t(this.childNodes,function(p){if(String(p.id)===f)return p});return m||null},h.getElementsByClassName=n.prototype.getElementsByClassName,h.getElementsByTagName=n.prototype.getElementsByTagName,h.contains=n.prototype.contains,h.removeEventListener=u,h.addEventListener=d,h.dispatchEvent=l}),hL=vt(function(i,e){var t=cL();e.exports=new t}),fL=vt(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=hL(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function mL(i){if(Array.isArray(i))return i}function pL(i,e){var t=i==null?null:typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r=[],s=!0,n=!1,a,o;try{for(t=t.call(i);!(s=(a=t.next()).done)&&(r.push(a.value),!(e&&r.length===e));s=!0);}catch(l){n=!0,o=l}finally{try{!s&&t.return!=null&&t.return()}finally{if(n)throw o}}return r}}function gL(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1564
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _y(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=i[t];return r}function vL(i,e){if(i){if(typeof i=="string")return _y(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _y(i,e)}}function bs(i,e){return mL(i)||pL(i,e)||vL(i,e)||gL()}var Ja=Ct(Ki()),to=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var e=Math.random()*16|0,t=i==="x"?e:e&3|8;return t.toString(16)})},Uy=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},vs=function(i){if(i&&typeof i.nodeName!="undefined")return i.muxId||(i.muxId=Uy()),i.muxId;var e;try{e=document.querySelector(i)}catch{}return e&&!e.muxId&&(e.muxId=i),(e==null?void 0:e.muxId)||i},lp=function(i){var e;i&&typeof i.nodeName!="undefined"?(e=i,i=vs(e)):e=document.querySelector(i);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,i,t]},io=Ct(rL()),EL=io.default.methodFactory;io.default.methodFactory=function(i,e,t){var r=EL(i,e,t);return function(){for(var s=["[mux]"],n=0;n<arguments.length;n++)s.push(arguments[n]);r.apply(void 0,s)}};io.default.setLevel(io.default.getLevel());var Ge=io.default,rp=Ct(Ki());function dp(){var i=rp.default.doNotTrack||rp.default.navigator&&rp.default.navigator.doNotTrack;return i==="1"}var bL=Ct(Ki()),yL={now:function(){var i=bL.default.performance,e=i&&i.timing,t=e&&e.navigationStart,r=typeof t=="number"&&typeof i.now=="function"?t+i.now():Date.now();return Math.round(r)}},et=yL;function re(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}Ts();function dt(i,e){if(!ys(i,e))throw new TypeError("Cannot call a class as a function")}function Ay(i,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(i,r.key,r)}}function Vi(i,e,t){return e&&Ay(i.prototype,e),t&&Ay(i,t),i}function H(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function up(i,e){return up=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},up(i,e)}function TL(i,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&up(i,e)}function yu(i){return yu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},yu(i)}function _L(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}Su();function AL(i,e){return e&&(At(e)==="object"||typeof e=="function")?e:re(i)}function SL(i){var e=_L();return function(){var t=yu(i),r;if(e){var s=yu(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return AL(this,r)}}var gi=function(i){return ro(i)[0]},ro=function(i){if(typeof i!="string"||i==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=i.match(e)||[],r=t[4],s;return r&&(s=(r.match(/[^\.]+\.[^\.]+$/)||[])[0]),[r,s]},sp=Ct(Ki()),xL={exists:function(){var i=sp.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=sp.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=sp.default.performance,e=i&&i.timing;return e&&e.navigationStart}},Tu=xL;function Qe(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function _u(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},r=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),r.forEach(function(s){H(i,s,t[s])})}return i}function LL(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function hp(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):LL(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var kL=["x-cdn","content-type"],Fy=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],IL=kL.concat(Fy);function fp(i){i=i||"";var e={},t=i.trim().split(/[\r\n]+/);return t.forEach(function(r){if(r){var s=r.split(": "),n=s.shift();n&&(IL.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function Au(i){if(i){var e=Fy.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var RL=function(i){var e={};for(var t in i){var r=i[t],s=r["DATA-ID"].search("io.litix.data.");if(s!==-1){var n=r["DATA-ID"].replace("io.litix.data.","");e[n]=r.VALUE}}return e},By=RL,bu=function(i){if(!i)return{};var e=Tu.navigationStart(),t=i.loading,r=t?t.start:i.trequest,s=t?t.first:i.tfirst,n=t?t.end:i.tload;return{bytesLoaded:i.total,requestStart:Math.round(e+r),responseStart:Math.round(e+s),responseEnd:Math.round(e+n)}},Qa=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return fp(i.getAllResponseHeaders())},wL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,n=i.log,a=i.utils.secondsToMs,o=function(E){var T=parseInt(s.version),y;return T===1&&E.programDateTime!==null&&(y=E.programDateTime),T===0&&E.pdt!==null&&(y=E.pdt),y};if(!Tu.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,T){return i.emit(e,E,T)},d=function(E,T){var y=T.levels,S=T.audioTracks,A=T.url,L=T.stats,x=T.networkDetails,w=T.sessionData,P={},k={};y.forEach(function(K,se){P[se]={width:K.width,height:K.height,bitrate:K.bitrate,attrs:K.attrs}}),S.forEach(function(K,se){k[se]={name:K.name,language:K.lang,bitrate:K.bitrate}});var D=bu(L),U=D.bytesLoaded,F=D.requestStart,z=D.responseStart,j=D.responseEnd;l("requestcompleted",hp(_u({},By(w)),{request_event_type:E,request_bytes_loaded:U,request_start:F,request_response_start:z,request_response_end:j,request_type:"manifest",request_hostname:gi(A),request_response_headers:Qa(x),request_rendition_lists:{media:P,audio:k,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,T){var y=T.details,S=T.level,A=T.networkDetails,L=T.stats,x=bu(L),w=x.bytesLoaded,P=x.requestStart,k=x.responseStart,D=x.responseEnd,U=y.fragments[y.fragments.length-1],F=o(U)+a(U.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:w,request_start:P,request_response_start:k,request_response_end:D,request_current_level:S,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Qa(A),video_holdback:y.holdBack&&a(y.holdBack),video_part_holdback:y.partHoldBack&&a(y.partHoldBack),video_part_target_duration:y.partTarget&&a(y.partTarget),video_target_duration:y.targetduration&&a(y.targetduration),video_source_is_live:y.live,player_manifest_newest_program_time:isNaN(F)?void 0:F})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,T){var y=T.details,S=T.networkDetails,A=T.stats,L=bu(A),x=L.bytesLoaded,w=L.requestStart,P=L.responseStart,k=L.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:P,request_response_end:k,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Qa(S)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,T){var y=T.stats,S=T.networkDetails,A=T.frag;y=y||A.stats;var L=bu(y),x=L.bytesLoaded,w=L.requestStart,P=L.responseStart,k=L.responseEnd,D=S?Qa(S):void 0,U={request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:P,request_response_end:k,request_hostname:S?gi(S.responseURL):void 0,request_id:D?Au(D):void 0,request_response_headers:D,request_media_duration:A.duration,request_url:S==null?void 0:S.responseURL};A.type==="main"?(U.request_type="media",U.request_current_level=A.level,U.request_video_width=(t.levels[A.level]||{}).width,U.request_video_height=(t.levels[A.level]||{}).height,U.request_labeled_bitrate=(t.levels[A.level]||{}).bitrate):U.request_type=A.type,l("requestcompleted",U)};t.on(s.Events.FRAG_LOADED,h);var f=function(E,T){var y=T.frag,S=y.start,A=o(y),L={currentFragmentPDT:A,currentFragmentStart:a(S)};l("fragmentchange",L)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,T){var y=T.type,S=T.details,A=T.response,L=T.fatal,x=T.frag,w=T.networkDetails,P=(x==null?void 0:x.url)||T.url||"",k=w?Qa(w):void 0;if((S===s.ErrorDetails.MANIFEST_LOAD_ERROR||S===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT||S===s.ErrorDetails.LEVEL_LOAD_ERROR||S===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:S,request_url:P,request_hostname:gi(P),request_id:k?Au(k):void 0,request_type:S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:A==null?void 0:A.code,request_error_text:A==null?void 0:A.text}),L){var D,U="".concat(P?"url: ".concat(P,`
1561
+ </svg>`,Ay=O.createElement("template");Ay.innerHTML=`
1562
+ <slot name="icon">${Zx}</slot>
1563
+ `;var sp=class extends be{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:Ay})}get mediaAudioTrackEnabled(){return ce(this,b.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){le(this,b.MEDIA_AUDIO_TRACK_ENABLED,e)}};_.customElements.get("media-audio-track-button")||_.customElements.define("media-audio-track-button",sp);var Eu=class extends jt{static get observedAttributes(){return[...super.observedAttributes,b.MEDIA_AUDIO_TRACK_ENABLED,b.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=O.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=O.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let r=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");r.textContent="",s.textContent="",r.append(e),s.append(t)}};_.customElements.get("media-audio-track-selectmenu")||_.customElements.define("media-audio-track-selectmenu",Eu);var Jx=Object.create,Dy=Object.defineProperty,eL=Object.getOwnPropertyDescriptor,tL=Object.getOwnPropertyNames,iL=Object.getPrototypeOf,rL=Object.prototype.hasOwnProperty,My=function(i,e){return function(){return i&&(e=i(i=0)),e}},vt=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},sL=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=tL(e),n=0,a=s.length,o;n<a;n++)o=s[n],!rL.call(i,o)&&o!==t&&Dy(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=eL(e,o))||r.enumerable});return i},Ct=function(i,e,t){return t=i!=null?Jx(iL(i)):{},sL(e||!i||!i.__esModule?Dy(t,"default",{value:i,enumerable:!0}):t,i)},Ki=vt(function(i,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function At(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var Su=My(function(){}),nL=vt(function(i,e){Su(),function(t,r){"use strict";typeof define=="function"&&define.amd?define(r):typeof e=="object"&&e.exports?e.exports=r():t.log=r()}(i,function(){"use strict";var t=function(){},r="undefined",s=(typeof window=="undefined"?"undefined":At(window))!==r&&At(window.navigator)!==r&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function a(g,E){var T=g[E];if(typeof T.bind=="function")return T.bind(g);try{return Function.prototype.bind.call(T,g)}catch{return function(){return Function.prototype.apply.apply(T,[g,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(g){return g==="debug"&&(g="log"),(typeof console=="undefined"?"undefined":At(console))===r?!1:g==="trace"&&s?o:console[g]!==void 0?a(console,g):console.log!==void 0?a(console,"log"):t}function d(g,E){for(var T=0;T<n.length;T++){var y=n[T];this[y]=T<g?t:this.methodFactory(y,g,E)}this.log=this.debug}function u(g,E,T){return function(){(typeof console=="undefined"?"undefined":At(console))!==r&&(d.call(this,E,T),this[g].apply(this,arguments))}}function c(g,E,T){return l(g)||u.apply(this,arguments)}function h(g,E,T){var y=this,S;E=E==null?"WARN":E;var A="loglevel";typeof g=="string"?A+=":"+g:(typeof g=="undefined"?"undefined":At(g))==="symbol"&&(A=void 0);function L(k){var D=(n[k]||"silent").toUpperCase();if(!((typeof window=="undefined"?"undefined":At(window))===r||!A)){try{window.localStorage[A]=D;return}catch{}try{window.document.cookie=encodeURIComponent(A)+"="+D+";"}catch{}}}function x(){var k;if(!((typeof window=="undefined"?"undefined":At(window))===r||!A)){try{k=window.localStorage[A]}catch{}if((typeof k=="undefined"?"undefined":At(k))===r)try{var D=window.document.cookie,U=D.indexOf(encodeURIComponent(A)+"=");U!==-1&&(k=/^([^;]+)/.exec(D.slice(U))[1])}catch{}return y.levels[k]===void 0&&(k=void 0),k}}function w(){if(!((typeof window=="undefined"?"undefined":At(window))===r||!A)){try{window.localStorage.removeItem(A);return}catch{}try{window.document.cookie=encodeURIComponent(A)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}y.name=g,y.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},y.methodFactory=T||c,y.getLevel=function(){return S},y.setLevel=function(k,D){if(typeof k=="string"&&y.levels[k.toUpperCase()]!==void 0&&(k=y.levels[k.toUpperCase()]),typeof k=="number"&&k>=0&&k<=y.levels.SILENT){if(S=k,D!==!1&&L(k),d.call(y,k,g),(typeof console=="undefined"?"undefined":At(console))===r&&k<y.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+k},y.setDefaultLevel=function(k){E=k,x()||y.setLevel(k,!1)},y.resetLevel=function(){y.setLevel(E,!1),w()},y.enableAll=function(k){y.setLevel(y.levels.TRACE,k)},y.disableAll=function(k){y.setLevel(y.levels.SILENT,k)};var P=x();P==null&&(P=E),y.setLevel(P,!1)}var f=new h,m={};f.getLogger=function(g){if((typeof g=="undefined"?"undefined":At(g))!=="symbol"&&typeof g!="string"||g==="")throw new TypeError("You must supply a name when creating a logger.");var E=m[g];return E||(E=m[g]=new h(g,f.getLevel(),f.methodFactory)),E};var p=(typeof window=="undefined"?"undefined":At(window))!==r?window.log:void 0;return f.noConflict=function(){return(typeof window=="undefined"?"undefined":At(window))!==r&&window.log===f&&(window.log=p),f},f.getLoggers=function(){return m},f.default=f,f})});function ys(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):ys(i,e)}var Ts=My(function(){Ts()}),aL=vt(function(i){"use strict";var e=Object.prototype.hasOwnProperty,t;function r(o){try{return decodeURIComponent(o.replace(/\+/g," "))}catch{return null}}function s(o){try{return encodeURIComponent(o)}catch{return null}}function n(o){for(var l=/([^=?#&]+)=?([^&]*)/g,d={},u;u=l.exec(o);){var c=r(u[1]),h=r(u[2]);c===null||h===null||c in d||(d[c]=h)}return d}function a(o,l){l=l||"";var d=[],u,c;typeof l!="string"&&(l="?");for(c in o)if(e.call(o,c)){if(u=o[c],!u&&(u===null||u===t||isNaN(u))&&(u=""),c=s(c),u=s(u),c===null||u===null)continue;d.push(c+"="+u)}return d.length?l+d.join("&"):""}i.stringify=a,i.parse=n}),oL=vt(function(i,e){"use strict";(function(t){var r=!1;if(typeof define=="function"&&define.amd&&(define(t),r=!0),typeof i=="object"&&(e.exports=t(),r=!0),!r){var s=window.Cookies,n=window.Cookies=t();n.noConflict=function(){return window.Cookies=s,n}}})(function(){var t=function(){for(var s=0,n={};s<arguments.length;s++){var a=arguments[s];for(var o in a)n[o]=a[o]}return n};function r(s){function n(a,o,l){var d;if(typeof document!="undefined"){if(arguments.length>1){if(l=t({path:"/"},n.defaults,l),typeof l.expires=="number"){var u=new Date;u.setMilliseconds(u.getMilliseconds()+l.expires*864e5),l.expires=u}try{d=JSON.stringify(o),/^[\{\[]/.test(d)&&(o=d)}catch{}return s.write?o=s.write(o,a):o=encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),a=encodeURIComponent(String(a)),a=a.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),a=a.replace(/[\(\)]/g,escape),document.cookie=[a,"=",o,l.expires?"; expires="+l.expires.toUTCString():"",l.path?"; path="+l.path:"",l.domain?"; domain="+l.domain:"",l.secure?"; secure":""].join("")}a||(d={});for(var c=document.cookie?document.cookie.split("; "):[],h=/(%[0-9A-Z]{2})+/g,f=0;f<c.length;f++){var m=c[f].split("="),p=m.slice(1).join("=");p.charAt(0)==='"'&&(p=p.slice(1,-1));try{var g=m[0].replace(h,decodeURIComponent);if(p=s.read?s.read(p,g):s(p,g)||p.replace(h,decodeURIComponent),this.json)try{p=JSON.parse(p)}catch{}if(a===g){d=p;break}a||(d[g]=p)}catch{}}return d}}return n.set=n,n.get=function(a){return n.call(n,a)},n.getJSON=function(){return n.apply({json:!0},[].slice.call(arguments))},n.defaults={},n.remove=function(a,o){n(a,"",t(o,{expires:-1}))},n.withConverter=r,n}return r(function(){})})}),Py=vt(function(i,e){var t=Array.prototype.slice;e.exports=r;function r(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),lL=vt(function(i,e){Ts(),e.exports=t;function t(r,s){if(!ys(this,t))return new t(r,s);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),dL=vt(function(i,e){Ts(),e.exports=t;function t(r,s){if(!ys(this,t))return new t(r);this.data=r||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(r,s,n){var a=this.data,o=a.substring(0,r),l=a.substring(r+s,a.length);this.data=o+n+l,this.length=this.data.length}}),Oy=vt(function(i,e){e.exports=t;function t(r){var s=this,n=r.type;r.target||(r.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){r.currentTarget=s,typeof o=="function"?o(r):o.handleEvent(r)});s.parentNode&&s.parentNode.dispatchEvent(r)}}),Ny=vt(function(i,e){e.exports=t;function t(r,s){var n=this;n.listeners||(n.listeners={}),n.listeners[r]||(n.listeners[r]=[]),n.listeners[r].indexOf(s)===-1&&n.listeners[r].push(s)}}),Uy=vt(function(i,e){e.exports=t;function t(r,s){var n=this;if(n.listeners&&n.listeners[r]){var a=n.listeners[r],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),uL=vt(function(i,e){Su(),e.exports=r;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+d(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(r)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=At(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var p=h[m];m=m.replace(/[A-Z]/g,function(g){return"-"+g.toLowerCase()}),f+=m+":"+p+";"}),f}function o(h){var f=h.dataset,m=[];for(var p in f)m.push({name:"data-"+p,value:f[p]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var p=m.name,g=m.value;p==="style"&&(g=a(g)),f.push(p+'="'+c(g)+'"')}),f.length?" "+f.join(" "):""}function d(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var p in h._attributes)for(var g in h._attributes[p]){var E=h._attributes[p][g],T=(E.prefix?E.prefix+":":"")+g;f.push({name:T,value:E.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(h){return u(h).replace(/"/g,"&quot;")}}),Fy=vt(function(i,e){Ts();var t=Py(),r=Oy(),s=Ny(),n=Uy(),a=uL(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!ys(this,l))return new l(d);var h=c===void 0?o:c||null;this.tagName=h===o?String(d).toUpperCase():d,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(d){return d.parentNode&&d.parentNode.removeChild(d),this.childNodes.push(d),d.parentNode=this,d},l.prototype.replaceChild=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=this.childNodes.indexOf(u);return u.parentNode=null,this.childNodes[c]=d,d.parentNode=this,u},l.prototype.removeChild=function(d){var u=this.childNodes.indexOf(d);return this.childNodes.splice(u,1),d.parentNode=null,d},l.prototype.insertBefore=function(d,u){d.parentNode&&d.parentNode.removeChild(d);var c=u==null?-1:this.childNodes.indexOf(u);return c>-1?this.childNodes.splice(c,0,d):this.childNodes.push(d),d.parentNode=this,d},l.prototype.setAttributeNS=function(d,u,c){var h=null,f=u,m=u.indexOf(":");if(m>-1&&(h=u.substr(0,m),f=u.substr(m+1)),this.tagName==="INPUT"&&u==="type")this.type=c;else{var p=this._attributes[d]||(this._attributes[d]={});p[f]={value:c,prefix:h}}},l.prototype.getAttributeNS=function(d,u){var c=this._attributes[d],h=c&&c[u]&&c[u].value;return this.tagName==="INPUT"&&u==="type"?this.type:typeof h!="string"?null:h},l.prototype.removeAttributeNS=function(d,u){var c=this._attributes[d];c&&delete c[u]},l.prototype.hasAttributeNS=function(d,u){var c=this._attributes[d];return!!c&&u in c},l.prototype.setAttribute=function(d,u){return this.setAttributeNS(null,d,u)},l.prototype.getAttribute=function(d){return this.getAttributeNS(null,d)},l.prototype.removeAttribute=function(d){return this.removeAttributeNS(null,d)},l.prototype.hasAttribute=function(d){return this.hasAttributeNS(null,d)},l.prototype.removeEventListener=n,l.prototype.addEventListener=s,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return a(this)},l.prototype.getElementsByClassName=function(d){var u=d.split(" "),c=[];return t(this,function(h){if(h.nodeType===1){var f=h.className||"",m=f.split(" ");u.every(function(p){return m.indexOf(p)!==-1})&&c.push(h)}}),c},l.prototype.getElementsByTagName=function(d){d=d.toLowerCase();var u=[];return t(this.childNodes,function(c){c.nodeType===1&&(d==="*"||c.tagName.toLowerCase()===d)&&u.push(c)}),u},l.prototype.contains=function(d){return t(this,function(u){return d===u})||!1}}),cL=vt(function(i,e){Ts();var t=Fy();e.exports=r;function r(s){if(!ys(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null}r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=t.prototype.appendChild,r.prototype.replaceChild=t.prototype.replaceChild,r.prototype.removeChild=t.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(s){return String(s)}).join("")}}),hL=vt(function(i,e){e.exports=t;function t(r){}t.prototype.initEvent=function(r,s,n){this.type=r,this.bubbles=s,this.cancelable=n},t.prototype.preventDefault=function(){}}),fL=vt(function(i,e){Ts();var t=Py(),r=lL(),s=dL(),n=Fy(),a=cL(),o=hL(),l=Oy(),d=Ny(),u=Uy();e.exports=c;function c(){if(!ys(this,c))return new c;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}var h=c.prototype;h.createTextNode=function(f){return new s(f,this)},h.createElementNS=function(f,m){var p=f===null?null:String(f);return new n(m,this,p)},h.createElement=function(f){return new n(f,this)},h.createDocumentFragment=function(){return new a(this)},h.createEvent=function(f){return new o(f)},h.createComment=function(f){return new r(f,this)},h.getElementById=function(f){f=String(f);var m=t(this.childNodes,function(p){if(String(p.id)===f)return p});return m||null},h.getElementsByClassName=n.prototype.getElementsByClassName,h.getElementsByTagName=n.prototype.getElementsByTagName,h.contains=n.prototype.contains,h.removeEventListener=u,h.addEventListener=d,h.dispatchEvent=l}),mL=vt(function(i,e){var t=fL();e.exports=new t}),pL=vt(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=mL(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function gL(i){if(Array.isArray(i))return i}function vL(i,e){var t=i==null?null:typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r=[],s=!0,n=!1,a,o;try{for(t=t.call(i);!(s=(a=t.next()).done)&&(r.push(a.value),!(e&&r.length===e));s=!0);}catch(l){n=!0,o=l}finally{try{!s&&t.return!=null&&t.return()}finally{if(n)throw o}}return r}}function EL(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1564
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sy(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=i[t];return r}function bL(i,e){if(i){if(typeof i=="string")return Sy(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Sy(i,e)}}function bs(i,e){return gL(i)||vL(i,e)||bL(i,e)||EL()}var Ja=Ct(Ki()),to=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var e=Math.random()*16|0,t=i==="x"?e:e&3|8;return t.toString(16)})},By=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},vs=function(i){if(i&&typeof i.nodeName!="undefined")return i.muxId||(i.muxId=By()),i.muxId;var e;try{e=document.querySelector(i)}catch{}return e&&!e.muxId&&(e.muxId=i),(e==null?void 0:e.muxId)||i},up=function(i){var e;i&&typeof i.nodeName!="undefined"?(e=i,i=vs(e)):e=document.querySelector(i);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,i,t]},io=Ct(nL()),yL=io.default.methodFactory;io.default.methodFactory=function(i,e,t){var r=yL(i,e,t);return function(){for(var s=["[mux]"],n=0;n<arguments.length;n++)s.push(arguments[n]);r.apply(void 0,s)}};io.default.setLevel(io.default.getLevel());var Ge=io.default,np=Ct(Ki());function cp(){var i=np.default.doNotTrack||np.default.navigator&&np.default.navigator.doNotTrack;return i==="1"}var TL=Ct(Ki()),_L={now:function(){var i=TL.default.performance,e=i&&i.timing,t=e&&e.navigationStart,r=typeof t=="number"&&typeof i.now=="function"?t+i.now():Date.now();return Math.round(r)}},et=_L;function re(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}Ts();function dt(i,e){if(!ys(i,e))throw new TypeError("Cannot call a class as a function")}function xy(i,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(i,r.key,r)}}function Vi(i,e,t){return e&&xy(i.prototype,e),t&&xy(i,t),i}function H(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function hp(i,e){return hp=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},hp(i,e)}function AL(i,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&hp(i,e)}function yu(i){return yu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},yu(i)}function SL(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}Su();function xL(i,e){return e&&(At(e)==="object"||typeof e=="function")?e:re(i)}function LL(i){var e=SL();return function(){var t=yu(i),r;if(e){var s=yu(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return xL(this,r)}}var gi=function(i){return ro(i)[0]},ro=function(i){if(typeof i!="string"||i==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=i.match(e)||[],r=t[4],s;return r&&(s=(r.match(/[^\.]+\.[^\.]+$/)||[])[0]),[r,s]},ap=Ct(Ki()),kL={exists:function(){var i=ap.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=ap.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=ap.default.performance,e=i&&i.timing;return e&&e.navigationStart}},Tu=kL;function Qe(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function _u(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},r=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),r.forEach(function(s){H(i,s,t[s])})}return i}function IL(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function mp(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):IL(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var RL=["x-cdn","content-type"],$y=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],wL=RL.concat($y);function pp(i){i=i||"";var e={},t=i.trim().split(/[\r\n]+/);return t.forEach(function(r){if(r){var s=r.split(": "),n=s.shift();n&&(wL.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function Au(i){if(i){var e=$y.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var CL=function(i){var e={};for(var t in i){var r=i[t],s=r["DATA-ID"].search("io.litix.data.");if(s!==-1){var n=r["DATA-ID"].replace("io.litix.data.","");e[n]=r.VALUE}}return e},Hy=CL,bu=function(i){if(!i)return{};var e=Tu.navigationStart(),t=i.loading,r=t?t.start:i.trequest,s=t?t.first:i.tfirst,n=t?t.end:i.tload;return{bytesLoaded:i.total,requestStart:Math.round(e+r),responseStart:Math.round(e+s),responseEnd:Math.round(e+n)}},Qa=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return pp(i.getAllResponseHeaders())},DL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0,n=i.log,a=i.utils.secondsToMs,o=function(E){var T=parseInt(s.version),y;return T===1&&E.programDateTime!==null&&(y=E.programDateTime),T===0&&E.pdt!==null&&(y=E.pdt),y};if(!Tu.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,T){return i.emit(e,E,T)},d=function(E,T){var y=T.levels,S=T.audioTracks,A=T.url,L=T.stats,x=T.networkDetails,w=T.sessionData,P={},k={};y.forEach(function(K,se){P[se]={width:K.width,height:K.height,bitrate:K.bitrate,attrs:K.attrs}}),S.forEach(function(K,se){k[se]={name:K.name,language:K.lang,bitrate:K.bitrate}});var D=bu(L),U=D.bytesLoaded,F=D.requestStart,z=D.responseStart,X=D.responseEnd;l("requestcompleted",mp(_u({},Hy(w)),{request_event_type:E,request_bytes_loaded:U,request_start:F,request_response_start:z,request_response_end:X,request_type:"manifest",request_hostname:gi(A),request_response_headers:Qa(x),request_rendition_lists:{media:P,audio:k,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,T){var y=T.details,S=T.level,A=T.networkDetails,L=T.stats,x=bu(L),w=x.bytesLoaded,P=x.requestStart,k=x.responseStart,D=x.responseEnd,U=y.fragments[y.fragments.length-1],F=o(U)+a(U.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:w,request_start:P,request_response_start:k,request_response_end:D,request_current_level:S,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Qa(A),video_holdback:y.holdBack&&a(y.holdBack),video_part_holdback:y.partHoldBack&&a(y.partHoldBack),video_part_target_duration:y.partTarget&&a(y.partTarget),video_target_duration:y.targetduration&&a(y.targetduration),video_source_is_live:y.live,player_manifest_newest_program_time:isNaN(F)?void 0:F})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,T){var y=T.details,S=T.networkDetails,A=T.stats,L=bu(A),x=L.bytesLoaded,w=L.requestStart,P=L.responseStart,k=L.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:P,request_response_end:k,request_type:"manifest",request_hostname:gi(y.url),request_response_headers:Qa(S)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,T){var y=T.stats,S=T.networkDetails,A=T.frag;y=y||A.stats;var L=bu(y),x=L.bytesLoaded,w=L.requestStart,P=L.responseStart,k=L.responseEnd,D=S?Qa(S):void 0,U={request_event_type:E,request_bytes_loaded:x,request_start:w,request_response_start:P,request_response_end:k,request_hostname:S?gi(S.responseURL):void 0,request_id:D?Au(D):void 0,request_response_headers:D,request_media_duration:A.duration,request_url:S==null?void 0:S.responseURL};A.type==="main"?(U.request_type="media",U.request_current_level=A.level,U.request_video_width=(t.levels[A.level]||{}).width,U.request_video_height=(t.levels[A.level]||{}).height,U.request_labeled_bitrate=(t.levels[A.level]||{}).bitrate):U.request_type=A.type,l("requestcompleted",U)};t.on(s.Events.FRAG_LOADED,h);var f=function(E,T){var y=T.frag,S=y.start,A=o(y),L={currentFragmentPDT:A,currentFragmentStart:a(S)};l("fragmentchange",L)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,T){var y=T.type,S=T.details,A=T.response,L=T.fatal,x=T.frag,w=T.networkDetails,P=(x==null?void 0:x.url)||T.url||"",k=w?Qa(w):void 0;if((S===s.ErrorDetails.MANIFEST_LOAD_ERROR||S===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT||S===s.ErrorDetails.LEVEL_LOAD_ERROR||S===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:S,request_url:P,request_hostname:gi(P),request_id:k?Au(k):void 0,request_type:S===s.ErrorDetails.FRAG_LOAD_ERROR||S===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":S===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||S===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":S===s.ErrorDetails.SUBTITLE_LOAD_ERROR||S===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":S===s.ErrorDetails.KEY_LOAD_ERROR||S===s.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:A==null?void 0:A.code,request_error_text:A==null?void 0:A.text}),L){var D,U="".concat(P?"url: ".concat(P,`
1565
1565
  `):"")+"".concat(A&&(A.code||A.text)?"response: ".concat(A.code,", ").concat(A.text,`
1566
1566
  `):"")+"".concat(T.reason?"failure reason: ".concat(T.reason,`
1567
1567
  `):"")+"".concat(T.level?"level: ".concat(T.level,`
@@ -1570,38 +1570,38 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1570
1570
  `):"")+"".concat(T.error?"error: ".concat(T.error,`
1571
1571
  `):"")+"".concat(T.event?"event: ".concat(T.event,`
1572
1572
  `):"")+"".concat(T.err?"error message: ".concat((D=T.err)===null||D===void 0?void 0:D.message,`
1573
- `):"");l("error",{player_error_code:y,player_error_message:S,player_error_context:U})}};t.on(s.Events.ERROR,m);var p=function(E,T){var y=T.frag,S=y&&y._url||"";l("requestcanceled",{request_event_type:E,request_url:S,request_type:"media",request_hostname:gi(S)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,T){var y=T.level,S=t.levels[y];if(S&&S.attrs&&S.attrs.BANDWIDTH){var A=S.attrs.BANDWIDTH,L,x=parseFloat(S.attrs["FRAME-RATE"]);isNaN(x)||(L=x),A?l("renditionchange",{video_source_fps:L,video_source_bitrate:A,video_source_width:S.width,video_source_height:S.height,video_source_rendition_name:S.name,video_source_codec:S==null?void 0:S.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,g),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,d),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,c),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p),t.off(s.Events.LEVEL_SWITCHED,g),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},CL=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},Sy=function(i,e){if(!i||!i.requestEndDate)return{};var t=gi(i.url),r=i.url,s=i.bytesLoaded,n=new Date(i.requestStartDate).getTime(),a=new Date(i.firstByteDate).getTime(),o=new Date(i.requestEndDate).getTime(),l=isNaN(i.duration)?0:i.duration,d=typeof e.getMetricsFor=="function"?e.getMetricsFor(i.mediaType).HttpList:e.getDashMetrics().getHttpRequests(i.mediaType),u;d.length>0&&(u=fp(d[d.length-1]._responseHeaders||""));var c=u?Au(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},DL=function(i,e){var t=e.getQualityFor(i),r=e.getCurrentTrackFor(i).bitrateList;return r?{currentLevel:t,renditionWidth:r[t].width||null,renditionHeight:r[t].height||null,renditionBitrate:r[t].bandwidth}:{}},ML=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},PL=function(i){try{var e,t,r=(t=i.getVersion)===null||t===void 0||(e=t.call(i))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return r}catch{return!1}},OL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=i.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=PL(t),a=function(y,S){return i.emit(e,y,S)},o=function(y){var S=y.type,A=y.data,L=(A||{}).url;a("requestcompleted",{request_event_type:S,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:gi(L),request_url:L})};t.on("manifestLoaded",o);var l={},d=function(y){if(typeof y.getRequests!="function")return null;var S=y.getRequests({state:"executed"});return S.length===0?null:S[S.length-1]},u=function(y){var S=y.type,A=y.fragmentModel,L=y.chunk,x=d(A);c({type:S,request:x,chunk:L})},c=function(y){var S=y.type,A=y.chunk,L=y.request,x=(A||{}).mediaInfo,w=x||{},P=w.type,k=w.bitrateList;k=k||[];var D={};k.forEach(function(ne,Q){D[Q]={},D[Q].width=ne.width,D[Q].height=ne.height,D[Q].bitrate=ne.bandwidth,D[Q].attrs={}}),P==="video"?l.video=D:P==="audio"?l.audio=D:l.media=D;var U=Sy(L,t),F=U.requestStart,z=U.requestResponseStart,j=U.requestResponseEnd,K=U.requestResponseHeaders,se=U.requestMediaDuration,oe=U.requestHostname,W=U.requestUrl,G=U.requestId;a("requestcompleted",{request_event_type:S,request_start:F,request_response_start:z,request_response_end:j,request_bytes_loaded:-1,request_type:P+"_init",request_response_headers:K,request_hostname:oe,request_id:G,request_url:W,request_media_duration:se,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(y){var S=y.type,A=y.fragmentModel,L=y.chunk,x=d(A);f({type:S,request:x,chunk:L})},f=function(y){var S=y.type,A=y.chunk,L=y.request,x=A||{},w=x.mediaInfo,P=x.start,k=w||{},D=k.type,U=Sy(L,t),F=U.requestStart,z=U.requestResponseStart,j=U.requestResponseEnd,K=U.requestBytesLoaded,se=U.requestResponseHeaders,oe=U.requestMediaDuration,W=U.requestHostname,G=U.requestUrl,ne=U.requestId,Q=DL(D,t),pe=Q.currentLevel,Pe=Q.renditionWidth,Be=Q.renditionHeight,Ve=Q.renditionBitrate;a("requestcompleted",{request_event_type:S,request_start:F,request_response_start:z,request_response_end:j,request_bytes_loaded:K,request_type:D,request_response_headers:se,request_hostname:W,request_id:ne,request_url:G,request_media_start_time:P,request_media_duration:oe,request_current_level:pe,request_labeled_bitrate:Ve,request_video_width:Pe,request_video_height:Be})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},p=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have bitrate info for video but missing width/height");return}var y=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(y+=m.audio.bitrate),y!==m.totalBitrate)return m.totalBitrate=y,{video_source_bitrate:y,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:ML(m.video.codec)}}},g=function(y,S,A){if(typeof y.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",y);return}var L=y.mediaType;if(L==="audio"||L==="video"){var x=t.getBitrateInfoListFor(L).find(function(P){var k=P.qualityIndex;return k===y.newQuality});if(!(x&&typeof x.bitrate=="number")){s.warn("missing bitrate info for ".concat(L));return}m[L]=hp(_u({},x),{codec:t.getCurrentTrackFor(L).codec});var w=p();w&&a("renditionchange",w)}};t.on("qualityChangeRendered",g);var E=function(y){var S=y.request,A=y.mediaType;S=S||{},a("requestcanceled",{request_event_type:S.type+"_"+S.action,request_url:S.url,request_type:A,request_hostname:gi(S.url)})};t.on("fragmentLoadingAbandoned",E);var T=function(y){var S=y.error,A,L,x=(S==null||(A=S.data)===null||A===void 0?void 0:A.request)||{},w=(S==null||(L=S.data)===null||L===void 0?void 0:L.response)||{};(S==null?void 0:S.code)===27&&a("requestfailed",{request_error:x.type+"_"+x.action,request_url:x.url,request_hostname:gi(x.url),request_type:x.mediaType,request_error_code:w.status,request_error_text:w.statusText});var P="".concat(x!=null&&x.url?"url: ".concat(x.url,`
1573
+ `):"");l("error",{player_error_code:y,player_error_message:S,player_error_context:U})}};t.on(s.Events.ERROR,m);var p=function(E,T){var y=T.frag,S=y&&y._url||"";l("requestcanceled",{request_event_type:E,request_url:S,request_type:"media",request_hostname:gi(S)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,T){var y=T.level,S=t.levels[y];if(S&&S.attrs&&S.attrs.BANDWIDTH){var A=S.attrs.BANDWIDTH,L,x=parseFloat(S.attrs["FRAME-RATE"]);isNaN(x)||(L=x),A?l("renditionchange",{video_source_fps:L,video_source_bitrate:A,video_source_width:S.width,video_source_height:S.height,video_source_rendition_name:S.name,video_source_codec:S==null?void 0:S.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,g),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,d),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,c),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p),t.off(s.Events.LEVEL_SWITCHED,g),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},ML=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},Ly=function(i,e){if(!i||!i.requestEndDate)return{};var t=gi(i.url),r=i.url,s=i.bytesLoaded,n=new Date(i.requestStartDate).getTime(),a=new Date(i.firstByteDate).getTime(),o=new Date(i.requestEndDate).getTime(),l=isNaN(i.duration)?0:i.duration,d=typeof e.getMetricsFor=="function"?e.getMetricsFor(i.mediaType).HttpList:e.getDashMetrics().getHttpRequests(i.mediaType),u;d.length>0&&(u=pp(d[d.length-1]._responseHeaders||""));var c=u?Au(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},PL=function(i,e){var t=e.getQualityFor(i),r=e.getCurrentTrackFor(i).bitrateList;return r?{currentLevel:t,renditionWidth:r[t].width||null,renditionHeight:r[t].height||null,renditionBitrate:r[t].bandwidth}:{}},OL=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},NL=function(i){try{var e,t,r=(t=i.getVersion)===null||t===void 0||(e=t.call(i))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return r}catch{return!1}},UL=function(i,e,t){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=i.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=NL(t),a=function(y,S){return i.emit(e,y,S)},o=function(y){var S=y.type,A=y.data,L=(A||{}).url;a("requestcompleted",{request_event_type:S,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:gi(L),request_url:L})};t.on("manifestLoaded",o);var l={},d=function(y){if(typeof y.getRequests!="function")return null;var S=y.getRequests({state:"executed"});return S.length===0?null:S[S.length-1]},u=function(y){var S=y.type,A=y.fragmentModel,L=y.chunk,x=d(A);c({type:S,request:x,chunk:L})},c=function(y){var S=y.type,A=y.chunk,L=y.request,x=(A||{}).mediaInfo,w=x||{},P=w.type,k=w.bitrateList;k=k||[];var D={};k.forEach(function(ne,Q){D[Q]={},D[Q].width=ne.width,D[Q].height=ne.height,D[Q].bitrate=ne.bandwidth,D[Q].attrs={}}),P==="video"?l.video=D:P==="audio"?l.audio=D:l.media=D;var U=Ly(L,t),F=U.requestStart,z=U.requestResponseStart,X=U.requestResponseEnd,K=U.requestResponseHeaders,se=U.requestMediaDuration,oe=U.requestHostname,W=U.requestUrl,G=U.requestId;a("requestcompleted",{request_event_type:S,request_start:F,request_response_start:z,request_response_end:X,request_bytes_loaded:-1,request_type:P+"_init",request_response_headers:K,request_hostname:oe,request_id:G,request_url:W,request_media_duration:se,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(y){var S=y.type,A=y.fragmentModel,L=y.chunk,x=d(A);f({type:S,request:x,chunk:L})},f=function(y){var S=y.type,A=y.chunk,L=y.request,x=A||{},w=x.mediaInfo,P=x.start,k=w||{},D=k.type,U=Ly(L,t),F=U.requestStart,z=U.requestResponseStart,X=U.requestResponseEnd,K=U.requestBytesLoaded,se=U.requestResponseHeaders,oe=U.requestMediaDuration,W=U.requestHostname,G=U.requestUrl,ne=U.requestId,Q=PL(D,t),pe=Q.currentLevel,Pe=Q.renditionWidth,Be=Q.renditionHeight,Ve=Q.renditionBitrate;a("requestcompleted",{request_event_type:S,request_start:F,request_response_start:z,request_response_end:X,request_bytes_loaded:K,request_type:D,request_response_headers:se,request_hostname:W,request_id:ne,request_url:G,request_media_start_time:P,request_media_duration:oe,request_current_level:pe,request_labeled_bitrate:Ve,request_video_width:Pe,request_video_height:Be})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},p=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have bitrate info for video but missing width/height");return}var y=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(y+=m.audio.bitrate),y!==m.totalBitrate)return m.totalBitrate=y,{video_source_bitrate:y,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:OL(m.video.codec)}}},g=function(y,S,A){if(typeof y.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",y);return}var L=y.mediaType;if(L==="audio"||L==="video"){var x=t.getBitrateInfoListFor(L).find(function(P){var k=P.qualityIndex;return k===y.newQuality});if(!(x&&typeof x.bitrate=="number")){s.warn("missing bitrate info for ".concat(L));return}m[L]=mp(_u({},x),{codec:t.getCurrentTrackFor(L).codec});var w=p();w&&a("renditionchange",w)}};t.on("qualityChangeRendered",g);var E=function(y){var S=y.request,A=y.mediaType;S=S||{},a("requestcanceled",{request_event_type:S.type+"_"+S.action,request_url:S.url,request_type:A,request_hostname:gi(S.url)})};t.on("fragmentLoadingAbandoned",E);var T=function(y){var S=y.error,A,L,x=(S==null||(A=S.data)===null||A===void 0?void 0:A.request)||{},w=(S==null||(L=S.data)===null||L===void 0?void 0:L.response)||{};(S==null?void 0:S.code)===27&&a("requestfailed",{request_error:x.type+"_"+x.action,request_url:x.url,request_hostname:gi(x.url),request_type:x.mediaType,request_error_code:w.status,request_error_text:w.statusText});var P="".concat(x!=null&&x.url?"url: ".concat(x.url,`
1574
1574
  `):"")+"".concat(w!=null&&w.status||w!=null&&w.statusText?"response: ".concat(w==null?void 0:w.status,", ").concat(w==null?void 0:w.statusText,`
1575
- `):"");a("error",{player_error_code:S==null?void 0:S.code,player_error_message:S==null?void 0:S.message,player_error_context:P})};t.on("error",T),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",T),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},NL=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},xy=0,UL=function(){"use strict";function i(){dt(this,i),H(this,"_listeners",void 0)}return Vi(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++xy,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],r&&(t=t.bind(r)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var r=this._listeners&&this._listeners[e];r&&r.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&r.splice(n,1)})}},{key:"one",value:function(e,t,r){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++xy;var n=function(){s.off(e,n),t.apply(r||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var r=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,d){l=l.slice(),l.forEach(function(u){u.call(r,{type:e},d)})};o(s,t),o(n,t),o(a,t)}}}]),i}(),FL=UL,np=Ct(Ki()),BL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackHeartbeatInterval",void 0),H(this,"_playheadShouldBeProgressing",void 0),H(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(r,s){t._playbackHeartbeatInterval!==null&&(np.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Vi(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=np.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(np.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),$L=BL,HL=function i(e){"use strict";var t=this;dt(this,i),H(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(r,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var r,s,n,a,o;(r=e.data)===null||r===void 0||delete r.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)===null||o===void 0||delete o.player_error_business_exception})},GL=HL,WL=function(){"use strict";function i(e){dt(this,i),H(this,"_watchTimeTrackerLastCheckedTime",void 0),H(this,"pm",void 0),this.pm=e,this._watchTimeTrackerLastCheckedTime=null,e.on("playbackheartbeat",this._updateWatchTime.bind(this)),e.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Vi(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Qe(this.pm.data,"view_watch_time",r-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=r}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),i}(),KL=WL,VL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),H(this,"_lastTime",void 0),H(this,"_isAdPlaying",void 0),H(this,"_callbackUpdatePlaybackTime",void 0),H(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=et.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);e.on("playing",r),e.on("adplaying",r),e.on("seeked",r);var s=this._stopPlaybackTimeTracking.bind(this);e.on("playbackheartbeatend",s),e.on("seeking",s),e.on("adplaying",function(){t._isAdPlaying=!0}),e.on("adended",function(){t._isAdPlaying=!1}),e.on("adpause",function(){t._isAdPlaying=!1}),e.on("adbreakstart",function(){t._isAdPlaying=!1}),e.on("adbreakend",function(){t._isAdPlaying=!1}),e.on("adplay",function(){t._isAdPlaying=!1}),e.on("viewinit",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=et.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Vi(i,[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=et.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Qe(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),qL=VL,YL=function(){"use strict";function i(e){dt(this,i),H(this,"pm",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on("playbackheartbeat",t),e.on("playbackheartbeatend",t),e.on("timeupdate",t),e.on("destroy",function(){e.off("timeupdate",t)})}return Vi(i,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=typeof this.pm.data.view_max_playhead_position=="undefined"?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var r=this,s=function(){r.pm.currentFragmentPDT&&r.pm.currentFragmentStart&&(r.pm.data.player_program_time=r.pm.currentFragmentPDT+r.pm.data.player_playhead_time-r.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,s(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var n=this.pm.getPlayheadTime();typeof n!="undefined"&&(this.pm.data.player_playhead_time=n,s(),this._updateMaxPlayheadPosition())}}}]),i}(),zL=YL,Ly=5*60*1e3,jL=function i(e){"use strict";if(dt(this,i),!e.disableRebufferTracking){var t,r=function(n,a){s(a),t=void 0},s=function(n){if(t){var a=n.viewer_time-t;Qe(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>Ly&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(Ly,"ms, future events will be ignored unless a programchange or videochange occurs.")))}e.data.view_watch_time>=0&&e.data.view_rebuffer_count>0&&(e.data.view_rebuffer_frequency=e.data.view_rebuffer_count/e.data.view_watch_time,e.data.view_rebuffer_percentage=e.data.view_rebuffer_duration/e.data.view_watch_time)};e.on("playbackheartbeat",function(n,a){return s(a)}),e.on("rebufferstart",function(n,a){t||(Qe(e.data,"view_rebuffer_count",1),t=a.viewer_time,e.one("rebufferend",r))}),e.on("viewinit",function(){t=void 0,e.off("rebufferend",r)})}},XL=jL,QL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_lastCheckedTime",void 0),H(this,"_lastPlayheadTime",void 0),H(this,"_lastPlayheadTimeUpdatedTime",void 0),H(this,"_rebuffering",void 0),H(this,"pm",void 0),this.pm=e,!(e.disableRebufferTracking||e.disablePlayheadRebufferTracking)&&(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,e.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),e.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),e.on("seeking",function(){t._cleanupRebufferTracker(null,{viewer_time:et.now()})}))}return Vi(i,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(e,t);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(t.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(e,t,!0);return}var r=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&r>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(this._lastCheckedTime===null)return;var s=this.pm.data.player_playhead_time-this._lastPlayheadTime,n=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&s>0&&n-s>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+n-s}))}r?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),i}(),ZL=QL,JL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"NAVIGATION_START",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){var r=e.data,s=r.view_id;if(!r.view_program_changed){var n=function(a,o){var l=o.viewer_time;(a.type==="playing"&&typeof e.data.view_time_to_first_frame=="undefined"||a.type==="adplaying"&&(typeof e.data.view_time_to_first_frame=="undefined"||t._inPrerollPosition()))&&t.calculateTimeToFirstFrame(l||et.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Vi(i,[{key:"_inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),i}(),ek=JL,tk=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastPlayerHeight",void 0),H(this,"_lastPlayerWidth",void 0),H(this,"_lastPlayheadPosition",void 0),H(this,"_lastSourceHeight",void 0),H(this,"_lastSourceWidth",void 0),e.on("viewinit",function(){t._lastPlayheadPosition=-1});var r=["pause","rebufferstart","seeking","error","adbreakstart","hb"],s=["playing","hb"];r.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var a=e.data.player_playhead_time-t._lastPlayheadPosition;if(a<0){t._lastPlayheadPosition=-1;return}var o=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),l=Math.max(0,o-1),d=Math.max(0,1-o);e.data.view_max_upscale_percentage=Math.max(e.data.view_max_upscale_percentage||0,l),e.data.view_max_downscale_percentage=Math.max(e.data.view_max_downscale_percentage||0,d),Qe(e.data,"view_total_content_playback_time",a),Qe(e.data,"view_total_upscaling",l*a),Qe(e.data,"view_total_downscaling",d*a)}t._lastPlayheadPosition=-1})}),s.forEach(function(n){e.on(n,function(){t._lastPlayheadPosition=e.data.player_playhead_time,t._lastPlayerWidth=e.data.player_width,t._lastPlayerHeight=e.data.player_height,t._lastSourceWidth=e.data.video_source_width,t._lastSourceHeight=e.data.video_source_height})})},ik=tk,rk=2e3,sk=function i(e){"use strict";var t=this;dt(this,i),H(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=et.now(),a=(e.data.viewer_time||n)-(r||n);Qe(e.data,"view_seek_duration",a),e.data.view_max_seek_time=Math.max(e.data.view_max_seek_time||0,a),t.isSeeking=!1,r=-1};e.on("seeking",function(n,a){if(Object.assign(e.data,a),t.isSeeking&&a.viewer_time-r<=rk){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Qe(e.data,"view_seek_count",1),e.send("seeking")}),e.on("seeked",function(){s()}),e.on("viewend",function(){t.isSeeking&&(s(),e.send("seeked")),t.isSeeking=!1,r=-1})},nk=sk,ky=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},ak=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],ok=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_adHasPlayed",void 0),H(this,"_adRequests",void 0),H(this,"_adResponses",void 0),H(this,"_currentAdRequestNumber",void 0),H(this,"_currentAdResponseNumber",void 0),H(this,"_prerollPlayTime",void 0),H(this,"_wouldBeNewAdPlay",void 0),H(this,"isAdBreak",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),ak.forEach(function(s){return e.on(s,t._updateAdData.bind(t))});var r=function(){t.isAdBreak=!1};e.on("adbreakstart",function(){t.isAdBreak=!0}),e.on("play",r),e.on("playing",r),e.on("viewend",r),e.on("adrequest",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdRequestNumber++},n),ky(t._adRequests,n),Qe(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Qe(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),ky(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Qe(e.data,"view_ad_request_time",Math.max(0,n.viewer_time-a.viewer_time))}),e.on("adplay",function(s,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,Qe(e.data,"view_ad_played_count")),t.inPrerollPosition()&&!e.data.view_preroll_played&&(e.data.view_preroll_played=!0,t._adRequests.length>0&&(e.data.view_preroll_request_time=Math.max(0,n.viewer_time-t._adRequests[0].viewer_time)),e.data.view_start&&(e.data.view_startup_preroll_request_time=Math.max(0,n.viewer_time-e.data.view_start)),t._prerollPlayTime=n.viewer_time)}),e.on("adplaying",function(s,n){t.inPrerollPosition()&&typeof e.data.view_preroll_load_time=="undefined"&&typeof t._prerollPlayTime!="undefined"&&(e.data.view_preroll_load_time=n.viewer_time-t._prerollPlayTime,e.data.view_startup_preroll_load_time=n.viewer_time-t._prerollPlayTime)}),e.on("adclicked",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Vi(i,[{key:"inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var r=bs(ro(t.ad_tag_url),2),s=r[0],n=r[1];this.pm.data.view_preroll_ad_tag_domain=n,this.pm.data.view_preroll_ad_tag_hostname=s}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var a=bs(ro(t.ad_asset_url),2),o=a[0],l=a[1];this.pm.data.view_preroll_ad_asset_domain=l,this.pm.data.view_preroll_ad_asset_hostname=o}}this.pm.data.ad_asset_url=t==null?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=t==null?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=t==null?void 0:t.ad_creative_id,this.pm.data.ad_id=t==null?void 0:t.ad_id,this.pm.data.ad_universal_id=t==null?void 0:t.ad_universal_id}}]),i}(),lk=ok,Iy=Ct(Ki()),dk=function i(e){"use strict";dt(this,i);var t,r,s=function(){e.disableRebufferTracking||(Qe(e.data,"view_waiting_rebuffer_count",1),t=et.now(),r=Iy.default.setInterval(function(){if(t){var d=et.now();Qe(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Qe(e.data,"view_waiting_rebuffer_duration",et.now()-t),t=!1,Iy.default.clearInterval(r))},a=!1,o=function(){a=!0},l=function(){a=!1,n()};e.on("waiting",function(){a&&s()}),e.on("playing",function(){n(),o()}),e.on("pause",l),e.on("seeking",l)},uk=dk,ck=function i(e){"use strict";var t=this;dt(this,i),H(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=et.now(),e.on("before*",s)},s=function(n){var a=et.now(),o=t.lastWallClockTime;t.lastWallClockTime=a,a-o>3e4&&(e.emit("devicesleep",{viewer_time:o}),Object.assign(e.data,{viewer_time:o}),e.send("devicesleep"),e.emit("devicewake",{viewer_time:a}),Object.assign(e.data,{viewer_time:a}),e.send("devicewake"))};e.one("playbackheartbeat",r),e.on("playbackheartbeatend",function(){e.off("before*",s),e.one("playbackheartbeat",r)})},hk=ck,ap=Ct(Ki()),$y=Ct(sL()),Hy=Ct(nL()),Gy="muxData",Wy=function(){var i;try{i=$y.default.parse(Hy.default.get(Gy)||"")}catch{i={}}return i},Ky=function(i){try{Hy.default.set(Gy,$y.default.stringify(i),{expires:365})}catch{}},fk=function(){var i=Wy();return i.mux_viewer_id=i.mux_viewer_id||to(),i.msn=i.msn||Math.random(),Ky(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},mk=function(){var i=Wy(),e=et.now();return i.session_start&&(i.sst=i.session_start,delete i.session_start),i.session_id&&(i.sid=i.session_id,delete i.session_id),i.session_expires&&(i.sex=i.session_expires,delete i.session_expires),(!i.sex||i.sex<e)&&(i.sid=to(),i.sst=e),i.sex=e+25*60*1e3,Ky(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function pk(i,e){var t=e.beaconCollectionDomain,r=e.beaconDomain;if(t)return"https://"+t;i=i||"inferred";var s=r||"litix.io";return i.match(/^[a-z0-9]+$/)?"https://"+i+"."+s:"https://img.litix.io/a.gif"}var gk=Ct(Ki()),Vy=function(){var i;switch(qy()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},qy=function(){var i=gk.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};Vy.getConnectionFromAPI=qy;var vk=Vy,Ek={a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"},bk=Yy(Ek),yk={ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"},Ry=Yy(yk);function Yy(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function cp(i){var e={},t={};return Object.keys(i).forEach(function(r){var s=!1;if(i.hasOwnProperty(r)&&i[r]!==void 0){var n=r.split("_"),a=n[0],o=bk[a];o||(Ge.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),Ry[l]?o+=Ry[l]:Number(l)&&Math.floor(Number(l))===Number(l)?o+=l:(Ge.info("Data key word `"+l+"` not expected in "+r),o+="_"+l+"_")}),s?t[o]=i[r]:e[o]=i[r]}}),Object.assign(e,t)}var Es=Ct(Ki()),Tk={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},_k=56*1024,Ak=["hb","requestcompleted","requestfailed","requestcanceled"],Sk="https://img.litix.io",or=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||Sk,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},Tk,e)};or.prototype.queueEvent=function(i,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||i==="eventrateexceeded"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};or.prototype.flushEvents=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(i&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};or.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),Es.default.clearTimeout(this._sendTimeout)};or.prototype._clearBeaconQueue=function(){var i=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(i);i>0&&Object.assign(e[e.length-1],cp({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);zy(this._beaconUrl,t,!0,function(){})};or.prototype._sendBeaconQueue=function(){var i=this;if(!this._postInFlight){var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),r=et.now();zy(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Ge.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=et.now()-r,i._postInFlight=!1})}};or.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var i=Math.pow(2,this._failureCount-1);return i=i*Math.random(),(1+i)*this._options.baseTimeBetweenBeacons};or.prototype._startBeaconSending=function(){var i=this;Es.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=Es.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};or.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(et.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var r,s,n,a=function(){r=JSON.stringify({metadata:t,events:s||i}),n=r.length/1024},o=function(){return n<=e._options.maxPayloadKBSize};return a(),o()||(Ge.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return Ak.indexOf(l.e)===-1}),a()),o()||(Ge.info("Payload size still too big ("+n+" kb). Cropping fields.."),s.forEach(function(l){for(var d in l){var u=l[d],c=50*1024;typeof u=="string"&&u.length>c&&(l[d]=u.substring(0,c))}}),a()),r};var xk=function(i){return i.length<=_k},zy=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(Es.default.fetch){Es.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:xk(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(Es.default.XMLHttpRequest){var s=new Es.default.XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState===4)return r(null,s.status!==200?"error":void 0)},s.open("POST",i),s.setRequestHeader("Content-Type","text/plain"),s.send(e);return}r()},Lk=or,kk=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],Ik=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],Rk=["ad_id","ad_creative_id","ad_universal_id"],wk=["viewstart","error","ended","viewend"],Ck=10*60*1e3,Dk=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};dt(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;H(this,"mux",void 0),H(this,"envKey",void 0),H(this,"options",void 0),H(this,"eventQueue",void 0),H(this,"sampleRate",void 0),H(this,"disableCookies",void 0),H(this,"respectDoNotTrack",void 0),H(this,"previousBeaconData",void 0),H(this,"lastEventTime",void 0),H(this,"rateLimited",void 0),H(this,"pageLevelData",void 0),H(this,"viewerData",void 0),this.mux=e,this.envKey=t,this.options=r,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new Lk(pk(this.envKey,this.options));var g;this.sampleRate=(g=this.options.sampleRate)!==null&&g!==void 0?g:1;var E;this.disableCookies=(E=this.options.disableCookies)!==null&&E!==void 0?E:!1;var T;this.respectDoNotTrack=(T=this.options.respectDoNotTrack)!==null&&T!==void 0?T:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(s=this.options.platform)===null||s===void 0?void 0:s.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(a=this.options.platform)===null||a===void 0?void 0:a.layout,viewer_device_name:(o=this.options.platform)===null||o===void 0?void 0:o.product,viewer_device_category:"",viewer_device_manufacturer:(l=this.options.platform)===null||l===void 0?void 0:l.manufacturer,viewer_os_family:(u=this.options.platform)===null||u===void 0||(d=u.os)===null||d===void 0?void 0:d.family,viewer_os_architecture:(h=this.options.platform)===null||h===void 0||(c=h.os)===null||c===void 0?void 0:c.architecture,viewer_os_version:(m=this.options.platform)===null||m===void 0||(f=m.os)===null||f===void 0?void 0:f.version,viewer_connection_type:vk(),page_url:ap.default===null||ap.default===void 0||(p=ap.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:fk()}return Vi(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&dp())return Ge.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Ge.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:mk(),s=hp(_u({},this.pageLevelData,t,r,this.viewerData),{event:e,env_key:this.envKey});s.user_id&&(s.viewer_user_id=s.user_id,delete s.user_id);var n,a=((n=s.mux_sample_number)!==null&&n!==void 0?n:0)>=this.sampleRate,o=this._deduplicateBeaconData(e,s),l=cp(o);if(this.lastEventTime=this.mux.utils.now(),a)return Ge.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Ge.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,s,l),!this.rateLimited){if(Ge.info("Sending event",e,s,l),this.rateLimited=!this.eventQueue.queueEvent(e,l),this.mux.WINDOW_UNLOADING&&e==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&e==="hb"?this.eventQueue.flushEvents(!0):wk.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=cp(s),this.eventQueue.queueEvent(s.event,l),Ge.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var r=this,s={},n=t.view_id;if(n==="-1"||e==="viewstart"||e==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=Ck)s=_u({},t),n&&(this.previousBeaconData=s),n&&e==="viewend"&&(this.previousBeaconData=null);else{var a=e.indexOf("request")===0;Object.entries(t).forEach(function(o){var l=bs(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||kk.indexOf(d)>-1||r.objectHasChanged(a,d,u,r.previousBeaconData[d])||r.eventRequiresKey(e,d))&&(s[d]=u,r.previousBeaconData[d]=u)})}return s}},{key:"objectHasChanged",value:function(e,t,r,s){return!e||t.indexOf("request_")!==0?!1:t==="request_response_headers"||typeof r!="object"||typeof s!="object"?!0:Object.keys(r||{}).length!==Object.keys(s||{}).length}},{key:"eventRequiresKey",value:function(e,t){return!!(e==="renditionchange"&&t.indexOf("video_source_")===0||Rk.includes(t)&&Ik.includes(e))}}]),i}(),Mk=function i(e){"use strict";dt(this,i);var t=0,r=0,s=0,n=0,a=0,o=0,l=0,d=function(h,f){var m=f.request_start,p=f.request_response_start,g=f.request_response_end,E=f.request_bytes_loaded;n++;var T,y;if(p?(T=p-(m!=null?m:0),y=(g!=null?g:0)-p):y=(g!=null?g:0)-(m!=null?m:0),y>0&&E&&E>0){var S=E/y*8e3;a++,r+=E,s+=y,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,S),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,T>0&&(t+=T,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,T),e.data.view_average_request_latency=t/a)}},u=function(h,f){n++,o++,e.data.view_request_count=n,e.data.view_request_failed_count=o},c=function(h,f){n++,l++,e.data.view_request_count=n,e.data.view_request_canceled_count=l};e.on("requestcompleted",d),e.on("requestfailed",u),e.on("requestcanceled",c)},Pk=Mk,Ok=60*60*1e3,Nk=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=et.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Ok){var l=Object.keys(e.data).reduce(function(d,u){return u.indexOf("video_")===0?Object.assign(d,H({},u,e.data[u])):d},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view"),e.emit("viewinit",Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},Uk=Nk,Fk=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],Bk=function(i){"use strict";TL(t,i);var e=SL(t);function t(r,s,n){dt(this,t);var a;a=e.call(this),H(re(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),H(re(a),"NAVIGATION_START",void 0),H(re(a),"_destroyed",void 0),H(re(a),"_heartBeatTimeout",void 0),H(re(a),"adTracker",void 0),H(re(a),"dashjs",void 0),H(re(a),"data",void 0),H(re(a),"disablePlayheadRebufferTracking",void 0),H(re(a),"disableRebufferTracking",void 0),H(re(a),"errorTracker",void 0),H(re(a),"errorTranslator",void 0),H(re(a),"getAdData",void 0),H(re(a),"getPlayheadTime",void 0),H(re(a),"getStateData",void 0),H(re(a),"hlsjs",void 0),H(re(a),"id",void 0),H(re(a),"longResumeTracker",void 0),H(re(a),"minimumRebufferDuration",void 0),H(re(a),"mux",void 0),H(re(a),"oldEmit",void 0),H(re(a),"playbackEventDispatcher",void 0),H(re(a),"playbackHeartbeat",void 0),H(re(a),"playbackHeartbeatTime",void 0),H(re(a),"playheadTime",void 0),H(re(a),"seekingTracker",void 0),H(re(a),"sustainedRebufferThreshold",void 0),H(re(a),"watchTimeTracker",void 0),H(re(a),"currentFragmentPDT",void 0),H(re(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=Tu.domContentLoadedEventEnd(),a.NAVIGATION_START=Tu.navigationStart();var o={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(f){return f}};a.mux=r,a.id=s,n!=null&&n.beaconDomain&&a.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),n=Object.assign(o,n),n.data=n.data||{},n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),Ge.setLevel(n.debug?"debug":"warn"),a.getPlayheadTime=n.getPlayheadTime,a.getStateData=n.getStateData||function(){return{}},a.getAdData=n.getAdData||function(){},a.minimumRebufferDuration=n.minimumRebufferDuration,a.sustainedRebufferThreshold=n.sustainedRebufferThreshold,a.playbackHeartbeatTime=n.playbackHeartbeatTime,a.disableRebufferTracking=n.disableRebufferTracking,a.disableRebufferTracking&&a.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),a.disablePlayheadRebufferTracking=n.disablePlayheadRebufferTracking,a.errorTranslator=n.errorTranslator,a.playbackEventDispatcher=new Dk(r,n.data.env_key,n),a.data={player_instance_id:to(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1,a.oldEmit=a.emit,a.emit=function(f,m){m=Object.assign({viewer_time:this.mux.utils.now()},m),this.oldEmit(f,m)};var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(re(a));a.on("viewinit",function(f,m){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,m),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)});var d=function(f){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",f)}.bind(re(a));if(a.on("videochange",function(f,m){d(m)}),a.on("programchange",function(f,m){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),d(Object.assign(m,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(f,m){this.currentFragmentPDT=m.currentFragmentPDT,this.currentFragmentStart=m.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var u=function(){var f=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",f&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",u,!1);var c=function(f){f.persisted||a.destroy()};window.addEventListener("pagehide",c,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",u),window.removeEventListener("pagehide",c)})}a.on("playerready",function(f,m){Object.assign(this.data,m)}),Fk.forEach(function(f){a.on(f,function(m,p){f.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,p),this._sanitizeData()}),a.on("after"+f,function(){(f!=="error"||this.errorTracker.viewErrored)&&this.send(f)})}),a.on("viewend",function(f,m){Object.assign(a.data,m)});var h=function(f){var m=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=m-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time};return a.one("playerready",h),a.longResumeTracker=new Uk(re(a)),a.errorTracker=new GL(re(a)),new hk(re(a)),a.seekingTracker=new nk(re(a)),a.playheadTime=new zL(re(a)),a.playbackHeartbeat=new $L(re(a)),new ik(re(a)),a.watchTimeTracker=new KL(re(a)),new qL(re(a)),a.adTracker=new lk(re(a)),new ZL(re(a)),new XL(re(a)),new ek(re(a)),new uk(re(a)),new Pk(re(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Vi(t,[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,typeof this.data.view_start!="undefined"&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(r){if(this.data.view_id){var s=Object.assign({},this.data),n=["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"];if(s.video_source_is_live===void 0&&(s.player_source_duration===1/0||s.video_source_duration===1/0?s.video_source_is_live=!0:(s.player_source_duration>0||s.video_source_duration>0)&&(s.video_source_is_live=!1)),s.video_source_is_live||n.forEach(function(d){s[d]=void 0}),s.video_source_url=s.video_source_url||s.player_source_url,s.video_source_url){var a=bs(ro(s.video_source_url),2),o=a[0],l=a[1];s.video_source_domain=l,s.video_source_hostname=o}delete s.ad_request_id,this.playbackEventDispatcher.send(r,s),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var r=this,s=["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"];s.forEach(function(a){var o=parseInt(r.data[a],10);r.data[a]=isNaN(o)?void 0:o});var n=["player_source_url","video_source_url"];n.forEach(function(a){if(r.data[a]){var o=r.data[a].toLowerCase();(o.indexOf("data:")===0||o.indexOf("blob:")===0)&&(r.data[a]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("video_")===0&&delete r.data[s]})}},{key:"_resetViewData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("view_")===0&&delete r.data[s]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var r=this,s=this.data.view_id=to(),n=function(){s===r.data.view_id&&Qe(r.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",n):n()}},{key:"_restartHeartBeat",value:function(){var r=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){r.data.player_is_paused||r.emit("hb")},1e4))}},{key:"addHLSJS",value:function(r){if(!r.hlsjs){this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");return}if(this.hlsjs){this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");return}this.hlsjs=r.hlsjs,wL(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(CL(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(r){if(!r.dashjs){this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");return}if(this.dashjs){this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");return}this.dashjs=r.dashjs,OL(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(NL(this.dashjs),this.dashjs=void 0)}}]),t}(FL),$k=Bk;Su();var Za=Ct(fL());function Hk(){return Za.default&&!!(Za.default.fullscreenElement||Za.default.webkitFullscreenElement||Za.default.mozFullScreenElement||Za.default.msFullscreenElement)}var Gk=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Wk={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function Kk(i,e,t){var r=bs(lp(e),3),s=r[0],n=r[1],a=r[2],o=i.log,l=i.utils.getComputedStyle,d=i.utils.secondsToMs,u={automaticErrorTracking:!0};if(s){if(a!=="video"&&a!=="audio")return o.error("The element of `"+n+"` was not a media element.")}else return o.error("No element was found with the `"+n+"` query selector.");s.mux&&(s.mux.destroy(),delete s.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),t=Object.assign(u,t),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),t.getPlayheadTime=function(){return d(s.currentTime)},t.getStateData=function(){var h,f=this.hlsjs&&this.hlsjs.url,m=this.dashjs&&At(this.dashjs.getSource==="function")&&this.dashjs.getSource(),p={player_is_paused:s.paused,player_playhead_time:d(s.currentTime),player_width:parseInt(l(s,"width")),player_height:parseInt(l(s,"height")),player_autoplay_on:s.autoplay,player_preload_on:s.preload,player_language_code:s.lang,player_is_fullscreen:Hk(),video_poster_url:s.poster,video_source_url:f||m||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(h=s.getVideoPlaybackQuality)===null||h===void 0?void 0:h.call(s).droppedVideoFrames},g=t.getPlayheadTime();if(s.getStartDate&&g>0){var E=s.getStartDate();if(E&&typeof E.getTime=="function"&&E.getTime()){var T=E.getTime();if(p.player_program_time=T+g,s.seekable.length>0){var y=T+s.seekable.end(s.seekable.length-1);p.player_live_edge_program_time=y}}}return p},s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(h,f){i.emit(n,h,f)};var c=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(h){s.removeEventListener(h,s.mux.listeners[h],!1)}),delete s.mux.listeners,s.mux.destroy=c,s.mux.swapElement=c,s.mux.emit=c,s.mux.addHLSJS=c,s.mux.addDashJS=c,s.mux.removeHLSJS=c,s.mux.removeDashJS=c,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(h){var f=bs(lp(h),3),m=f[0],p=f[1],g=f[2];if(m){if(g!=="video"&&g!=="audio")return i.log.error("The element of `"+p+"` was not a media element.")}else return i.log.error("No element was found with the `"+p+"` query selector.");m.muxId=s.muxId,delete s.muxId,m.mux=m.mux||{},m.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(m.mux.listeners).forEach(function(E){s.removeEventListener(E,m.mux.listeners[E],!1),m.addEventListener(E,m.mux.listeners[E],!1)}),m.mux.swapElement=s.mux.swapElement,m.mux.destroy=s.mux.destroy,delete s.mux,s=m},s.mux.addHLSJS=function(h){i.addHLSJS(n,h)},s.mux.addDashJS=function(h){i.addDashJS(n,h)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Gk.forEach(function(h){h==="error"&&!t.automaticErrorTracking||(s.mux.listeners[h]=function(){var f={};if(h==="error"){if(!s.error||s.error.code===1)return;f.player_error_code=s.error.code,f.player_error_message=Wk[s.error.code]||s.error.message}i.emit(n,h,f)},s.addEventListener(h,s.mux.listeners[h],!1))})}function Vk(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Ge.info("safeCall error",n)}return s}var eo=Ct(Ki()),Nn;eo.default&&eo.default.WeakMap&&(Nn=new WeakMap);function qk(i,e){if(!i||!e||!eo.default||typeof eo.default.getComputedStyle!="function")return"";var t;return Nn&&Nn.has(i)&&(t=Nn.get(i)),t||(t=eo.default.getComputedStyle(i,null),Nn&&Nn.set(i,t)),t.getPropertyValue(e)}function Yk(i){return Math.floor(i*1e3)}var gs={TARGET_DURATION:"#EXT-X-TARGETDURATION",PART_INF:"#EXT-X-PART-INF",SERVER_CONTROL:"#EXT-X-SERVER-CONTROL",INF:"#EXTINF",PROGRAM_DATE_TIME:"#EXT-X-PROGRAM-DATE-TIME",VERSION:"#EXT-X-VERSION",SESSION_DATA:"#EXT-X-SESSION-DATA"},xu=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};xu.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
1575
+ `):"");a("error",{player_error_code:S==null?void 0:S.code,player_error_message:S==null?void 0:S.message,player_error_context:P})};t.on("error",T),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",T),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},FL=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},ky=0,BL=function(){"use strict";function i(){dt(this,i),H(this,"_listeners",void 0)}return Vi(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++ky,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],r&&(t=t.bind(r)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var r=this._listeners&&this._listeners[e];r&&r.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&r.splice(n,1)})}},{key:"one",value:function(e,t,r){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++ky;var n=function(){s.off(e,n),t.apply(r||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var r=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,d){l=l.slice(),l.forEach(function(u){u.call(r,{type:e},d)})};o(s,t),o(n,t),o(a,t)}}}]),i}(),$L=BL,op=Ct(Ki()),HL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackHeartbeatInterval",void 0),H(this,"_playheadShouldBeProgressing",void 0),H(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(r,s){t._playbackHeartbeatInterval!==null&&(op.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Vi(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=op.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(op.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),GL=HL,WL=function i(e){"use strict";var t=this;dt(this,i),H(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(r,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var r,s,n,a,o;(r=e.data)===null||r===void 0||delete r.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)===null||o===void 0||delete o.player_error_business_exception})},KL=WL,VL=function(){"use strict";function i(e){dt(this,i),H(this,"_watchTimeTrackerLastCheckedTime",void 0),H(this,"pm",void 0),this.pm=e,this._watchTimeTrackerLastCheckedTime=null,e.on("playbackheartbeat",this._updateWatchTime.bind(this)),e.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Vi(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Qe(this.pm.data,"view_watch_time",r-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=r}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),i}(),qL=VL,YL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),H(this,"_lastTime",void 0),H(this,"_isAdPlaying",void 0),H(this,"_callbackUpdatePlaybackTime",void 0),H(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=et.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var r=this._startPlaybackTimeTracking.bind(this);e.on("playing",r),e.on("adplaying",r),e.on("seeked",r);var s=this._stopPlaybackTimeTracking.bind(this);e.on("playbackheartbeatend",s),e.on("seeking",s),e.on("adplaying",function(){t._isAdPlaying=!0}),e.on("adended",function(){t._isAdPlaying=!1}),e.on("adpause",function(){t._isAdPlaying=!1}),e.on("adbreakstart",function(){t._isAdPlaying=!1}),e.on("adbreakend",function(){t._isAdPlaying=!1}),e.on("adplay",function(){t._isAdPlaying=!1}),e.on("viewinit",function(){t._playbackTimeTrackerLastPlayheadPosition=-1,t._lastTime=et.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Vi(i,[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time,t=et.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Qe(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),zL=YL,jL=function(){"use strict";function i(e){dt(this,i),H(this,"pm",void 0),this.pm=e;var t=this._updatePlayheadTime.bind(this);e.on("playbackheartbeat",t),e.on("playbackheartbeatend",t),e.on("timeupdate",t),e.on("destroy",function(){e.off("timeupdate",t)})}return Vi(i,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=typeof this.pm.data.view_max_playhead_position=="undefined"?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var r=this,s=function(){r.pm.currentFragmentPDT&&r.pm.currentFragmentStart&&(r.pm.data.player_program_time=r.pm.currentFragmentPDT+r.pm.data.player_playhead_time-r.pm.currentFragmentStart)};if(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,s(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var n=this.pm.getPlayheadTime();typeof n!="undefined"&&(this.pm.data.player_playhead_time=n,s(),this._updateMaxPlayheadPosition())}}}]),i}(),XL=jL,Iy=5*60*1e3,QL=function i(e){"use strict";if(dt(this,i),!e.disableRebufferTracking){var t,r=function(n,a){s(a),t=void 0},s=function(n){if(t){var a=n.viewer_time-t;Qe(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>Iy&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(Iy,"ms, future events will be ignored unless a programchange or videochange occurs.")))}e.data.view_watch_time>=0&&e.data.view_rebuffer_count>0&&(e.data.view_rebuffer_frequency=e.data.view_rebuffer_count/e.data.view_watch_time,e.data.view_rebuffer_percentage=e.data.view_rebuffer_duration/e.data.view_watch_time)};e.on("playbackheartbeat",function(n,a){return s(a)}),e.on("rebufferstart",function(n,a){t||(Qe(e.data,"view_rebuffer_count",1),t=a.viewer_time,e.one("rebufferend",r))}),e.on("viewinit",function(){t=void 0,e.off("rebufferend",r)})}},ZL=QL,JL=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_lastCheckedTime",void 0),H(this,"_lastPlayheadTime",void 0),H(this,"_lastPlayheadTimeUpdatedTime",void 0),H(this,"_rebuffering",void 0),H(this,"pm",void 0),this.pm=e,!(e.disableRebufferTracking||e.disablePlayheadRebufferTracking)&&(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,e.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),e.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),e.on("seeking",function(){t._cleanupRebufferTracker(null,{viewer_time:et.now()})}))}return Vi(i,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing){this._cleanupRebufferTracker(e,t);return}if(this._lastCheckedTime===null){this._prepareRebufferTrackerState(t.viewer_time);return}if(this._lastPlayheadTime!==this.pm.data.player_playhead_time){this._cleanupRebufferTracker(e,t,!0);return}var r=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&r>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(this._lastCheckedTime===null)return;var s=this.pm.data.player_playhead_time-this._lastPlayheadTime,n=t.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&s>0&&n-s>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+n-s}))}r?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),i}(),ek=JL,tk=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"NAVIGATION_START",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){var r=e.data,s=r.view_id;if(!r.view_program_changed){var n=function(a,o){var l=o.viewer_time;(a.type==="playing"&&typeof e.data.view_time_to_first_frame=="undefined"||a.type==="adplaying"&&(typeof e.data.view_time_to_first_frame=="undefined"||t._inPrerollPosition()))&&t.calculateTimeToFirstFrame(l||et.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Vi(i,[{key:"_inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}]),i}(),ik=tk,rk=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastPlayerHeight",void 0),H(this,"_lastPlayerWidth",void 0),H(this,"_lastPlayheadPosition",void 0),H(this,"_lastSourceHeight",void 0),H(this,"_lastSourceWidth",void 0),e.on("viewinit",function(){t._lastPlayheadPosition=-1});var r=["pause","rebufferstart","seeking","error","adbreakstart","hb"],s=["playing","hb"];r.forEach(function(n){e.on(n,function(){if(t._lastPlayheadPosition>=0&&e.data.player_playhead_time>=0&&t._lastPlayerWidth>=0&&t._lastSourceWidth>0&&t._lastPlayerHeight>=0&&t._lastSourceHeight>0){var a=e.data.player_playhead_time-t._lastPlayheadPosition;if(a<0){t._lastPlayheadPosition=-1;return}var o=Math.min(t._lastPlayerWidth/t._lastSourceWidth,t._lastPlayerHeight/t._lastSourceHeight),l=Math.max(0,o-1),d=Math.max(0,1-o);e.data.view_max_upscale_percentage=Math.max(e.data.view_max_upscale_percentage||0,l),e.data.view_max_downscale_percentage=Math.max(e.data.view_max_downscale_percentage||0,d),Qe(e.data,"view_total_content_playback_time",a),Qe(e.data,"view_total_upscaling",l*a),Qe(e.data,"view_total_downscaling",d*a)}t._lastPlayheadPosition=-1})}),s.forEach(function(n){e.on(n,function(){t._lastPlayheadPosition=e.data.player_playhead_time,t._lastPlayerWidth=e.data.player_width,t._lastPlayerHeight=e.data.player_height,t._lastSourceWidth=e.data.video_source_width,t._lastSourceHeight=e.data.video_source_height})})},sk=rk,nk=2e3,ak=function i(e){"use strict";var t=this;dt(this,i),H(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=et.now(),a=(e.data.viewer_time||n)-(r||n);Qe(e.data,"view_seek_duration",a),e.data.view_max_seek_time=Math.max(e.data.view_max_seek_time||0,a),t.isSeeking=!1,r=-1};e.on("seeking",function(n,a){if(Object.assign(e.data,a),t.isSeeking&&a.viewer_time-r<=nk){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Qe(e.data,"view_seek_count",1),e.send("seeking")}),e.on("seeked",function(){s()}),e.on("viewend",function(){t.isSeeking&&(s(),e.send("seeked")),t.isSeeking=!1,r=-1})},ok=ak,Ry=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},lk=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],dk=function(){"use strict";function i(e){var t=this;dt(this,i),H(this,"_adHasPlayed",void 0),H(this,"_adRequests",void 0),H(this,"_adResponses",void 0),H(this,"_currentAdRequestNumber",void 0),H(this,"_currentAdResponseNumber",void 0),H(this,"_prerollPlayTime",void 0),H(this,"_wouldBeNewAdPlay",void 0),H(this,"isAdBreak",void 0),H(this,"pm",void 0),this.pm=e,e.on("viewinit",function(){t.isAdBreak=!1,t._currentAdRequestNumber=0,t._currentAdResponseNumber=0,t._adRequests=[],t._adResponses=[],t._adHasPlayed=!1,t._wouldBeNewAdPlay=!0,t._prerollPlayTime=void 0}),lk.forEach(function(s){return e.on(s,t._updateAdData.bind(t))});var r=function(){t.isAdBreak=!1};e.on("adbreakstart",function(){t.isAdBreak=!0}),e.on("play",r),e.on("playing",r),e.on("viewend",r),e.on("adrequest",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdRequestNumber++},n),Ry(t._adRequests,n),Qe(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Qe(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),Ry(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Qe(e.data,"view_ad_request_time",Math.max(0,n.viewer_time-a.viewer_time))}),e.on("adplay",function(s,n){t._adHasPlayed=!0,t._wouldBeNewAdPlay&&(t._wouldBeNewAdPlay=!1,Qe(e.data,"view_ad_played_count")),t.inPrerollPosition()&&!e.data.view_preroll_played&&(e.data.view_preroll_played=!0,t._adRequests.length>0&&(e.data.view_preroll_request_time=Math.max(0,n.viewer_time-t._adRequests[0].viewer_time)),e.data.view_start&&(e.data.view_startup_preroll_request_time=Math.max(0,n.viewer_time-e.data.view_start)),t._prerollPlayTime=n.viewer_time)}),e.on("adplaying",function(s,n){t.inPrerollPosition()&&typeof e.data.view_preroll_load_time=="undefined"&&typeof t._prerollPlayTime!="undefined"&&(e.data.view_preroll_load_time=n.viewer_time-t._prerollPlayTime,e.data.view_startup_preroll_load_time=n.viewer_time-t._prerollPlayTime)}),e.on("adclicked",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Qe(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Vi(i,[{key:"inPrerollPosition",value:function(){return typeof this.pm.data.view_content_playback_time=="undefined"||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var r=bs(ro(t.ad_tag_url),2),s=r[0],n=r[1];this.pm.data.view_preroll_ad_tag_domain=n,this.pm.data.view_preroll_ad_tag_hostname=s}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var a=bs(ro(t.ad_asset_url),2),o=a[0],l=a[1];this.pm.data.view_preroll_ad_asset_domain=l,this.pm.data.view_preroll_ad_asset_hostname=o}}this.pm.data.ad_asset_url=t==null?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=t==null?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=t==null?void 0:t.ad_creative_id,this.pm.data.ad_id=t==null?void 0:t.ad_id,this.pm.data.ad_universal_id=t==null?void 0:t.ad_universal_id}}]),i}(),uk=dk,wy=Ct(Ki()),ck=function i(e){"use strict";dt(this,i);var t,r,s=function(){e.disableRebufferTracking||(Qe(e.data,"view_waiting_rebuffer_count",1),t=et.now(),r=wy.default.setInterval(function(){if(t){var d=et.now();Qe(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Qe(e.data,"view_waiting_rebuffer_duration",et.now()-t),t=!1,wy.default.clearInterval(r))},a=!1,o=function(){a=!0},l=function(){a=!1,n()};e.on("waiting",function(){a&&s()}),e.on("playing",function(){n(),o()}),e.on("pause",l),e.on("seeking",l)},hk=ck,fk=function i(e){"use strict";var t=this;dt(this,i),H(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=et.now(),e.on("before*",s)},s=function(n){var a=et.now(),o=t.lastWallClockTime;t.lastWallClockTime=a,a-o>3e4&&(e.emit("devicesleep",{viewer_time:o}),Object.assign(e.data,{viewer_time:o}),e.send("devicesleep"),e.emit("devicewake",{viewer_time:a}),Object.assign(e.data,{viewer_time:a}),e.send("devicewake"))};e.one("playbackheartbeat",r),e.on("playbackheartbeatend",function(){e.off("before*",s),e.one("playbackheartbeat",r)})},mk=fk,lp=Ct(Ki()),Gy=Ct(aL()),Wy=Ct(oL()),Ky="muxData",Vy=function(){var i;try{i=Gy.default.parse(Wy.default.get(Ky)||"")}catch{i={}}return i},qy=function(i){try{Wy.default.set(Ky,Gy.default.stringify(i),{expires:365})}catch{}},pk=function(){var i=Vy();return i.mux_viewer_id=i.mux_viewer_id||to(),i.msn=i.msn||Math.random(),qy(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},gk=function(){var i=Vy(),e=et.now();return i.session_start&&(i.sst=i.session_start,delete i.session_start),i.session_id&&(i.sid=i.session_id,delete i.session_id),i.session_expires&&(i.sex=i.session_expires,delete i.session_expires),(!i.sex||i.sex<e)&&(i.sid=to(),i.sst=e),i.sex=e+25*60*1e3,qy(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function vk(i,e){var t=e.beaconCollectionDomain,r=e.beaconDomain;if(t)return"https://"+t;i=i||"inferred";var s=r||"litix.io";return i.match(/^[a-z0-9]+$/)?"https://"+i+"."+s:"https://img.litix.io/a.gif"}var Ek=Ct(Ki()),Yy=function(){var i;switch(zy()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},zy=function(){var i=Ek.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};Yy.getConnectionFromAPI=zy;var bk=Yy,yk={a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"},Tk=jy(yk),_k={ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"},Cy=jy(_k);function jy(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function fp(i){var e={},t={};return Object.keys(i).forEach(function(r){var s=!1;if(i.hasOwnProperty(r)&&i[r]!==void 0){var n=r.split("_"),a=n[0],o=Tk[a];o||(Ge.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),Cy[l]?o+=Cy[l]:Number(l)&&Math.floor(Number(l))===Number(l)?o+=l:(Ge.info("Data key word `"+l+"` not expected in "+r),o+="_"+l+"_")}),s?t[o]=i[r]:e[o]=i[r]}}),Object.assign(e,t)}var Es=Ct(Ki()),Ak={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},Sk=56*1024,xk=["hb","requestcompleted","requestfailed","requestcanceled"],Lk="https://img.litix.io",lr=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||Lk,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},Ak,e)};lr.prototype.queueEvent=function(i,e){var t=Object.assign({},e);return this._eventQueue.length<=this._options.maxQueueLength||i==="eventrateexceeded"?(this._eventQueue.push(t),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength):!1};lr.prototype.flushEvents=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(i&&this._eventQueue.length===1){this._eventQueue.pop();return}this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending()};lr.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),Es.default.clearTimeout(this._sendTimeout)};lr.prototype._clearBeaconQueue=function(){var i=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,e=this._eventQueue.slice(i);i>0&&Object.assign(e[e.length-1],fp({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);Xy(this._beaconUrl,t,!0,function(){})};lr.prototype._sendBeaconQueue=function(){var i=this;if(!this._postInFlight){var e=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var t=this._createPayload(e),r=et.now();Xy(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Ge.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=et.now()-r,i._postInFlight=!1})}};lr.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var i=Math.pow(2,this._failureCount-1);return i=i*Math.random(),(1+i)*this._options.baseTimeBetweenBeacons};lr.prototype._startBeaconSending=function(){var i=this;Es.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=Es.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};lr.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(et.now())};this._roundTripTime&&(t.rtt_ms=Math.round(this._roundTripTime));var r,s,n,a=function(){r=JSON.stringify({metadata:t,events:s||i}),n=r.length/1024},o=function(){return n<=e._options.maxPayloadKBSize};return a(),o()||(Ge.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return xk.indexOf(l.e)===-1}),a()),o()||(Ge.info("Payload size still too big ("+n+" kb). Cropping fields.."),s.forEach(function(l){for(var d in l){var u=l[d],c=50*1024;typeof u=="string"&&u.length>c&&(l[d]=u.substring(0,c))}}),a()),r};var kk=function(i){return i.length<=Sk},Xy=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(Es.default.fetch){Es.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:kk(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(Es.default.XMLHttpRequest){var s=new Es.default.XMLHttpRequest;s.onreadystatechange=function(){if(s.readyState===4)return r(null,s.status!==200?"error":void 0)},s.open("POST",i),s.setRequestHeader("Content-Type","text/plain"),s.send(e);return}r()},Ik=lr,Rk=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception"],wk=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],Ck=["ad_id","ad_creative_id","ad_universal_id"],Dk=["viewstart","error","ended","viewend"],Mk=10*60*1e3,Pk=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};dt(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;H(this,"mux",void 0),H(this,"envKey",void 0),H(this,"options",void 0),H(this,"eventQueue",void 0),H(this,"sampleRate",void 0),H(this,"disableCookies",void 0),H(this,"respectDoNotTrack",void 0),H(this,"previousBeaconData",void 0),H(this,"lastEventTime",void 0),H(this,"rateLimited",void 0),H(this,"pageLevelData",void 0),H(this,"viewerData",void 0),this.mux=e,this.envKey=t,this.options=r,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new Ik(vk(this.envKey,this.options));var g;this.sampleRate=(g=this.options.sampleRate)!==null&&g!==void 0?g:1;var E;this.disableCookies=(E=this.options.disableCookies)!==null&&E!==void 0?E:!1;var T;this.respectDoNotTrack=(T=this.options.respectDoNotTrack)!==null&&T!==void 0?T:!1,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(s=this.options.platform)===null||s===void 0?void 0:s.name,viewer_application_version:(n=this.options.platform)===null||n===void 0?void 0:n.version,viewer_application_engine:(a=this.options.platform)===null||a===void 0?void 0:a.layout,viewer_device_name:(o=this.options.platform)===null||o===void 0?void 0:o.product,viewer_device_category:"",viewer_device_manufacturer:(l=this.options.platform)===null||l===void 0?void 0:l.manufacturer,viewer_os_family:(u=this.options.platform)===null||u===void 0||(d=u.os)===null||d===void 0?void 0:d.family,viewer_os_architecture:(h=this.options.platform)===null||h===void 0||(c=h.os)===null||c===void 0?void 0:c.architecture,viewer_os_version:(m=this.options.platform)===null||m===void 0||(f=m.os)===null||f===void 0?void 0:f.version,viewer_connection_type:bk(),page_url:lp.default===null||lp.default===void 0||(p=lp.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:pk()}return Vi(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&cp())return Ge.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Ge.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:gk(),s=mp(_u({},this.pageLevelData,t,r,this.viewerData),{event:e,env_key:this.envKey});s.user_id&&(s.viewer_user_id=s.user_id,delete s.user_id);var n,a=((n=s.mux_sample_number)!==null&&n!==void 0?n:0)>=this.sampleRate,o=this._deduplicateBeaconData(e,s),l=fp(o);if(this.lastEventTime=this.mux.utils.now(),a)return Ge.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Ge.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,s,l),!this.rateLimited){if(Ge.info("Sending event",e,s,l),this.rateLimited=!this.eventQueue.queueEvent(e,l),this.mux.WINDOW_UNLOADING&&e==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&e==="hb"?this.eventQueue.flushEvents(!0):Dk.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=fp(s),this.eventQueue.queueEvent(s.event,l),Ge.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var r=this,s={},n=t.view_id;if(n==="-1"||e==="viewstart"||e==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=Mk)s=_u({},t),n&&(this.previousBeaconData=s),n&&e==="viewend"&&(this.previousBeaconData=null);else{var a=e.indexOf("request")===0;Object.entries(t).forEach(function(o){var l=bs(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||Rk.indexOf(d)>-1||r.objectHasChanged(a,d,u,r.previousBeaconData[d])||r.eventRequiresKey(e,d))&&(s[d]=u,r.previousBeaconData[d]=u)})}return s}},{key:"objectHasChanged",value:function(e,t,r,s){return!e||t.indexOf("request_")!==0?!1:t==="request_response_headers"||typeof r!="object"||typeof s!="object"?!0:Object.keys(r||{}).length!==Object.keys(s||{}).length}},{key:"eventRequiresKey",value:function(e,t){return!!(e==="renditionchange"&&t.indexOf("video_source_")===0||Ck.includes(t)&&wk.includes(e))}}]),i}(),Ok=function i(e){"use strict";dt(this,i);var t=0,r=0,s=0,n=0,a=0,o=0,l=0,d=function(h,f){var m=f.request_start,p=f.request_response_start,g=f.request_response_end,E=f.request_bytes_loaded;n++;var T,y;if(p?(T=p-(m!=null?m:0),y=(g!=null?g:0)-p):y=(g!=null?g:0)-(m!=null?m:0),y>0&&E&&E>0){var S=E/y*8e3;a++,r+=E,s+=y,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,S),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,T>0&&(t+=T,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,T),e.data.view_average_request_latency=t/a)}},u=function(h,f){n++,o++,e.data.view_request_count=n,e.data.view_request_failed_count=o},c=function(h,f){n++,l++,e.data.view_request_count=n,e.data.view_request_canceled_count=l};e.on("requestcompleted",d),e.on("requestfailed",u),e.on("requestcanceled",c)},Nk=Ok,Uk=60*60*1e3,Fk=function i(e){"use strict";var t=this;dt(this,i),H(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=et.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Uk){var l=Object.keys(e.data).reduce(function(d,u){return u.indexOf("video_")===0?Object.assign(d,H({},u,e.data[u])):d},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view"),e.emit("viewinit",Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},Bk=Fk,$k=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],Hk=function(i){"use strict";AL(t,i);var e=LL(t);function t(r,s,n){dt(this,t);var a;a=e.call(this),H(re(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),H(re(a),"NAVIGATION_START",void 0),H(re(a),"_destroyed",void 0),H(re(a),"_heartBeatTimeout",void 0),H(re(a),"adTracker",void 0),H(re(a),"dashjs",void 0),H(re(a),"data",void 0),H(re(a),"disablePlayheadRebufferTracking",void 0),H(re(a),"disableRebufferTracking",void 0),H(re(a),"errorTracker",void 0),H(re(a),"errorTranslator",void 0),H(re(a),"getAdData",void 0),H(re(a),"getPlayheadTime",void 0),H(re(a),"getStateData",void 0),H(re(a),"hlsjs",void 0),H(re(a),"id",void 0),H(re(a),"longResumeTracker",void 0),H(re(a),"minimumRebufferDuration",void 0),H(re(a),"mux",void 0),H(re(a),"oldEmit",void 0),H(re(a),"playbackEventDispatcher",void 0),H(re(a),"playbackHeartbeat",void 0),H(re(a),"playbackHeartbeatTime",void 0),H(re(a),"playheadTime",void 0),H(re(a),"seekingTracker",void 0),H(re(a),"sustainedRebufferThreshold",void 0),H(re(a),"watchTimeTracker",void 0),H(re(a),"currentFragmentPDT",void 0),H(re(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=Tu.domContentLoadedEventEnd(),a.NAVIGATION_START=Tu.navigationStart();var o={debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(f){return f}};a.mux=r,a.id=s,n!=null&&n.beaconDomain&&a.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),n=Object.assign(o,n),n.data=n.data||{},n.data.property_key&&(n.data.env_key=n.data.property_key,delete n.data.property_key),Ge.setLevel(n.debug?"debug":"warn"),a.getPlayheadTime=n.getPlayheadTime,a.getStateData=n.getStateData||function(){return{}},a.getAdData=n.getAdData||function(){},a.minimumRebufferDuration=n.minimumRebufferDuration,a.sustainedRebufferThreshold=n.sustainedRebufferThreshold,a.playbackHeartbeatTime=n.playbackHeartbeatTime,a.disableRebufferTracking=n.disableRebufferTracking,a.disableRebufferTracking&&a.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),a.disablePlayheadRebufferTracking=n.disablePlayheadRebufferTracking,a.errorTranslator=n.errorTranslator,a.playbackEventDispatcher=new Pk(r,n.data.env_key,n),a.data={player_instance_id:to(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1,a.oldEmit=a.emit,a.emit=function(f,m){m=Object.assign({viewer_time:this.mux.utils.now()},m),this.oldEmit(f,m)};var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(re(a));a.on("viewinit",function(f,m){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,m),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)});var d=function(f){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",f)}.bind(re(a));if(a.on("videochange",function(f,m){d(m)}),a.on("programchange",function(f,m){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),d(Object.assign(m,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(f,m){this.currentFragmentPDT=m.currentFragmentPDT,this.currentFragmentStart=m.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var u=function(){var f=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",f&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",u,!1);var c=function(f){f.persisted||a.destroy()};window.addEventListener("pagehide",c,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",u),window.removeEventListener("pagehide",c)})}a.on("playerready",function(f,m){Object.assign(this.data,m)}),$k.forEach(function(f){a.on(f,function(m,p){f.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,p),this._sanitizeData()}),a.on("after"+f,function(){(f!=="error"||this.errorTracker.viewErrored)&&this.send(f)})}),a.on("viewend",function(f,m){Object.assign(a.data,m)});var h=function(f){var m=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=m-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time};return a.one("playerready",h),a.longResumeTracker=new Bk(re(a)),a.errorTracker=new KL(re(a)),new mk(re(a)),a.seekingTracker=new ok(re(a)),a.playheadTime=new XL(re(a)),a.playbackHeartbeat=new GL(re(a)),new sk(re(a)),a.watchTimeTracker=new qL(re(a)),new zL(re(a)),a.adTracker=new uk(re(a)),new ek(re(a)),new ZL(re(a)),new ik(re(a)),new hk(re(a)),new Nk(re(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Vi(t,[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,typeof this.data.view_start!="undefined"&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(r){if(this.data.view_id){var s=Object.assign({},this.data),n=["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"];if(s.video_source_is_live===void 0&&(s.player_source_duration===1/0||s.video_source_duration===1/0?s.video_source_is_live=!0:(s.player_source_duration>0||s.video_source_duration>0)&&(s.video_source_is_live=!1)),s.video_source_is_live||n.forEach(function(d){s[d]=void 0}),s.video_source_url=s.video_source_url||s.player_source_url,s.video_source_url){var a=bs(ro(s.video_source_url),2),o=a[0],l=a[1];s.video_source_domain=l,s.video_source_hostname=o}delete s.ad_request_id,this.playbackEventDispatcher.send(r,s),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var r=this,s=["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"];s.forEach(function(a){var o=parseInt(r.data[a],10);r.data[a]=isNaN(o)?void 0:o});var n=["player_source_url","video_source_url"];n.forEach(function(a){if(r.data[a]){var o=r.data[a].toLowerCase();(o.indexOf("data:")===0||o.indexOf("blob:")===0)&&(r.data[a]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("video_")===0&&delete r.data[s]})}},{key:"_resetViewData",value:function(){var r=this;Object.keys(this.data).forEach(function(s){s.indexOf("view_")===0&&delete r.data[s]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var r=this,s=this.data.view_id=to(),n=function(){s===r.data.view_id&&Qe(r.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",n):n()}},{key:"_restartHeartBeat",value:function(){var r=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){r.data.player_is_paused||r.emit("hb")},1e4))}},{key:"addHLSJS",value:function(r){if(!r.hlsjs){this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.");return}if(this.hlsjs){this.mux.log.warn("An instance of HLS.js is already being monitored for this player.");return}this.hlsjs=r.hlsjs,DL(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(ML(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(r){if(!r.dashjs){this.mux.log.warn("You must pass a valid dashjs instance in order to track it.");return}if(this.dashjs){this.mux.log.warn("An instance of Dash.js is already being monitored for this player.");return}this.dashjs=r.dashjs,UL(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(FL(this.dashjs),this.dashjs=void 0)}}]),t}($L),Gk=Hk;Su();var Za=Ct(pL());function Wk(){return Za.default&&!!(Za.default.fullscreenElement||Za.default.webkitFullscreenElement||Za.default.mozFullScreenElement||Za.default.msFullscreenElement)}var Kk=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Vk={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function qk(i,e,t){var r=bs(up(e),3),s=r[0],n=r[1],a=r[2],o=i.log,l=i.utils.getComputedStyle,d=i.utils.secondsToMs,u={automaticErrorTracking:!0};if(s){if(a!=="video"&&a!=="audio")return o.error("The element of `"+n+"` was not a media element.")}else return o.error("No element was found with the `"+n+"` query selector.");s.mux&&(s.mux.destroy(),delete s.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),t=Object.assign(u,t),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),t.getPlayheadTime=function(){return d(s.currentTime)},t.getStateData=function(){var h,f=this.hlsjs&&this.hlsjs.url,m=this.dashjs&&At(this.dashjs.getSource==="function")&&this.dashjs.getSource(),p={player_is_paused:s.paused,player_playhead_time:d(s.currentTime),player_width:parseInt(l(s,"width")),player_height:parseInt(l(s,"height")),player_autoplay_on:s.autoplay,player_preload_on:s.preload,player_language_code:s.lang,player_is_fullscreen:Wk(),video_poster_url:s.poster,video_source_url:f||m||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(h=s.getVideoPlaybackQuality)===null||h===void 0?void 0:h.call(s).droppedVideoFrames},g=t.getPlayheadTime();if(s.getStartDate&&g>0){var E=s.getStartDate();if(E&&typeof E.getTime=="function"&&E.getTime()){var T=E.getTime();if(p.player_program_time=T+g,s.seekable.length>0){var y=T+s.seekable.end(s.seekable.length-1);p.player_live_edge_program_time=y}}}return p},s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(h,f){i.emit(n,h,f)};var c=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(h){s.removeEventListener(h,s.mux.listeners[h],!1)}),delete s.mux.listeners,s.mux.destroy=c,s.mux.swapElement=c,s.mux.emit=c,s.mux.addHLSJS=c,s.mux.addDashJS=c,s.mux.removeHLSJS=c,s.mux.removeDashJS=c,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(h){var f=bs(up(h),3),m=f[0],p=f[1],g=f[2];if(m){if(g!=="video"&&g!=="audio")return i.log.error("The element of `"+p+"` was not a media element.")}else return i.log.error("No element was found with the `"+p+"` query selector.");m.muxId=s.muxId,delete s.muxId,m.mux=m.mux||{},m.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(m.mux.listeners).forEach(function(E){s.removeEventListener(E,m.mux.listeners[E],!1),m.addEventListener(E,m.mux.listeners[E],!1)}),m.mux.swapElement=s.mux.swapElement,m.mux.destroy=s.mux.destroy,delete s.mux,s=m},s.mux.addHLSJS=function(h){i.addHLSJS(n,h)},s.mux.addDashJS=function(h){i.addDashJS(n,h)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Kk.forEach(function(h){h==="error"&&!t.automaticErrorTracking||(s.mux.listeners[h]=function(){var f={};if(h==="error"){if(!s.error||s.error.code===1)return;f.player_error_code=s.error.code,f.player_error_message=Vk[s.error.code]||s.error.message}i.emit(n,h,f)},s.addEventListener(h,s.mux.listeners[h],!1))})}function Yk(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Ge.info("safeCall error",n)}return s}var eo=Ct(Ki()),Nn;eo.default&&eo.default.WeakMap&&(Nn=new WeakMap);function zk(i,e){if(!i||!e||!eo.default||typeof eo.default.getComputedStyle!="function")return"";var t;return Nn&&Nn.has(i)&&(t=Nn.get(i)),t||(t=eo.default.getComputedStyle(i,null),Nn&&Nn.set(i,t)),t.getPropertyValue(e)}function jk(i){return Math.floor(i*1e3)}var gs={TARGET_DURATION:"#EXT-X-TARGETDURATION",PART_INF:"#EXT-X-PART-INF",SERVER_CONTROL:"#EXT-X-SERVER-CONTROL",INF:"#EXTINF",PROGRAM_DATE_TIME:"#EXT-X-PROGRAM-DATE-TIME",VERSION:"#EXT-X-VERSION",SESSION_DATA:"#EXT-X-SESSION-DATA"},xu=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};xu.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
1576
1576
  `);e>-1;e=this.buffer.indexOf(`
1577
- `))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};xu.prototype.processLine=function(i){var e=i.indexOf(":"),t=Qk(i,e),r=t[0],s=t.length===2?mp(t[1]):void 0;if(r[0]!=="#")this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case gs.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case gs.PART_INF:{op(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case gs.SERVER_CONTROL:{op(this.manifest,t),this.setHoldBack();break}case gs.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case gs.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case gs.VERSION:{op(this.manifest,t);break}case gs.SESSION_DATA:{var o=Zk(t[1]),l=By(o);Object.assign(this.manifest.sessionData,l)}}};xu.prototype.setHoldBack=function(){var i=this.manifest,e=i.serverControl,t=i.targetDuration,r=i.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=r&&r*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),r&&!e.hasOwnProperty(n)&&(e[n]=r*3),r&&e[n]<o&&(e[n]=o)}};var op=function(i,e){var t=jy(e[0].replace("#EXT-X-","")),r;Xk(e[1])?(r={},r=Object.assign(jk(e[1]),r)):r=mp(e[1]),i[t]=r},jy=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},mp=function(i){if(i.toLowerCase()==="yes"||i.toLowerCase()==="no")return i.toLowerCase()==="yes";var e=i.indexOf(":")!==-1?i:parseFloat(i);return isNaN(e)?i:e},zk=function(i){var e={},t=i.split("=");if(t.length>1){var r=jy(t[0]);e[r]=mp(t[1])}return e},jk=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=zk(s);t=Object.assign(n,t)}return t},Xk=function(i){return i.indexOf("=")>-1},Qk=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Zk=function(i){var e={};if(i){var t=i.search(","),r=i.slice(0,t),s=i.slice(t+1),n=[r,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),d=0;d<l.length;d++)l[d]==="DATA-ID"&&(e["DATA-ID"]=l[1-d]),l[d]==="VALUE"&&(e.VALUE=l[1-d])}),{data:e}}},Jk=xu,eI={safeCall:Vk,safeIncrement:Qe,getComputedStyle:qk,secondsToMs:Yk,assign:Object.assign,headersStringToObject:fp,cdnHeadersToRequestId:Au,extractHostnameAndDomain:ro,extractHostname:gi,manifestParser:Jk,generateShortID:Uy,generateUUID:to,now:et.now},tI=eI,iI={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},rI=iI,sI="mux-embed",nI="5.2.0",aI="2.1",Xt={},wr=function(i){var e=arguments;typeof i=="string"?wr.hasOwnProperty(i)?Ja.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),wr[i].apply(null,e)},0):Ge.warn("`"+i+"` is an unknown task"):typeof i=="function"?Ja.default.setTimeout(function(){i(wr)},0):Ge.warn("`"+i+"` is invalid.")},oI={loaded:et.now(),NAME:sI,VERSION:nI,API_VERSION:aI,PLAYER_TRACKED:!1,monitor:function(i,e){return Kk(wr,i,e)},destroyMonitor:function(i){var e=bs(lp(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Ge.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=vs(i);Xt[t]?Xt[t].addHLSJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=vs(i);Xt[t]?Xt[t].addDashJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=vs(i);Xt[e]?Xt[e].removeHLSJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=vs(i);Xt[e]?Xt[e].removeDashJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){dp()&&e&&e.respectDoNotTrack&&Ge.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=vs(i);Xt[t]=new $k(wr,t,e)},emit:function(i,e,t){var r=vs(i);Xt[r]?(Xt[r].emit(e,t),e==="destroy"&&delete Xt[r]):Ge.error("A monitor for `"+r+"` has not been initialized.")},checkDoNotTrack:dp,log:Ge,utils:tI,events:rI,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(wr,oI);typeof Ja.default!="undefined"&&typeof Ja.default.addEventListener=="function"&&Ja.default.addEventListener("pagehide",function(i){i.persisted||(wr.WINDOW_UNLOADING=!0)},!1);var Lu=wr;function lI(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var KT={exports:{}};(function(i,e){(function(t){var r=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,u){if(u=u||{},l=l.trim(),d=d.trim(),!d){if(!u.alwaysNormalize)return l;var c=o.parseURL(l);if(!c)throw new Error("Error trying to parse base URL.");return c.path=o.normalizePath(c.path),o.buildURLFromParts(c)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return u.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var m=s.exec(f.path);f.netLoc=m[1],f.path=m[2]}f.netLoc&&!f.path&&(f.path="/");var p={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(p.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)p.path=f.path,h.params||(p.params=f.params,h.query||(p.query=f.query));else{var g=f.path,E=g.substring(0,g.lastIndexOf("/")+1)+h.path;p.path=o.normalizePath(E)}return p.path===null&&(p.path=u.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(p)},parseURL:function(l){var d=r.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};i.exports=o})()})(KT);var Wg=KT.exports;function Xy(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function ft(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xy(Object(t),!0).forEach(function(r){cI(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Xy(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function dI(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var r=t.call(i,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function uI(i){var e=dI(i,"string");return typeof e=="symbol"?e:String(e)}function cI(i,e,t){return e=uI(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ze(){return Ze=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},Ze.apply(this,arguments)}var q=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},hI=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=fI},fI=Number.MAX_SAFE_INTEGER||9007199254740991,v=function(i){return i.MEDIA_ATTACHING="hlsMediaAttaching",i.MEDIA_ATTACHED="hlsMediaAttached",i.MEDIA_DETACHING="hlsMediaDetaching",i.MEDIA_DETACHED="hlsMediaDetached",i.BUFFER_RESET="hlsBufferReset",i.BUFFER_CODECS="hlsBufferCodecs",i.BUFFER_CREATED="hlsBufferCreated",i.BUFFER_APPENDING="hlsBufferAppending",i.BUFFER_APPENDED="hlsBufferAppended",i.BUFFER_EOS="hlsBufferEos",i.BUFFER_FLUSHING="hlsBufferFlushing",i.BUFFER_FLUSHED="hlsBufferFlushed",i.MANIFEST_LOADING="hlsManifestLoading",i.MANIFEST_LOADED="hlsManifestLoaded",i.MANIFEST_PARSED="hlsManifestParsed",i.LEVEL_SWITCHING="hlsLevelSwitching",i.LEVEL_SWITCHED="hlsLevelSwitched",i.LEVEL_LOADING="hlsLevelLoading",i.LEVEL_LOADED="hlsLevelLoaded",i.LEVEL_UPDATED="hlsLevelUpdated",i.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",i.LEVELS_UPDATED="hlsLevelsUpdated",i.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",i.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",i.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",i.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",i.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",i.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",i.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",i.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",i.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",i.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",i.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",i.CUES_PARSED="hlsCuesParsed",i.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",i.INIT_PTS_FOUND="hlsInitPtsFound",i.FRAG_LOADING="hlsFragLoading",i.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",i.FRAG_LOADED="hlsFragLoaded",i.FRAG_DECRYPTED="hlsFragDecrypted",i.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",i.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",i.FRAG_PARSING_METADATA="hlsFragParsingMetadata",i.FRAG_PARSED="hlsFragParsed",i.FRAG_BUFFERED="hlsFragBuffered",i.FRAG_CHANGED="hlsFragChanged",i.FPS_DROP="hlsFpsDrop",i.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",i.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",i.ERROR="hlsError",i.DESTROYING="hlsDestroying",i.KEY_LOADING="hlsKeyLoading",i.KEY_LOADED="hlsKeyLoaded",i.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",i.BACK_BUFFER_REACHED="hlsBackBufferReached",i.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",i}({}),ie=function(i){return i.NETWORK_ERROR="networkError",i.MEDIA_ERROR="mediaError",i.KEY_SYSTEM_ERROR="keySystemError",i.MUX_ERROR="muxError",i.OTHER_ERROR="otherError",i}({}),C=function(i){return i.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",i.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",i.KEY_SYSTEM_NO_SESSION="keySystemNoSession",i.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",i.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",i.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",i.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",i.MANIFEST_LOAD_ERROR="manifestLoadError",i.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",i.MANIFEST_PARSING_ERROR="manifestParsingError",i.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",i.LEVEL_EMPTY_ERROR="levelEmptyError",i.LEVEL_LOAD_ERROR="levelLoadError",i.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",i.LEVEL_PARSING_ERROR="levelParsingError",i.LEVEL_SWITCH_ERROR="levelSwitchError",i.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",i.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",i.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",i.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",i.FRAG_LOAD_ERROR="fragLoadError",i.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",i.FRAG_DECRYPT_ERROR="fragDecryptError",i.FRAG_PARSING_ERROR="fragParsingError",i.FRAG_GAP="fragGap",i.REMUX_ALLOC_ERROR="remuxAllocError",i.KEY_LOAD_ERROR="keyLoadError",i.KEY_LOAD_TIMEOUT="keyLoadTimeOut",i.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",i.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",i.BUFFER_APPEND_ERROR="bufferAppendError",i.BUFFER_APPENDING_ERROR="bufferAppendingError",i.BUFFER_STALLED_ERROR="bufferStalledError",i.BUFFER_FULL_ERROR="bufferFullError",i.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",i.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",i.INTERNAL_EXCEPTION="internalException",i.INTERNAL_ABORTED="aborted",i.UNKNOWN="unknown",i}({}),As=function(){},Pp={trace:As,debug:As,log:As,warn:As,info:As,error:As},no=Pp;function mI(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):As}function pI(i,...e){e.forEach(function(t){no[t]=i[t]?i[t].bind(i):mI(t)})}function gI(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){pI(i,"debug","log","info","warn","error");try{no.log(`Debug logs enabled for "${e}" in hls.js version 1.5.11`)}catch{no=Pp}}else no=Pp}var I=no,vI=/^(\d+)x(\d+)$/,Qy=/(.+?)=(".*?"|.*?)(?:,|$)/g,We=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),Ze(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let r=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)r[s]=parseInt(t.slice(s*2,s*2+2),16);return r}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let r=this[e];return r?parseFloat(r):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=vI.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,r={},s='"';for(Qy.lastIndex=0;(t=Qy.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();r[a]=n}return r}};function EI(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function bI(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var Ku=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let r=t.attr;for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){I.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=Ze(new We({}),r,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let r=new Date(this.attr["END-DATE"]);q(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(q(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&q(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Vn=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},ke={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},Vu=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[ke.AUDIO]:null,[ke.VIDEO]:null,[ke.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let r=e.split("@",2),s;r.length===1?s=(t==null?void 0:t.byteRangeEndOffset)||0:s=parseInt(r[1]),this._byteRange=[s,parseInt(r[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Wg.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},ao=class extends Vu{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Vn,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!q(this.programDateTime))return null;let e=q(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),r=t.length;if(r>1||r===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,r,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:r,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,r),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[ke.AUDIO]=null,e[ke.VIDEO]=null,e[ke.AUDIOVIDEO]=null}},Op=class extends Vu{constructor(e,t,r,s,n){super(r),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Vn,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},yI=10,Np=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&r>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?q(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||yI}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Kg(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function TI(i){let e=Up(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function _I(i){let e=function(r,s,n){let a=r[s];r[s]=r[n],r[n]=a};e(i,0,3),e(i,1,2),e(i,4,5),e(i,6,7)}function AI(i){let e=i.split(":"),t=null;if(e[0]==="data"&&e.length===2){let r=e[1].split(";"),s=r[r.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(r.splice(-1,1),t=Kg(a)):t=TI(a)}}return t}function Up(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var qn=typeof self!="undefined"?self:void 0,Ue={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Pt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function Zy(i){switch(i){case Pt.FAIRPLAY:return Ue.FAIRPLAY;case Pt.PLAYREADY:return Ue.PLAYREADY;case Pt.WIDEVINE:return Ue.WIDEVINE;case Pt.CLEARKEY:return Ue.CLEARKEY}}var VT={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function SI(i){if(i===VT.WIDEVINE)return Ue.WIDEVINE}function Jy(i){switch(i){case Ue.FAIRPLAY:return Pt.FAIRPLAY;case Ue.PLAYREADY:return Pt.PLAYREADY;case Ue.WIDEVINE:return Pt.WIDEVINE;case Ue.CLEARKEY:return Pt.CLEARKEY}}function pp(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Ue.FAIRPLAY,Ue.WIDEVINE,Ue.PLAYREADY,Ue.CLEARKEY].filter(s=>!!e[s]):[];return!r[Ue.WIDEVINE]&&t&&r.push(Ue.WIDEVINE),r}var qT=function(i){return qn!=null&&(i=qn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function xI(i,e,t,r){let s;switch(i){case Ue.FAIRPLAY:s=["cenc","sinf"];break;case Ue.WIDEVINE:case Ue.PLAYREADY:s=["cenc"];break;case Ue.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return LI(s,e,t,r)}function LI(i,e,t,r){return[{initDataTypes:i,persistentState:r.persistentState||"optional",distinctiveIdentifier:r.distinctiveIdentifier||"optional",sessionTypes:r.sessionTypes||[r.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:r.audioRobustness||"",encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:r.videoRobustness||"",encryptionScheme:r.videoEncryptionScheme||null}))}]}function Ls(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var Vg=(i,e)=>e+10<=i.length&&i[e]===73&&i[e+1]===68&&i[e+2]===51&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,YT=(i,e)=>e+10<=i.length&&i[e]===51&&i[e+1]===68&&i[e+2]===73&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,lo=(i,e)=>{let t=e,r=0;for(;Vg(i,e);){r+=10;let s=vc(i,e+6);r+=s,YT(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},vc=(i,e)=>{let t=0;return t=(i[e]&127)<<21,t|=(i[e+1]&127)<<14,t|=(i[e+2]&127)<<7,t|=i[e+3]&127,t},kI=(i,e)=>Vg(i,e)&&vc(i,e+6)+10<=i.length-e,qg=i=>{let e=jT(i);for(let t=0;t<e.length;t++){let r=e[t];if(zT(r))return MI(r)}},zT=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",II=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=vc(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},jT=i=>{let e=0,t=[];for(;Vg(i,e);){let r=vc(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=II(i.subarray(e)),a=RI(n);a&&t.push(a),e+=n.size+10}YT(i,e)&&(e+=10)}return t},RI=i=>i.type==="PRIV"?wI(i):i.type[0]==="W"?DI(i):CI(i),wI=i=>{if(i.size<2)return;let e=Xi(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},CI=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data.subarray(1));return{key:i.type,data:e}},DI=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data);return{key:i.type,data:e}},MI=i=>{if(i.data.byteLength===8){let e=new Uint8Array(i.data),t=e[3]&1,r=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return r/=45,t&&(r+=4772185884e-2),Math.round(r)}},Xi=(i,e=!1)=>{let t=PI();if(t){let d=t.decode(i);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d}return d.replace(/\0/g,"")}let r=i.length,s,n,a,o="",l=0;for(;l<r;){if(s=i[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=i[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=i[l++],a=i[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},gp;function PI(){if(!navigator.userAgent.includes("PlayStation 4"))return!gp&&typeof self.TextDecoder!="undefined"&&(gp=new self.TextDecoder("utf-8")),gp}var Yi={hexDump:function(i){let e="";for(let t=0;t<i.length;t++){let r=i[t].toString(16);r.length<2&&(r="0"+r),e+=r}return e}},qu=Math.pow(2,32)-1,OI=[].push,XT={video:1,audio:2,id3:3,text:4};function tt(i){return String.fromCharCode.apply(null,i)}function QT(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function Z(i,e){let t=ZT(i,e);return t<0?4294967296+t:t}function eT(i,e){let t=Z(i,e);return t*=Math.pow(2,32),t+=Z(i,e+4),t}function ZT(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function vp(i,e,t){i[e]=t>>24,i[e+1]=t>>16&255,i[e+2]=t>>8&255,i[e+3]=t&255}function NI(i){let e=i.byteLength;for(let t=0;t<e;){let r=Z(i,t);if(r>8&&i[t+4]===109&&i[t+5]===111&&i[t+6]===111&&i[t+7]===102)return!0;t=r>1?t+r:e}return!1}function ae(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=Z(i,s),a=tt(i.subarray(s+4,s+8)),o=n>1?s+n:r;if(a===e[0])if(e.length===1)t.push(i.subarray(s+8,o));else{let l=ae(i.subarray(s+8,o),e.slice(1));l.length&&OI.apply(t,l)}s=o}return t}function UI(i){let e=[],t=i[0],r=8,s=Z(i,r);r+=4;let n=0,a=0;t===0?(n=Z(i,r),a=Z(i,r+4),r+=8):(n=eT(i,r),a=eT(i,r+8),r+=16),r+=2;let o=i.length+a,l=QT(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=Z(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return I.warn("SIDX has hierarchical references (not supported)"),null;let m=Z(i,u);u+=4,e.push({referenceSize:h,subsegmentDuration:m,info:{duration:m/s,start:o,end:o+h-1}}),o+=h,u+=4,r=u}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function JT(i){let e=[],t=ae(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=ae(n,["tkhd"])[0];if(a){let o=a[0],l=Z(a,o===0?12:20),d=ae(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=Z(d,o===0?12:20),c=ae(n,["mdia","hdlr"])[0];if(c){let h=tt(c.subarray(8,12)),f={soun:ke.AUDIO,vide:ke.VIDEO}[h];if(f){let m=ae(n,["mdia","minf","stbl","stsd"])[0],p=FI(m);e[l]={timescale:u,type:f},e[f]=ft({timescale:u,id:l},p)}}}}}return ae(i,["moov","mvex","trex"]).forEach(s=>{let n=Z(s,4),a=e[n];a&&(a.default={duration:Z(s,12),flags:Z(s,20)})}),e}function FI(i){let e=i.subarray(8),t=e.subarray(86),r=tt(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=ae(e,[r])[0].subarray(r==="enca"?28:78);ae(o,["sinf"]).forEach(d=>{let u=ae(d,["schm"])[0];if(u){let c=tt(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=ae(d,["frma"])[0];h&&(s=tt(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=ae(t,["avcC"])[0];s+="."+ku(a[1])+ku(a[2])+ku(a[3]);break}case"mp4a":{let a=ae(e,[r])[0],o=ae(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=Ep(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=Ep(o,l);let u=o[l++];if(u===64)s+="."+ku(u);else break;if(l+=12,o[l++]!==5)break;l=Ep(o,l);let c=o[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((o[l]&224)>>5)),s+="."+h}break}case"hvc1":case"hev1":{let a=ae(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=Z(a,2),c=(o&32)>>5?"H":"L",h=a[12],f=a.subarray(6,12);s+="."+l+d,s+="."+u.toString(16).toUpperCase(),s+="."+c+h;let m="";for(let p=f.length;p--;){let g=f[p];(g||m)&&(m="."+g.toString(16).toUpperCase()+m)}s+=m;break}case"dvh1":case"dvhe":{let a=ae(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+qi(o)+"."+qi(l);break}case"vp09":{let a=ae(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+qi(o)+"."+qi(l)+"."+qi(d);break}case"av01":{let a=ae(t,["av1C"])[0],o=a[1]>>>5,l=a[1]&31,d=a[2]>>>7?"H":"M",u=(a[2]&64)>>6,c=(a[2]&32)>>5,h=o===2&&u?c?12:10:u?10:8,f=(a[2]&16)>>4,m=(a[2]&8)>>3,p=(a[2]&4)>>2,g=a[2]&3,E=1,T=1,y=1,S=0;s+="."+o+"."+qi(l)+d+"."+qi(h)+"."+f+"."+m+p+g+"."+qi(E)+"."+qi(T)+"."+qi(y)+"."+S;break}}return{codec:s,encrypted:n}}function Ep(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function ku(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function qi(i){return(i<10?"0":"")+i}function BI(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&ae(i,["moov","trak"]).forEach(s=>{let a=ae(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=ae(a,["enca"]),l=o.length>0;l||(o=ae(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);ae(u,["sinf"]).forEach(h=>{let f=e_(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(I.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Yi.hexDump(m)} -> ${Yi.hexDump(t)}`),f.set(t,8))}})})}),i}function e_(i){let e=ae(i,["schm"])[0];if(e){let t=tt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return ae(i,["schi","tenc"])[0]}return I.error("[eme] missing 'schm' box"),null}function $I(i,e){return ae(e,["moof","traf"]).reduce((t,r)=>{let s=ae(r,["tfdt"])[0],n=s[0],a=ae(r,["tfhd"]).reduce((o,l)=>{let d=Z(l,4),u=i[d];if(u){let c=Z(s,4);if(n===1){if(c===qu)return I.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=qu+1,c+=Z(s,8)}let h=u.timescale||9e4,f=c/h;if(q(f)&&(o===null||f<o))return f}return o},null);return a!==null&&q(a)&&(t===null||a<t)?a:t},null)}function HI(i,e){let t=0,r=0,s=0,n=ae(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=ae(o,["tfhd"])[0],d=Z(l,4),u=e[d];if(!u)continue;let c=u.default,h=Z(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=Z(l,12):f=Z(l,8));let m=u.timescale||9e4,p=ae(o,["trun"]);for(let g=0;g<p.length;g++){if(t=GI(p[g]),!t&&f){let E=Z(p[g],4);t=f*E}u.type===ke.VIDEO?r+=t/m:u.type===ke.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=ae(i,["sidx"]);for(let u=0;u<d.length;u++){let c=UI(d[u]);if(c!=null&&c.references){a=Math.min(a,c.earliestPresentationTime/c.timescale);let h=c.references.reduce((f,m)=>f+m.info.duration||0,0);o=Math.max(o,h+c.earliestPresentationTime/c.timescale),l=o-a}}if(l&&q(l))return l}return r||s}function GI(i){let e=Z(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=Z(i,4);for(let n=0;n<s;n++){if(e&256){let a=Z(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function WI(i,e,t){ae(e,["moof","traf"]).forEach(r=>{ae(r,["tfhd"]).forEach(s=>{let n=Z(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;ae(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=Z(l,4);if(d===0)c-=u,c=Math.max(c,0),vp(l,4,c);else{c*=Math.pow(2,32),c+=Z(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(qu+1)),f=Math.floor(c%(qu+1));vp(l,4,h),vp(l,8,f)}}})})})}function KI(i){let e={valid:null,remainder:null},t=ae(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=Ls(i,0,r.byteOffset-8),e.remainder=Ls(i,r.byteOffset-8),e}function Zt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function tT(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return ae(r,["moof"]).map(l=>{let d=l.byteOffset-8;ae(l,["traf"]).map(c=>{let h=ae(c,["tfdt"]).map(f=>{let m=f[0],p=Z(f,4);return m===1&&(p*=Math.pow(2,32),p+=Z(f,8)),p/s})[0];return h!==void 0&&(i=h),ae(c,["tfhd"]).map(f=>{let m=Z(f,4),p=Z(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,T=(p&8)!==0,y=0,S=(p&16)!==0,A=0,L=(p&32)!==0,x=8;m===n&&(g&&(x+=8),E&&(x+=4),T&&(y=Z(f,x),x+=4),S&&(A=Z(f,x),x+=4),L&&(x+=4),e.type==="video"&&(a=VI(e.codec)),ae(c,["trun"]).map(w=>{let P=w[0],k=Z(w,0)&16777215,D=(k&1)!==0,U=0,F=(k&4)!==0,z=(k&256)!==0,j=0,K=(k&512)!==0,se=0,oe=(k&1024)!==0,W=(k&2048)!==0,G=0,ne=Z(w,4),Q=8;D&&(U=Z(w,Q),Q+=4),F&&(Q+=4);let pe=U+d;for(let Pe=0;Pe<ne;Pe++){if(z?(j=Z(w,Q),Q+=4):j=y,K?(se=Z(w,Q),Q+=4):se=A,oe&&(Q+=4),W&&(P===0?G=Z(w,Q):G=ZT(w,Q),Q+=4),e.type===ke.VIDEO){let Be=0;for(;Be<se;){let Ve=Z(r,pe);if(pe+=4,qI(a,r[pe])){let Lt=r.subarray(pe,pe+Ve);t_(Lt,a?2:1,i+G/s,t)}pe+=Ve,Be+=Ve+4}}i+=j/s}}))})})}),t}function VI(i){if(!i)return!1;let e=i.indexOf("."),t=e<0?i:i.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function qI(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function t_(i,e,t,r){let s=i_(i),n=0;n+=e;let a=0,o=0,l=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;l=s[n++],a+=l}while(l===255);o=0;do{if(n>=s.length)break;l=s[n++],o+=l}while(l===255);let d=s.length-n,u=n;if(o<d)n+=o;else if(o>d){I.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=QT(s,u);if(u+=2,h===49){let f=Z(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,T=E?2+g*3:0,y=new Uint8Array(T);if(E){y[0]=p;for(let S=1;S<T;S++)y[S]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:y})}}}}}else if(a===5&&o>16){let c=[];for(let m=0;m<16;m++){let p=s[u++].toString(16);c.push(p.length==1?"0"+p:p),(m===3||m===5||m===7||m===9)&&c.push("-")}let h=o-16,f=new Uint8Array(h);for(let m=0;m<h;m++)f[m]=s[u++];r.push({payloadType:a,pts:t,uuid:c.join(""),userData:Xi(f),userDataBytes:f})}}}function i_(i){let e=i.byteLength,t=[],r=1;for(;r<e-2;)i[r]===0&&i[r+1]===0&&i[r+2]===3?(t.push(r+2),r+=2):r++;if(t.length===0)return i;let s=e-t.length,n=new Uint8Array(s),a=0;for(r=0;r<s;a++,r++)a===t[0]&&(a++,t.shift()),n[r]=i[a];return n}function YI(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;tt(i.subarray(d,d+1))!=="\0";)t+=tt(i.subarray(d,d+1)),d+=1;for(t+=tt(i.subarray(d,d+1)),d+=1;tt(i.subarray(d,d+1))!=="\0";)r+=tt(i.subarray(d,d+1)),d+=1;r+=tt(i.subarray(d,d+1)),d+=1,s=Z(i,12),n=Z(i,16),o=Z(i,20),l=Z(i,24),d=28}else if(e===1){d+=4,s=Z(i,d),d+=4;let c=Z(i,d);d+=4;let h=Z(i,d);for(d+=4,a=2**32*c+h,hI(a)||(a=Number.MAX_SAFE_INTEGER,I.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=Z(i,d),d+=4,l=Z(i,d),d+=4;tt(i.subarray(d,d+1))!=="\0";)t+=tt(i.subarray(d,d+1)),d+=1;for(t+=tt(i.subarray(d,d+1)),d+=1;tt(i.subarray(d,d+1))!=="\0";)r+=tt(i.subarray(d,d+1)),d+=1;r+=tt(i.subarray(d,d+1)),d+=1}let u=i.subarray(d,i.byteLength);return{schemeIdUri:t,value:r,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:u}}function zI(i,...e){let t=e.length,r=8,s=t;for(;s--;)r+=e[s].byteLength;let n=new Uint8Array(r);for(n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=r&255,n.set(i,4),s=0,r=8;s<t;s++)n.set(e[s],r),r+=e[s].byteLength;return n}function jI(i,e,t){if(i.byteLength!==16)throw new RangeError("Invalid system id");let r,s;if(e){r=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else r=0,s=new Uint8Array;let n;r>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),zI([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function XI(i){if(!(i instanceof ArrayBuffer)||i.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(i),r=t.getUint32(0);if(i.byteLength!==r&&r>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Yi.hexDump(new Uint8Array(i,12,16));let n=t.getUint32(28);if(e.version===0){if(r-32<n)return null;e.data=new Uint8Array(i,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(i,32+a*16,16))}return e}var Iu={},uo=class i{static clearKeyUriToKeyIdMap(){Iu={}}constructor(e,t,r,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Pt.FAIRPLAY:case Pt.WIDEVINE:case Pt.PLAYREADY:case Pt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&I.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=QI(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=AI(this.uri);if(t)switch(this.keyFormat){case Pt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Pt.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=jI(r,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=Kg(u).subarray(0,16);_I(c),this.keyId=c}}break}default:{let r=t.subarray(0,16);if(r.length!==16){let s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r=Iu[this.uri];if(!r){let s=Object.keys(Iu).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),Iu[this.uri]=r}this.keyId=r}return this}};function QI(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var r_=/\{\$([a-zA-Z0-9-_]+)\}/g;function iT(i){return r_.test(i)}function Dt(i,e,t){if(i.variableList!==null||i.hasVariableRefs)for(let r=t.length;r--;){let s=t[r],n=e[s];n&&(e[s]=Fp(i,n))}}function Fp(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(r_,r=>{let s=r.substring(2,r.length-1),n=t==null?void 0:t[s];return n===void 0?(i.playlistParsingError||(i.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),r):n})}return e}function rT(i,e,t){let r=i.variableList;r||(i.variableList=r={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in r?i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=n||""}function ZI(i,e,t){let r=e.IMPORT;if(t&&r in t){let s=i.variableList;s||(i.variableList=s={}),s[r]=t[r]}else i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}function ks(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function JI(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var Yu={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function eR(i,e){let t=Yu[e];return!!t&&!!t[i.slice(0,4)]}function bp(i,e,t=!0){return!i.split(",").some(r=>!s_(r,e,t))}function s_(i,e,t=!0){var r;let s=ks(t);return(r=s==null?void 0:s.isTypeSupported(co(i,e)))!=null?r:!1}function co(i,e){return`${e}/mp4;codecs="${i}"`}function sT(i){if(i){let e=i.substring(0,4);return Yu.video[e]}return 2}function zu(i){return i.split(",").reduce((e,t)=>{let r=Yu.video[t];return r?(r*2+e)/(e?3:2):(Yu.audio[t]+e)/(e?2:1)},0)}var yp={};function tR(i,e=!0){if(yp[i])return yp[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(s_(t[r],"audio",e))return yp[i]=t[r],t[r];return i}var iR=/flac|opus/i;function ju(i,e=!0){return i.replace(iR,t=>tR(t.toLowerCase(),e))}function nT(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function rR(i){let e=i.split(".");if(e.length>2){let t=e.shift()+".";return t+=parseInt(e.shift()).toString(16),t+=("000"+parseInt(e.shift()).toString(16)).slice(-4),t}return i}var aT=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,oT=/#EXT-X-MEDIA:(.*)/g,sR=/^#EXT(?:INF|-X-TARGETDURATION):/m,lT=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),nR=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Ss=class i{static findGroup(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.id===t)return s}}static resolve(e,t){return Wg.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return sR.test(e)}static parseMasterPlaylist(e,t){let r=iT(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];aT.lastIndex=0;let a;for(;(a=aT.exec(e))!=null;)if(a[1]){var o;let d=new We(a[1]);Dt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=Fp(s,a[2]),c={attrs:d,bitrate:d.decimalInteger("BANDWIDTH")||d.decimalInteger("AVERAGE-BANDWIDTH"),name:d.NAME,url:i.resolve(u,t)},h=d.decimalResolution("RESOLUTION");h&&(c.width=h.width,c.height=h.height),aR(d.CODECS,c),(o=c.unknownCodecs)!=null&&o.length||n.push(c),s.levels.push(c)}else if(a[3]){let d=a[3],u=a[4];switch(d){case"SESSION-DATA":{let c=new We(u);Dt(s,c,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=c["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=c);break}case"SESSION-KEY":{let c=dT(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):I.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new We(u);Dt(s,c,["NAME","VALUE","QUERYPARAM"]),rT(s,c,t)}break}case"CONTENT-STEERING":{let c=new We(u);Dt(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=uT(u);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,r){let s,n={},a=r.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(oT.lastIndex=0;(s=oT.exec(e))!==null;){let d=new We(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,Dt(r,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,m=d["ASSOC-LANGUAGE"],p=d.CHANNELS,g=d.CHARACTERISTICS,E=d["INSTREAM-ID"],T={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?i.resolve(d.URI,t):""};if(m&&(T.assocLang=m),p&&(T.channels=p),g&&(T.characteristics=g),E&&(T.instreamId=E),c!=null&&c.length){let y=i.findGroup(c,T.groupId)||c[0];cT(T,y,"audioCodec"),cT(T,y,"textCodec")}h.push(T)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new Np(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new ao(s,t),g,E,T,y=-1,S=!1,A=null;for(lT.lastIndex=0,o.m3u8=e,o.hasVariableRefs=iT(e);(g=lT.exec(e))!==null;){S&&(S=!1,p=new ao(s,t),p.start=h,p.sn=u,p.cc=f,p.level=r,d&&(p.initSegment=d,p.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,A&&(p.setByteRange(A),A=null)));let P=g[1];if(P){p.duration=parseFloat(P);let k=(" "+g[2]).slice(1);p.title=k||null,p.tagList.push(k?["INF",P,k]:["INF",P])}else if(g[3]){if(q(p.duration)){p.start=h,T&&mT(p,T,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let k=(" "+g[3]).slice(1);p.relurl=Fp(o,k),hT(p,m),m=p,h+=p.duration,u++,c=0,S=!0}}else if(g[4]){let k=(" "+g[4]).slice(1);m?p.setByteRange(k,m):p.setByteRange(k)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),y===-1&&(y=l.length);else{if(g=g[0].match(nR),!g){I.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let k=(" "+g[E]).slice(1),D=(" "+g[E+1]).slice(1),U=g[E+2]?(" "+g[E+2]).slice(1):"";switch(k){case"PLAYLIST-TYPE":o.type=D.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(D);break;case"SKIP":{let F=new We(D);Dt(o,F,["RECENTLY-REMOVED-DATERANGES"]);let z=F.decimalInteger("SKIPPED-SEGMENTS");if(q(z)){o.skippedSegments=z;for(let K=z;K--;)l.unshift(null);u+=z}let j=F.enumeratedString("RECENTLY-REMOVED-DATERANGES");j&&(o.recentlyRemovedDateranges=j.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(D),1);break;case"VERSION":o.version=parseInt(D);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(D||U)&&p.tagList.push(U?[D,U]:[D]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([k]);break;case"BITRATE":p.tagList.push([k,D]);break;case"DATERANGE":{let F=new We(D);Dt(o,F,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Dt(o,F,F.clientAttrs);let z=new Ku(F,o.dateRanges[F.ID]);z.isValid||o.skippedSegments?o.dateRanges[z.id]=z:I.warn(`Ignoring invalid DATERANGE tag: "${D}"`),p.tagList.push(["EXT-X-DATERANGE",D]);break}case"DEFINE":{{let F=new We(D);Dt(o,F,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in F?ZI(o,F,a):rT(o,F,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(D);break;case"KEY":{let F=dT(D,t,o);if(F.isSupported()){if(F.method==="NONE"){T=void 0;break}T||(T={}),T[F.keyFormat]&&(T=Ze({},T)),T[F.keyFormat]=F}else I.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${D}"`);break}case"START":o.startTimeOffset=uT(D);break;case"MAP":{let F=new We(D);if(Dt(o,F,["BYTERANGE","URI"]),p.duration){let z=new ao(s,t);fT(z,F,r,T),d=z,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let z=p.byteRangeEndOffset;if(z){let j=p.byteRangeStartOffset;A=`${z-j}@${j}`}else A=null;fT(p,F,r,T),d=p,S=!0}break}case"SERVER-CONTROL":{let F=new We(D);o.canBlockReload=F.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=F.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&F.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=F.optionalFloat("PART-HOLD-BACK",0),o.holdBack=F.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let F=new We(D);o.partTarget=F.decimalFloatingPoint("PART-TARGET");break}case"PART":{let F=o.partList;F||(F=o.partList=[]);let z=c>0?F[F.length-1]:void 0,j=c++,K=new We(D);Dt(o,K,["BYTERANGE","URI"]);let se=new Op(K,p,t,j,z);F.push(se),p.duration+=se.duration;break}case"PRELOAD-HINT":{let F=new We(D);Dt(o,F,["URI"]),o.preloadHint=F;break}case"RENDITION-REPORT":{let F=new We(D);Dt(o,F,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(F);break}default:I.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(hT(p,m),p.cc=f,o.fragmentHint=p,T&&mT(p,T,o));let L=l.length,x=l[0],w=l[L-1];if(h+=o.skippedSegments*o.targetduration,h>0&&L&&w){o.averagetargetduration=h/L;let P=w.sn;o.endSN=P!=="initSegment"?P:0,o.live||(w.endList=!0),x&&(o.startCC=x.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,y>0&&oR(l,y),o}};function dT(i,e,t){var r,s;let n=new We(i);Dt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(r=n.METHOD)!=null?r:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,u=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&I.error(`Invalid IV: ${n.IV}`);let c=o?Ss.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new uo(a,c,u,h,l)}function uT(i){let t=new We(i).decimalFloatingPoint("TIME-OFFSET");return q(t)?t:null}function aR(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>eR(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function cT(i,e,t){let r=e[t];r&&(i[t]=r)}function oR(i,e){let t=i[e];for(let r=e;r--;){let s=i[r];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function hT(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),q(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function fT(i,e,t,r){i.relurl=e.URI,e.BYTERANGE&&i.setByteRange(e.BYTERANGE),i.level=t,i.sn="initSegment",r&&(i.levelkeys=r),i.initSegment=null}function mT(i,e,t){i.levelkeys=e;let{encryptedFragments:r}=t;(!r.length||r[r.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&r.push(i)}var ve={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},J={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function pT(i){let{type:e}=i;switch(e){case ve.AUDIO_TRACK:return J.AUDIO;case ve.SUBTITLE_TRACK:return J.SUBTITLE;default:return J.MAIN}}function Tp(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var Bp=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,r=t.pLoader,s=t.loader,n=r||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:r}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:ve.MANIFEST,url:r,deliveryDirectives:null})}onLevelLoading(e,t){let{id:r,level:s,pathwayId:n,url:a,deliveryDirectives:o}=t;this.load({id:r,level:s,pathwayId:n,responseType:"text",type:ve.LEVEL,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ve.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ve.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let r=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url&&d.level===e.level){I.trace("[playlist-loader]: playlist request ongoing");return}I.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===ve.MANIFEST?n=r.manifestLoadPolicy.default:n=Ze({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),q((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===ve.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===ve.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===ve.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;n=Ze({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let m=d.data;if(m.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return}u.parsing.start=performance.now(),Ss.isMediaPlaylist(m)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h)},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h)},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,r,s){let n=this.hls,a=e.data,o=Tp(e,r),l=Ss.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,r,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m}=l;this.variableList=m;let{AUDIO:p=[],SUBTITLES:g,"CLOSED-CAPTIONS":E}=Ss.parseMasterPlaylistMedia(a,o,l);p.length&&!p.some(y=>!y.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(I.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),p.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new We({}),bitrate:0,url:""})),n.trigger(v.MANIFEST_LOADED,{levels:u,audioTracks:p,subtitles:g,captions:E,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(e,t,r,s,n){let a=this.hls,{id:o,level:l,type:d}=r,u=Tp(e,r),c=0,h=q(l)?l:q(o)?o:0,f=pT(r),m=Ss.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===ve.MANIFEST){let p={attrs:new We({}),bitrate:0,details:m,name:"",url:u};a.trigger(v.MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=m,this.handlePlaylistLoaded(m,e,t,r,s,n)}handleManifestParsingError(e,t,r,s,n){this.hls.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.MANIFEST_PARSING_ERROR,fatal:t.type===ve.MANIFEST,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,r=!1,s,n){let a=`A network ${r?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===ve.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===ve.AUDIO_TRACK||e.type===ve.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);I.warn(`[playlist-loader]: ${a}`);let l=C.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case ve.MANIFEST:l=r?C.MANIFEST_LOAD_TIMEOUT:C.MANIFEST_LOAD_ERROR,d=!0;break;case ve.LEVEL:l=r?C.LEVEL_LOAD_TIMEOUT:C.LEVEL_LOAD_ERROR,d=!1;break;case ve.AUDIO_TRACK:l=r?C.AUDIO_TRACK_LOAD_TIMEOUT:C.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case ve.SUBTITLE_TRACK:l=r?C.SUBTITLE_TRACK_LOAD_TIMEOUT:C.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:ie.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;c.response=ft({url:h,data:void 0},s)}this.hls.trigger(v.ERROR,c)}handlePlaylistLoaded(e,t,r,s,n,a){let o=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=s,f=Tp(t,s),m=pT(s),p=typeof s.level=="number"&&m===J.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:E,reason:E.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let g=e.playlistParsingError;if(g){o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:g,reason:g.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case ve.MANIFEST:case ve.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case ve.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case ve.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function n_(i,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=i,e.dispatchEvent(t)}function a_(i,e){let t=i.mode;if(t==="disabled"&&(i.mode="hidden"),i.cues&&!i.cues.getCueById(e.id))try{if(i.addCue(e),!i.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(r){I.debug(`[texttrack-utils]: ${r}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,i.addCue(s)}catch(s){I.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function Hn(i){let e=i.mode;if(e==="disabled"&&(i.mode="hidden"),i.cues)for(let t=i.cues.length;t--;)i.removeCue(i.cues[t]);e==="disabled"&&(i.mode=e)}function $p(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=dR(i.cues,e,t);for(let a=0;a<n.length;a++)(!r||r(n[a]))&&i.removeCue(n[a])}s==="disabled"&&(i.mode=s)}function lR(i,e){if(e<i[0].startTime)return 0;let t=i.length-1;if(e>i[t].endTime)return-1;let r=0,s=t;for(;r<=s;){let n=Math.floor((s+r)/2);if(e<i[n].startTime)s=n-1;else if(e>i[n].startTime&&r<t)r=n+1;else return n}return i[r].startTime-e<e-i[s].startTime?r:s}function dR(i,e,t){let r=[],s=lR(i,e);if(s>-1)for(let n=s,a=i.length;n<a;n++){let o=i[n];if(o.startTime>=e&&o.endTime<=t)r.push(o);else if(o.startTime>t)return r}return r}function Uu(i){let e=[];for(let t=0;t<i.length;t++){let r=i[t];(r.kind==="subtitles"||r.kind==="captions")&&r.label&&e.push(i[t])}return e}var yi={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},uR=.25;function Hp(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function gT(i,e,t,r,s){let n=new i(e,t,"");try{n.value=r,s&&(n.type=s)}catch{n=new i(e,t,JSON.stringify(s?ft({type:s},r):r))}return n}var Ru=(()=>{let i=Hp();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function _p(i,e){return i.getTime()/1e3-e}function cR(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Gp=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(Hn(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let r=e[t];if(r.kind==="metadata"&&r.label==="id3")return n_(r,this.media),r}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:r,enableID3MetadataCues:s}}}=this;if(!r&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Hp();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===yi.emsg&&!r||!s)continue;let d=jT(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>Ru&&(c=Ru),c-u<=0&&(c=u+uR);for(let f=0;f<d.length;f++){let m=d[f];if(!zT(m)){this.updateId3CueEnds(u,l);let p=gT(a,u,c,m,l);p&&this.id3Track.addCue(p)}}}}}updateId3CueEnds(e,t){var r;let s=(r=this.id3Track)==null?void 0:r.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===Ru&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:r,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=u=>u.type===yi.audioId3&&l:s==="video"?d=u=>u.type===yi.emsg&&o:d=u=>u.type===yi.audioId3&&l||u.type===yi.emsg&&o,$p(n,t,r,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:r,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let u=Object.keys(r).filter(c=>!a.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(r[h].cues).forEach(f=>{s.removeCue(r[h].cues[f])}),delete r[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!q(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Hp();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=_p(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=Ru,T=h.endDate;if(T)E=_p(T,l),g=!0;else if(h.endOnNext&&!g){let S=a.reduce((A,L)=>{if(L!==h.id){let x=n[L];if(x.class===h.class&&x.startDate>h.startDate&&(!A||h.startDate<A.startDate))return x}return A},null);S&&(E=_p(S.startDate,l),g=!0)}let y=Object.keys(h.attr);for(let S=0;S<y.length;S++){let A=y[S];if(!EI(A))continue;let L=p[A];if(L)g&&!m.durationKnown&&(L.endTime=E);else if(d){let x=h.attr[A];bI(A)&&(x=cR(x));let w=gT(d,f,E,{key:A,data:x},yi.dateRange);w&&(w.id=c,this.id3Track.addCue(w),p[A]=w)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},Wp=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:r,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&r||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let u=s,c=1;return d+Math.min(this.stallCount*c,u)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;let s=r.edge,n=e-t-this.edgeStalled,a=s-r.totalduration,o=s-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(v.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var r;t.details===C.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&I.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let r=this.computeLatency();if(r===null)return;this._latency=r;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=r-a,l=Math.min(this.maxLatency,a+t.targetduration);if(o<l&&o>.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,n)),c=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},Kp=["NONE","TYPE-0","TYPE-1",null];function hR(i){return Kp.indexOf(i)>-1}var Xu=["SDR","PQ","HLG"];function fR(i){return!!i&&Xu.indexOf(i)>-1}var Fu={No:"",Yes:"YES",v2:"v2"};function vT(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?Fu.v2:Fu.Yes:Fu.No}var Qu=class{constructor(e,t,r){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=r}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Mr=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return ET(this._audioGroups,e)}hasSubtitleGroup(e){return ET(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){let r=this._subtitleGroups;r||(r=this._subtitleGroups=[]),r.indexOf(t)===-1&&r.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}};function ET(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function Ap(i,e){let t=e.startPTS;if(q(t)){let r=0,s;e.sn>i.sn?(r=t-i.start,s=i):(r=i.start-t,s=e),s.duration!==r&&(s.duration=r)}else e.sn>i.sn?i.cc===e.cc&&i.minEndPTS?e.start=i.start+(i.minEndPTS-i.start):e.start=i.start+i.duration:e.start=Math.max(i.start-e.duration,0)}function o_(i,e,t,r,s,n){r-t<=0&&(I.warn("Fragment should have a positive duration",e),r=t+e.duration,n=s+e.duration);let o=t,l=r,d=e.startPTS,u=e.endPTS;if(q(d)){let g=Math.abs(d-t);q(e.deltaPTS)?e.deltaPTS=Math.max(g,e.deltaPTS):e.deltaPTS=g,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(r,u),r=Math.max(r,u),n=Math.max(n,e.endDTS)}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=r-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=r,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!i||h<i.startSN||h>i.endSN)return 0;let f,m=h-i.startSN,p=i.fragments;for(p[m]=e,f=m;f>0;f--)Ap(p[f],p[f-1]);for(f=m;f<p.length-1;f++)Ap(p[f],p[f+1]);return i.fragmentHint&&Ap(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function mR(i,e){let t=null,r=i.fragments;for(let l=r.length-1;l>=0;l--){let d=r[l].initSegment;if(d){t=d;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s=0,n;if(vR(i,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),q(l.startPTS)&&q(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){I.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=pR(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){I.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),gR(i.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?o_(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):l_(i,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function pR(i,e,t){let r=Ze({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new Ku(e[s].attr,r[s]);n.isValid?r[s]=n:I.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function gR(i,e,t){if(i&&e){let r=0;for(let s=0,n=i.length;s<=n;s++){let a=i[s],o=e[s+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):r--}}}function vR(i,e,t){let r=e.skippedSegments,s=Math.max(i.startSN,e.startSN)-e.startSN,n=(i.fragmentHint?1:0)+(r?e.endSN:Math.min(i.endSN,e.endSN))-e.startSN,a=e.startSN-i.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let d=s;d<=n;d++){let u=l[a+d],c=o[d];r&&!c&&d<r&&(c=e.fragments[d]=u),u&&c&&t(u,c)}}function l_(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||Vp(e,r[t].start)}function Vp(i,e){if(e){let t=i.fragments;for(let r=i.skippedSegments;r<t.length;r++)t[r].start+=e;i.fragmentHint&&(i.fragmentHint.start+=e)}}function ER(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments,s=4;if(r.length&&t*s>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function bR(i,e,t){if(!(i!=null&&i.details))return null;let r=i.details,s=r.fragments[e-r.startSN];return s||(s=r.fragmentHint,s&&s.sn===e)?s:e<r.startSN&&t&&t.sn===e?t:null}function bT(i,e,t){var r;return i!=null&&i.details?d_((r=i.details)==null?void 0:r.partList,e,t):null}function d_(i,e,t){if(i)for(let r=i.length;r--;){let s=i[r];if(s.index===t&&s.fragment.sn===e)return s}return null}function u_(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function Zu(i){switch(i.details){case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_TIMEOUT:case C.LEVEL_LOAD_TIMEOUT:case C.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function yT(i,e){let t=Zu(e);return i.default[`${t?"timeout":"error"}Retry`]}function Yg(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function TT(i){return ft(ft({},i),{errorRetry:null,timeoutRetry:null})}function Ju(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(yR(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function yR(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var c_={search:function(i,e){let t=0,r=i.length-1,s=null,n=null;for(;t<=r;){s=(t+r)/2|0,n=i[s];let a=e(n);if(a>0)t=s+1;else if(a<0)r=s-1;else return n}return null}};function TR(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!q(e))return null;let r=i[0].programDateTime;if(e<(r||0))return null;let s=i[i.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<i.length;++n){let a=i[n];if(AR(e,t,a))return a}return null}function ec(i,e,t=0,r=0,s=.005){let n=null;if(i){n=e[i.sn-e[0].sn+1]||null;let o=i.endDTS-t;o>0&&o<15e-7&&(t+=15e-7)}else t===0&&e[0].start===0&&(n=e[0]);if(n&&((!i||i.level===n.level)&&qp(t,r,n)===0||_R(n,i,Math.min(s,r))))return n;let a=c_.search(e,qp.bind(null,t,r));return a&&(a!==i||!n)?a:n}function _R(i,e,t){if(e&&e.start===0&&e.level<i.level&&(e.endPTS||0)>0){let r=e.tagList.reduce((s,n)=>(n[0]==="INF"&&(s+=parseFloat(n[1])),s),t);return i.start<=r}return!1}function qp(i=0,e=0,t){if(t.start<=i&&t.start+t.duration>i)return 0;let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-r<=i?1:t.start-r>i&&t.start?-1:0}function AR(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function SR(i,e){return c_.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ct={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},vi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Yp=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=I.log.bind(I,"[info]:"),this.warn=I.warn.bind(I,"[warning]:"),this.error=I.error.bind(I,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.ERROR,this.onError,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.ERROR,this.onError,this),e.off(v.ERROR,this.onErrorOut,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===J.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var r,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case C.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap){t.errorAction={action:ct.DoNothing,flags:vi.None};return}case C.FRAG_GAP:case C.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ct.SendAlternateToPenaltyBox;return}case C.LEVEL_EMPTY_ERROR:case C.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===J.MAIN?t.level:n.loadLevel;t.details===C.LEVEL_EMPTY_ERROR&&((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.SUBTITLE_LOAD_ERROR:case C.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===ve.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===ve.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ct.SendAlternateToPenaltyBox,t.errorAction.flags=vi.MoveAllAlternatesMatchingHost;return}}return;case C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t)}return;case C.BUFFER_ADD_CODEC_ERROR:case C.REMUX_ALLOC_ERROR:case C.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case C.INTERNAL_EXCEPTION:case C.BUFFER_APPENDING_ERROR:case C.BUFFER_FULL_ERROR:case C.LEVEL_SWITCH_ERROR:case C.BUFFER_STALLED_ERROR:case C.BUFFER_SEEK_OVER_HOLE:case C.BUFFER_NUDGE_ON_STALL:t.errorAction={action:ct.DoNothing,flags:vi.None};return}t.type===ie.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){let r=this.hls,s=yT(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(Ju(s,n,Zu(e),e.response))return{action:ct.RetryRequest,flags:vi.None,retryConfig:s,retryCount:n};let o=this.getLevelSwitchAction(e,t);return s&&(o.retryConfig=s,o.retryCount=n),o}getFragRetryOrSwitchAction(e){let t=this.hls,r=this.getVariantLevelIndex(e.frag),s=t.levels[r],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=yT(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(s&&(e.details!==C.FRAG_GAP&&s.fragmentError++,Ju(o,l,Zu(e),e.response)))return{action:ct.RetryRequest,flags:vi.None,retryConfig:o,retryCount:l};let d=this.getLevelSwitchAction(e,r);return o&&(d.retryConfig=o,d.retryCount=l),d}getLevelSwitchAction(e,t){let r=this.hls;t==null&&(t=r.loadLevel);let s=this.hls.levels[t];if(s){var n,a;let d=e.details;s.loadError++,d===C.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:m}=r;r.autoLevelEnabled||(r.loadLevel=-1);let p=(n=e.frag)==null?void 0:n.type,E=(p===J.AUDIO&&d===C.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:L})=>s.audioCodec!==L),y=e.sourceBufferName==="video"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR)&&c.some(({codecSet:L,audioCodec:x})=>s.codecSet!==L&&s.audioCodec===x),{type:S,groupId:A}=(a=e.context)!=null?a:{};for(let L=c.length;L--;){let x=(L+h)%c.length;if(x!==h&&x>=f&&x<=m&&c[x].loadError===0){var o,l;let w=c[x];if(d===C.FRAG_GAP&&p===J.MAIN&&e.frag){let P=c[x].details;if(P){let k=ec(e.frag,P.fragments,e.frag.start);if(k!=null&&k.gap)continue}}else{if(S===ve.AUDIO_TRACK&&w.hasAudioGroup(A)||S===ve.SUBTITLE_TRACK&&w.hasSubtitleGroup(A))continue;if(p===J.AUDIO&&(o=s.audioGroups)!=null&&o.some(P=>w.hasAudioGroup(P))||p===J.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(P=>w.hasSubtitleGroup(P))||E&&s.audioCodec===w.audioCodec||!E&&s.audioCodec!==w.audioCodec||y&&s.codecSet===w.codecSet)continue}u=x;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ct.SendAlternateToPenaltyBox,flags:vi.None,nextAutoLevel:u}}return{action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ct.DoNothing:break;case ct.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==C.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case ct.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,r=e.errorAction;if(!r)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=r;switch(s){case vi.None:this.switchLevel(e,a);break;case vi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Kp[Kp.indexOf(n)-1],r.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}r.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},ho=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=I.log.bind(I,`${t}:`),this.warn=I.warn.bind(I,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,r){let s=t==null?void 0:t.renditionReports;if(s){let n=-1;for(let a=0;a<s.length;a++){let o=s[a],l;try{l=new self.URL(o.URI,t.url).href}catch(d){I.warn(`Could not construct new URL for Rendition Report: ${d}`),l=o.URI||""}if(l===e){n=a;break}else l===e.substring(0,l.length)&&(n=a)}if(n!==-1){let a=s[n],o=parseInt(a["LAST-MSN"])||(t==null?void 0:t.lastPartSn),l=parseInt(a["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1)}let d=r&&vT(r);return new Qu(o,l>=0?l:void 0,d)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,r){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||r!=null&&r.live){if(s.reloaded(r),r&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),r&&s.fragments.length>0&&mR(r,s),!this.canLoad||!s.live)return;let l,d,u;if(s.canBlockReload&&s.endSN&&s.advanced){let g=this.hls.config.lowLatencyMode,E=s.lastPartSn,T=s.endSN,y=s.lastPartIndex,S=y!==-1,A=E===T,L=g?0:y;S?(d=A?T+1:E,u=A?L:y+1):d=T+1;let x=s.age,w=x+s.ageHeader,P=Math.min(w-s.partTarget,s.targetduration*1.5);if(P>0){if(r&&P>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${P} with playlist age: ${s.age}`),P=0;else{let k=Math.floor(P/s.targetduration);if(d+=k,u!==void 0){let D=Math.round(P%s.targetduration/s.partTarget);u+=D}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${x.toFixed(2)}s goal: ${P} skip sn ${k} to part ${u}`)}s.tuneInGoal=P}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u),g||!A){this.loadPlaylist(l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(s.edge-h)*1e3,m=ER(s,f);s.updated&&a>this.requestScheduled+m&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+m-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+m<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=m);let p=this.requestScheduled-a;p=Math.max(0,p),this.log(`reload live playlist ${e} in ${Math.round(p)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),p)}else this.clearTimer()}getDeliveryDirectives(e,t,r,s){let n=vT(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=Fu.No),new Qu(r,s,n)}checkRetry(e){let t=e.details,r=Zu(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ct.RetryRequest||!s.resolved&&n===ct.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(r&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=Yg(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${u}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},Dr=class{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){let r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},zp=class{constructor(e,t,r,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Dr(e),this.fast_=new Dr(t),this.defaultTTFB_=s,this.ttfb_=new Dr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new Dr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new Dr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new Dr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let r=8*t,s=e/1e3,n=r/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},h_={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},_T={};function xR(i,e,t,r,s,n){let a=i.audioCodec?i.audioGroups:null,o=n==null?void 0:n.audioCodec,l=n==null?void 0:n.channels,d=l?parseInt(l):o?1/0:2,u=null;if(a!=null&&a.length)try{a.length===1&&a[0]?u=e.groups[a[0]].channels:u=a.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(m=>{c[m]=(c[m]||0)+f.channels[m]})}return c},{2:0})}catch{return!0}return i.videoCodec!==void 0&&(i.width>1920&&i.height>1088||i.height>1920&&i.width>1088||i.frameRate>Math.max(r,30)||i.videoRange!=="SDR"&&i.videoRange!==t||i.bitrate>Math.max(s,8e6))||!!u&&q(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function LR(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(h_);let n={width:i.width,height:i.height,bitrate:Math.ceil(Math.max(i.bitrate*.9,i.averageBitrate)),framerate:i.frameRate||30},a=i.videoRange;a!=="SDR"&&(n.transferFunction=a.toLowerCase());let o=r.split(",").map(l=>({type:"media-source",video:ft(ft({},n),{},{contentType:co(l,"video")})}));return s&&i.audioGroups&&i.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);q(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:co(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=kR(l);return _T[d]||(_T[d]=t.decodingInfo(l))})).then(l=>({supported:!l.some(d=>!d.supported),configurations:o,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:o,decodingInfoResults:[],error:l}))}function kR(i){let{audio:e,video:t}=i,r=t||e;if(r){let s=r.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${s}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${s}`}return""}function IR(){if(typeof matchMedia=="function"){let i=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(i.media!==e.media)return i.matches===!0}return!1}function RR(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||Xu.slice(0),t=e.preferHDR!==void 0?e.preferHDR:IR(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function wR(i,e,t,r,s){let n=Object.keys(i),a=r==null?void 0:r.channels,o=r==null?void 0:r.audioCodec,l=a&&parseInt(a)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,m=0,p=[],{preferHDR:g,allowedVideoRanges:E}=RR(e,s);for(let A=n.length;A--;){let L=i[n[A]];d=L.channels[2]>0,c=Math.min(c,L.minHeight),h=Math.min(h,L.minFramerate),f=Math.min(f,L.minBitrate);let x=E.filter(w=>L.videoRanges[w]>0);x.length>0&&(u=!0,p=x)}c=q(c)?c:0,h=q(h)?h:0;let T=Math.max(1080,c),y=Math.max(30,h);return f=q(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((A,L)=>{let x=i[L];if(L===A)return A;if(x.minBitrate>t)return lr(L,`min bitrate of ${x.minBitrate} > current estimate of ${t}`),A;if(!x.hasDefaultAudio)return lr(L,"no renditions with default or auto-select sound found"),A;if(o&&L.indexOf(o.substring(0,4))%5!==0)return lr(L,`audio codec preference "${o}" not found`),A;if(a&&!l){if(!x.channels[a])return lr(L,`no renditions with ${a} channel sound found (channels options: ${Object.keys(x.channels)})`),A}else if((!o||l)&&d&&x.channels[2]===0)return lr(L,"no renditions with stereo sound found"),A;return x.minHeight>T?(lr(L,`min resolution of ${x.minHeight} > maximum of ${T}`),A):x.minFramerate>y?(lr(L,`min framerate of ${x.minFramerate} > maximum of ${y}`),A):p.some(w=>x.videoRanges[w]>0)?x.maxScore<m?(lr(L,`max score of ${x.maxScore} < selected max of ${m}`),A):A&&(zu(L)>=zu(A)||x.fragmentError>i[A].fragmentError)?A:(m=x.maxScore,L):(lr(L,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),A)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function lr(i,e){I.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function CR(i){return i.reduce((e,t)=>{let r=e.groups[t.groupId];r||(r=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),r.tracks.push(t);let s=t.channels||"2";return r.channels[s]=(r.channels[s]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function DR(i,e,t,r){return i.slice(t,r+1).reduce((s,n)=>{if(!n.codecSet)return s;let a=n.audioGroups,o=s[n.codecSet];o||(s[n.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!a,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,n.bitrate);let l=Math.min(n.height,n.width);return o.minHeight=Math.min(o.minHeight,l),o.minFramerate=Math.min(o.minFramerate,n.frameRate),o.maxScore=Math.max(o.maxScore,n.score),o.fragmentError+=n.fragmentError,o.videoRanges[n.videoRange]=(o.videoRanges[n.videoRange]||0)+1,a&&a.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(o.hasDefaultAudio=o.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{o.channels[c]=(o.channels[c]||0)+u.channels[c]}))}),s},{})}function ji(i,e,t){if("attrs"in i){let r=e.indexOf(i);if(r!==-1)return r}for(let r=0;r<e.length;r++){let s=e[r];if(Wn(i,s,t))return r}return-1}function Wn(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,characteristics:o,default:l}=i,d=i.forced;return(r===void 0||e.groupId===r)&&(s===void 0||e.name===s)&&(n===void 0||e.lang===n)&&(n===void 0||e.assocLang===a)&&(l===void 0||e.default===l)&&(d===void 0||e.forced===d)&&(o===void 0||MR(o,e.characteristics))&&(t===void 0||t(i,e))}function MR(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function Un(i,e){let{audioCodec:t,channels:r}=i;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(r===void 0||r===(e.channels||"2"))}function PR(i,e,t,r,s){let n=e[r],o=e.reduce((h,f,m)=>{let p=f.uri;return(h[p]||(h[p]=[])).push(m),h},{})[n.uri];o.length>1&&(r=Math.max.apply(Math,o));let l=n.videoRange,d=n.frameRate,u=n.codecSet.substring(0,4),c=AT(e,r,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1});return c>-1?c:AT(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1})}function AT(i,e,t){for(let r=e;r;r--)if(t(i[r]))return r;for(let r=e+1;r<i.length;r++)if(t(i[r]))return r;return-1}var jp=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{let{fragCurrent:t,partCurrent:r,hls:s}=this,{autoLevelEnabled:n,media:a}=s;if(!t||!a)return;let o=performance.now(),l=r?r.stats:t.stats,d=r?r.duration:t.duration,u=o-l.loading.start,c=s.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n||a.paused||!a.playbackRate||!a.readyState)return;let h=s.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),m=Math.abs(a.playbackRate);if(u<=Math.max(f,1e3*(d/(m*2))))return;let p=h.len/m,g=l.loading.first?l.loading.first-l.loading.start:-1,E=l.loaded&&g>-1,T=this.getBwEstimate(),y=s.levels,S=y[t.level],A=l.total||Math.max(l.loaded,Math.round(d*S.averageBitrate/8)),L=E?u-g:u;L<1&&E&&(L=Math.min(u,l.loaded*8/T));let x=E?l.loaded*1e3/L:0,w=x?(A-l.loaded)/x:A*8/T+f/1e3;if(w<=p)return;let P=x?x*8:T,k=Number.POSITIVE_INFINITY,D;for(D=t.level-1;D>c;D--){let F=y[D].maxBitrate;if(k=this.getTimeToLoadFrag(f/1e3,P,d*F,!y[D].details),k<p)break}if(k>=w||k>d*10)return;s.nextLoadLevel=s.nextAutoLevel=D,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let U=y[D].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>U&&this.resetEstimator(U),this.clearTimer(),I.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
1577
+ `))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};xu.prototype.processLine=function(i){var e=i.indexOf(":"),t=Jk(i,e),r=t[0],s=t.length===2?gp(t[1]):void 0;if(r[0]!=="#")this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case gs.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case gs.PART_INF:{dp(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case gs.SERVER_CONTROL:{dp(this.manifest,t),this.setHoldBack();break}case gs.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case gs.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case gs.VERSION:{dp(this.manifest,t);break}case gs.SESSION_DATA:{var o=eI(t[1]),l=Hy(o);Object.assign(this.manifest.sessionData,l)}}};xu.prototype.setHoldBack=function(){var i=this.manifest,e=i.serverControl,t=i.targetDuration,r=i.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=r&&r*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),r&&!e.hasOwnProperty(n)&&(e[n]=r*3),r&&e[n]<o&&(e[n]=o)}};var dp=function(i,e){var t=Qy(e[0].replace("#EXT-X-","")),r;Zk(e[1])?(r={},r=Object.assign(Qk(e[1]),r)):r=gp(e[1]),i[t]=r},Qy=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},gp=function(i){if(i.toLowerCase()==="yes"||i.toLowerCase()==="no")return i.toLowerCase()==="yes";var e=i.indexOf(":")!==-1?i:parseFloat(i);return isNaN(e)?i:e},Xk=function(i){var e={},t=i.split("=");if(t.length>1){var r=Qy(t[0]);e[r]=gp(t[1])}return e},Qk=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=Xk(s);t=Object.assign(n,t)}return t},Zk=function(i){return i.indexOf("=")>-1},Jk=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},eI=function(i){var e={};if(i){var t=i.search(","),r=i.slice(0,t),s=i.slice(t+1),n=[r,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),d=0;d<l.length;d++)l[d]==="DATA-ID"&&(e["DATA-ID"]=l[1-d]),l[d]==="VALUE"&&(e.VALUE=l[1-d])}),{data:e}}},tI=xu,iI={safeCall:Yk,safeIncrement:Qe,getComputedStyle:zk,secondsToMs:jk,assign:Object.assign,headersStringToObject:pp,cdnHeadersToRequestId:Au,extractHostnameAndDomain:ro,extractHostname:gi,manifestParser:tI,generateShortID:By,generateUUID:to,now:et.now},rI=iI,sI={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},nI=sI,aI="mux-embed",oI="5.2.0",lI="2.1",Xt={},Dr=function(i){var e=arguments;typeof i=="string"?Dr.hasOwnProperty(i)?Ja.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),Dr[i].apply(null,e)},0):Ge.warn("`"+i+"` is an unknown task"):typeof i=="function"?Ja.default.setTimeout(function(){i(Dr)},0):Ge.warn("`"+i+"` is invalid.")},dI={loaded:et.now(),NAME:aI,VERSION:oI,API_VERSION:lI,PLAYER_TRACKED:!1,monitor:function(i,e){return qk(Dr,i,e)},destroyMonitor:function(i){var e=bs(up(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Ge.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=vs(i);Xt[t]?Xt[t].addHLSJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=vs(i);Xt[t]?Xt[t].addDashJS(e):Ge.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=vs(i);Xt[e]?Xt[e].removeHLSJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=vs(i);Xt[e]?Xt[e].removeDashJS():Ge.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){cp()&&e&&e.respectDoNotTrack&&Ge.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=vs(i);Xt[t]=new Gk(Dr,t,e)},emit:function(i,e,t){var r=vs(i);Xt[r]?(Xt[r].emit(e,t),e==="destroy"&&delete Xt[r]):Ge.error("A monitor for `"+r+"` has not been initialized.")},checkDoNotTrack:cp,log:Ge,utils:rI,events:nI,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(Dr,dI);typeof Ja.default!="undefined"&&typeof Ja.default.addEventListener=="function"&&Ja.default.addEventListener("pagehide",function(i){i.persisted||(Dr.WINDOW_UNLOADING=!0)},!1);var Lu=Dr;function uI(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var qT={exports:{}};(function(i,e){(function(t){var r=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,u){if(u=u||{},l=l.trim(),d=d.trim(),!d){if(!u.alwaysNormalize)return l;var c=o.parseURL(l);if(!c)throw new Error("Error trying to parse base URL.");return c.path=o.normalizePath(c.path),o.buildURLFromParts(c)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return u.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var m=s.exec(f.path);f.netLoc=m[1],f.path=m[2]}f.netLoc&&!f.path&&(f.path="/");var p={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(p.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)p.path=f.path,h.params||(p.params=f.params,h.query||(p.query=f.query));else{var g=f.path,E=g.substring(0,g.lastIndexOf("/")+1)+h.path;p.path=o.normalizePath(E)}return p.path===null&&(p.path=u.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(p)},parseURL:function(l){var d=r.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};i.exports=o})()})(qT);var Vg=qT.exports;function Zy(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function ft(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Zy(Object(t),!0).forEach(function(r){fI(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):Zy(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function cI(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var r=t.call(i,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}function hI(i){var e=cI(i,"string");return typeof e=="symbol"?e:String(e)}function fI(i,e,t){return e=hI(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function Ze(){return Ze=Object.assign?Object.assign.bind():function(i){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[r]=t[r])}return i},Ze.apply(this,arguments)}var q=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},mI=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=pI},pI=Number.MAX_SAFE_INTEGER||9007199254740991,v=function(i){return i.MEDIA_ATTACHING="hlsMediaAttaching",i.MEDIA_ATTACHED="hlsMediaAttached",i.MEDIA_DETACHING="hlsMediaDetaching",i.MEDIA_DETACHED="hlsMediaDetached",i.BUFFER_RESET="hlsBufferReset",i.BUFFER_CODECS="hlsBufferCodecs",i.BUFFER_CREATED="hlsBufferCreated",i.BUFFER_APPENDING="hlsBufferAppending",i.BUFFER_APPENDED="hlsBufferAppended",i.BUFFER_EOS="hlsBufferEos",i.BUFFER_FLUSHING="hlsBufferFlushing",i.BUFFER_FLUSHED="hlsBufferFlushed",i.MANIFEST_LOADING="hlsManifestLoading",i.MANIFEST_LOADED="hlsManifestLoaded",i.MANIFEST_PARSED="hlsManifestParsed",i.LEVEL_SWITCHING="hlsLevelSwitching",i.LEVEL_SWITCHED="hlsLevelSwitched",i.LEVEL_LOADING="hlsLevelLoading",i.LEVEL_LOADED="hlsLevelLoaded",i.LEVEL_UPDATED="hlsLevelUpdated",i.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",i.LEVELS_UPDATED="hlsLevelsUpdated",i.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",i.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",i.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",i.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",i.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",i.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",i.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",i.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",i.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",i.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",i.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",i.CUES_PARSED="hlsCuesParsed",i.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",i.INIT_PTS_FOUND="hlsInitPtsFound",i.FRAG_LOADING="hlsFragLoading",i.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",i.FRAG_LOADED="hlsFragLoaded",i.FRAG_DECRYPTED="hlsFragDecrypted",i.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",i.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",i.FRAG_PARSING_METADATA="hlsFragParsingMetadata",i.FRAG_PARSED="hlsFragParsed",i.FRAG_BUFFERED="hlsFragBuffered",i.FRAG_CHANGED="hlsFragChanged",i.FPS_DROP="hlsFpsDrop",i.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",i.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",i.ERROR="hlsError",i.DESTROYING="hlsDestroying",i.KEY_LOADING="hlsKeyLoading",i.KEY_LOADED="hlsKeyLoaded",i.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",i.BACK_BUFFER_REACHED="hlsBackBufferReached",i.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",i}({}),ie=function(i){return i.NETWORK_ERROR="networkError",i.MEDIA_ERROR="mediaError",i.KEY_SYSTEM_ERROR="keySystemError",i.MUX_ERROR="muxError",i.OTHER_ERROR="otherError",i}({}),C=function(i){return i.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",i.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",i.KEY_SYSTEM_NO_SESSION="keySystemNoSession",i.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",i.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",i.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",i.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",i.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",i.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",i.MANIFEST_LOAD_ERROR="manifestLoadError",i.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",i.MANIFEST_PARSING_ERROR="manifestParsingError",i.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",i.LEVEL_EMPTY_ERROR="levelEmptyError",i.LEVEL_LOAD_ERROR="levelLoadError",i.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",i.LEVEL_PARSING_ERROR="levelParsingError",i.LEVEL_SWITCH_ERROR="levelSwitchError",i.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",i.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",i.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",i.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",i.FRAG_LOAD_ERROR="fragLoadError",i.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",i.FRAG_DECRYPT_ERROR="fragDecryptError",i.FRAG_PARSING_ERROR="fragParsingError",i.FRAG_GAP="fragGap",i.REMUX_ALLOC_ERROR="remuxAllocError",i.KEY_LOAD_ERROR="keyLoadError",i.KEY_LOAD_TIMEOUT="keyLoadTimeOut",i.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",i.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",i.BUFFER_APPEND_ERROR="bufferAppendError",i.BUFFER_APPENDING_ERROR="bufferAppendingError",i.BUFFER_STALLED_ERROR="bufferStalledError",i.BUFFER_FULL_ERROR="bufferFullError",i.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",i.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",i.INTERNAL_EXCEPTION="internalException",i.INTERNAL_ABORTED="aborted",i.UNKNOWN="unknown",i}({}),As=function(){},Np={trace:As,debug:As,log:As,warn:As,info:As,error:As},no=Np;function gI(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):As}function vI(i,...e){e.forEach(function(t){no[t]=i[t]?i[t].bind(i):gI(t)})}function EI(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){vI(i,"debug","log","info","warn","error");try{no.log(`Debug logs enabled for "${e}" in hls.js version 1.5.11`)}catch{no=Np}}else no=Np}var R=no,bI=/^(\d+)x(\d+)$/,Jy=/(.+?)=(".*?"|.*?)(?:,|$)/g,We=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),Ze(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let r=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)r[s]=parseInt(t.slice(s*2,s*2+2),16);return r}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let r=this[e];return r?parseFloat(r):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=bI.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,r={},s='"';for(Jy.lastIndex=0;(t=Jy.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();r[a]=n}return r}};function yI(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function TI(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var Ku=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let r=t.attr;for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){R.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=Ze(new We({}),r,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let r=new Date(this.attr["END-DATE"]);q(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(q(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&q(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Vn=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},ke={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},Vu=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[ke.AUDIO]:null,[ke.VIDEO]:null,[ke.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let r=e.split("@",2),s;r.length===1?s=(t==null?void 0:t.byteRangeEndOffset)||0:s=parseInt(r[1]),this._byteRange=[s,parseInt(r[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Vg.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},ao=class extends Vu{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Vn,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let r=Object.keys(this.levelkeys);if(r.length===1)return this._decryptdata=this.levelkeys[r[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!q(this.programDateTime))return null;let e=q(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),r=t.length;if(r>1||r===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,r,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:r,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,r),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[ke.AUDIO]=null,e[ke.VIDEO]=null,e[ke.AUDIOVIDEO]=null}},Up=class extends Vu{constructor(e,t,r,s,n){super(r),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Vn,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},_I=10,Fp=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,r=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!r||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&r>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?q(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||_I}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function qg(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function AI(i){let e=Bp(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function SI(i){let e=function(r,s,n){let a=r[s];r[s]=r[n],r[n]=a};e(i,0,3),e(i,1,2),e(i,4,5),e(i,6,7)}function xI(i){let e=i.split(":"),t=null;if(e[0]==="data"&&e.length===2){let r=e[1].split(";"),s=r[r.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(r.splice(-1,1),t=qg(a)):t=AI(a)}}return t}function Bp(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var qn=typeof self!="undefined"?self:void 0,Ue={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Pt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function eT(i){switch(i){case Pt.FAIRPLAY:return Ue.FAIRPLAY;case Pt.PLAYREADY:return Ue.PLAYREADY;case Pt.WIDEVINE:return Ue.WIDEVINE;case Pt.CLEARKEY:return Ue.CLEARKEY}}var YT={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function LI(i){if(i===YT.WIDEVINE)return Ue.WIDEVINE}function tT(i){switch(i){case Ue.FAIRPLAY:return Pt.FAIRPLAY;case Ue.PLAYREADY:return Pt.PLAYREADY;case Ue.WIDEVINE:return Pt.WIDEVINE;case Ue.CLEARKEY:return Pt.CLEARKEY}}function vp(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Ue.FAIRPLAY,Ue.WIDEVINE,Ue.PLAYREADY,Ue.CLEARKEY].filter(s=>!!e[s]):[];return!r[Ue.WIDEVINE]&&t&&r.push(Ue.WIDEVINE),r}var zT=function(i){return qn!=null&&(i=qn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function kI(i,e,t,r){let s;switch(i){case Ue.FAIRPLAY:s=["cenc","sinf"];break;case Ue.WIDEVINE:case Ue.PLAYREADY:s=["cenc"];break;case Ue.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return II(s,e,t,r)}function II(i,e,t,r){return[{initDataTypes:i,persistentState:r.persistentState||"optional",distinctiveIdentifier:r.distinctiveIdentifier||"optional",sessionTypes:r.sessionTypes||[r.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:r.audioRobustness||"",encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:r.videoRobustness||"",encryptionScheme:r.videoEncryptionScheme||null}))}]}function Ls(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var Yg=(i,e)=>e+10<=i.length&&i[e]===73&&i[e+1]===68&&i[e+2]===51&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,jT=(i,e)=>e+10<=i.length&&i[e]===51&&i[e+1]===68&&i[e+2]===73&&i[e+3]<255&&i[e+4]<255&&i[e+6]<128&&i[e+7]<128&&i[e+8]<128&&i[e+9]<128,lo=(i,e)=>{let t=e,r=0;for(;Yg(i,e);){r+=10;let s=vc(i,e+6);r+=s,jT(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},vc=(i,e)=>{let t=0;return t=(i[e]&127)<<21,t|=(i[e+1]&127)<<14,t|=(i[e+2]&127)<<7,t|=i[e+3]&127,t},RI=(i,e)=>Yg(i,e)&&vc(i,e+6)+10<=i.length-e,zg=i=>{let e=QT(i);for(let t=0;t<e.length;t++){let r=e[t];if(XT(r))return OI(r)}},XT=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",wI=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=vc(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},QT=i=>{let e=0,t=[];for(;Yg(i,e);){let r=vc(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=wI(i.subarray(e)),a=CI(n);a&&t.push(a),e+=n.size+10}jT(i,e)&&(e+=10)}return t},CI=i=>i.type==="PRIV"?DI(i):i.type[0]==="W"?PI(i):MI(i),DI=i=>{if(i.size<2)return;let e=Xi(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},MI=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data.subarray(1));return{key:i.type,data:e}},PI=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Xi(i.data.subarray(t),!0);t+=r.length+1;let s=Xi(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Xi(i.data);return{key:i.type,data:e}},OI=i=>{if(i.data.byteLength===8){let e=new Uint8Array(i.data),t=e[3]&1,r=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return r/=45,t&&(r+=4772185884e-2),Math.round(r)}},Xi=(i,e=!1)=>{let t=NI();if(t){let d=t.decode(i);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d}return d.replace(/\0/g,"")}let r=i.length,s,n,a,o="",l=0;for(;l<r;){if(s=i[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=i[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=i[l++],a=i[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},Ep;function NI(){if(!navigator.userAgent.includes("PlayStation 4"))return!Ep&&typeof self.TextDecoder!="undefined"&&(Ep=new self.TextDecoder("utf-8")),Ep}var Yi={hexDump:function(i){let e="";for(let t=0;t<i.length;t++){let r=i[t].toString(16);r.length<2&&(r="0"+r),e+=r}return e}},qu=Math.pow(2,32)-1,UI=[].push,ZT={video:1,audio:2,id3:3,text:4};function tt(i){return String.fromCharCode.apply(null,i)}function JT(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function J(i,e){let t=e_(i,e);return t<0?4294967296+t:t}function iT(i,e){let t=J(i,e);return t*=Math.pow(2,32),t+=J(i,e+4),t}function e_(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function bp(i,e,t){i[e]=t>>24,i[e+1]=t>>16&255,i[e+2]=t>>8&255,i[e+3]=t&255}function FI(i){let e=i.byteLength;for(let t=0;t<e;){let r=J(i,t);if(r>8&&i[t+4]===109&&i[t+5]===111&&i[t+6]===111&&i[t+7]===102)return!0;t=r>1?t+r:e}return!1}function ae(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=J(i,s),a=tt(i.subarray(s+4,s+8)),o=n>1?s+n:r;if(a===e[0])if(e.length===1)t.push(i.subarray(s+8,o));else{let l=ae(i.subarray(s+8,o),e.slice(1));l.length&&UI.apply(t,l)}s=o}return t}function BI(i){let e=[],t=i[0],r=8,s=J(i,r);r+=4;let n=0,a=0;t===0?(n=J(i,r),a=J(i,r+4),r+=8):(n=iT(i,r),a=iT(i,r+8),r+=16),r+=2;let o=i.length+a,l=JT(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=J(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return R.warn("SIDX has hierarchical references (not supported)"),null;let m=J(i,u);u+=4,e.push({referenceSize:h,subsegmentDuration:m,info:{duration:m/s,start:o,end:o+h-1}}),o+=h,u+=4,r=u}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function t_(i){let e=[],t=ae(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=ae(n,["tkhd"])[0];if(a){let o=a[0],l=J(a,o===0?12:20),d=ae(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=J(d,o===0?12:20),c=ae(n,["mdia","hdlr"])[0];if(c){let h=tt(c.subarray(8,12)),f={soun:ke.AUDIO,vide:ke.VIDEO}[h];if(f){let m=ae(n,["mdia","minf","stbl","stsd"])[0],p=$I(m);e[l]={timescale:u,type:f},e[f]=ft({timescale:u,id:l},p)}}}}}return ae(i,["moov","mvex","trex"]).forEach(s=>{let n=J(s,4),a=e[n];a&&(a.default={duration:J(s,12),flags:J(s,20)})}),e}function $I(i){let e=i.subarray(8),t=e.subarray(86),r=tt(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=ae(e,[r])[0].subarray(r==="enca"?28:78);ae(o,["sinf"]).forEach(d=>{let u=ae(d,["schm"])[0];if(u){let c=tt(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=ae(d,["frma"])[0];h&&(s=tt(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=ae(t,["avcC"])[0];s+="."+ku(a[1])+ku(a[2])+ku(a[3]);break}case"mp4a":{let a=ae(e,[r])[0],o=ae(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=yp(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=yp(o,l);let u=o[l++];if(u===64)s+="."+ku(u);else break;if(l+=12,o[l++]!==5)break;l=yp(o,l);let c=o[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((o[l]&224)>>5)),s+="."+h}break}case"hvc1":case"hev1":{let a=ae(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=J(a,2),c=(o&32)>>5?"H":"L",h=a[12],f=a.subarray(6,12);s+="."+l+d,s+="."+u.toString(16).toUpperCase(),s+="."+c+h;let m="";for(let p=f.length;p--;){let g=f[p];(g||m)&&(m="."+g.toString(16).toUpperCase()+m)}s+=m;break}case"dvh1":case"dvhe":{let a=ae(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+qi(o)+"."+qi(l);break}case"vp09":{let a=ae(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+qi(o)+"."+qi(l)+"."+qi(d);break}case"av01":{let a=ae(t,["av1C"])[0],o=a[1]>>>5,l=a[1]&31,d=a[2]>>>7?"H":"M",u=(a[2]&64)>>6,c=(a[2]&32)>>5,h=o===2&&u?c?12:10:u?10:8,f=(a[2]&16)>>4,m=(a[2]&8)>>3,p=(a[2]&4)>>2,g=a[2]&3,E=1,T=1,y=1,S=0;s+="."+o+"."+qi(l)+d+"."+qi(h)+"."+f+"."+m+p+g+"."+qi(E)+"."+qi(T)+"."+qi(y)+"."+S;break}}return{codec:s,encrypted:n}}function yp(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function ku(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function qi(i){return(i<10?"0":"")+i}function HI(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&ae(i,["moov","trak"]).forEach(s=>{let a=ae(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=ae(a,["enca"]),l=o.length>0;l||(o=ae(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);ae(u,["sinf"]).forEach(h=>{let f=i_(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(R.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Yi.hexDump(m)} -> ${Yi.hexDump(t)}`),f.set(t,8))}})})}),i}function i_(i){let e=ae(i,["schm"])[0];if(e){let t=tt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return ae(i,["schi","tenc"])[0]}return R.error("[eme] missing 'schm' box"),null}function GI(i,e){return ae(e,["moof","traf"]).reduce((t,r)=>{let s=ae(r,["tfdt"])[0],n=s[0],a=ae(r,["tfhd"]).reduce((o,l)=>{let d=J(l,4),u=i[d];if(u){let c=J(s,4);if(n===1){if(c===qu)return R.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=qu+1,c+=J(s,8)}let h=u.timescale||9e4,f=c/h;if(q(f)&&(o===null||f<o))return f}return o},null);return a!==null&&q(a)&&(t===null||a<t)?a:t},null)}function WI(i,e){let t=0,r=0,s=0,n=ae(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=ae(o,["tfhd"])[0],d=J(l,4),u=e[d];if(!u)continue;let c=u.default,h=J(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=J(l,12):f=J(l,8));let m=u.timescale||9e4,p=ae(o,["trun"]);for(let g=0;g<p.length;g++){if(t=KI(p[g]),!t&&f){let E=J(p[g],4);t=f*E}u.type===ke.VIDEO?r+=t/m:u.type===ke.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=ae(i,["sidx"]);for(let u=0;u<d.length;u++){let c=BI(d[u]);if(c!=null&&c.references){a=Math.min(a,c.earliestPresentationTime/c.timescale);let h=c.references.reduce((f,m)=>f+m.info.duration||0,0);o=Math.max(o,h+c.earliestPresentationTime/c.timescale),l=o-a}}if(l&&q(l))return l}return r||s}function KI(i){let e=J(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=J(i,4);for(let n=0;n<s;n++){if(e&256){let a=J(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function VI(i,e,t){ae(e,["moof","traf"]).forEach(r=>{ae(r,["tfhd"]).forEach(s=>{let n=J(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;ae(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=J(l,4);if(d===0)c-=u,c=Math.max(c,0),bp(l,4,c);else{c*=Math.pow(2,32),c+=J(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(qu+1)),f=Math.floor(c%(qu+1));bp(l,4,h),bp(l,8,f)}}})})})}function qI(i){let e={valid:null,remainder:null},t=ae(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=Ls(i,0,r.byteOffset-8),e.remainder=Ls(i,r.byteOffset-8),e}function Zt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function rT(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return ae(r,["moof"]).map(l=>{let d=l.byteOffset-8;ae(l,["traf"]).map(c=>{let h=ae(c,["tfdt"]).map(f=>{let m=f[0],p=J(f,4);return m===1&&(p*=Math.pow(2,32),p+=J(f,8)),p/s})[0];return h!==void 0&&(i=h),ae(c,["tfhd"]).map(f=>{let m=J(f,4),p=J(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,T=(p&8)!==0,y=0,S=(p&16)!==0,A=0,L=(p&32)!==0,x=8;m===n&&(g&&(x+=8),E&&(x+=4),T&&(y=J(f,x),x+=4),S&&(A=J(f,x),x+=4),L&&(x+=4),e.type==="video"&&(a=YI(e.codec)),ae(c,["trun"]).map(w=>{let P=w[0],k=J(w,0)&16777215,D=(k&1)!==0,U=0,F=(k&4)!==0,z=(k&256)!==0,X=0,K=(k&512)!==0,se=0,oe=(k&1024)!==0,W=(k&2048)!==0,G=0,ne=J(w,4),Q=8;D&&(U=J(w,Q),Q+=4),F&&(Q+=4);let pe=U+d;for(let Pe=0;Pe<ne;Pe++){if(z?(X=J(w,Q),Q+=4):X=y,K?(se=J(w,Q),Q+=4):se=A,oe&&(Q+=4),W&&(P===0?G=J(w,Q):G=e_(w,Q),Q+=4),e.type===ke.VIDEO){let Be=0;for(;Be<se;){let Ve=J(r,pe);if(pe+=4,zI(a,r[pe])){let Lt=r.subarray(pe,pe+Ve);r_(Lt,a?2:1,i+G/s,t)}pe+=Ve,Be+=Ve+4}}i+=X/s}}))})})}),t}function YI(i){if(!i)return!1;let e=i.indexOf("."),t=e<0?i:i.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function zI(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function r_(i,e,t,r){let s=s_(i),n=0;n+=e;let a=0,o=0,l=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;l=s[n++],a+=l}while(l===255);o=0;do{if(n>=s.length)break;l=s[n++],o+=l}while(l===255);let d=s.length-n,u=n;if(o<d)n+=o;else if(o>d){R.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=JT(s,u);if(u+=2,h===49){let f=J(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,T=E?2+g*3:0,y=new Uint8Array(T);if(E){y[0]=p;for(let S=1;S<T;S++)y[S]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:y})}}}}}else if(a===5&&o>16){let c=[];for(let m=0;m<16;m++){let p=s[u++].toString(16);c.push(p.length==1?"0"+p:p),(m===3||m===5||m===7||m===9)&&c.push("-")}let h=o-16,f=new Uint8Array(h);for(let m=0;m<h;m++)f[m]=s[u++];r.push({payloadType:a,pts:t,uuid:c.join(""),userData:Xi(f),userDataBytes:f})}}}function s_(i){let e=i.byteLength,t=[],r=1;for(;r<e-2;)i[r]===0&&i[r+1]===0&&i[r+2]===3?(t.push(r+2),r+=2):r++;if(t.length===0)return i;let s=e-t.length,n=new Uint8Array(s),a=0;for(r=0;r<s;a++,r++)a===t[0]&&(a++,t.shift()),n[r]=i[a];return n}function jI(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;tt(i.subarray(d,d+1))!=="\0";)t+=tt(i.subarray(d,d+1)),d+=1;for(t+=tt(i.subarray(d,d+1)),d+=1;tt(i.subarray(d,d+1))!=="\0";)r+=tt(i.subarray(d,d+1)),d+=1;r+=tt(i.subarray(d,d+1)),d+=1,s=J(i,12),n=J(i,16),o=J(i,20),l=J(i,24),d=28}else if(e===1){d+=4,s=J(i,d),d+=4;let c=J(i,d);d+=4;let h=J(i,d);for(d+=4,a=2**32*c+h,mI(a)||(a=Number.MAX_SAFE_INTEGER,R.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=J(i,d),d+=4,l=J(i,d),d+=4;tt(i.subarray(d,d+1))!=="\0";)t+=tt(i.subarray(d,d+1)),d+=1;for(t+=tt(i.subarray(d,d+1)),d+=1;tt(i.subarray(d,d+1))!=="\0";)r+=tt(i.subarray(d,d+1)),d+=1;r+=tt(i.subarray(d,d+1)),d+=1}let u=i.subarray(d,i.byteLength);return{schemeIdUri:t,value:r,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:u}}function XI(i,...e){let t=e.length,r=8,s=t;for(;s--;)r+=e[s].byteLength;let n=new Uint8Array(r);for(n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=r&255,n.set(i,4),s=0,r=8;s<t;s++)n.set(e[s],r),r+=e[s].byteLength;return n}function QI(i,e,t){if(i.byteLength!==16)throw new RangeError("Invalid system id");let r,s;if(e){r=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else r=0,s=new Uint8Array;let n;r>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),XI([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function ZI(i){if(!(i instanceof ArrayBuffer)||i.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(i),r=t.getUint32(0);if(i.byteLength!==r&&r>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Yi.hexDump(new Uint8Array(i,12,16));let n=t.getUint32(28);if(e.version===0){if(r-32<n)return null;e.data=new Uint8Array(i,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(i,32+a*16,16))}return e}var Iu={},uo=class i{static clearKeyUriToKeyIdMap(){Iu={}}constructor(e,t,r,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=r,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case Pt.FAIRPLAY:case Pt.WIDEVINE:case Pt.PLAYREADY:case Pt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&R.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=JI(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=xI(this.uri);if(t)switch(this.keyFormat){case Pt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Pt.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=QI(r,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=qg(u).subarray(0,16);SI(c),this.keyId=c}}break}default:{let r=t.subarray(0,16);if(r.length!==16){let s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r=Iu[this.uri];if(!r){let s=Object.keys(Iu).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),Iu[this.uri]=r}this.keyId=r}return this}};function JI(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var n_=/\{\$([a-zA-Z0-9-_]+)\}/g;function sT(i){return n_.test(i)}function Dt(i,e,t){if(i.variableList!==null||i.hasVariableRefs)for(let r=t.length;r--;){let s=t[r],n=e[s];n&&(e[s]=$p(i,n))}}function $p(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(n_,r=>{let s=r.substring(2,r.length-1),n=t==null?void 0:t[s];return n===void 0?(i.playlistParsingError||(i.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),r):n})}return e}function nT(i,e,t){let r=i.variableList;r||(i.variableList=r={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in r?i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=n||""}function eR(i,e,t){let r=e.IMPORT;if(t&&r in t){let s=i.variableList;s||(i.variableList=s={}),s[r]=t[r]}else i.playlistParsingError||(i.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}function ks(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function tR(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var Yu={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function iR(i,e){let t=Yu[e];return!!t&&!!t[i.slice(0,4)]}function Tp(i,e,t=!0){return!i.split(",").some(r=>!a_(r,e,t))}function a_(i,e,t=!0){var r;let s=ks(t);return(r=s==null?void 0:s.isTypeSupported(co(i,e)))!=null?r:!1}function co(i,e){return`${e}/mp4;codecs="${i}"`}function aT(i){if(i){let e=i.substring(0,4);return Yu.video[e]}return 2}function zu(i){return i.split(",").reduce((e,t)=>{let r=Yu.video[t];return r?(r*2+e)/(e?3:2):(Yu.audio[t]+e)/(e?2:1)},0)}var _p={};function rR(i,e=!0){if(_p[i])return _p[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(a_(t[r],"audio",e))return _p[i]=t[r],t[r];return i}var sR=/flac|opus/i;function ju(i,e=!0){return i.replace(sR,t=>rR(t.toLowerCase(),e))}function oT(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function nR(i){let e=i.split(".");if(e.length>2){let t=e.shift()+".";return t+=parseInt(e.shift()).toString(16),t+=("000"+parseInt(e.shift()).toString(16)).slice(-4),t}return i}var lT=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,dT=/#EXT-X-MEDIA:(.*)/g,aR=/^#EXT(?:INF|-X-TARGETDURATION):/m,uT=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),oR=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Ss=class i{static findGroup(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.id===t)return s}}static resolve(e,t){return Vg.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return aR.test(e)}static parseMasterPlaylist(e,t){let r=sT(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];lT.lastIndex=0;let a;for(;(a=lT.exec(e))!=null;)if(a[1]){var o;let d=new We(a[1]);Dt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=$p(s,a[2]),c={attrs:d,bitrate:d.decimalInteger("BANDWIDTH")||d.decimalInteger("AVERAGE-BANDWIDTH"),name:d.NAME,url:i.resolve(u,t)},h=d.decimalResolution("RESOLUTION");h&&(c.width=h.width,c.height=h.height),lR(d.CODECS,c),(o=c.unknownCodecs)!=null&&o.length||n.push(c),s.levels.push(c)}else if(a[3]){let d=a[3],u=a[4];switch(d){case"SESSION-DATA":{let c=new We(u);Dt(s,c,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=c["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=c);break}case"SESSION-KEY":{let c=cT(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):R.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new We(u);Dt(s,c,["NAME","VALUE","QUERYPARAM"]),nT(s,c,t)}break}case"CONTENT-STEERING":{let c=new We(u);Dt(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=hT(u);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,r){let s,n={},a=r.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(dT.lastIndex=0;(s=dT.exec(e))!==null;){let d=new We(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,Dt(r,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,m=d["ASSOC-LANGUAGE"],p=d.CHANNELS,g=d.CHARACTERISTICS,E=d["INSTREAM-ID"],T={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?i.resolve(d.URI,t):""};if(m&&(T.assocLang=m),p&&(T.channels=p),g&&(T.characteristics=g),E&&(T.instreamId=E),c!=null&&c.length){let y=i.findGroup(c,T.groupId)||c[0];fT(T,y,"audioCodec"),fT(T,y,"textCodec")}h.push(T)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new Fp(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new ao(s,t),g,E,T,y=-1,S=!1,A=null;for(uT.lastIndex=0,o.m3u8=e,o.hasVariableRefs=sT(e);(g=uT.exec(e))!==null;){S&&(S=!1,p=new ao(s,t),p.start=h,p.sn=u,p.cc=f,p.level=r,d&&(p.initSegment=d,p.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,A&&(p.setByteRange(A),A=null)));let P=g[1];if(P){p.duration=parseFloat(P);let k=(" "+g[2]).slice(1);p.title=k||null,p.tagList.push(k?["INF",P,k]:["INF",P])}else if(g[3]){if(q(p.duration)){p.start=h,T&&gT(p,T,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let k=(" "+g[3]).slice(1);p.relurl=$p(o,k),mT(p,m),m=p,h+=p.duration,u++,c=0,S=!0}}else if(g[4]){let k=(" "+g[4]).slice(1);m?p.setByteRange(k,m):p.setByteRange(k)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),y===-1&&(y=l.length);else{if(g=g[0].match(oR),!g){R.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let k=(" "+g[E]).slice(1),D=(" "+g[E+1]).slice(1),U=g[E+2]?(" "+g[E+2]).slice(1):"";switch(k){case"PLAYLIST-TYPE":o.type=D.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(D);break;case"SKIP":{let F=new We(D);Dt(o,F,["RECENTLY-REMOVED-DATERANGES"]);let z=F.decimalInteger("SKIPPED-SEGMENTS");if(q(z)){o.skippedSegments=z;for(let K=z;K--;)l.unshift(null);u+=z}let X=F.enumeratedString("RECENTLY-REMOVED-DATERANGES");X&&(o.recentlyRemovedDateranges=X.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(D),1);break;case"VERSION":o.version=parseInt(D);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(D||U)&&p.tagList.push(U?[D,U]:[D]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([k]);break;case"BITRATE":p.tagList.push([k,D]);break;case"DATERANGE":{let F=new We(D);Dt(o,F,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Dt(o,F,F.clientAttrs);let z=new Ku(F,o.dateRanges[F.ID]);z.isValid||o.skippedSegments?o.dateRanges[z.id]=z:R.warn(`Ignoring invalid DATERANGE tag: "${D}"`),p.tagList.push(["EXT-X-DATERANGE",D]);break}case"DEFINE":{{let F=new We(D);Dt(o,F,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in F?eR(o,F,a):nT(o,F,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(D);break;case"KEY":{let F=cT(D,t,o);if(F.isSupported()){if(F.method==="NONE"){T=void 0;break}T||(T={}),T[F.keyFormat]&&(T=Ze({},T)),T[F.keyFormat]=F}else R.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${D}"`);break}case"START":o.startTimeOffset=hT(D);break;case"MAP":{let F=new We(D);if(Dt(o,F,["BYTERANGE","URI"]),p.duration){let z=new ao(s,t);pT(z,F,r,T),d=z,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let z=p.byteRangeEndOffset;if(z){let X=p.byteRangeStartOffset;A=`${z-X}@${X}`}else A=null;pT(p,F,r,T),d=p,S=!0}break}case"SERVER-CONTROL":{let F=new We(D);o.canBlockReload=F.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=F.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&F.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=F.optionalFloat("PART-HOLD-BACK",0),o.holdBack=F.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let F=new We(D);o.partTarget=F.decimalFloatingPoint("PART-TARGET");break}case"PART":{let F=o.partList;F||(F=o.partList=[]);let z=c>0?F[F.length-1]:void 0,X=c++,K=new We(D);Dt(o,K,["BYTERANGE","URI"]);let se=new Up(K,p,t,X,z);F.push(se),p.duration+=se.duration;break}case"PRELOAD-HINT":{let F=new We(D);Dt(o,F,["URI"]),o.preloadHint=F;break}case"RENDITION-REPORT":{let F=new We(D);Dt(o,F,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(F);break}default:R.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(mT(p,m),p.cc=f,o.fragmentHint=p,T&&gT(p,T,o));let L=l.length,x=l[0],w=l[L-1];if(h+=o.skippedSegments*o.targetduration,h>0&&L&&w){o.averagetargetduration=h/L;let P=w.sn;o.endSN=P!=="initSegment"?P:0,o.live||(w.endList=!0),x&&(o.startCC=x.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,y>0&&dR(l,y),o}};function cT(i,e,t){var r,s;let n=new We(i);Dt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(r=n.METHOD)!=null?r:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,u=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&R.error(`Invalid IV: ${n.IV}`);let c=o?Ss.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new uo(a,c,u,h,l)}function hT(i){let t=new We(i).decimalFloatingPoint("TIME-OFFSET");return q(t)?t:null}function lR(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>iR(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function fT(i,e,t){let r=e[t];r&&(i[t]=r)}function dR(i,e){let t=i[e];for(let r=e;r--;){let s=i[r];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function mT(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),q(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function pT(i,e,t,r){i.relurl=e.URI,e.BYTERANGE&&i.setByteRange(e.BYTERANGE),i.level=t,i.sn="initSegment",r&&(i.levelkeys=r),i.initSegment=null}function gT(i,e,t){i.levelkeys=e;let{encryptedFragments:r}=t;(!r.length||r[r.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&r.push(i)}var ve={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},ee={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function vT(i){let{type:e}=i;switch(e){case ve.AUDIO_TRACK:return ee.AUDIO;case ve.SUBTITLE_TRACK:return ee.SUBTITLE;default:return ee.MAIN}}function Ap(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var Hp=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(v.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,r=t.pLoader,s=t.loader,n=r||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:r}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:ve.MANIFEST,url:r,deliveryDirectives:null})}onLevelLoading(e,t){let{id:r,level:s,pathwayId:n,url:a,deliveryDirectives:o}=t;this.load({id:r,level:s,pathwayId:n,responseType:"text",type:ve.LEVEL,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ve.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:r,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:r,groupId:s,level:null,responseType:"text",type:ve.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let r=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url&&d.level===e.level){R.trace("[playlist-loader]: playlist request ongoing");return}R.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===ve.MANIFEST?n=r.manifestLoadPolicy.default:n=Ze({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),q((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===ve.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===ve.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===ve.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;n=Ze({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let m=d.data;if(m.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return}u.parsing.start=performance.now(),Ss.isMediaPlaylist(m)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h)},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h)},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,r,s){let n=this.hls,a=e.data,o=Ap(e,r),l=Ss.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,r,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m}=l;this.variableList=m;let{AUDIO:p=[],SUBTITLES:g,"CLOSED-CAPTIONS":E}=Ss.parseMasterPlaylistMedia(a,o,l);p.length&&!p.some(y=>!y.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(R.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),p.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new We({}),bitrate:0,url:""})),n.trigger(v.MANIFEST_LOADED,{levels:u,audioTracks:p,subtitles:g,captions:E,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(e,t,r,s,n){let a=this.hls,{id:o,level:l,type:d}=r,u=Ap(e,r),c=0,h=q(l)?l:q(o)?o:0,f=vT(r),m=Ss.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===ve.MANIFEST){let p={attrs:new We({}),bitrate:0,details:m,name:"",url:u};a.trigger(v.MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),r.levelDetails=m,this.handlePlaylistLoaded(m,e,t,r,s,n)}handleManifestParsingError(e,t,r,s,n){this.hls.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.MANIFEST_PARSING_ERROR,fatal:t.type===ve.MANIFEST,url:e.url,err:r,error:r,reason:r.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,r=!1,s,n){let a=`A network ${r?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===ve.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===ve.AUDIO_TRACK||e.type===ve.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);R.warn(`[playlist-loader]: ${a}`);let l=C.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case ve.MANIFEST:l=r?C.MANIFEST_LOAD_TIMEOUT:C.MANIFEST_LOAD_ERROR,d=!0;break;case ve.LEVEL:l=r?C.LEVEL_LOAD_TIMEOUT:C.LEVEL_LOAD_ERROR,d=!1;break;case ve.AUDIO_TRACK:l=r?C.AUDIO_TRACK_LOAD_TIMEOUT:C.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case ve.SUBTITLE_TRACK:l=r?C.SUBTITLE_TRACK_LOAD_TIMEOUT:C.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:ie.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;c.response=ft({url:h,data:void 0},s)}this.hls.trigger(v.ERROR,c)}handlePlaylistLoaded(e,t,r,s,n,a){let o=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=s,f=Ap(t,s),m=vT(s),p=typeof s.level=="number"&&m===ee.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:E,reason:E.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let g=e.playlistParsingError;if(g){o.trigger(v.ERROR,{type:ie.NETWORK_ERROR,details:C.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:g,reason:g.message,response:t,context:s,level:p,parent:m,networkDetails:n,stats:r});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case ve.MANIFEST:case ve.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case ve.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case ve.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function o_(i,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=i,e.dispatchEvent(t)}function l_(i,e){let t=i.mode;if(t==="disabled"&&(i.mode="hidden"),i.cues&&!i.cues.getCueById(e.id))try{if(i.addCue(e),!i.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(r){R.debug(`[texttrack-utils]: ${r}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,i.addCue(s)}catch(s){R.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function Hn(i){let e=i.mode;if(e==="disabled"&&(i.mode="hidden"),i.cues)for(let t=i.cues.length;t--;)i.removeCue(i.cues[t]);e==="disabled"&&(i.mode=e)}function Gp(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=cR(i.cues,e,t);for(let a=0;a<n.length;a++)(!r||r(n[a]))&&i.removeCue(n[a])}s==="disabled"&&(i.mode=s)}function uR(i,e){if(e<i[0].startTime)return 0;let t=i.length-1;if(e>i[t].endTime)return-1;let r=0,s=t;for(;r<=s;){let n=Math.floor((s+r)/2);if(e<i[n].startTime)s=n-1;else if(e>i[n].startTime&&r<t)r=n+1;else return n}return i[r].startTime-e<e-i[s].startTime?r:s}function cR(i,e,t){let r=[],s=uR(i,e);if(s>-1)for(let n=s,a=i.length;n<a;n++){let o=i[n];if(o.startTime>=e&&o.endTime<=t)r.push(o);else if(o.startTime>t)return r}return r}function Uu(i){let e=[];for(let t=0;t<i.length;t++){let r=i[t];(r.kind==="subtitles"||r.kind==="captions")&&r.label&&e.push(i[t])}return e}var yi={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},hR=.25;function Wp(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function ET(i,e,t,r,s){let n=new i(e,t,"");try{n.value=r,s&&(n.type=s)}catch{n=new i(e,t,JSON.stringify(s?ft({type:s},r):r))}return n}var Ru=(()=>{let i=Wp();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function Sp(i,e){return i.getTime()/1e3-e}function fR(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Kp=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(Hn(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let r=e[t];if(r.kind==="metadata"&&r.label==="id3")return o_(r,this.media),r}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:r,enableID3MetadataCues:s}}}=this;if(!r&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Wp();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===yi.emsg&&!r||!s)continue;let d=QT(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>Ru&&(c=Ru),c-u<=0&&(c=u+hR);for(let f=0;f<d.length;f++){let m=d[f];if(!XT(m)){this.updateId3CueEnds(u,l);let p=ET(a,u,c,m,l);p&&this.id3Track.addCue(p)}}}}}updateId3CueEnds(e,t){var r;let s=(r=this.id3Track)==null?void 0:r.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===Ru&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:r,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=u=>u.type===yi.audioId3&&l:s==="video"?d=u=>u.type===yi.emsg&&o:d=u=>u.type===yi.audioId3&&l||u.type===yi.emsg&&o,Gp(n,t,r,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:r,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let u=Object.keys(r).filter(c=>!a.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(r[h].cues).forEach(f=>{s.removeCue(r[h].cues[f])}),delete r[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!q(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Wp();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=Sp(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=Ru,T=h.endDate;if(T)E=Sp(T,l),g=!0;else if(h.endOnNext&&!g){let S=a.reduce((A,L)=>{if(L!==h.id){let x=n[L];if(x.class===h.class&&x.startDate>h.startDate&&(!A||h.startDate<A.startDate))return x}return A},null);S&&(E=Sp(S.startDate,l),g=!0)}let y=Object.keys(h.attr);for(let S=0;S<y.length;S++){let A=y[S];if(!yI(A))continue;let L=p[A];if(L)g&&!m.durationKnown&&(L.endTime=E);else if(d){let x=h.attr[A];TI(A)&&(x=fR(x));let w=ET(d,f,E,{key:A,data:x},yi.dateRange);w&&(w.id=c,this.id3Track.addCue(w),p[A]=w)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},Vp=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:r,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&r||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let u=s,c=1;return d+Math.min(this.stallCount*c,u)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,r=this.levelDetails;if(e===null||t===null||r===null)return null;let s=r.edge,n=e-t-this.edgeStalled,a=s-r.totalduration,o=s-(this.config.lowLatencyMode&&r.partTarget||r.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let r=e.buffered.length;return(r?e.buffered.end(r-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(v.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var r;t.details===C.BUFFER_STALLED_ERROR&&(this.stallCount++,(r=this.levelDetails)!=null&&r.live&&R.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let r=this.computeLatency();if(r===null)return;this._latency=r;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=r-a,l=Math.min(this.maxLatency,a+t.targetduration);if(o<l&&o>.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,n)),c=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},qp=["NONE","TYPE-0","TYPE-1",null];function mR(i){return qp.indexOf(i)>-1}var Xu=["SDR","PQ","HLG"];function pR(i){return!!i&&Xu.indexOf(i)>-1}var Fu={No:"",Yes:"YES",v2:"v2"};function bT(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?Fu.v2:Fu.Yes:Fu.No}var Qu=class{constructor(e,t,r){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=r}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Or=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>!!t).map(t=>t.substring(0,4)).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return yT(this._audioGroups,e)}hasSubtitleGroup(e){return yT(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let r=this._audioGroups;r||(r=this._audioGroups=[]),r.indexOf(t)===-1&&r.push(t)}else if(e==="text"){let r=this._subtitleGroups;r||(r=this._subtitleGroups=[]),r.indexOf(t)===-1&&r.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}};function yT(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function xp(i,e){let t=e.startPTS;if(q(t)){let r=0,s;e.sn>i.sn?(r=t-i.start,s=i):(r=i.start-t,s=e),s.duration!==r&&(s.duration=r)}else e.sn>i.sn?i.cc===e.cc&&i.minEndPTS?e.start=i.start+(i.minEndPTS-i.start):e.start=i.start+i.duration:e.start=Math.max(i.start-e.duration,0)}function d_(i,e,t,r,s,n){r-t<=0&&(R.warn("Fragment should have a positive duration",e),r=t+e.duration,n=s+e.duration);let o=t,l=r,d=e.startPTS,u=e.endPTS;if(q(d)){let g=Math.abs(d-t);q(e.deltaPTS)?e.deltaPTS=Math.max(g,e.deltaPTS):e.deltaPTS=g,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(r,u),r=Math.max(r,u),n=Math.max(n,e.endDTS)}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=r-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=r,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!i||h<i.startSN||h>i.endSN)return 0;let f,m=h-i.startSN,p=i.fragments;for(p[m]=e,f=m;f>0;f--)xp(p[f],p[f-1]);for(f=m;f<p.length-1;f++)xp(p[f],p[f+1]);return i.fragmentHint&&xp(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function gR(i,e){let t=null,r=i.fragments;for(let l=r.length-1;l>=0;l--){let d=r[l].initSegment;if(d){t=d;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s=0,n;if(bR(i,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),q(l.startPTS)&&q(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){R.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=vR(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){R.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),ER(i.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?d_(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):u_(i,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function vR(i,e,t){let r=Ze({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new Ku(e[s].attr,r[s]);n.isValid?r[s]=n:R.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function ER(i,e,t){if(i&&e){let r=0;for(let s=0,n=i.length;s<=n;s++){let a=i[s],o=e[s+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):r--}}}function bR(i,e,t){let r=e.skippedSegments,s=Math.max(i.startSN,e.startSN)-e.startSN,n=(i.fragmentHint?1:0)+(r?e.endSN:Math.min(i.endSN,e.endSN))-e.startSN,a=e.startSN-i.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let d=s;d<=n;d++){let u=l[a+d],c=o[d];r&&!c&&d<r&&(c=e.fragments[d]=u),u&&c&&t(u,c)}}function u_(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||Yp(e,r[t].start)}function Yp(i,e){if(e){let t=i.fragments;for(let r=i.skippedSegments;r<t.length;r++)t[r].start+=e;i.fragmentHint&&(i.fragmentHint.start+=e)}}function yR(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments,s=4;if(r.length&&t*s>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function TR(i,e,t){if(!(i!=null&&i.details))return null;let r=i.details,s=r.fragments[e-r.startSN];return s||(s=r.fragmentHint,s&&s.sn===e)?s:e<r.startSN&&t&&t.sn===e?t:null}function TT(i,e,t){var r;return i!=null&&i.details?c_((r=i.details)==null?void 0:r.partList,e,t):null}function c_(i,e,t){if(i)for(let r=i.length;r--;){let s=i[r];if(s.index===t&&s.fragment.sn===e)return s}return null}function h_(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function Zu(i){switch(i.details){case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_TIMEOUT:case C.LEVEL_LOAD_TIMEOUT:case C.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function _T(i,e){let t=Zu(e);return i.default[`${t?"timeout":"error"}Retry`]}function jg(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function AT(i){return ft(ft({},i),{errorRetry:null,timeoutRetry:null})}function Ju(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(_R(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function _R(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var f_={search:function(i,e){let t=0,r=i.length-1,s=null,n=null;for(;t<=r;){s=(t+r)/2|0,n=i[s];let a=e(n);if(a>0)t=s+1;else if(a<0)r=s-1;else return n}return null}};function AR(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!q(e))return null;let r=i[0].programDateTime;if(e<(r||0))return null;let s=i[i.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<i.length;++n){let a=i[n];if(xR(e,t,a))return a}return null}function ec(i,e,t=0,r=0,s=.005){let n=null;if(i){n=e[i.sn-e[0].sn+1]||null;let o=i.endDTS-t;o>0&&o<15e-7&&(t+=15e-7)}else t===0&&e[0].start===0&&(n=e[0]);if(n&&((!i||i.level===n.level)&&zp(t,r,n)===0||SR(n,i,Math.min(s,r))))return n;let a=f_.search(e,zp.bind(null,t,r));return a&&(a!==i||!n)?a:n}function SR(i,e,t){if(e&&e.start===0&&e.level<i.level&&(e.endPTS||0)>0){let r=e.tagList.reduce((s,n)=>(n[0]==="INF"&&(s+=parseFloat(n[1])),s),t);return i.start<=r}return!1}function zp(i=0,e=0,t){if(t.start<=i&&t.start+t.duration>i)return 0;let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-r<=i?1:t.start-r>i&&t.start?-1:0}function xR(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function LR(i,e){return f_.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ct={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},vi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},jp=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=R.log.bind(R,"[info]:"),this.warn=R.warn.bind(R,"[warning]:"),this.error=R.error.bind(R,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.ERROR,this.onError,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.ERROR,this.onError,this),e.off(v.ERROR,this.onErrorOut,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===ee.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var r,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case C.FRAG_PARSING_ERROR:if((r=t.frag)!=null&&r.gap){t.errorAction={action:ct.DoNothing,flags:vi.None};return}case C.FRAG_GAP:case C.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ct.SendAlternateToPenaltyBox;return}case C.LEVEL_EMPTY_ERROR:case C.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===ee.MAIN?t.level:n.loadLevel;t.details===C.LEVEL_EMPTY_ERROR&&((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.SUBTITLE_LOAD_ERROR:case C.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===ve.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===ve.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ct.SendAlternateToPenaltyBox,t.errorAction.flags=vi.MoveAllAlternatesMatchingHost;return}}return;case C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t)}return;case C.BUFFER_ADD_CODEC_ERROR:case C.REMUX_ALLOC_ERROR:case C.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case C.INTERNAL_EXCEPTION:case C.BUFFER_APPENDING_ERROR:case C.BUFFER_FULL_ERROR:case C.LEVEL_SWITCH_ERROR:case C.BUFFER_STALLED_ERROR:case C.BUFFER_SEEK_OVER_HOLE:case C.BUFFER_NUDGE_ON_STALL:t.errorAction={action:ct.DoNothing,flags:vi.None};return}t.type===ie.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){let r=this.hls,s=_T(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(Ju(s,n,Zu(e),e.response))return{action:ct.RetryRequest,flags:vi.None,retryConfig:s,retryCount:n};let o=this.getLevelSwitchAction(e,t);return s&&(o.retryConfig=s,o.retryCount=n),o}getFragRetryOrSwitchAction(e){let t=this.hls,r=this.getVariantLevelIndex(e.frag),s=t.levels[r],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=_T(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(s&&(e.details!==C.FRAG_GAP&&s.fragmentError++,Ju(o,l,Zu(e),e.response)))return{action:ct.RetryRequest,flags:vi.None,retryConfig:o,retryCount:l};let d=this.getLevelSwitchAction(e,r);return o&&(d.retryConfig=o,d.retryCount=l),d}getLevelSwitchAction(e,t){let r=this.hls;t==null&&(t=r.loadLevel);let s=this.hls.levels[t];if(s){var n,a;let d=e.details;s.loadError++,d===C.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:m}=r;r.autoLevelEnabled||(r.loadLevel=-1);let p=(n=e.frag)==null?void 0:n.type,E=(p===ee.AUDIO&&d===C.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:L})=>s.audioCodec!==L),y=e.sourceBufferName==="video"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR)&&c.some(({codecSet:L,audioCodec:x})=>s.codecSet!==L&&s.audioCodec===x),{type:S,groupId:A}=(a=e.context)!=null?a:{};for(let L=c.length;L--;){let x=(L+h)%c.length;if(x!==h&&x>=f&&x<=m&&c[x].loadError===0){var o,l;let w=c[x];if(d===C.FRAG_GAP&&p===ee.MAIN&&e.frag){let P=c[x].details;if(P){let k=ec(e.frag,P.fragments,e.frag.start);if(k!=null&&k.gap)continue}}else{if(S===ve.AUDIO_TRACK&&w.hasAudioGroup(A)||S===ve.SUBTITLE_TRACK&&w.hasSubtitleGroup(A))continue;if(p===ee.AUDIO&&(o=s.audioGroups)!=null&&o.some(P=>w.hasAudioGroup(P))||p===ee.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(P=>w.hasSubtitleGroup(P))||E&&s.audioCodec===w.audioCodec||!E&&s.audioCodec!==w.audioCodec||y&&s.codecSet===w.codecSet)continue}u=x;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ct.SendAlternateToPenaltyBox,flags:vi.None,nextAutoLevel:u}}return{action:ct.SendAlternateToPenaltyBox,flags:vi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ct.DoNothing:break;case ct.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==C.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case ct.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,r=e.errorAction;if(!r)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=r;switch(s){case vi.None:this.switchLevel(e,a);break;case vi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=qp[qp.indexOf(n)-1],r.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}r.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},ho=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=R.log.bind(R,`${t}:`),this.warn=R.warn.bind(R,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,r){let s=t==null?void 0:t.renditionReports;if(s){let n=-1;for(let a=0;a<s.length;a++){let o=s[a],l;try{l=new self.URL(o.URI,t.url).href}catch(d){R.warn(`Could not construct new URL for Rendition Report: ${d}`),l=o.URI||""}if(l===e){n=a;break}else l===e.substring(0,l.length)&&(n=a)}if(n!==-1){let a=s[n],o=parseInt(a["LAST-MSN"])||(t==null?void 0:t.lastPartSn),l=parseInt(a["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1)}let d=r&&bT(r);return new Qu(o,l>=0?l:void 0,d)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,r){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||r!=null&&r.live){if(s.reloaded(r),r&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),r&&s.fragments.length>0&&gR(r,s),!this.canLoad||!s.live)return;let l,d,u;if(s.canBlockReload&&s.endSN&&s.advanced){let g=this.hls.config.lowLatencyMode,E=s.lastPartSn,T=s.endSN,y=s.lastPartIndex,S=y!==-1,A=E===T,L=g?0:y;S?(d=A?T+1:E,u=A?L:y+1):d=T+1;let x=s.age,w=x+s.ageHeader,P=Math.min(w-s.partTarget,s.targetduration*1.5);if(P>0){if(r&&P>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${P} with playlist age: ${s.age}`),P=0;else{let k=Math.floor(P/s.targetduration);if(d+=k,u!==void 0){let D=Math.round(P%s.targetduration/s.partTarget);u+=D}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${x.toFixed(2)}s goal: ${P} skip sn ${k} to part ${u}`)}s.tuneInGoal=P}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u),g||!A){this.loadPlaylist(l);return}}else(s.canBlockReload||s.canSkipUntil)&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(s.edge-h)*1e3,m=yR(s,f);s.updated&&a>this.requestScheduled+m&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+m-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+m<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=m);let p=this.requestScheduled-a;p=Math.max(0,p),this.log(`reload live playlist ${e} in ${Math.round(p)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),p)}else this.clearTimer()}getDeliveryDirectives(e,t,r,s){let n=bT(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=Fu.No),new Qu(r,s,n)}checkRetry(e){let t=e.details,r=Zu(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ct.RetryRequest||!s.resolved&&n===ct.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(r&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=jg(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${u}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},Pr=class{constructor(e,t=0,r=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=r}sample(e,t){let r=Math.pow(this.alpha_,e);this.estimate_=t*(1-r)+r*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},Xp=class{constructor(e,t,r,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=r,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Pr(e),this.fast_=new Pr(t),this.defaultTTFB_=s,this.ttfb_=new Pr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new Pr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new Pr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new Pr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let r=8*t,s=e/1e3,n=r/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,r=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(r,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},m_={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},ST={};function kR(i,e,t,r,s,n){let a=i.audioCodec?i.audioGroups:null,o=n==null?void 0:n.audioCodec,l=n==null?void 0:n.channels,d=l?parseInt(l):o?1/0:2,u=null;if(a!=null&&a.length)try{a.length===1&&a[0]?u=e.groups[a[0]].channels:u=a.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(m=>{c[m]=(c[m]||0)+f.channels[m]})}return c},{2:0})}catch{return!0}return i.videoCodec!==void 0&&(i.width>1920&&i.height>1088||i.height>1920&&i.width>1088||i.frameRate>Math.max(r,30)||i.videoRange!=="SDR"&&i.videoRange!==t||i.bitrate>Math.max(s,8e6))||!!u&&q(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function IR(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(m_);let n={width:i.width,height:i.height,bitrate:Math.ceil(Math.max(i.bitrate*.9,i.averageBitrate)),framerate:i.frameRate||30},a=i.videoRange;a!=="SDR"&&(n.transferFunction=a.toLowerCase());let o=r.split(",").map(l=>({type:"media-source",video:ft(ft({},n),{},{contentType:co(l,"video")})}));return s&&i.audioGroups&&i.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);q(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:co(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=RR(l);return ST[d]||(ST[d]=t.decodingInfo(l))})).then(l=>({supported:!l.some(d=>!d.supported),configurations:o,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:o,decodingInfoResults:[],error:l}))}function RR(i){let{audio:e,video:t}=i,r=t||e;if(r){let s=r.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${s}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${s}`}return""}function wR(){if(typeof matchMedia=="function"){let i=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(i.media!==e.media)return i.matches===!0}return!1}function CR(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||Xu.slice(0),t=e.preferHDR!==void 0?e.preferHDR:wR(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function DR(i,e,t,r,s){let n=Object.keys(i),a=r==null?void 0:r.channels,o=r==null?void 0:r.audioCodec,l=a&&parseInt(a)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,m=0,p=[],{preferHDR:g,allowedVideoRanges:E}=CR(e,s);for(let A=n.length;A--;){let L=i[n[A]];d=L.channels[2]>0,c=Math.min(c,L.minHeight),h=Math.min(h,L.minFramerate),f=Math.min(f,L.minBitrate);let x=E.filter(w=>L.videoRanges[w]>0);x.length>0&&(u=!0,p=x)}c=q(c)?c:0,h=q(h)?h:0;let T=Math.max(1080,c),y=Math.max(30,h);return f=q(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((A,L)=>{let x=i[L];if(L===A)return A;if(x.minBitrate>t)return dr(L,`min bitrate of ${x.minBitrate} > current estimate of ${t}`),A;if(!x.hasDefaultAudio)return dr(L,"no renditions with default or auto-select sound found"),A;if(o&&L.indexOf(o.substring(0,4))%5!==0)return dr(L,`audio codec preference "${o}" not found`),A;if(a&&!l){if(!x.channels[a])return dr(L,`no renditions with ${a} channel sound found (channels options: ${Object.keys(x.channels)})`),A}else if((!o||l)&&d&&x.channels[2]===0)return dr(L,"no renditions with stereo sound found"),A;return x.minHeight>T?(dr(L,`min resolution of ${x.minHeight} > maximum of ${T}`),A):x.minFramerate>y?(dr(L,`min framerate of ${x.minFramerate} > maximum of ${y}`),A):p.some(w=>x.videoRanges[w]>0)?x.maxScore<m?(dr(L,`max score of ${x.maxScore} < selected max of ${m}`),A):A&&(zu(L)>=zu(A)||x.fragmentError>i[A].fragmentError)?A:(m=x.maxScore,L):(dr(L,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),A)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function dr(i,e){R.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function MR(i){return i.reduce((e,t)=>{let r=e.groups[t.groupId];r||(r=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),r.tracks.push(t);let s=t.channels||"2";return r.channels[s]=(r.channels[s]||0)+1,r.hasDefault=r.hasDefault||t.default,r.hasAutoSelect=r.hasAutoSelect||t.autoselect,r.hasDefault&&(e.hasDefaultAudio=!0),r.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function PR(i,e,t,r){return i.slice(t,r+1).reduce((s,n)=>{if(!n.codecSet)return s;let a=n.audioGroups,o=s[n.codecSet];o||(s[n.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!a,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,n.bitrate);let l=Math.min(n.height,n.width);return o.minHeight=Math.min(o.minHeight,l),o.minFramerate=Math.min(o.minFramerate,n.frameRate),o.maxScore=Math.max(o.maxScore,n.score),o.fragmentError+=n.fragmentError,o.videoRanges[n.videoRange]=(o.videoRanges[n.videoRange]||0)+1,a&&a.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(o.hasDefaultAudio=o.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{o.channels[c]=(o.channels[c]||0)+u.channels[c]}))}),s},{})}function ji(i,e,t){if("attrs"in i){let r=e.indexOf(i);if(r!==-1)return r}for(let r=0;r<e.length;r++){let s=e[r];if(Wn(i,s,t))return r}return-1}function Wn(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,characteristics:o,default:l}=i,d=i.forced;return(r===void 0||e.groupId===r)&&(s===void 0||e.name===s)&&(n===void 0||e.lang===n)&&(n===void 0||e.assocLang===a)&&(l===void 0||e.default===l)&&(d===void 0||e.forced===d)&&(o===void 0||OR(o,e.characteristics))&&(t===void 0||t(i,e))}function OR(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function Un(i,e){let{audioCodec:t,channels:r}=i;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(r===void 0||r===(e.channels||"2"))}function NR(i,e,t,r,s){let n=e[r],o=e.reduce((h,f,m)=>{let p=f.uri;return(h[p]||(h[p]=[])).push(m),h},{})[n.uri];o.length>1&&(r=Math.max.apply(Math,o));let l=n.videoRange,d=n.frameRate,u=n.codecSet.substring(0,4),c=xT(e,r,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1});return c>-1?c:xT(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return ji(i,m,s)>-1})}function xT(i,e,t){for(let r=e;r;r--)if(t(i[r]))return r;for(let r=e+1;r<i.length;r++)if(t(i[r]))return r;return-1}var Qp=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{let{fragCurrent:t,partCurrent:r,hls:s}=this,{autoLevelEnabled:n,media:a}=s;if(!t||!a)return;let o=performance.now(),l=r?r.stats:t.stats,d=r?r.duration:t.duration,u=o-l.loading.start,c=s.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n||a.paused||!a.playbackRate||!a.readyState)return;let h=s.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),m=Math.abs(a.playbackRate);if(u<=Math.max(f,1e3*(d/(m*2))))return;let p=h.len/m,g=l.loading.first?l.loading.first-l.loading.start:-1,E=l.loaded&&g>-1,T=this.getBwEstimate(),y=s.levels,S=y[t.level],A=l.total||Math.max(l.loaded,Math.round(d*S.averageBitrate/8)),L=E?u-g:u;L<1&&E&&(L=Math.min(u,l.loaded*8/T));let x=E?l.loaded*1e3/L:0,w=x?(A-l.loaded)/x:A*8/T+f/1e3;if(w<=p)return;let P=x?x*8:T,k=Number.POSITIVE_INFINITY,D;for(D=t.level-1;D>c;D--){let F=y[D].maxBitrate;if(k=this.getTimeToLoadFrag(f/1e3,P,d*F,!y[D].details),k<p)break}if(k>=w||k>d*10)return;s.nextLoadLevel=s.nextAutoLevel=D,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let U=y[D].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>U&&this.resetEstimator(U),this.clearTimer(),R.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
1578
1578
  Time to underbuffer: ${p.toFixed(3)} s
1579
1579
  Estimated load time for current fragment: ${w.toFixed(3)} s
1580
1580
  Estimated load time for down switch fragment: ${k.toFixed(3)} s
1581
1581
  TTFB estimate: ${g|0} ms
1582
1582
  Current BW estimate: ${q(T)?T|0:"Unknown"} bps
1583
1583
  New BW estimate: ${this.getBwEstimate()|0} bps
1584
- Switching to level ${D} @ ${U|0} bps`),s.trigger(v.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(I.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new zp(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(v.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let r=t.frag;if(!this.ignoreFragment(r)){if(!r.bitrateTest){var s;this.fragCurrent=r,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case C.BUFFER_ADD_CODEC_ERROR:case C.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case C.FRAG_LOAD_TIMEOUT:{let r=t.frag,{fragCurrent:s,partCurrent:n}=this;if(r&&s&&r.sn===s.sn&&r.level===s.level){let a=performance.now(),o=n?n.stats:r.stats,l=a-o.loading.start,d=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,r,s){let n=e+r/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let r=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;q(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:r}){let s=r?r.stats:t.stats;if(t.type===J.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=r?r.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:r,id:t.type};this.onFragBuffered(v.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:r,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:r.stats;if(n.aborted||this.ignoreFragment(r))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==J.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,r=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(r,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return I.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,r=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!r||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=r&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,n)&&a[e].loadError<=a[n].loadError)return e}return this._nextAutoLevel=n,this.nextAutoLevelKey=this.getAutoLevelKey(),n}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:r}=this,{maxAutoLevel:s,config:n,minAutoLevel:a}=r,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=n.abrBandWidthFactor,c=n.abrBandWidthUpFactor;if(d){let g=this.findBestLevel(l,a,s,d,0,u,c);if(g>=0)return g}let h=o?Math.min(o,n.maxStarvationDelay):n.maxStarvationDelay;if(!d){let g=this.bitrateTestDelay;g&&(h=(o?Math.min(o,n.maxLoadingDelay):n.maxLoadingDelay)-g,I.info(`[abr] bitrate test took ${Math.round(1e3*g)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1)}let f=this.findBestLevel(l,a,s,d,h,u,c);if(I.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let m=r.levels[a],p=r.levels[r.loadLevel];return(m==null?void 0:m.bitrate)<(p==null?void 0:p.bitrate)?a:r.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/r}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,r,s,n,a,o){var l;let d=s+n,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:m,allAudioTracks:p,loadLevel:g,config:E}=this.hls;if(m.length===1)return 0;let T=m[c],y=!!(T!=null&&(l=T.details)!=null&&l.live),S=g===-1||u===-1,A,L="SDR",x=(T==null?void 0:T.frameRate)||0,{audioPreference:w,videoPreference:P}=E,k=this.audioTracksByGroup||(this.audioTracksByGroup=CR(p));if(S){if(this.firstSelection!==-1)return this.firstSelection;let j=this.codecTiers||(this.codecTiers=DR(m,k,t,r)),K=wR(j,L,e,w,P),{codecSet:se,videoRanges:oe,minFramerate:W,minBitrate:G,preferHDR:ne}=K;A=se,L=ne?oe[oe.length-1]:oe[0],x=W,e=Math.max(e,G),I.log(`[abr] picked start tier ${JSON.stringify(K)}`)}else A=T==null?void 0:T.codecSet,L=T==null?void 0:T.videoRange;let D=f?f.duration:h?h.duration:0,U=this.bwEstimator.getEstimateTTFB()/1e3,F=[];for(let j=r;j>=t;j--){var z;let K=m[j],se=j>c;if(!K)continue;if(E.useMediaCapabilities&&!K.supportedResult&&!K.supportedPromise){let Pe=navigator.mediaCapabilities;typeof(Pe==null?void 0:Pe.decodingInfo)=="function"&&xR(K,k,L,x,e,w)?(K.supportedPromise=LR(K,k,Pe),K.supportedPromise.then(Be=>{if(!this.hls)return;K.supportedResult=Be;let Ve=this.hls.levels,Lt=Ve.indexOf(K);Be.error?I.warn(`[abr] MediaCapabilities decodingInfo error: "${Be.error}" for level ${Lt} ${JSON.stringify(Be)}`):Be.supported||(I.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${Lt} ${JSON.stringify(Be)}`),Lt>-1&&Ve.length>1&&(I.log(`[abr] Removing unsupported level ${Lt}`),this.hls.removeLevel(Lt)))})):K.supportedResult=h_}if(A&&K.codecSet!==A||L&&K.videoRange!==L||se&&x>K.frameRate||!se&&x>0&&x<K.frameRate||K.supportedResult&&!((z=K.supportedResult.decodingInfoResults)!=null&&z[0].smooth)){F.push(j);continue}let oe=K.details,W=(f?oe==null?void 0:oe.partTarget:oe==null?void 0:oe.averagetargetduration)||D,G;se?G=o*e:G=a*e;let ne=D&&s>=D*2&&n===0?m[j].averageBitrate:m[j].maxBitrate,Q=this.getTimeToLoadFrag(U,G,ne*W,oe===void 0);if(G>=ne&&(j===u||K.loadError===0&&K.fragmentError===0)&&(Q<=U||!q(Q)||y&&!this.bitrateTestDelay||Q<d)){let Pe=this.forcedAutoLevel;return j!==g&&(Pe===-1||Pe!==g)&&(F.length&&I.trace(`[abr] Skipped level(s) ${F.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[F[0]].codecs}" ${m[F[0]].videoRange}; not compatible with "${T.codecs}" ${L}`),I.info(`[abr] switch candidate:${c}->${j} adjustedbw(${Math.round(G)})-bitrate=${Math.round(G-ne)} ttfb:${U.toFixed(1)} avgDuration:${W.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${Q.toFixed(1)} firstSelection:${S} codecSet:${A} videoRange:${L} hls.loadLevel:${g}`)),S&&(this.firstSelection=j),j}}return-1}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:r}=this.hls,s=Math.min(Math.max(e,r),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},Xp=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},ht={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Qp=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.BUFFER_APPENDED,this.onBufferAppended,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.BUFFER_APPENDED,this.onBufferAppended,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let r=this.activePartLists[t];if(r)for(let s=r.length;s--;){let n=r[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:r}=this,s=Object.keys(r);for(let n=s.length;n--;){let a=r[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,r,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===r&&this.removeFragment(o.body);return}let l=o.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(o.body),u})})}detectPartialFragments(e){let t=this.timeRanges,{frag:r,part:s}=e;if(!t||r.sn==="initSegment")return;let n=Fn(r),a=this.fragments[n];if(!a||a.buffered&&r.gap)return;let o=!r.relurl;Object.keys(t).forEach(l=>{let d=r.elementaryStreams[l];if(!d)return;let u=t[l],c=o||d.partial===!0;a.range[l]=this.getBufferedTimes(r,s,c,u)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,(a.body.endList=r.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),wu(a)||this.removeParts(r.sn-1,r.type)):this.removeFragment(a.body)}removeParts(e,t){let r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let r=Fn(e),s=this.fragments[r];!s&&t&&(s=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,r,s){let n={time:[],partial:r},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let u=0;u<s.length;u++){let c=s.start(u)-this.bufferPadding,h=s.end(u)+this.bufferPadding;if(d>=c&&l<=h){n.time.push({startPTS:Math.max(a,s.start(u)),endPTS:Math.min(o,s.end(u))});break}else if(a<h&&o>c){let f=Math.max(a,s.start(u)),m=Math.min(o,s.end(u));m>f&&(n.partial=!0,n.time.push({startPTS:f,endPTS:m}))}else if(o<=c)break}return n}getPartialFragment(e){let t=null,r,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&wu(u)&&(s=u.body.start-o,n=u.body.end+o,e>=s&&e<=n&&(r=Math.min(e-s,n-e),a<=r&&(t=u.body,a=r)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||wu(t))}getState(e){let t=Fn(e),r=this.fragments[t];return r?r.buffered?wu(r)?ht.PARTIAL:ht.OK:ht.APPENDING:ht.NOT_LOADED}isTimeBuffered(e,t,r){let s,n;for(let a=0;a<r.length;a++){if(s=r.start(a)-this.bufferPadding,n=r.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:r,part:s}=t;if(r.sn==="initSegment"||r.bitrateTest)return;let n=s?null:t,a=Fn(r);this.fragments[a]={body:r,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:r,part:s,timeRanges:n}=t;if(r.sn==="initSegment")return;let a=r.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=Fn(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,r,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==r||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=Fn(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let r=this.activePartLists[e.type];if(r){let s=e.sn;this.activePartLists[e.type]=r.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function wu(i){var e,t,r;return i.buffered&&(i.body.gap||((e=i.range.video)==null?void 0:e.partial)||((t=i.range.audio)==null?void 0:t.partial)||((r=i.range.audiovideo)==null?void 0:r.partial))}function Fn(i){return`${i.type}_${i.level}_${i.sn}`}var OR={length:0,start:()=>0,end:()=>0},Ne=class i{static isBuffered(e,t){try{if(e){let r=i.getBuffered(e);for(let s=0;s<r.length;s++)if(t>=r.start(s)&&t<=r.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,r){try{if(e){let s=i.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,r)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,r){t=Math.max(0,t),e.sort(function(d,u){let c=d.start-u.start;return c||u.end-d.end});let s=[];if(r)for(let d=0;d<e.length;d++){let u=s.length;if(u){let c=s[u-1].end;e[d].start-c<r?e[d].end>c&&(s[u-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let u=s[d].start,c=s[d].end;if(t+r>=u&&t<c)o=u,l=c,n=l-t;else if(t+r<u){a=u;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return I.log("failed to get media.buffered",t),OR}}},fo=class{constructor(e,t,r,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=Cu(),this.buffering={audio:Cu(),video:Cu(),audiovideo:Cu()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function Cu(){return{start:0,executeStart:0,executeEnd:0,end:0}}function Bu(i,e){for(let r=0,s=i.length;r<s;r++){var t;if(((t=i[r])==null?void 0:t.cc)===e)return i[r]}return null}function NR(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function UR(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){I.log("No fragments to align");return}let s=Bu(t,r[0].cc);if(!s||s&&!s.startPTS){I.log("No frag in previous level to align on");return}return s}function ST(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function f_(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)ST(t[r],i);e.fragmentHint&&ST(e.fragmentHint,i),e.alignedSliding=!0}function FR(i,e,t){e&&(BR(i,t,e),!t.alignedSliding&&e&&tc(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&l_(e,t))}function BR(i,e,t){if(NR(i,t,e)){let r=UR(t,e);r&&q(r.start)&&(I.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),f_(r.start,e))}}function tc(i,e){if(!i.hasProgramDateTime||!e.hasProgramDateTime)return;let t=i.fragments,r=e.fragments;if(!t.length||!r.length)return;let s,n,a=Math.min(e.endCC,i.endCC);e.startCC<a&&i.startCC<a&&(s=Bu(r,a),n=Bu(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=Bu(t,s.cc)||t[Math.floor(t.length/2)]);let o=s.programDateTime,l=n.programDateTime;if(!o||!l)return;let d=(l-o)/1e3-(n.start-s.start);f_(d,i)}var xT=Math.pow(2,17),Zp=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let r=e.url;if(!r)return Promise.reject(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(kT(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=LT(e),c=TT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:xT};e.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d);let E=f.data;p.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(E.slice(0,16)),E=E.slice(16)),o({frag:e,part:null,payload:E,networkDetails:g})},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ft({url:r,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))},onProgress:(f,m,p,g)=>{t&&t({frag:e,part:null,payload:p,networkDetails:g})}})})}loadPart(e,t,r){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(kT(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=LT(e,t),c=TT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:xT};t.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let E={frag:e,part:t,payload:f.data,networkDetails:g};r(E),o(E)},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ft({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))}})})}updateStatsFromPart(e,t){let r=e.stats,s=t.stats,n=s.total;if(r.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(r.loaded/n),l),c=(l-d)*Math.round(r.loaded/d);r.total=r.loaded+c}else r.total=Math.max(r.loaded,r.total);let a=r.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function LT(i,e=null){let t=e||i,r={frag:i,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(q(s)&&q(n)){var a;let o=s,l=n;if(i.sn==="initSegment"&&((a=i.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(r.resetIV=!0,o=s-16)}r.rangeStart=o,r.rangeEnd=l}return r}function kT(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:ie.MEDIA_ERROR,details:C.FRAG_GAP,fatal:!1,frag:i,error:t,networkDetails:null};return e&&(r.part=e),(e||i).stats.aborted=!0,new bi(r)}var bi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},Jp=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},eg=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function $R(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?Ls(i,0,e-t):i}var tg=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),r=new Uint32Array(4);for(let s=0;s<4;s++)r[s]=t.getUint32(s*4);return r}initTable(){let e=this.sBox,t=this.invSBox,r=this.subMix,s=r[0],n=r[1],a=r[2],o=r[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),m=0,p=0,g=0;for(g=0;g<256;g++)g<128?f[g]=g<<1:f[g]=g<<1^283;for(g=0;g<256;g++){let E=p^p<<1^p<<2^p<<3^p<<4;E=E>>>8^E&255^99,e[m]=E,t[E]=m;let T=f[m],y=f[T],S=f[y],A=f[E]*257^E*16843008;s[m]=A<<24|A>>>8,n[m]=A<<16|A>>>16,a[m]=A<<8|A>>>24,o[m]=A,A=S*16843009^y*65537^T*257^m*16843008,d[E]=A<<24|A>>>8,u[E]=A<<16|A>>>16,c[E]=A<<8|A>>>24,h[E]=A,m?(m=T^f[f[f[S^T]]],p^=f[f[p]]):m=p=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),r=!0,s=0;for(;s<t.length&&r;)r=t[s]===this.key[s],s++;if(r)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),u=this.invKeySchedule=new Uint32Array(a),c=this.sBox,h=this.rcon,f=this.invSubMix,m=f[0],p=f[1],g=f[2],E=f[3],T,y;for(o=0;o<a;o++){if(o<n){T=d[o]=t[o];continue}y=T,o%n===0?(y=y<<8|y>>>24,y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255],y^=h[o/n|0]<<24):n>6&&o%n===4&&(y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255]),d[o]=T=(d[o-n]^y)>>>0}for(l=0;l<a;l++)o=a-l,l&3?y=d[o]:y=d[o-4],l<4||o<=4?u[l]=y:u[l]=m[c[y>>>24]]^p[c[y>>>16&255]]^g[c[y>>>8&255]]^E[c[y&255]],u[l]=u[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,r){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],u=o[2],c=o[3],h=this.uint8ArrayToUint32Array_(r),f=h[0],m=h[1],p=h[2],g=h[3],E=new Int32Array(e),T=new Int32Array(E.length),y,S,A,L,x,w,P,k,D,U,F,z,j,K,se=this.networkToHostOrderSwap;for(;t<E.length;){for(D=se(E[t]),U=se(E[t+1]),F=se(E[t+2]),z=se(E[t+3]),x=D^n[0],w=z^n[1],P=F^n[2],k=U^n[3],j=4,K=1;K<s;K++)y=l[x>>>24]^d[w>>16&255]^u[P>>8&255]^c[k&255]^n[j],S=l[w>>>24]^d[P>>16&255]^u[k>>8&255]^c[x&255]^n[j+1],A=l[P>>>24]^d[k>>16&255]^u[x>>8&255]^c[w&255]^n[j+2],L=l[k>>>24]^d[x>>16&255]^u[w>>8&255]^c[P&255]^n[j+3],x=y,w=S,P=A,k=L,j=j+4;y=a[x>>>24]<<24^a[w>>16&255]<<16^a[P>>8&255]<<8^a[k&255]^n[j],S=a[w>>>24]<<24^a[P>>16&255]<<16^a[k>>8&255]<<8^a[x&255]^n[j+1],A=a[P>>>24]<<24^a[k>>16&255]<<16^a[x>>8&255]<<8^a[w&255]^n[j+2],L=a[k>>>24]<<24^a[x>>16&255]<<16^a[w>>8&255]<<8^a[P&255]^n[j+3],T[t]=se(y^f),T[t+1]=se(L^m),T[t+2]=se(A^p),T[t+3]=se(S^g),f=D,m=U,p=F,g=z,t=t+4}return T.buffer}},HR=16,mo=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let r=self.crypto;r&&(this.subtle=r.subtle||r.webkitSubtle)}catch{}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let r=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?$R(r):r}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,r){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,r);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)}softwareDecrypt(e,t,r){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Zt(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(r=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new tg),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=Ls(o,-16).buffer,d||null}webCryptoDecrypt(e,t,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,r));this.key=t,this.fastAesKey=new eg(this.subtle,t)}return this.fastAesKey.expandKey().then(s=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Jp(this.subtle,new Uint8Array(r)).decrypt(e.buffer,s)):Promise.reject(new Error("web crypto not initialized"))).catch(s=>(I.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${s.name}: ${s.message}`),this.onWebCryptoError(e,t,r)))}onWebCryptoError(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,r=e.length-e.length%HR;return r!==e.length&&(t=Ls(e,0,r),this.remainderData=Ls(e,r)),t}logOnce(e){this.logEnabled&&(I.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},GR={toString:function(i){let e="",t=i.length;for(let r=0;r<t;r++)e+=`[${i.start(r).toFixed(3)}-${i.end(r).toFixed(3)}]`;return e}},N={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},po=class extends Xp{constructor(e,t,r,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=N.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=I.log.bind(I,`${s}:`),this.warn=I.warn.bind(I,`${s}:`),this.hls=e,this.fragmentLoader=new Zp(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new mo(e.config),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=N.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let r=t.partList;if(r!=null&&r.length){let n=r[r.length-1];return Ne.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details}}onMediaAttached(e,t){let r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),r.addEventListener("seeking",this.onvseeking),r.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===N.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:r,mediaBuffer:s,state:n}=this,a=r?r.currentTime:0,o=Ne.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${q(a)?a.toFixed(3):a}, state: ${n}`),this.state===N.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,u=t.start+t.duration+l;if(!o.len||u<o.start||d>o.end){let c=a>u;(a<d||c)&&(c&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}r&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null}onHandlerDestroyed(){this.state=N.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,r){this._loadFragForPlayback(e,t,r)}_loadFragForPlayback(e,t,r){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,r,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===N.FRAG_LOADING||!this.fragCurrent&&a===N.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=N.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(v.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(`Frag error: ${(n==null?void 0:n.message)||n}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:r}=this;if(r.getState(e)===ht.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength),l=this.backtrackFragment;((l?e.sn-l.sn:0)===1||this.reduceMaxBufferLength(o))&&r.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===ht.PARTIAL&&r.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,r=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:r};this.hls.trigger(v.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(r=>{if(!r||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return r}).then(r=>{let{hls:s}=this,{payload:n}=r,a=e.decryptdata;if(n&&n.byteLength>0&&a!=null&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(v.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),r.payload=l,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(r=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(r),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let r=e.frag.stats;this.state=N.IDLE,e.frag.data=new Uint8Array(e.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===J.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?GR.toString(Ne.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==J.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=N.IDLE;return}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0)}this.state=N.IDLE,o&&(!this.loadedmetadata&&e.type==J.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:r,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new fo(r.level,r.sn,r.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,r=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=N.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(v.KEY_LOADED,u),this.state===N.KEY_LOADING&&(this.state=N.IDLE),u}),this.hls.trigger(v.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),r=Math.max(e.start,r||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=a.partList;if(u&&s){r>e.end&&a.fragmentHint&&(e=a.fragmentHint);let c=this.getNextPart(u,e,r);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=N.FRAG_LOADING;let f;return o?f=o.then(m=>!m||this.fragContextChanged(m.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(m=>this.handleFragLoadError(m)):f=this.doFragPartsLoad(e,h,t,s).catch(m=>this.handleFragLoadError(m)),this.hls.trigger(v.FRAG_LOADING,{frag:e,part:h,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(u,r))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),q(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=N.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,s)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([u])=>(!l&&u&&s&&s(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(v.FRAG_LOADING,{frag:e,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,r,s){return new Promise((n,a)=>{var o;let l=[],d=(o=r.details)==null?void 0:o.partList,u=c=>{this.fragmentLoader.loadPart(e,c,s).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(v.FRAG_LOADED,h);let m=bT(r,e.sn,c.index+1)||d_(d,e.sn,c.index+1);if(m)u(m);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};u(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===C.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(v.ERROR,t)}else this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==N.PARSING){!this.fragCurrent&&this.state!==N.STOPPED&&this.state!==N.ERROR&&(this.state=N.IDLE);return}let{frag:r,part:s,level:n}=t,a=self.performance.now();r.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(r,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:r}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?bT(o,n,a):null,d=l?l.fragment:bR(o,n,r);return d?(r&&r!==d&&(d.stats=r.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,r,s,n){var a;if(!e||this.state!==N.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Zt(o,l)),!((a=d)!=null&&a.length))return;let u={type:e.type,frag:t,part:r,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(v.BUFFER_APPENDING,u),e.dropped&&e.independent&&!r){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!Ne.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=Ne.bufferInfo(t,r,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),r+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let r=this.getLoadPosition();return q(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=Ne.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,r);if(a&&n.nextStart<a.end)return Ne.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,r;return e?r=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):r=t.maxBufferLength,Math.min(r,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,r=e||t.maxBufferLength,s=t.maxMaxBufferLength/2;return s>=r?(t.maxMaxBufferLength=s,this.warn(`Reduce max buffer length to ${s}s`),!0):!1}getAppendedFrag(e,t=J.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,J.MAIN);return r&&"fragment"in r?r.fragment:r}getNextFragment(e,t){let r=t.fragments,s=r.length;if(!s)return null;let{config:n}=this,a=r[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a)&&(o=this.getInitialLiveFragment(t,r),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=r[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let r=this.fragmentTracker.getState(e);return(r===ht.OK||r===ht.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,r,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&r.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,r.nextStart,s);if(l!==null&&r.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,r){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&r<d.start)break;let u=d.loaded;u?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=u}return s}loadedEndOfParts(e,t){let r=e[e.length-1];return r&&t>r.start&&r.loaded}getInitialLiveFragment(e,t){let r=this.fragPrevious,s=null;if(r){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${r.programDateTime}`),s=TR(t,r.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=r.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];r.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=SR(t,r.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,r){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=r,{fragmentHint:l}=r,{maxFragLookUpTolerance:d}=s,u=r.partList,c=!!(s.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=ec(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-r.startSN,m=this.fragmentTracker.getState(h);if((m===ht.OK||m===ht.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!c||u[0].fragment.sn>h.sn)&&n&&h.level===n.level){let g=a[f+1];h.sn<o&&this.fragmentTracker.getState(g)!==ht.OK?h=g:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:r}=this;if(!r)return;let s=this.hls.liveSyncPosition,n=r.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&r.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&r.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),r.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),r.currentTime=s))}}alignPlaylists(e,t,r){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let n=e.fragments[0].start,a=!t,o=e.alignedSliding&&q(n);if(a||!o&&!n){let{fragPrevious:l}=this;FR(l,r,e);let d=e.fragments[0].start;return this.log(`Live playlist sliding: ${d.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${s}`),d}return n}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let r=this.startPosition;if(r<t&&(r=-1),r===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&q(n)?(r=t+n,n<0&&(r+=e.totalduration),r=Math.min(Math.max(t,r),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${r}`),this.startPosition=r):e.live?r=this.hls.liveSyncPosition||t:this.startPosition=r=0,this.lastCurrentTime=r}this.nextLoadPosition=r}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==N.FRAG_LOADING_WAITING_RETRY)&&(this.state=N.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let r=t.frag;if(!r||r.type!==e||!this.levels)return;if(this.fragContextChanged(r)){var s;this.warn(`Frag load error must match current frag to retry ${r.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===C.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(r,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===ct.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=Yg(d,l);this.warn(`Fragment ${r.sn} of ${e} ${r.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=N.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ct.RemoveAlternatePermanently&&(a.resolved=!0);else{I.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ct.SendAlternateToPenaltyBox?this.state=N.WAITING_LEVEL:this.state=N.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===N.PARSING||this.state===N.PARSED){let t=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,t),s=r&&r.len>.5;s&&this.reduceMaxBufferLength(r.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===J.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==N.STOPPED&&(this.state=N.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=Ne.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===N.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=N.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,r,s){var n;let a=r.details;if(!a){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=s?0:o_(a,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(v.LEVEL_PTS_UPDATED,{details:a,level:r,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0}return l},!1)&&((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(r.fragmentError===0&&(r.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${r.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=N.PARSED,this.hls.trigger(v.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}},ic=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,r;if(e.length)e.length===1?r=e[0]:r=WR(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function WR(i,e){let t=new Uint8Array(e),r=0;for(let s=0;s<i.length;s++){let n=i[s];t.set(n,r),r+=n.length}return t}function KR(){return typeof __HLS_WORKER_BUNDLE__=="function"}function VR(){let i=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(i);return{worker:new self.Worker(e),objectURL:e}}function qR(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function zi(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var go=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,r,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,r){}demux(e,t){this.cachedData&&(e=Zt(this.cachedData,e),this.cachedData=null);let r=lo(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?qg(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&q(l))&&(this.basePTS=YR(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),r&&r.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let u=this.appendFrame(a,e,s);u?(this.frameIndex++,this.lastPTS=u.sample.pts,s+=u.length,n=s):s=d}else kI(e,s)?(r=lo(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=Ls(e,n);this.cachedData?this.cachedData=Zt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:zi(),id3Track:o,textTrack:zi()}}demuxSampleAes(e,t,r){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:zi(),id3Track:this._id3Track,textTrack:zi()}}destroy(){}},YR=(i,e,t)=>{if(q(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function zR(i,e,t,r){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=r,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,I.log(`manifest codec:${r}, ADTS type:${s}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(s=5,o=new Array(4),n=c-3):(s=2,o=new Array(2),n=c):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=c):(s=5,o=new Array(4),r&&(r.indexOf("mp4a.40.29")!==-1||r.indexOf("mp4a.40.5")!==-1)||!r&&c>=6?n=c-3:((r&&r.indexOf("mp4a.40.2")!==-1&&(c>=6&&a===1||/vivaldi/i.test(l))||!r&&a===1)&&(s=2,o=new Array(2)),n=c)),o[0]=s<<3,o[0]|=(c&14)>>1,o[1]|=(c&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=8,o[3]=0),{config:o,samplerate:u[c],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function m_(i,e){return i[e]===255&&(i[e+1]&246)===240}function p_(i,e){return i[e+1]&1?7:9}function zg(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function jR(i,e){return e+5<i.length}function rc(i,e){return e+1<i.length&&m_(i,e)}function XR(i,e){return jR(i,e)&&m_(i,e)&&zg(i,e)<=i.length-e}function QR(i,e){if(rc(i,e)){let t=p_(i,e);if(e+t>=i.length)return!1;let r=zg(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||rc(i,s)}return!1}function g_(i,e,t,r,s){if(!i.samplerate){let n=zR(e,t,r,s);if(!n)return;i.config=n.config,i.samplerate=n.samplerate,i.channelCount=n.channelCount,i.codec=n.codec,i.manifestCodec=n.manifestCodec,I.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function v_(i){return 1024*9e4/i}function ZR(i,e){let t=p_(i,e);if(e+t<=i.length){let r=zg(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function E_(i,e,t,r,s){let n=v_(i.samplerate),a=r+s*n,o=ZR(e,t),l;if(o){let{frameLength:c,headerLength:h}=o,f=h+c,m=Math.max(0,t+f-e.length);m?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let p={unit:l,pts:a};return m||i.samples.push(p),{sample:p,length:f,missing:m}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var Du=null,JR=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],ew=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],tw=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],iw=[0,1,1,4];function b_(i,e,t,r,s){if(t+24>e.length)return;let n=y_(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=r+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return i.config=[],i.channelCount=n.channelCount,i.samplerate=n.sampleRate,i.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function y_(i,e){let t=i[e+1]>>3&3,r=i[e+1]>>1&3,s=i[e+2]>>4&15,n=i[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=i[e+2]>>1&1,o=i[e+3]>>6,l=t===3?3-r:r===3?3:4,d=JR[l*14+s-1]*1e3,c=ew[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=tw[t][r],m=iw[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(Du===null){let y=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Du=y?parseInt(y[1]):0}return!!Du&&Du<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function jg(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function T_(i,e){return e+1<i.length&&jg(i,e)}function rw(i,e){return jg(i,e)&&4<=i.length-e}function __(i,e){if(e+1<i.length&&jg(i,e)){let r=y_(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||T_(i,n)}return!1}var ig=class extends go{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=lo(e,0),r=(t==null?void 0:t.length)||0;if(__(e,r))return!1;for(let s=e.length;r<s;r++)if(QR(e,r))return I.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return XR(e,t)}appendFrame(e,t,r){g_(e,this.observer,t,r,e.manifestCodec);let s=E_(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},sw=/\/emsg[-/]ID3/i,rg=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,r,s){let n=this.videoTrack=zi("video",1),a=this.audioTrack=zi("audio",1),o=this.txtTrack=zi("text",1);if(this.id3Track=zi("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=JT(e);if(l.video){let{id:d,timescale:u,codec:c}=l.video;n.id=d,n.timescale=o.timescale=u,n.codec=c}if(l.audio){let{id:d,timescale:u,codec:c}=l.audio;a.id=d,a.timescale=u,a.codec=c}o.id=XT.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return NI(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Zt(this.remainderData,e));let o=KI(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=tT(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return r.samples=tT(e,t),{videoTrack:t,audioTrack:zi(),id3Track:s,textTrack:zi()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=ae(e.samples,["emsg"]);s&&s.forEach(n=>{let a=YI(n);if(sw.test(a.schemeIdUri)){let o=q(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;r.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:yi.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},A_=(i,e)=>{let t=0,r=5;e+=r;let s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);for(;r>0;){a[0]=i[e];let o=Math.min(r,8),l=8-o;n[0]=4278190080>>>24+l<<l,s[0]=(a[0]&n[0])>>l,t=t?t<<o|s[0]:s[0],e+=1,r-=o}return t},sg=class extends go{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,r){let s=S_(e,t,r,this.basePTS,this.frameIndex);if(s!==-1)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;let t=lo(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&qg(t)!==void 0&&A_(e,r)<16}};function S_(i,e,t,r,s){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;let n=e[t+4]>>6;if(n>=3)return-1;let o=[48e3,44100,32e3][n],l=e[t+4]&63,u=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+n]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,p=[2,1,2,3,3,4,4,5][c]+f,g=e[t+5]>>3,E=e[t+5]&7,T=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),y=1536/o*9e4,S=r+s*y,A=e.subarray(t,t+u);return i.config=T,i.channelCount=p,i.samplerate=o,i.samples.push({unit:A,pts:S}),u}var ng=class{constructor(){this.VideoSample=null}createVideoSample(e,t,r,s){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:s,length:0}}getLastNalUnit(e){var t;let r=this.VideoSample,s;if((!r||r.units.length===0)&&(r=e[e.length-1]),(t=r)!=null&&t.units){let n=r.units;s=n[n.length-1]}return s}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let r=t.samples,s=r.length;if(s){let n=r[s-1];e.pts=n.pts,e.dts=n.dts}else{t.dropped++;return}}t.samples.push(e)}e.debug.length&&I.log(e.pts+"/"+e.dts+":"+e.debug)}},sc=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,r=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(r,r+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&I.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?r<<t|this.readBits(t):r}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,r=8,s;for(let n=0;n<e;n++)r!==0&&(s=this.readEG(),r=(t+s+256)%256),t=r===0?t:r}readSPS(){let e=0,t=0,r=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),u=this.readUEG.bind(this),c=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),m=this.skipUEG.bind(this),p=this.skipScalingList.bind(this);l();let g=l();if(d(5),h(3),l(),m(),g===100||g===110||g===122||g===244||g===44||g===83||g===86||g===118||g===128){let L=u();if(L===3&&h(1),m(),m(),h(1),c())for(a=L!==3?8:12,o=0;o<a;o++)c()&&(o<6?p(16):p(64))}m();let E=u();if(E===0)u();else if(E===1)for(h(1),f(),f(),n=u(),o=0;o<n;o++)f();m(),h(1);let T=u(),y=u(),S=d(1);S===0&&h(1),h(1),c()&&(e=u(),t=u(),r=u(),s=u());let A=[1,1];if(c()&&c())switch(l()){case 1:A=[1,1];break;case 2:A=[12,11];break;case 3:A=[10,11];break;case 4:A=[16,11];break;case 5:A=[40,33];break;case 6:A=[24,11];break;case 7:A=[20,11];break;case 8:A=[32,11];break;case 9:A=[80,33];break;case 10:A=[18,11];break;case 11:A=[15,11];break;case 12:A=[64,33];break;case 13:A=[160,99];break;case 14:A=[4,3];break;case 15:A=[3,2];break;case 16:A=[2,1];break;case 255:{A=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((T+1)*16-e*2-t*2),height:(2-S)*(y+1)*16-(S?2:4)*(r+s),pixelRatio:A}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},ag=class extends ng{parseAVCPES(e,t,r,s,n){let a=this.parseAVCNALu(e,r.data),o=this.VideoSample,l,d=!1;r.data=null,o&&a.length&&!e.audFound&&(this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"")),a.forEach(u=>{var c;switch(u.type){case 1:{let p=!1;l=!0;let g=u.data;if(d&&g.length>4){let E=new sc(g).readSliceType();(E===2||E===4||E===7||E===9)&&(p=!0)}if(p){var h;(h=o)!=null&&h.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null)}o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.frame=!0,o.key=p;break}case 5:l=!0,(c=o)!=null&&c.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null),o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.key=!0,o.frame=!0;break;case 6:{l=!0,t_(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new sc(p).readSPS();if(!e.sps||e.width!==E.width||e.height!==E.height||((f=e.pixelRatio)==null?void 0:f[0])!==E.pixelRatio[0]||((m=e.pixelRatio)==null?void 0:m[1])!==E.pixelRatio[1]){e.width=E.width,e.height=E.height,e.pixelRatio=E.pixelRatio,e.sps=[p],e.duration=n;let T=p.subarray(1,4),y="avc1.";for(let S=0;S<3;S++){let A=T[S].toString(16);A.length<2&&(A="0"+A),y+=A}e.codec=y}break}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,o&&this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"");break;case 12:l=!0;break;default:l=!1,o&&(o.debug+="unknown NAL "+u.type+" ");break}o&&l&&o.units.push(u)}),s&&o&&(this.pushAccessUnit(o,e),this.VideoSample=null)}parseAVCNALu(e,t){let r=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,u,c=-1,h=0;for(s===-1&&(c=0,h=t[0]&31,s=0,o=1);o<r;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(d=o-s-1,c>=0){let f={data:t.subarray(c,d),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d>0&&(f.data=Zt(f.data,t.subarray(0,d)),f.state=0))}o<r?(u=t[o]&31,c=o,h=u,s=0):s=-1}else s=0}if(c>=0&&s>=0){let f={data:t.subarray(c,r),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Zt(f.data,t))}return e.naluState=s,a}},og=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new mo(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,r){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,r)})}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length){r();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,r=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)r.set(e.subarray(n,n+16),s);return r}getAvcDecryptedUnit(e,t){let r=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(r.subarray(s,s+16),n);return e}decryptAvcSample(e,t,r,s,n){let a=i_(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,r+1,s)})}decryptAvcSamples(e,t,r,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(r>=n.length);r++){let a=n[r];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,r,s,a),!this.decrypter.isSync()))return}}}},ut=188,lg=class i{constructor(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new ag}static probe(e){let t=i.syncOffset(e);return t>0&&I.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ut*5,t-ut)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ut)if(e[l]===71&&(t-l===ut||e[l+ut]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ut*99,e.length-ut)+1)),n||(n=dg(e,l)===0),n&&o>1&&(a===0&&o>2||l+ut>r))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:XT[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,r,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=i.createTrack("video"),this._audioTrack=i.createTrack("audio",s),this._id3Track=i.createTrack("id3"),this._txtTrack=i.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,r=!1,s=!1){r||(this.sampleAes=null);let n,a=this._videoTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=a.pid,c=a.pesData,h=o.pid,f=l.pid,m=o.pesData,p=l.pesData,g=null,E=this.pmtParsed,T=this._pmtId,y=e.length;if(this.remainderData&&(e=Zt(this.remainderData,e),y=e.length,this.remainderData=null),y<ut&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let S=Math.max(0,i.syncOffset(e));y-=(y-S)%ut,y<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,y,e.buffer.byteLength-y));let A=0;for(let x=S;x<y;x+=ut)if(e[x]===71){let w=!!(e[x+1]&64),P=dg(e,x),k=(e[x+3]&48)>>4,D;if(k>1){if(D=x+5+e[x+4],D===x+ut)continue}else D=x+4;switch(P){case u:w&&(c&&(n=Bn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(D,x+ut)),c.size+=x+ut-D);break;case h:if(w){if(m&&(n=Bn(m)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break;case"ac3":this.parseAC3PES(o,n);break}m={data:[],size:0}}m&&(m.data.push(e.subarray(D,x+ut)),m.size+=x+ut-D);break;case f:w&&(p&&(n=Bn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(D,x+ut)),p.size+=x+ut-D);break;case 0:w&&(D+=e[D]+1),T=this._pmtId=nw(e,D);break;case T:{w&&(D+=e[D]+1);let U=aw(e,D,this.typeSupported,r,this.observer);u=U.videoPid,u>0&&(a.pid=u,a.segmentCodec=U.segmentVideoCodec),h=U.audioPid,h>0&&(o.pid=h,o.segmentCodec=U.segmentAudioCodec),f=U.id3Pid,f>0&&(l.pid=f),g!==null&&!E&&(I.warn(`MPEG-TS PMT found at ${x} after unknown PID '${g}'. Backtracking to sync byte @${S} to parse all TS packets.`),g=null,x=S-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=P;break}}else A++;A>0&&nc(this.observer,new Error(`Found ${A} TS packet/s that do not start with 0x47`)),a.pesData=c,o.pesData=m,l.pesData=p;let L={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(L),L}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:r,id3Track:s,textTrack:n}=e,a=r.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=Bn(a))?(this.videoParser.parseAVCPES(r,n,d,!0,this._duration),r.pesData=null):r.pesData=a,o&&(d=Bn(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break}t.pesData=null}else o!=null&&o.size&&I.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=Bn(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,r){let s=this.demux(e,r,!0,!this.config.progressive),n=this.sampleAes=new og(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(r=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{r(e)}):r(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{r(e)})})}destroy(){this._duration=0}parseAACPES(e,t){let r=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let c=s.missing,h=s.sample.unit.byteLength;if(c===-1)n=Zt(s.sample.unit,n);else{let f=h-c;s.sample.unit.set(n.subarray(0,c),f),e.samples.push(s.sample),r=s.missing}}let a,o;for(a=r,o=n.length;a<o-1&&!rc(n,a);a++);if(a!==r){let c,h=a<o-1;if(h?c=`AAC PES did not start with ADTS header,offset:${a}`:c="No ADTS header found in AAC PES",nc(this.observer,new Error(c),h),!h)return}g_(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=v_(e.samplerate);l=s.sample.pts+c}else{I.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=E_(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!rc(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){I.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(T_(r,a)){let l=b_(e,r,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseAC3PES(e,t){{let r=t.data,s=t.pts;if(s===void 0){I.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=S_(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){I.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=Ze({},t,{type:this._videoTrack?yi.emsg:yi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function dg(i,e){return((i[e+1]&31)<<8)+i[e+2]}function nw(i,e){return(i[e+10]&31)<<8|i[e+11]}function aw(i,e,t,r,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},a=(i[e+1]&15)<<8|i[e+2],o=e+3+a-4,l=(i[e+10]&15)<<8|i[e+11];for(e+=12+l;e<o;){let d=dg(i,e),u=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){Sp("ADTS AAC");break}case 15:n.audioPid===-1&&(n.audioPid=d);break;case 21:n.id3Pid===-1&&(n.id3Pid=d);break;case 219:if(!r){Sp("H.264");break}case 27:n.videoPid===-1&&(n.videoPid=d,n.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?I.log("MPEG audio found, not supported in this browser"):n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="mp3");break;case 193:if(!r){Sp("AC-3");break}case 129:t.ac3?n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="ac3"):I.log("AC-3 audio found, not supported in this browser");break;case 6:if(n.audioPid===-1&&u>0){let c=e+5,h=u;for(;h>2;){switch(i[c]){case 106:t.ac3!==!0?I.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=d,n.segmentAudioCodec="ac3");break}let m=i[c+1]+2;c+=m,h-=m}}break;case 194:case 135:return nc(s,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return nc(s,new Error("Unsupported HEVC in M2TS found")),n}e+=u+5}return n}function nc(i,e,t){I.warn(`parsing error: ${e.message}`),i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function Sp(i){I.log(`${i} with AES-128-CBC encryption found in unencrypted stream`)}function Bn(i){let e=0,t,r,s,n,a,o=i.data;if(!i||i.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Zt(o[0],o[1]),o.splice(1,1);if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(r=(t[4]<<8)+t[5],r&&r>i.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(I.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let u=s+9;if(i.size<=u)return null;i.size-=u;let c=new Uint8Array(i.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let m=t.byteLength;if(u)if(u>m){u-=m;continue}else t=t.subarray(u),m-=u,u=0;c.set(t,e),e+=m}return r&&(r-=s+3),{data:c,pts:n,dts:a,len:r}}return null}var ug=class extends go{resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=lo(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&qg(t)!==void 0&&A_(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(__(e,r))return I.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return rw(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return b_(e,t,r,this.basePTS,this.frameIndex)}},ac=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},Cr=Math.pow(2,32)-1,it=class i{static init(){i.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in i.types)i.types.hasOwnProperty(e)&&(i.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);i.HDLR_TYPES={video:t,audio:r};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);i.STTS=i.STSC=i.STCO=n,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);i.FTYP=i.box(i.types.ftyp,a,l,a,o),i.DINF=i.box(i.types.dinf,i.box(i.types.dref,s))}static box(e,...t){let r=8,s=t.length,n=s;for(;s--;)r+=t[s].byteLength;let a=new Uint8Array(r);for(a[0]=r>>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),s=0,r=8;s<n;s++)a.set(t[s],r),r+=t[s].byteLength;return a}static hdlr(e){return i.box(i.types.hdlr,i.HDLR_TYPES[e])}static mdat(e){return i.box(i.types.mdat,e)}static mdhd(e,t){t*=e;let r=Math.floor(t/(Cr+1)),s=Math.floor(t%(Cr+1));return i.box(i.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return i.box(i.types.mdia,i.mdhd(e.timescale,e.duration),i.hdlr(e.type),i.minf(e))}static mfhd(e){return i.box(i.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?i.box(i.types.minf,i.box(i.types.smhd,i.SMHD),i.DINF,i.stbl(e)):i.box(i.types.minf,i.box(i.types.vmhd,i.VMHD),i.DINF,i.stbl(e))}static moof(e,t,r){return i.box(i.types.moof,i.mfhd(e),i.traf(r,t))}static moov(e){let t=e.length,r=[];for(;t--;)r[t]=i.trak(e[t]);return i.box.apply(null,[i.types.moov,i.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(i.mvex(e)))}static mvex(e){let t=e.length,r=[];for(;t--;)r[t]=i.trex(e[t]);return i.box.apply(null,[i.types.mvex,...r])}static mvhd(e,t){t*=e;let r=Math.floor(t/(Cr+1)),s=Math.floor(t%(Cr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return i.box(i.types.mvhd,n)}static sdtp(e){let t=e.samples||[],r=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,r[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return i.box(i.types.sdtp,r)}static stbl(e){return i.box(i.types.stbl,i.stsd(e),i.box(i.types.stts,i.STTS),i.box(i.types.stsc,i.STSC),i.box(i.types.stsz,i.STSZ),i.box(i.types.stco,i.STCO))}static avc1(e){let t=[],r=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,r.push(a>>>8&255),r.push(a&255),r=r.concat(Array.prototype.slice.call(n));let o=i.box(i.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),l=e.width,d=e.height,u=e.pixelRatio[0],c=e.pixelRatio[1];return i.box(i.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,i.box(i.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),i.box(i.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,c>>24,c>>16&255,c>>8&255,c&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){let t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return i.box(i.types.mp4a,i.audioStsd(e),i.box(i.types.esds,i.esds(e)))}static mp3(e){return i.box(i.types[".mp3"],i.audioStsd(e))}static ac3(e){return i.box(i.types["ac-3"],i.audioStsd(e),i.box(i.types.dac3,e.config))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?i.box(i.types.stsd,i.STSD,i.mp3(e)):e.segmentCodec==="ac3"?i.box(i.types.stsd,i.STSD,i.ac3(e)):i.box(i.types.stsd,i.STSD,i.mp4a(e)):i.box(i.types.stsd,i.STSD,i.avc1(e))}static tkhd(e){let t=e.id,r=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(r/(Cr+1)),o=Math.floor(r%(Cr+1));return i.box(i.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let r=i.sdtp(e),s=e.id,n=Math.floor(t/(Cr+1)),a=Math.floor(t%(Cr+1));return i.box(i.types.traf,i.box(i.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),i.box(i.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),i.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,i.box(i.types.trak,i.tkhd(e),i.mdia(e))}static trex(e){let t=e.id;return i.box(i.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let r=e.samples||[],s=r.length,n=12+16*s,a=new Uint8Array(n),o,l,d,u,c,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=r[o],d=l.duration,u=l.size,c=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&61440,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return i.box(i.types.trun,a)}static initSegment(e){i.types||i.init();let t=i.moov(e);return Zt(i.FTYP,t)}};it.types=void 0;it.HDLR_TYPES=void 0;it.STTS=void 0;it.STSC=void 0;it.STCO=void 0;it.STSZ=void 0;it.VMHD=void 0;it.SMHD=void 0;it.STSD=void 0;it.FTYP=void 0;it.DINF=void 0;var x_=9e4;function Xg(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function ow(i,e,t=1,r=!1){return Xg(i,e,1/t,r)}function so(i,e=!1){return Xg(i,1e3,1/x_,e)}function lw(i,e=1){return Xg(i,x_,1/e)}var dw=10*1e3,IT=1024,uw=1152,cw=1536,$n=null,xp=null,Kn=class{constructor(e,t,r,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,$n===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);$n=a?parseInt(a[1]):0}if(xp===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);xp=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){I.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){I.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){I.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,Qt(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&I.debug("PTS rollover detected"),r}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,T=t.pid>-1,y=t.samples.length,S=e.samples.length>0,A=o&&y>0||y>1;if((!E||S)&&(!T||A)||this.ISGenerated||o){if(this.ISGenerated){var x,w,P,k;let z=this.videoTrackConfig;z&&(t.width!==z.width||t.height!==z.height||((x=t.pixelRatio)==null?void 0:x[0])!==((w=z.pixelRatio)==null?void 0:w[0])||((P=t.pixelRatio)==null?void 0:P[1])!==((k=z.pixelRatio)==null?void 0:k[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let D=this.isVideoContiguous,U=-1,F;if(A&&(U=hw(t.samples),!D&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,U>0){I.warn(`[mp4-remuxer]: Dropped ${U} out of ${y} video samples due to a missing keyframe`);let z=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(U),t.dropped+=U,g+=(t.samples[0].pts-z)/t.inputTimeScale,F=g}else U===-1&&(I.warn(`[mp4-remuxer]: No keyframe found out of ${y} video samples`),m=!1);if(this.ISGenerated){if(S&&A){let z=this.getVideoStartPts(t.samples),K=(Qt(e.samples[0].pts,z)-z)/t.inputTimeScale;p+=Math.max(0,K),g+=Math.max(0,-K)}if(S){if(e.samplerate||(I.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,T||A||l===J.AUDIO?g:void 0),A){let z=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(I.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,D,z)}}else A&&(d=this.remuxVideo(t,g,D,0));d&&(d.firstKeyFrame=U,d.independent=U!==-1,d.firstKeyFramePTS=F)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=L_(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=k_(s,n,this._initPTS))),{audio:u,video:d,initSegment:c,independent:m,text:h,id3:f}}generateIS(e,t,r,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,u=!d||s,c="audio/mp4",h,f,m;if(u&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(c="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):it.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(m=e.inputTimeScale,!d||m!==d.timescale?h=f=n[0].pts-Math.round(m*r):u=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:it.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(m=t.inputTimeScale,!d||m!==d.timescale){let p=this.getVideoStartPts(a),g=Math.round(m*r);f=Math.min(f,Qt(a[0].dts,p)-g),h=Math.min(h,p-g)}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:m},this._initDTS={baseTime:f,timescale:m}):h=m=void 0,{tracks:l,initPTS:h,timescale:m}}remuxVideo(e,t,r,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,m,p=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,E=!1;if(!r||u===null){let W=t*n,G=a[0].pts-Qt(a[0].dts,a[0].pts);$n&&u!==null&&Math.abs(W-G-u)<15e3?r=!0:u=W-G}let T=d.baseTime*n/d.timescale;for(let W=0;W<l;W++){let G=a[W];G.pts=Qt(G.pts-T,u),G.dts=Qt(G.dts-T,u),G.dts<a[W>0?W-1:W].dts&&(E=!0)}E&&a.sort(function(W,G){let ne=W.dts-G.dts,Q=W.pts-G.pts;return ne||Q}),f=a[0].dts,m=a[a.length-1].dts;let y=m-f,S=y?Math.round(y/(l-1)):h||e.inputTimeScale/30;if(r){let W=f-u,G=W>S,ne=W<-1;if((G||ne)&&(G?I.warn(`AVC: ${so(W,!0)} ms (${W}dts) hole between fragments detected at ${t.toFixed(3)}`):I.warn(`AVC: ${so(-W,!0)} ms (${W}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!ne||u>=a[0].pts||$n)){f=u;let Q=a[0].pts-W;if(G)a[0].dts=f,a[0].pts=Q;else for(let pe=0;pe<a.length&&!(a[pe].dts>Q);pe++)a[pe].dts-=W,a[pe].pts-=W;I.log(`Video: Initial PTS/DTS adjusted: ${so(Q,!0)}/${so(f,!0)}, delta: ${so(W,!0)} ms`)}}f=Math.max(0,f);let A=0,L=0,x=f;for(let W=0;W<l;W++){let G=a[W],ne=G.units,Q=ne.length,pe=0;for(let Pe=0;Pe<Q;Pe++)pe+=ne[Pe].data.length;L+=pe,A+=Q,G.length=pe,G.dts<x?(G.dts=x,x+=S/4|0||1):x=G.dts,p=Math.min(G.pts,p),g=Math.max(G.pts,g)}m=a[l-1].dts;let w=L+4*A+8,P;try{P=new Uint8Array(w)}catch(W){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:W,bytes:w,reason:`fail allocating video mdat ${w}`});return}let k=new DataView(P.buffer);k.setUint32(0,w),P.set(it.types.mdat,4);let D=!1,U=Number.POSITIVE_INFINITY,F=Number.POSITIVE_INFINITY,z=Number.NEGATIVE_INFINITY,j=Number.NEGATIVE_INFINITY;for(let W=0;W<l;W++){let G=a[W],ne=G.units,Q=0;for(let Be=0,Ve=ne.length;Be<Ve;Be++){let Lt=ne[Be],vr=Lt.data,rn=Lt.data.byteLength;k.setUint32(c,rn),c+=4,P.set(vr,c),c+=rn,Q+=4+rn}let pe;if(W<l-1)h=a[W+1].dts-G.dts,pe=a[W+1].pts-G.pts;else{let Be=this.config,Ve=W>0?G.dts-a[W-1].dts:S;if(pe=W>0?G.pts-a[W-1].pts:S,Be.stretchShortVideoTrack&&this.nextAudioPts!==null){let Lt=Math.floor(Be.maxBufferHole*n),vr=(s?p+s*n:this.nextAudioPts)-G.pts;vr>Lt?(h=vr-Ve,h<0?h=Ve:D=!0,I.log(`[mp4-remuxer]: It is approximately ${vr/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=Ve}else h=Ve}let Pe=Math.round(G.pts-G.dts);U=Math.min(U,h),z=Math.max(z,h),F=Math.min(F,pe),j=Math.max(j,pe),o.push(new oc(G.key,h,Q,Pe))}if(o.length){if($n){if($n<70){let W=o[0].flags;W.dependsOn=2,W.isNonSync=0}}else if(xp&&j-F<z-U&&S/z<.025&&o[0].cts===0){I.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let W=f;for(let G=0,ne=o.length;G<ne;G++){let Q=W+o[G].duration,pe=W+o[G].cts;if(G<ne-1){let Pe=Q+o[G+1].cts;o[G].duration=Pe-pe}else o[G].duration=G?o[G-1].duration:S;o[G].cts=0,W=Q}}}h=D||!h?S:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let K=it.moof(e.sequenceNumber++,f,Ze({},e,{samples:o})),se="video",oe={data1:K,data2:P,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:se,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,oe}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return uw;case"ac3":return cw;default:return IT}}remuxAudio(e,t,r,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=this.getSamplesPerFrame(e),u=d*l,c=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],m=n!==void 0,p=e.samples,g=h?0:8,E=this.nextAudioPts||-1,T=t*a,y=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(T-E)<9e3||Math.abs(Qt(p[0].pts-y,T)-E)<20*u),p.forEach(function(K){K.pts=Qt(K.pts-y,T)}),!r||E<0){if(p=p.filter(K=>K.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,T):E=p[0].pts}if(e.segmentCodec==="aac"){let K=this.config.maxAudioFramesDrift;for(let se=0,oe=E;se<p.length;se++){let W=p[se],G=W.pts,ne=G-oe,Q=Math.abs(1e3*ne/a);if(ne<=-K*u&&m)se===0&&(I.warn(`Audio frame @ ${(G/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*ne/a)} ms.`),this.nextAudioPts=E=oe=G);else if(ne>=K*u&&Q<dw&&m){let pe=Math.round(ne/u);oe=G-pe*u,oe<0&&(pe--,oe+=u),se===0&&(this.nextAudioPts=E=oe),I.warn(`[mp4-remuxer]: Injecting ${pe} audio frame @ ${(oe/a).toFixed(3)}s due to ${Math.round(1e3*ne/a)} ms gap.`);for(let Pe=0;Pe<pe;Pe++){let Be=Math.max(oe,0),Ve=ac.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);Ve||(I.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),Ve=W.unit.subarray()),p.splice(se,0,{unit:Ve,pts:Be}),oe+=u,se++}}W.pts=oe,oe+=u}}let S=null,A=null,L,x=0,w=p.length;for(;w--;)x+=p[w].unit.byteLength;for(let K=0,se=p.length;K<se;K++){let oe=p[K],W=oe.unit,G=oe.pts;if(A!==null){let Q=f[K-1];Q.duration=Math.round((G-A)/l)}else if(r&&e.segmentCodec==="aac"&&(G=E),S=G,x>0){x+=g;try{L=new Uint8Array(x)}catch(Q){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:Q,bytes:x,reason:`fail allocating audio mdat ${x}`});return}h||(new DataView(L.buffer).setUint32(0,x),L.set(it.types.mdat,4))}else return;L.set(W,g);let ne=W.byteLength;g+=ne,f.push(new oc(!0,d,ne,0)),A=G}let P=f.length;if(!P)return;let k=f[f.length-1];this.nextAudioPts=E=A+l*k.duration;let D=h?new Uint8Array(0):it.moof(e.sequenceNumber++,S/l,Ze({},e,{samples:f}));e.samples=[];let U=S/a,F=E/a,j={data1:D,data2:L,startPTS:U,endPTS:F,startDTS:U,endDTS:F,type:"audio",hasAudio:!0,hasVideo:!1,nb:P};return this.isAudioContiguous=!0,j}remuxEmptyAudio(e,t,r,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:s.startDTS*n)+u,h=s.endDTS*n+u,f=o*IT,m=Math.ceil((h-c)/f),p=ac.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(I.warn("[mp4-remuxer]: remux empty Audio"),!p){I.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let g=[];for(let E=0;E<m;E++){let T=c+E*f;g.push({unit:p,pts:T,dts:T})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Qt(i,e){let t;if(e===null)return i;for(e<i?t=-8589934592:t=8589934592;Math.abs(i-e)>4294967296;)i+=t;return i}function hw(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function L_(i,e,t,r){let s=i.samples.length;if(!s)return;let n=i.inputTimeScale;for(let o=0;o<s;o++){let l=i.samples[o];l.pts=Qt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Qt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function k_(i,e,t){let r=i.samples.length;if(!r)return;let s=i.inputTimeScale;for(let a=0;a<r;a++){let o=i.samples[a];o.pts=Qt(o.pts-t.baseTime*s/t.timescale,e*s)/s}i.samples.sort((a,o)=>a.pts-o.pts);let n=i.samples;return i.samples=[],{samples:n}}var oc=class{constructor(e,t,r,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=r,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}},cg=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,r,s){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(BI(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=JT(e);s.audio&&(t=RT(s.audio,ke.AUDIO)),s.video&&(r=RT(s.video,ke.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:I.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,r,s,n,a){var o,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:s,id3:r,initSegment:void 0};q(u)||(u=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},m=this.initData;if((o=m)!=null&&o.length||(this.generateInitSegment(h),m=this.initData),!((l=m)!=null&&l.length))return I.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=HI(h,m),g=$I(m,h),E=g===null?n:g;(fw(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&I.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let T=e?E-d.baseTime/d.timescale:u,y=T+p;WI(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=y:(I.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let S=!!m.audio,A=!!m.video,L="";S&&(L+="audio"),A&&(L+="video");let x={data1:h,startPTS:T,startDTS:T,endPTS:y,endDTS:y,type:L,hasAudio:S,hasVideo:A,nb:1,dropped:0};return c.audio=x.type==="audio"?x:void 0,c.video=x.type!=="audio"?x:void 0,c.initSegment=f,c.id3=L_(r,n,d,d),s.samples.length&&(c.text=k_(s,n,d)),c}};function fw(i,e,t,r){if(i===null)return!0;let s=Math.max(r,1),n=e-i.baseTime/i.timescale;return Math.abs(n-t)>s}function RT(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===ke.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return ju(t,!1);let r="mp4a.40.5";return I.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return I.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var ur;try{ur=self.performance.now.bind(self.performance)}catch{I.debug("Unable to use Performance API on this environment"),ur=qn==null?void 0:qn.Date.now}var $u=[{demux:rg,remux:cg},{demux:lg,remux:Kn},{demux:ig,remux:Kn},{demux:ug,remux:Kn}];$u.splice(2,0,{demux:sg,remux:Kn});var lc=class{constructor(e,t,r,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,r,s){let n=r.transmuxing;n.executeStart=ur();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:m}=s||o,{audioCodec:p,videoCodec:g,defaultInitPts:E,duration:T,initSegmentData:y}=l,S=mw(a,t);if(S&&S.method==="AES-128"){let w=this.getDecrypter();if(w.isSync()){let P=w.softwareDecrypt(a,S.key.buffer,S.iv.buffer);if(r.part>-1&&(P=w.flush()),!P)return n.executeEnd=ur(),Lp(r);a=new Uint8Array(P)}else return this.decryptionPromise=w.webCryptoDecrypt(a,S.key.buffer,S.iv.buffer).then(P=>{let k=this.push(P,null,r);return this.decryptionPromise=null,k}),this.decryptionPromise}let A=this.needsProbing(u,c);if(A){let w=this.configureTransmuxer(a);if(w)return I.warn(`[transmuxer] ${w.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:w,reason:w.message}),n.executeEnd=ur(),Lp(r)}(u||c||m||A)&&this.resetInitSegment(y,p,g,T,t),(u||m||A)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let L=this.transmux(a,S,f,h,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,n.executeEnd=ur(),L}flush(e){let t=e.transmuxing;t.executeStart=ur();let{decrypter:r,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(r){let c=r.flush();c&&a.push(this.push(c,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=ur(),[Lp(e)];let u=l.flush(o);return Hu(u)?u.then(c=>(this.flushRemux(a,c,e),a)):(this.flushRemux(a,u,e),a)}flushRemux(e,t,r){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;I.log(`[transmuxer.ts]: Flushed fragment ${r.sn}${r.part>-1?" p: "+r.part:""} of level ${r.level}`);let u=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=ur()}resetInitialTimestamp(e){let{demuxer:t,remuxer:r}=this;!t||!r||(t.resetTimeStamp(e),r.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,r,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,r,s),o.resetInitSegment(e,t,r,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,r,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,r,s,n):a=this.transmuxUnencrypted(e,r,s,n),a}transmuxUnencrypted(e,t,r,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,r,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,r,s,n){return this.demuxer.demuxSampleAes(e,t,r).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,r,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:r,typeSupported:s,vendor:n}=this,a;for(let h=0,f=$u.length;h<f;h++){var o;if((o=$u[h].demux)!=null&&o.probe(e)){a=$u[h];break}}if(!a)return new Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,d=this.remuxer,u=a.remux,c=a.demux;(!d||!(d instanceof u))&&(this.remuxer=new u(r,t,s,n)),(!l||!(l instanceof c))&&(this.demuxer=new c(r,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new mo(this.config)),e}};function mw(i,e){let t=null;return i.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var Lp=i=>({remuxResult:{},chunkMeta:i});function Hu(i){return"then"in i&&i.then instanceof Function}var hg=class{constructor(e,t,r,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=s,this.defaultInitPts=n||null}},fg=class{constructor(e,t,r,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},I_={exports:{}};(function(i){var e=Object.prototype.hasOwnProperty,t="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(t=!1));function s(l,d,u){this.fn=l,this.context=d,this.once=u||!1}function n(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,c||l,h),m=t?t+d:d;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],f]:l._events[m].push(f):(l._events[m]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new r:delete l._events[d]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},o.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var h=0,f=c.length,m=new Array(f);h<f;h++)m[h]=c[h].fn;return m},o.prototype.listenerCount=function(d){var u=t?t+d:d,c=this._events[u];return c?c.fn?1:c.length:0},o.prototype.emit=function(d,u,c,h,f,m){var p=t?t+d:d;if(!this._events[p])return!1;var g=this._events[p],E=arguments.length,T,y;if(g.fn){switch(g.once&&this.removeListener(d,g.fn,void 0,!0),E){case 1:return g.fn.call(g.context),!0;case 2:return g.fn.call(g.context,u),!0;case 3:return g.fn.call(g.context,u,c),!0;case 4:return g.fn.call(g.context,u,c,h),!0;case 5:return g.fn.call(g.context,u,c,h,f),!0;case 6:return g.fn.call(g.context,u,c,h,f,m),!0}for(y=1,T=new Array(E-1);y<E;y++)T[y-1]=arguments[y];g.fn.apply(g.context,T)}else{var S=g.length,A;for(y=0;y<S;y++)switch(g[y].once&&this.removeListener(d,g[y].fn,void 0,!0),E){case 1:g[y].fn.call(g[y].context);break;case 2:g[y].fn.call(g[y].context,u);break;case 3:g[y].fn.call(g[y].context,u,c);break;case 4:g[y].fn.call(g[y].context,u,c,h);break;default:if(!T)for(A=1,T=new Array(E-1);A<E;A++)T[A-1]=arguments[A];g[y].fn.apply(g[y].context,T)}}return!0},o.prototype.on=function(d,u,c){return n(this,d,u,c,!1)},o.prototype.once=function(d,u,c){return n(this,d,u,c,!0)},o.prototype.removeListener=function(d,u,c,h){var f=t?t+d:d;if(!this._events[f])return this;if(!u)return a(this,f),this;var m=this._events[f];if(m.fn)m.fn===u&&(!h||m.once)&&(!c||m.context===c)&&a(this,f);else{for(var p=0,g=[],E=m.length;p<E;p++)(m[p].fn!==u||h&&!m[p].once||c&&m[p].context!==c)&&g.push(m[p]);g.length?this._events[f]=g.length===1?g[0]:g:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var u;return d?(u=t?t+d:d,this._events[u]&&a(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,i.exports=o})(I_);var pw=I_.exports,Qg=lI(pw),dc=class{constructor(e,t,r,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=r,this.onFlush=s;let a=(d,u)=>{u=u||{},u.frag=this.frag,u.id=this.id,d===v.ERROR&&(this.error=u.error),this.hls.trigger(d,u)};this.observer=new Qg,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=ks(n.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||KR())){try{n.workerPath?(I.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=qR(n.workerPath)):(I.log(`injecting Web Worker for "${t}"`),this.workerContext=VR()),this.onwmsg=c=>this.onWorkerMessage(c);let{worker:u}=this.workerContext;u.addEventListener("message",this.onwmsg),u.onerror=c=>{let h=new Error(`${c.message} (${c.filename}:${c.lineno})`);n.enableWorker=!1,I.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},u.postMessage({cmd:"init",typeSupported:l,vendor:"",id:t,config:JSON.stringify(n)})}catch(u){I.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new lc(this.observer,l,n,"",t)}return}this.transmuxer=new lc(this.observer,l,n,"",t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,r,s,n,a,o,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,m=a?a.start:n.start,p=n.decryptdata,g=this.frag,E=!(g&&n.cc===g.cc),T=!(g&&d.level===g.level),y=g?d.sn-g.sn:-1,S=this.part?d.part-this.part.index:-1,A=y===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),L=!T&&(y===1||y===0&&(S===1||A&&S<=0)),x=self.performance.now();(T||y||n.stats.parsing.start===0)&&(n.stats.parsing.start=x),a&&(S||!L)&&(a.stats.parsing.start=x);let w=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),P=new fg(E,L,l,T,m,w);if(!L||E||w){I.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
1584
+ Switching to level ${D} @ ${U|0} bps`),s.trigger(v.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:r,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(R.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new Xp(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(v.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let r=t.frag;if(!this.ignoreFragment(r)){if(!r.bitrateTest){var s;this.fragCurrent=r,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case C.BUFFER_ADD_CODEC_ERROR:case C.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case C.FRAG_LOAD_TIMEOUT:{let r=t.frag,{fragCurrent:s,partCurrent:n}=this;if(r&&s&&r.sn===s.sn&&r.level===s.level){let a=performance.now(),o=n?n.stats:r.stats,l=a-o.loading.start,d=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,r,s){let n=e+r/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let r=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;q(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:r}){let s=r?r.stats:t.stats;if(t.type===ee.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=r?r.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:r,id:t.type};this.onFragBuffered(v.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:r,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:r.stats;if(n.aborted||this.ignoreFragment(r))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),r.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==ee.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,r=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(r,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return R.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,r=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!r||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=r&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,n)&&a[e].loadError<=a[n].loadError)return e}return this._nextAutoLevel=n,this.nextAutoLevelKey=this.getAutoLevelKey(),n}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:r}=this,{maxAutoLevel:s,config:n,minAutoLevel:a}=r,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=n.abrBandWidthFactor,c=n.abrBandWidthUpFactor;if(d){let g=this.findBestLevel(l,a,s,d,0,u,c);if(g>=0)return g}let h=o?Math.min(o,n.maxStarvationDelay):n.maxStarvationDelay;if(!d){let g=this.bitrateTestDelay;g&&(h=(o?Math.min(o,n.maxLoadingDelay):n.maxLoadingDelay)-g,R.info(`[abr] bitrate test took ${Math.round(1e3*g)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1)}let f=this.findBestLevel(l,a,s,d,h,u,c);if(R.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let m=r.levels[a],p=r.levels[r.loadLevel];return(m==null?void 0:m.bitrate)<(p==null?void 0:p.bitrate)?a:r.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let r=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/r}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,r,s,n,a,o){var l;let d=s+n,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:m,allAudioTracks:p,loadLevel:g,config:E}=this.hls;if(m.length===1)return 0;let T=m[c],y=!!(T!=null&&(l=T.details)!=null&&l.live),S=g===-1||u===-1,A,L="SDR",x=(T==null?void 0:T.frameRate)||0,{audioPreference:w,videoPreference:P}=E,k=this.audioTracksByGroup||(this.audioTracksByGroup=MR(p));if(S){if(this.firstSelection!==-1)return this.firstSelection;let X=this.codecTiers||(this.codecTiers=PR(m,k,t,r)),K=DR(X,L,e,w,P),{codecSet:se,videoRanges:oe,minFramerate:W,minBitrate:G,preferHDR:ne}=K;A=se,L=ne?oe[oe.length-1]:oe[0],x=W,e=Math.max(e,G),R.log(`[abr] picked start tier ${JSON.stringify(K)}`)}else A=T==null?void 0:T.codecSet,L=T==null?void 0:T.videoRange;let D=f?f.duration:h?h.duration:0,U=this.bwEstimator.getEstimateTTFB()/1e3,F=[];for(let X=r;X>=t;X--){var z;let K=m[X],se=X>c;if(!K)continue;if(E.useMediaCapabilities&&!K.supportedResult&&!K.supportedPromise){let Pe=navigator.mediaCapabilities;typeof(Pe==null?void 0:Pe.decodingInfo)=="function"&&kR(K,k,L,x,e,w)?(K.supportedPromise=IR(K,k,Pe),K.supportedPromise.then(Be=>{if(!this.hls)return;K.supportedResult=Be;let Ve=this.hls.levels,Lt=Ve.indexOf(K);Be.error?R.warn(`[abr] MediaCapabilities decodingInfo error: "${Be.error}" for level ${Lt} ${JSON.stringify(Be)}`):Be.supported||(R.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${Lt} ${JSON.stringify(Be)}`),Lt>-1&&Ve.length>1&&(R.log(`[abr] Removing unsupported level ${Lt}`),this.hls.removeLevel(Lt)))})):K.supportedResult=m_}if(A&&K.codecSet!==A||L&&K.videoRange!==L||se&&x>K.frameRate||!se&&x>0&&x<K.frameRate||K.supportedResult&&!((z=K.supportedResult.decodingInfoResults)!=null&&z[0].smooth)){F.push(X);continue}let oe=K.details,W=(f?oe==null?void 0:oe.partTarget:oe==null?void 0:oe.averagetargetduration)||D,G;se?G=o*e:G=a*e;let ne=D&&s>=D*2&&n===0?m[X].averageBitrate:m[X].maxBitrate,Q=this.getTimeToLoadFrag(U,G,ne*W,oe===void 0);if(G>=ne&&(X===u||K.loadError===0&&K.fragmentError===0)&&(Q<=U||!q(Q)||y&&!this.bitrateTestDelay||Q<d)){let Pe=this.forcedAutoLevel;return X!==g&&(Pe===-1||Pe!==g)&&(F.length&&R.trace(`[abr] Skipped level(s) ${F.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[F[0]].codecs}" ${m[F[0]].videoRange}; not compatible with "${T.codecs}" ${L}`),R.info(`[abr] switch candidate:${c}->${X} adjustedbw(${Math.round(G)})-bitrate=${Math.round(G-ne)} ttfb:${U.toFixed(1)} avgDuration:${W.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${Q.toFixed(1)} firstSelection:${S} codecSet:${A} videoRange:${L} hls.loadLevel:${g}`)),S&&(this.firstSelection=X),X}}return-1}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:r}=this.hls,s=Math.min(Math.max(e,r),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},Zp=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},ht={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Jp=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.BUFFER_APPENDED,this.onBufferAppended,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.BUFFER_APPENDED,this.onBufferAppended,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let r=this.activePartLists[t];if(r)for(let s=r.length;s--;){let n=r[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:r}=this,s=Object.keys(r);for(let n=s.length;n--;){let a=r[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,r,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===r&&this.removeFragment(o.body);return}let l=o.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(o.body),u})})}detectPartialFragments(e){let t=this.timeRanges,{frag:r,part:s}=e;if(!t||r.sn==="initSegment")return;let n=Fn(r),a=this.fragments[n];if(!a||a.buffered&&r.gap)return;let o=!r.relurl;Object.keys(t).forEach(l=>{let d=r.elementaryStreams[l];if(!d)return;let u=t[l],c=o||d.partial===!0;a.range[l]=this.getBufferedTimes(r,s,c,u)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,(a.body.endList=r.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),wu(a)||this.removeParts(r.sn-1,r.type)):this.removeFragment(a.body)}removeParts(e,t){let r=this.activePartLists[t];r&&(this.activePartLists[t]=r.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let r=Fn(e),s=this.fragments[r];!s&&t&&(s=this.fragments[r]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,r,s){let n={time:[],partial:r},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let u=0;u<s.length;u++){let c=s.start(u)-this.bufferPadding,h=s.end(u)+this.bufferPadding;if(d>=c&&l<=h){n.time.push({startPTS:Math.max(a,s.start(u)),endPTS:Math.min(o,s.end(u))});break}else if(a<h&&o>c){let f=Math.max(a,s.start(u)),m=Math.min(o,s.end(u));m>f&&(n.partial=!0,n.time.push({startPTS:f,endPTS:m}))}else if(o<=c)break}return n}getPartialFragment(e){let t=null,r,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&wu(u)&&(s=u.body.start-o,n=u.body.end+o,e>=s&&e<=n&&(r=Math.min(e-s,n-e),a<=r&&(t=u.body,a=r)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||wu(t))}getState(e){let t=Fn(e),r=this.fragments[t];return r?r.buffered?wu(r)?ht.PARTIAL:ht.OK:ht.APPENDING:ht.NOT_LOADED}isTimeBuffered(e,t,r){let s,n;for(let a=0;a<r.length;a++){if(s=r.start(a)-this.bufferPadding,n=r.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:r,part:s}=t;if(r.sn==="initSegment"||r.bitrateTest)return;let n=s?null:t,a=Fn(r);this.fragments[a]={body:r,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:r,part:s,timeRanges:n}=t;if(r.sn==="initSegment")return;let a=r.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=Fn(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,r,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==r||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=Fn(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let r=this.activePartLists[e.type];if(r){let s=e.sn;this.activePartLists[e.type]=r.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function wu(i){var e,t,r;return i.buffered&&(i.body.gap||((e=i.range.video)==null?void 0:e.partial)||((t=i.range.audio)==null?void 0:t.partial)||((r=i.range.audiovideo)==null?void 0:r.partial))}function Fn(i){return`${i.type}_${i.level}_${i.sn}`}var UR={length:0,start:()=>0,end:()=>0},Ne=class i{static isBuffered(e,t){try{if(e){let r=i.getBuffered(e);for(let s=0;s<r.length;s++)if(t>=r.start(s)&&t<=r.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,r){try{if(e){let s=i.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,r)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,r){t=Math.max(0,t),e.sort(function(d,u){let c=d.start-u.start;return c||u.end-d.end});let s=[];if(r)for(let d=0;d<e.length;d++){let u=s.length;if(u){let c=s[u-1].end;e[d].start-c<r?e[d].end>c&&(s[u-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let u=s[d].start,c=s[d].end;if(t+r>=u&&t<c)o=u,l=c,n=l-t;else if(t+r<u){a=u;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return R.log("failed to get media.buffered",t),UR}}},fo=class{constructor(e,t,r,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=Cu(),this.buffering={audio:Cu(),video:Cu(),audiovideo:Cu()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function Cu(){return{start:0,executeStart:0,executeEnd:0,end:0}}function Bu(i,e){for(let r=0,s=i.length;r<s;r++){var t;if(((t=i[r])==null?void 0:t.cc)===e)return i[r]}return null}function FR(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function BR(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){R.log("No fragments to align");return}let s=Bu(t,r[0].cc);if(!s||s&&!s.startPTS){R.log("No frag in previous level to align on");return}return s}function LT(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function p_(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)LT(t[r],i);e.fragmentHint&&LT(e.fragmentHint,i),e.alignedSliding=!0}function $R(i,e,t){e&&(HR(i,t,e),!t.alignedSliding&&e&&tc(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&u_(e,t))}function HR(i,e,t){if(FR(i,t,e)){let r=BR(t,e);r&&q(r.start)&&(R.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),p_(r.start,e))}}function tc(i,e){if(!i.hasProgramDateTime||!e.hasProgramDateTime)return;let t=i.fragments,r=e.fragments;if(!t.length||!r.length)return;let s,n,a=Math.min(e.endCC,i.endCC);e.startCC<a&&i.startCC<a&&(s=Bu(r,a),n=Bu(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=Bu(t,s.cc)||t[Math.floor(t.length/2)]);let o=s.programDateTime,l=n.programDateTime;if(!o||!l)return;let d=(l-o)/1e3-(n.start-s.start);p_(d,i)}var kT=Math.pow(2,17),eg=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let r=e.url;if(!r)return Promise.reject(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(RT(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=IT(e),c=AT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:kT};e.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d);let E=f.data;p.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(E.slice(0,16)),E=E.slice(16)),o({frag:e,part:null,payload:E,networkDetails:g})},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ft({url:r,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))},onProgress:(f,m,p,g)=>{t&&t({frag:e,part:null,payload:p,networkDetails:g})}})})}loadPart(e,t,r){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(RT(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=IT(e,t),c=AT(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:kT};t.stats=d.stats,d.load(u,h,{onSuccess:(f,m,p,g)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let E={frag:e,part:t,payload:f.data,networkDetails:g};r(E),o(E)},onError:(f,m,p,g)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ft({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:p,stats:g}))},onAbort:(f,m,p)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:p,stats:f}))},onTimeout:(f,m,p)=>{this.resetLoader(e,d),l(new bi({type:ie.NETWORK_ERROR,details:C.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:p,stats:f}))}})})}updateStatsFromPart(e,t){let r=e.stats,s=t.stats,n=s.total;if(r.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(r.loaded/n),l),c=(l-d)*Math.round(r.loaded/d);r.total=r.loaded+c}else r.total=Math.max(r.loaded,r.total);let a=r.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function IT(i,e=null){let t=e||i,r={frag:i,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(q(s)&&q(n)){var a;let o=s,l=n;if(i.sn==="initSegment"&&((a=i.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(r.resetIV=!0,o=s-16)}r.rangeStart=o,r.rangeEnd=l}return r}function RT(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:ie.MEDIA_ERROR,details:C.FRAG_GAP,fatal:!1,frag:i,error:t,networkDetails:null};return e&&(r.part=e),(e||i).stats.aborted=!0,new bi(r)}var bi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},tg=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},ig=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function GR(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?Ls(i,0,e-t):i}var rg=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),r=new Uint32Array(4);for(let s=0;s<4;s++)r[s]=t.getUint32(s*4);return r}initTable(){let e=this.sBox,t=this.invSBox,r=this.subMix,s=r[0],n=r[1],a=r[2],o=r[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),m=0,p=0,g=0;for(g=0;g<256;g++)g<128?f[g]=g<<1:f[g]=g<<1^283;for(g=0;g<256;g++){let E=p^p<<1^p<<2^p<<3^p<<4;E=E>>>8^E&255^99,e[m]=E,t[E]=m;let T=f[m],y=f[T],S=f[y],A=f[E]*257^E*16843008;s[m]=A<<24|A>>>8,n[m]=A<<16|A>>>16,a[m]=A<<8|A>>>24,o[m]=A,A=S*16843009^y*65537^T*257^m*16843008,d[E]=A<<24|A>>>8,u[E]=A<<16|A>>>16,c[E]=A<<8|A>>>24,h[E]=A,m?(m=T^f[f[f[S^T]]],p^=f[f[p]]):m=p=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),r=!0,s=0;for(;s<t.length&&r;)r=t[s]===this.key[s],s++;if(r)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),u=this.invKeySchedule=new Uint32Array(a),c=this.sBox,h=this.rcon,f=this.invSubMix,m=f[0],p=f[1],g=f[2],E=f[3],T,y;for(o=0;o<a;o++){if(o<n){T=d[o]=t[o];continue}y=T,o%n===0?(y=y<<8|y>>>24,y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255],y^=h[o/n|0]<<24):n>6&&o%n===4&&(y=c[y>>>24]<<24|c[y>>>16&255]<<16|c[y>>>8&255]<<8|c[y&255]),d[o]=T=(d[o-n]^y)>>>0}for(l=0;l<a;l++)o=a-l,l&3?y=d[o]:y=d[o-4],l<4||o<=4?u[l]=y:u[l]=m[c[y>>>24]]^p[c[y>>>16&255]]^g[c[y>>>8&255]]^E[c[y&255]],u[l]=u[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,r){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],u=o[2],c=o[3],h=this.uint8ArrayToUint32Array_(r),f=h[0],m=h[1],p=h[2],g=h[3],E=new Int32Array(e),T=new Int32Array(E.length),y,S,A,L,x,w,P,k,D,U,F,z,X,K,se=this.networkToHostOrderSwap;for(;t<E.length;){for(D=se(E[t]),U=se(E[t+1]),F=se(E[t+2]),z=se(E[t+3]),x=D^n[0],w=z^n[1],P=F^n[2],k=U^n[3],X=4,K=1;K<s;K++)y=l[x>>>24]^d[w>>16&255]^u[P>>8&255]^c[k&255]^n[X],S=l[w>>>24]^d[P>>16&255]^u[k>>8&255]^c[x&255]^n[X+1],A=l[P>>>24]^d[k>>16&255]^u[x>>8&255]^c[w&255]^n[X+2],L=l[k>>>24]^d[x>>16&255]^u[w>>8&255]^c[P&255]^n[X+3],x=y,w=S,P=A,k=L,X=X+4;y=a[x>>>24]<<24^a[w>>16&255]<<16^a[P>>8&255]<<8^a[k&255]^n[X],S=a[w>>>24]<<24^a[P>>16&255]<<16^a[k>>8&255]<<8^a[x&255]^n[X+1],A=a[P>>>24]<<24^a[k>>16&255]<<16^a[x>>8&255]<<8^a[w&255]^n[X+2],L=a[k>>>24]<<24^a[x>>16&255]<<16^a[w>>8&255]<<8^a[P&255]^n[X+3],T[t]=se(y^f),T[t+1]=se(L^m),T[t+2]=se(A^p),T[t+3]=se(S^g),f=D,m=U,p=F,g=z,t=t+4}return T.buffer}},WR=16,mo=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let r=self.crypto;r&&(this.subtle=r.subtle||r.webkitSubtle)}catch{}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let r=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?GR(r):r}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,r){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,r);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,r)}softwareDecrypt(e,t,r){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Zt(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(r=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new rg),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=Ls(o,-16).buffer,d||null}webCryptoDecrypt(e,t,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,r));this.key=t,this.fastAesKey=new ig(this.subtle,t)}return this.fastAesKey.expandKey().then(s=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new tg(this.subtle,new Uint8Array(r)).decrypt(e.buffer,s)):Promise.reject(new Error("web crypto not initialized"))).catch(s=>(R.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${s.name}: ${s.message}`),this.onWebCryptoError(e,t,r)))}onWebCryptoError(e,t,r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,r);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,r=e.length-e.length%WR;return r!==e.length&&(t=Ls(e,0,r),this.remainderData=Ls(e,r)),t}logOnce(e){this.logEnabled&&(R.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},KR={toString:function(i){let e="",t=i.length;for(let r=0;r<t;r++)e+=`[${i.start(r).toFixed(3)}-${i.end(r).toFixed(3)}]`;return e}},N={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},po=class extends Zp{constructor(e,t,r,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=N.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=R.log.bind(R,`${s}:`),this.warn=R.warn.bind(R,`${s}:`),this.hls=e,this.fragmentLoader=new eg(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new mo(e.config),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=N.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let r=t.partList;if(r!=null&&r.length){let n=r[r.length-1];return Ne.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details}}onMediaAttached(e,t){let r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),r.addEventListener("seeking",this.onvseeking),r.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===N.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:r,mediaBuffer:s,state:n}=this,a=r?r.currentTime:0,o=Ne.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${q(a)?a.toFixed(3):a}, state: ${n}`),this.state===N.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,u=t.start+t.duration+l;if(!o.len||u<o.start||d>o.end){let c=a>u;(a<d||c)&&(c&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}r&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null}onHandlerDestroyed(){this.state=N.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,r){this._loadFragForPlayback(e,t,r)}_loadFragForPlayback(e,t,r){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,r,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===N.FRAG_LOADING||!this.fragCurrent&&a===N.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=N.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(v.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(`Frag error: ${(n==null?void 0:n.message)||n}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:r}=this;if(r.getState(e)===ht.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength),l=this.backtrackFragment;((l?e.sn-l.sn:0)===1||this.reduceMaxBufferLength(o))&&r.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===ht.PARTIAL&&r.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,r=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:r};this.hls.trigger(v.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(r=>{if(!r||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return r}).then(r=>{let{hls:s}=this,{payload:n}=r,a=e.decryptdata;if(n&&n.byteLength>0&&a!=null&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(v.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),r.payload=l,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(r=>{this.state===N.STOPPED||this.state===N.ERROR||(this.warn(r),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let r=e.frag.stats;this.state=N.IDLE,e.frag.data=new Uint8Array(e.payload),r.parsing.start=r.buffering.start=self.performance.now(),r.parsing.end=r.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var r,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===ee.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?KR.toString(Ne.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==ee.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=N.IDLE;return}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0)}this.state=N.IDLE,o&&(!this.loadedmetadata&&e.type==ee.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:r,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new fo(r.level,r.sn,r.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,r=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=N.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(v.KEY_LOADED,u),this.state===N.KEY_LOADING&&(this.state=N.IDLE),u}),this.hls.trigger(v.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),r=Math.max(e.start,r||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=a.partList;if(u&&s){r>e.end&&a.fragmentHint&&(e=a.fragmentHint);let c=this.getNextPart(u,e,r);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=N.FRAG_LOADING;let f;return o?f=o.then(m=>!m||this.fragContextChanged(m.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(m=>this.handleFragLoadError(m)):f=this.doFragPartsLoad(e,h,t,s).catch(m=>this.handleFragLoadError(m)),this.hls.trigger(v.FRAG_LOADING,{frag:e,part:h,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(u,r))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(r.toFixed(3))}`),q(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=N.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,s)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([u])=>(!l&&u&&s&&s(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(v.FRAG_LOADING,{frag:e,targetBufferTime:r}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,r,s){return new Promise((n,a)=>{var o;let l=[],d=(o=r.details)==null?void 0:o.partList,u=c=>{this.fragmentLoader.loadPart(e,c,s).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(v.FRAG_LOADED,h);let m=TT(r,e.sn,c.index+1)||c_(d,e.sn,c.index+1);if(m)u(m);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};u(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===C.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(v.ERROR,t)}else this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==N.PARSING){!this.fragCurrent&&this.state!==N.STOPPED&&this.state!==N.ERROR&&(this.state=N.IDLE);return}let{frag:r,part:s,level:n}=t,a=self.performance.now();r.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(r,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:r}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?TT(o,n,a):null,d=l?l.fragment:TR(o,n,r);return d?(r&&r!==d&&(d.stats=r.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,r,s,n){var a;if(!e||this.state!==N.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Zt(o,l)),!((a=d)!=null&&a.length))return;let u={type:e.type,frag:t,part:r,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(v.BUFFER_APPENDING,u),e.dropped&&e.independent&&!r){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!Ne.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=Ne.bufferInfo(t,r,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),r+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let r=this.getLoadPosition();return q(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=Ne.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,r);if(a&&n.nextStart<a.end)return Ne.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,r;return e?r=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):r=t.maxBufferLength,Math.min(r,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,r=e||t.maxBufferLength,s=t.maxMaxBufferLength/2;return s>=r?(t.maxMaxBufferLength=s,this.warn(`Reduce max buffer length to ${s}s`),!0):!1}getAppendedFrag(e,t=ee.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,ee.MAIN);return r&&"fragment"in r?r.fragment:r}getNextFragment(e,t){let r=t.fragments,s=r.length;if(!s)return null;let{config:n}=this,a=r[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a)&&(o=this.getInitialLiveFragment(t,r),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=r[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let r=this.fragmentTracker.getState(e);return(r===ht.OK||r===ht.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,r,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&r.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,r.nextStart,s);if(l!==null&&r.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,r){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&r<d.start)break;let u=d.loaded;u?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=u}return s}loadedEndOfParts(e,t){let r=e[e.length-1];return r&&t>r.start&&r.loaded}getInitialLiveFragment(e,t){let r=this.fragPrevious,s=null;if(r){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${r.programDateTime}`),s=AR(t,r.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=r.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];r.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=LR(t,r.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,r){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=r,{fragmentHint:l}=r,{maxFragLookUpTolerance:d}=s,u=r.partList,c=!!(s.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=ec(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-r.startSN,m=this.fragmentTracker.getState(h);if((m===ht.OK||m===ht.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!c||u[0].fragment.sn>h.sn)&&n&&h.level===n.level){let g=a[f+1];h.sn<o&&this.fragmentTracker.getState(g)!==ht.OK?h=g:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:r}=this;if(!r)return;let s=this.hls.liveSyncPosition,n=r.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&r.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&r.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),r.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),r.currentTime=s))}}alignPlaylists(e,t,r){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let n=e.fragments[0].start,a=!t,o=e.alignedSliding&&q(n);if(a||!o&&!n){let{fragPrevious:l}=this;$R(l,r,e);let d=e.fragments[0].start;return this.log(`Live playlist sliding: ${d.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${s}`),d}return n}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let r=this.startPosition;if(r<t&&(r=-1),r===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&q(n)?(r=t+n,n<0&&(r+=e.totalduration),r=Math.min(Math.max(t,r),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${r}`),this.startPosition=r):e.live?r=this.hls.liveSyncPosition||t:this.startPosition=r=0,this.lastCurrentTime=r}this.nextLoadPosition=r}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==N.FRAG_LOADING_WAITING_RETRY)&&(this.state=N.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let r=t.frag;if(!r||r.type!==e||!this.levels)return;if(this.fragContextChanged(r)){var s;this.warn(`Frag load error must match current frag to retry ${r.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===C.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(r,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===ct.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=jg(d,l);this.warn(`Fragment ${r.sn} of ${e} ${r.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=N.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ct.RemoveAlternatePermanently&&(a.resolved=!0);else{R.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ct.SendAlternateToPenaltyBox?this.state=N.WAITING_LEVEL:this.state=N.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===N.PARSING||this.state===N.PARSED){let t=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,t),s=r&&r.len>.5;s&&this.reduceMaxBufferLength(r.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===ee.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==N.STOPPED&&(this.state=N.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=Ne.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===N.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=N.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,r,s){var n;let a=r.details;if(!a){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=s?0:d_(a,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(v.LEVEL_PTS_UPDATED,{details:a,level:r,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0}return l},!1)&&((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(r.fragmentError===0&&(r.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${r.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=N.PARSED,this.hls.trigger(v.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}},ic=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,r;if(e.length)e.length===1?r=e[0]:r=VR(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function VR(i,e){let t=new Uint8Array(e),r=0;for(let s=0;s<i.length;s++){let n=i[s];t.set(n,r),r+=n.length}return t}function qR(){return typeof __HLS_WORKER_BUNDLE__=="function"}function YR(){let i=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(i);return{worker:new self.Worker(e),objectURL:e}}function zR(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function zi(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var go=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,r,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,r){}demux(e,t){this.cachedData&&(e=Zt(this.cachedData,e),this.cachedData=null);let r=lo(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?zg(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&q(l))&&(this.basePTS=jR(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),r&&r.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let u=this.appendFrame(a,e,s);u?(this.frameIndex++,this.lastPTS=u.sample.pts,s+=u.length,n=s):s=d}else RI(e,s)?(r=lo(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:yi.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=Ls(e,n);this.cachedData?this.cachedData=Zt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:zi(),id3Track:o,textTrack:zi()}}demuxSampleAes(e,t,r){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:zi(),id3Track:this._id3Track,textTrack:zi()}}destroy(){}},jR=(i,e,t)=>{if(q(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function XR(i,e,t,r){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=r,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,R.log(`manifest codec:${r}, ADTS type:${s}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(s=5,o=new Array(4),n=c-3):(s=2,o=new Array(2),n=c):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=c):(s=5,o=new Array(4),r&&(r.indexOf("mp4a.40.29")!==-1||r.indexOf("mp4a.40.5")!==-1)||!r&&c>=6?n=c-3:((r&&r.indexOf("mp4a.40.2")!==-1&&(c>=6&&a===1||/vivaldi/i.test(l))||!r&&a===1)&&(s=2,o=new Array(2)),n=c)),o[0]=s<<3,o[0]|=(c&14)>>1,o[1]|=(c&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=8,o[3]=0),{config:o,samplerate:u[c],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function g_(i,e){return i[e]===255&&(i[e+1]&246)===240}function v_(i,e){return i[e+1]&1?7:9}function Xg(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function QR(i,e){return e+5<i.length}function rc(i,e){return e+1<i.length&&g_(i,e)}function ZR(i,e){return QR(i,e)&&g_(i,e)&&Xg(i,e)<=i.length-e}function JR(i,e){if(rc(i,e)){let t=v_(i,e);if(e+t>=i.length)return!1;let r=Xg(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||rc(i,s)}return!1}function E_(i,e,t,r,s){if(!i.samplerate){let n=XR(e,t,r,s);if(!n)return;i.config=n.config,i.samplerate=n.samplerate,i.channelCount=n.channelCount,i.codec=n.codec,i.manifestCodec=n.manifestCodec,R.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function b_(i){return 1024*9e4/i}function ew(i,e){let t=v_(i,e);if(e+t<=i.length){let r=Xg(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function y_(i,e,t,r,s){let n=b_(i.samplerate),a=r+s*n,o=ew(e,t),l;if(o){let{frameLength:c,headerLength:h}=o,f=h+c,m=Math.max(0,t+f-e.length);m?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let p={unit:l,pts:a};return m||i.samples.push(p),{sample:p,length:f,missing:m}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var Du=null,tw=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],iw=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],rw=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],sw=[0,1,1,4];function T_(i,e,t,r,s){if(t+24>e.length)return;let n=__(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=r+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return i.config=[],i.channelCount=n.channelCount,i.samplerate=n.sampleRate,i.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function __(i,e){let t=i[e+1]>>3&3,r=i[e+1]>>1&3,s=i[e+2]>>4&15,n=i[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=i[e+2]>>1&1,o=i[e+3]>>6,l=t===3?3-r:r===3?3:4,d=tw[l*14+s-1]*1e3,c=iw[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=rw[t][r],m=sw[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(Du===null){let y=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Du=y?parseInt(y[1]):0}return!!Du&&Du<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function Qg(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function A_(i,e){return e+1<i.length&&Qg(i,e)}function nw(i,e){return Qg(i,e)&&4<=i.length-e}function S_(i,e){if(e+1<i.length&&Qg(i,e)){let r=__(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||A_(i,n)}return!1}var sg=class extends go{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=lo(e,0),r=(t==null?void 0:t.length)||0;if(S_(e,r))return!1;for(let s=e.length;r<s;r++)if(JR(e,r))return R.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return ZR(e,t)}appendFrame(e,t,r){E_(e,this.observer,t,r,e.manifestCodec);let s=y_(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},aw=/\/emsg[-/]ID3/i,ng=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,r,s){let n=this.videoTrack=zi("video",1),a=this.audioTrack=zi("audio",1),o=this.txtTrack=zi("text",1);if(this.id3Track=zi("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=t_(e);if(l.video){let{id:d,timescale:u,codec:c}=l.video;n.id=d,n.timescale=o.timescale=u,n.codec=c}if(l.audio){let{id:d,timescale:u,codec:c}=l.audio;a.id=d,a.timescale=u,a.codec=c}o.id=ZT.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return FI(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=Zt(this.remainderData,e));let o=qI(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=rT(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,r=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return r.samples=rT(e,t),{videoTrack:t,audioTrack:zi(),id3Track:s,textTrack:zi()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=ae(e.samples,["emsg"]);s&&s.forEach(n=>{let a=jI(n);if(aw.test(a.schemeIdUri)){let o=q(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;r.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:yi.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},x_=(i,e)=>{let t=0,r=5;e+=r;let s=new Uint32Array(1),n=new Uint32Array(1),a=new Uint8Array(1);for(;r>0;){a[0]=i[e];let o=Math.min(r,8),l=8-o;n[0]=4278190080>>>24+l<<l,s[0]=(a[0]&n[0])>>l,t=t?t<<o|s[0]:s[0],e+=1,r-=o}return t},ag=class extends go{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,r){let s=L_(e,t,r,this.basePTS,this.frameIndex);if(s!==-1)return{sample:e.samples[e.samples.length-1],length:s,missing:0}}static probe(e){if(!e)return!1;let t=lo(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&zg(t)!==void 0&&x_(e,r)<16}};function L_(i,e,t,r,s){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;let n=e[t+4]>>6;if(n>=3)return-1;let o=[48e3,44100,32e3][n],l=e[t+4]&63,u=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+n]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,p=[2,1,2,3,3,4,4,5][c]+f,g=e[t+5]>>3,E=e[t+5]&7,T=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),y=1536/o*9e4,S=r+s*y,A=e.subarray(t,t+u);return i.config=T,i.channelCount=p,i.samplerate=o,i.samples.push({unit:A,pts:S}),u}var og=class{constructor(){this.VideoSample=null}createVideoSample(e,t,r,s){return{key:e,frame:!1,pts:t,dts:r,units:[],debug:s,length:0}}getLastNalUnit(e){var t;let r=this.VideoSample,s;if((!r||r.units.length===0)&&(r=e[e.length-1]),(t=r)!=null&&t.units){let n=r.units;s=n[n.length-1]}return s}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let r=t.samples,s=r.length;if(s){let n=r[s-1];e.pts=n.pts,e.dts=n.dts}else{t.dropped++;return}}t.samples.push(e)}e.debug.length&&R.log(e.pts+"/"+e.dts+":"+e.debug)}},sc=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,r=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(r,r+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),r=this.word>>>32-t;if(e>32&&R.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?r<<t|this.readBits(t):r}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,r=8,s;for(let n=0;n<e;n++)r!==0&&(s=this.readEG(),r=(t+s+256)%256),t=r===0?t:r}readSPS(){let e=0,t=0,r=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),u=this.readUEG.bind(this),c=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),m=this.skipUEG.bind(this),p=this.skipScalingList.bind(this);l();let g=l();if(d(5),h(3),l(),m(),g===100||g===110||g===122||g===244||g===44||g===83||g===86||g===118||g===128){let L=u();if(L===3&&h(1),m(),m(),h(1),c())for(a=L!==3?8:12,o=0;o<a;o++)c()&&(o<6?p(16):p(64))}m();let E=u();if(E===0)u();else if(E===1)for(h(1),f(),f(),n=u(),o=0;o<n;o++)f();m(),h(1);let T=u(),y=u(),S=d(1);S===0&&h(1),h(1),c()&&(e=u(),t=u(),r=u(),s=u());let A=[1,1];if(c()&&c())switch(l()){case 1:A=[1,1];break;case 2:A=[12,11];break;case 3:A=[10,11];break;case 4:A=[16,11];break;case 5:A=[40,33];break;case 6:A=[24,11];break;case 7:A=[20,11];break;case 8:A=[32,11];break;case 9:A=[80,33];break;case 10:A=[18,11];break;case 11:A=[15,11];break;case 12:A=[64,33];break;case 13:A=[160,99];break;case 14:A=[4,3];break;case 15:A=[3,2];break;case 16:A=[2,1];break;case 255:{A=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((T+1)*16-e*2-t*2),height:(2-S)*(y+1)*16-(S?2:4)*(r+s),pixelRatio:A}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},lg=class extends og{parseAVCPES(e,t,r,s,n){let a=this.parseAVCNALu(e,r.data),o=this.VideoSample,l,d=!1;r.data=null,o&&a.length&&!e.audFound&&(this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"")),a.forEach(u=>{var c;switch(u.type){case 1:{let p=!1;l=!0;let g=u.data;if(d&&g.length>4){let E=new sc(g).readSliceType();(E===2||E===4||E===7||E===9)&&(p=!0)}if(p){var h;(h=o)!=null&&h.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null)}o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.frame=!0,o.key=p;break}case 5:l=!0,(c=o)!=null&&c.frame&&!o.key&&(this.pushAccessUnit(o,e),o=this.VideoSample=null),o||(o=this.VideoSample=this.createVideoSample(!0,r.pts,r.dts,"")),o.key=!0,o.frame=!0;break;case 6:{l=!0,r_(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new sc(p).readSPS();if(!e.sps||e.width!==E.width||e.height!==E.height||((f=e.pixelRatio)==null?void 0:f[0])!==E.pixelRatio[0]||((m=e.pixelRatio)==null?void 0:m[1])!==E.pixelRatio[1]){e.width=E.width,e.height=E.height,e.pixelRatio=E.pixelRatio,e.sps=[p],e.duration=n;let T=p.subarray(1,4),y="avc1.";for(let S=0;S<3;S++){let A=T[S].toString(16);A.length<2&&(A="0"+A),y+=A}e.codec=y}break}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,o&&this.pushAccessUnit(o,e),o=this.VideoSample=this.createVideoSample(!1,r.pts,r.dts,"");break;case 12:l=!0;break;default:l=!1,o&&(o.debug+="unknown NAL "+u.type+" ");break}o&&l&&o.units.push(u)}),s&&o&&(this.pushAccessUnit(o,e),this.VideoSample=null)}parseAVCNALu(e,t){let r=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,u,c=-1,h=0;for(s===-1&&(c=0,h=t[0]&31,s=0,o=1);o<r;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(d=o-s-1,c>=0){let f={data:t.subarray(c,d),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d>0&&(f.data=Zt(f.data,t.subarray(0,d)),f.state=0))}o<r?(u=t[o]&31,c=o,h=u,s=0):s=-1}else s=0}if(c>=0&&s>=0){let f={data:t.subarray(c,r),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Zt(f.data,t))}return e.naluState=s,a}},dg=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new mo(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,r){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,r)})}decryptAacSamples(e,t,r){for(;;t++){if(t>=e.length){r();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,r),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,r=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)r.set(e.subarray(n,n+16),s);return r}getAvcDecryptedUnit(e,t){let r=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(r.subarray(s,s+16),n);return e}decryptAvcSample(e,t,r,s,n){let a=s_(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,r+1,s)})}decryptAvcSamples(e,t,r,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,r=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(r>=n.length);r++){let a=n[r];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,r,s,a),!this.decrypter.isSync()))return}}}},ut=188,ug=class i{constructor(e,t,r){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.videoParser=new lg}static probe(e){let t=i.syncOffset(e);return t>0&&R.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ut*5,t-ut)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ut)if(e[l]===71&&(t-l===ut||e[l+ut]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ut*99,e.length-ut)+1)),n||(n=cg(e,l)===0),n&&o>1&&(a===0&&o>2||l+ut>r))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:ZT[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,r,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=i.createTrack("video"),this._audioTrack=i.createTrack("audio",s),this._id3Track=i.createTrack("id3"),this._txtTrack=i.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=r,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:r}=this;e&&(e.pesData=null),t&&(t.pesData=null),r&&(r.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,r=!1,s=!1){r||(this.sampleAes=null);let n,a=this._videoTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=a.pid,c=a.pesData,h=o.pid,f=l.pid,m=o.pesData,p=l.pesData,g=null,E=this.pmtParsed,T=this._pmtId,y=e.length;if(this.remainderData&&(e=Zt(this.remainderData,e),y=e.length,this.remainderData=null),y<ut&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let S=Math.max(0,i.syncOffset(e));y-=(y-S)%ut,y<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,y,e.buffer.byteLength-y));let A=0;for(let x=S;x<y;x+=ut)if(e[x]===71){let w=!!(e[x+1]&64),P=cg(e,x),k=(e[x+3]&48)>>4,D;if(k>1){if(D=x+5+e[x+4],D===x+ut)continue}else D=x+4;switch(P){case u:w&&(c&&(n=Bn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(D,x+ut)),c.size+=x+ut-D);break;case h:if(w){if(m&&(n=Bn(m)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break;case"ac3":this.parseAC3PES(o,n);break}m={data:[],size:0}}m&&(m.data.push(e.subarray(D,x+ut)),m.size+=x+ut-D);break;case f:w&&(p&&(n=Bn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(D,x+ut)),p.size+=x+ut-D);break;case 0:w&&(D+=e[D]+1),T=this._pmtId=ow(e,D);break;case T:{w&&(D+=e[D]+1);let U=lw(e,D,this.typeSupported,r,this.observer);u=U.videoPid,u>0&&(a.pid=u,a.segmentCodec=U.segmentVideoCodec),h=U.audioPid,h>0&&(o.pid=h,o.segmentCodec=U.segmentAudioCodec),f=U.id3Pid,f>0&&(l.pid=f),g!==null&&!E&&(R.warn(`MPEG-TS PMT found at ${x} after unknown PID '${g}'. Backtracking to sync byte @${S} to parse all TS packets.`),g=null,x=S-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=P;break}}else A++;A>0&&nc(this.observer,new Error(`Found ${A} TS packet/s that do not start with 0x47`)),a.pesData=c,o.pesData=m,l.pesData=p;let L={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(L),L}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:r,id3Track:s,textTrack:n}=e,a=r.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=Bn(a))?(this.videoParser.parseAVCPES(r,n,d,!0,this._duration),r.pesData=null):r.pesData=a,o&&(d=Bn(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break}t.pesData=null}else o!=null&&o.size&&R.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=Bn(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,r){let s=this.demux(e,r,!0,!this.config.progressive),n=this.sampleAes=new dg(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(r=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{r(e)}):r(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{r(e)})})}destroy(){this._duration=0}parseAACPES(e,t){let r=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let c=s.missing,h=s.sample.unit.byteLength;if(c===-1)n=Zt(s.sample.unit,n);else{let f=h-c;s.sample.unit.set(n.subarray(0,c),f),e.samples.push(s.sample),r=s.missing}}let a,o;for(a=r,o=n.length;a<o-1&&!rc(n,a);a++);if(a!==r){let c,h=a<o-1;if(h?c=`AAC PES did not start with ADTS header,offset:${a}`:c="No ADTS header found in AAC PES",nc(this.observer,new Error(c),h),!h)return}E_(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=b_(e.samplerate);l=s.sample.pts+c}else{R.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=y_(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!rc(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){R.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(A_(r,a)){let l=T_(e,r,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseAC3PES(e,t){{let r=t.data,s=t.pts;if(s===void 0){R.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=L_(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){R.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=Ze({},t,{type:this._videoTrack?yi.emsg:yi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function cg(i,e){return((i[e+1]&31)<<8)+i[e+2]}function ow(i,e){return(i[e+10]&31)<<8|i[e+11]}function lw(i,e,t,r,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},a=(i[e+1]&15)<<8|i[e+2],o=e+3+a-4,l=(i[e+10]&15)<<8|i[e+11];for(e+=12+l;e<o;){let d=cg(i,e),u=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){Lp("ADTS AAC");break}case 15:n.audioPid===-1&&(n.audioPid=d);break;case 21:n.id3Pid===-1&&(n.id3Pid=d);break;case 219:if(!r){Lp("H.264");break}case 27:n.videoPid===-1&&(n.videoPid=d,n.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?R.log("MPEG audio found, not supported in this browser"):n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="mp3");break;case 193:if(!r){Lp("AC-3");break}case 129:t.ac3?n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="ac3"):R.log("AC-3 audio found, not supported in this browser");break;case 6:if(n.audioPid===-1&&u>0){let c=e+5,h=u;for(;h>2;){switch(i[c]){case 106:t.ac3!==!0?R.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=d,n.segmentAudioCodec="ac3");break}let m=i[c+1]+2;c+=m,h-=m}}break;case 194:case 135:return nc(s,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return nc(s,new Error("Unsupported HEVC in M2TS found")),n}e+=u+5}return n}function nc(i,e,t){R.warn(`parsing error: ${e.message}`),i.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function Lp(i){R.log(`${i} with AES-128-CBC encryption found in unencrypted stream`)}function Bn(i){let e=0,t,r,s,n,a,o=i.data;if(!i||i.size===0)return null;for(;o[0].length<19&&o.length>1;)o[0]=Zt(o[0],o[1]),o.splice(1,1);if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(r=(t[4]<<8)+t[5],r&&r>i.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(R.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let u=s+9;if(i.size<=u)return null;i.size-=u;let c=new Uint8Array(i.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let m=t.byteLength;if(u)if(u>m){u-=m;continue}else t=t.subarray(u),m-=u,u=0;c.set(t,e),e+=m}return r&&(r-=s+3),{data:c,pts:n,dts:a,len:r}}return null}var hg=class extends go{resetInitSegment(e,t,r,s){super.resetInitSegment(e,t,r,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=lo(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&zg(t)!==void 0&&x_(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(S_(e,r))return R.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return nw(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return T_(e,t,r,this.basePTS,this.frameIndex)}},ac=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},Mr=Math.pow(2,32)-1,it=class i{static init(){i.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in i.types)i.types.hasOwnProperty(e)&&(i.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);i.HDLR_TYPES={video:t,audio:r};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);i.STTS=i.STSC=i.STCO=n,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);i.FTYP=i.box(i.types.ftyp,a,l,a,o),i.DINF=i.box(i.types.dinf,i.box(i.types.dref,s))}static box(e,...t){let r=8,s=t.length,n=s;for(;s--;)r+=t[s].byteLength;let a=new Uint8Array(r);for(a[0]=r>>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),s=0,r=8;s<n;s++)a.set(t[s],r),r+=t[s].byteLength;return a}static hdlr(e){return i.box(i.types.hdlr,i.HDLR_TYPES[e])}static mdat(e){return i.box(i.types.mdat,e)}static mdhd(e,t){t*=e;let r=Math.floor(t/(Mr+1)),s=Math.floor(t%(Mr+1));return i.box(i.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return i.box(i.types.mdia,i.mdhd(e.timescale,e.duration),i.hdlr(e.type),i.minf(e))}static mfhd(e){return i.box(i.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?i.box(i.types.minf,i.box(i.types.smhd,i.SMHD),i.DINF,i.stbl(e)):i.box(i.types.minf,i.box(i.types.vmhd,i.VMHD),i.DINF,i.stbl(e))}static moof(e,t,r){return i.box(i.types.moof,i.mfhd(e),i.traf(r,t))}static moov(e){let t=e.length,r=[];for(;t--;)r[t]=i.trak(e[t]);return i.box.apply(null,[i.types.moov,i.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(i.mvex(e)))}static mvex(e){let t=e.length,r=[];for(;t--;)r[t]=i.trex(e[t]);return i.box.apply(null,[i.types.mvex,...r])}static mvhd(e,t){t*=e;let r=Math.floor(t/(Mr+1)),s=Math.floor(t%(Mr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return i.box(i.types.mvhd,n)}static sdtp(e){let t=e.samples||[],r=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,r[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return i.box(i.types.sdtp,r)}static stbl(e){return i.box(i.types.stbl,i.stsd(e),i.box(i.types.stts,i.STTS),i.box(i.types.stsc,i.STSC),i.box(i.types.stsz,i.STSZ),i.box(i.types.stco,i.STCO))}static avc1(e){let t=[],r=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,r.push(a>>>8&255),r.push(a&255),r=r.concat(Array.prototype.slice.call(n));let o=i.box(i.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(r))),l=e.width,d=e.height,u=e.pixelRatio[0],c=e.pixelRatio[1];return i.box(i.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,i.box(i.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),i.box(i.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,c>>24,c>>16&255,c>>8&255,c&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){let t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(e){return i.box(i.types.mp4a,i.audioStsd(e),i.box(i.types.esds,i.esds(e)))}static mp3(e){return i.box(i.types[".mp3"],i.audioStsd(e))}static ac3(e){return i.box(i.types["ac-3"],i.audioStsd(e),i.box(i.types.dac3,e.config))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?i.box(i.types.stsd,i.STSD,i.mp3(e)):e.segmentCodec==="ac3"?i.box(i.types.stsd,i.STSD,i.ac3(e)):i.box(i.types.stsd,i.STSD,i.mp4a(e)):i.box(i.types.stsd,i.STSD,i.avc1(e))}static tkhd(e){let t=e.id,r=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(r/(Mr+1)),o=Math.floor(r%(Mr+1));return i.box(i.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let r=i.sdtp(e),s=e.id,n=Math.floor(t/(Mr+1)),a=Math.floor(t%(Mr+1));return i.box(i.types.traf,i.box(i.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),i.box(i.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),i.trun(e,r.length+16+20+8+16+8+8),r)}static trak(e){return e.duration=e.duration||4294967295,i.box(i.types.trak,i.tkhd(e),i.mdia(e))}static trex(e){let t=e.id;return i.box(i.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let r=e.samples||[],s=r.length,n=12+16*s,a=new Uint8Array(n),o,l,d,u,c,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=r[o],d=l.duration,u=l.size,c=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,c.isLeading<<2|c.dependsOn,c.isDependedOn<<6|c.hasRedundancy<<4|c.paddingValue<<1|c.isNonSync,c.degradPrio&61440,c.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return i.box(i.types.trun,a)}static initSegment(e){i.types||i.init();let t=i.moov(e);return Zt(i.FTYP,t)}};it.types=void 0;it.HDLR_TYPES=void 0;it.STTS=void 0;it.STSC=void 0;it.STCO=void 0;it.STSZ=void 0;it.VMHD=void 0;it.SMHD=void 0;it.STSD=void 0;it.FTYP=void 0;it.DINF=void 0;var k_=9e4;function Zg(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function dw(i,e,t=1,r=!1){return Zg(i,e,1/t,r)}function so(i,e=!1){return Zg(i,1e3,1/k_,e)}function uw(i,e=1){return Zg(i,k_,1/e)}var cw=10*1e3,wT=1024,hw=1152,fw=1536,$n=null,kp=null,Kn=class{constructor(e,t,r,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=r,this.ISGenerated=!1,$n===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);$n=a?parseInt(a[1]):0}if(kp===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);kp=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){R.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){R.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){R.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,Qt(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&R.debug("PTS rollover detected"),r}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,T=t.pid>-1,y=t.samples.length,S=e.samples.length>0,A=o&&y>0||y>1;if((!E||S)&&(!T||A)||this.ISGenerated||o){if(this.ISGenerated){var x,w,P,k;let z=this.videoTrackConfig;z&&(t.width!==z.width||t.height!==z.height||((x=t.pixelRatio)==null?void 0:x[0])!==((w=z.pixelRatio)==null?void 0:w[0])||((P=t.pixelRatio)==null?void 0:P[1])!==((k=z.pixelRatio)==null?void 0:k[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let D=this.isVideoContiguous,U=-1,F;if(A&&(U=mw(t.samples),!D&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,U>0){R.warn(`[mp4-remuxer]: Dropped ${U} out of ${y} video samples due to a missing keyframe`);let z=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(U),t.dropped+=U,g+=(t.samples[0].pts-z)/t.inputTimeScale,F=g}else U===-1&&(R.warn(`[mp4-remuxer]: No keyframe found out of ${y} video samples`),m=!1);if(this.ISGenerated){if(S&&A){let z=this.getVideoStartPts(t.samples),K=(Qt(e.samples[0].pts,z)-z)/t.inputTimeScale;p+=Math.max(0,K),g+=Math.max(0,-K)}if(S){if(e.samplerate||(R.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,T||A||l===ee.AUDIO?g:void 0),A){let z=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(R.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,D,z)}}else A&&(d=this.remuxVideo(t,g,D,0));d&&(d.firstKeyFrame=U,d.independent=U!==-1,d.firstKeyFramePTS=F)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=I_(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=R_(s,n,this._initPTS))),{audio:u,video:d,initSegment:c,independent:m,text:h,id3:f}}generateIS(e,t,r,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,u=!d||s,c="audio/mp4",h,f,m;if(u&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(c="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):it.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(m=e.inputTimeScale,!d||m!==d.timescale?h=f=n[0].pts-Math.round(m*r):u=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:it.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(m=t.inputTimeScale,!d||m!==d.timescale){let p=this.getVideoStartPts(a),g=Math.round(m*r);f=Math.min(f,Qt(a[0].dts,p)-g),h=Math.min(h,p-g)}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:m},this._initDTS={baseTime:f,timescale:m}):h=m=void 0,{tracks:l,initPTS:h,timescale:m}}remuxVideo(e,t,r,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,m,p=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,E=!1;if(!r||u===null){let W=t*n,G=a[0].pts-Qt(a[0].dts,a[0].pts);$n&&u!==null&&Math.abs(W-G-u)<15e3?r=!0:u=W-G}let T=d.baseTime*n/d.timescale;for(let W=0;W<l;W++){let G=a[W];G.pts=Qt(G.pts-T,u),G.dts=Qt(G.dts-T,u),G.dts<a[W>0?W-1:W].dts&&(E=!0)}E&&a.sort(function(W,G){let ne=W.dts-G.dts,Q=W.pts-G.pts;return ne||Q}),f=a[0].dts,m=a[a.length-1].dts;let y=m-f,S=y?Math.round(y/(l-1)):h||e.inputTimeScale/30;if(r){let W=f-u,G=W>S,ne=W<-1;if((G||ne)&&(G?R.warn(`AVC: ${so(W,!0)} ms (${W}dts) hole between fragments detected at ${t.toFixed(3)}`):R.warn(`AVC: ${so(-W,!0)} ms (${W}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!ne||u>=a[0].pts||$n)){f=u;let Q=a[0].pts-W;if(G)a[0].dts=f,a[0].pts=Q;else for(let pe=0;pe<a.length&&!(a[pe].dts>Q);pe++)a[pe].dts-=W,a[pe].pts-=W;R.log(`Video: Initial PTS/DTS adjusted: ${so(Q,!0)}/${so(f,!0)}, delta: ${so(W,!0)} ms`)}}f=Math.max(0,f);let A=0,L=0,x=f;for(let W=0;W<l;W++){let G=a[W],ne=G.units,Q=ne.length,pe=0;for(let Pe=0;Pe<Q;Pe++)pe+=ne[Pe].data.length;L+=pe,A+=Q,G.length=pe,G.dts<x?(G.dts=x,x+=S/4|0||1):x=G.dts,p=Math.min(G.pts,p),g=Math.max(G.pts,g)}m=a[l-1].dts;let w=L+4*A+8,P;try{P=new Uint8Array(w)}catch(W){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:W,bytes:w,reason:`fail allocating video mdat ${w}`});return}let k=new DataView(P.buffer);k.setUint32(0,w),P.set(it.types.mdat,4);let D=!1,U=Number.POSITIVE_INFINITY,F=Number.POSITIVE_INFINITY,z=Number.NEGATIVE_INFINITY,X=Number.NEGATIVE_INFINITY;for(let W=0;W<l;W++){let G=a[W],ne=G.units,Q=0;for(let Be=0,Ve=ne.length;Be<Ve;Be++){let Lt=ne[Be],br=Lt.data,rn=Lt.data.byteLength;k.setUint32(c,rn),c+=4,P.set(br,c),c+=rn,Q+=4+rn}let pe;if(W<l-1)h=a[W+1].dts-G.dts,pe=a[W+1].pts-G.pts;else{let Be=this.config,Ve=W>0?G.dts-a[W-1].dts:S;if(pe=W>0?G.pts-a[W-1].pts:S,Be.stretchShortVideoTrack&&this.nextAudioPts!==null){let Lt=Math.floor(Be.maxBufferHole*n),br=(s?p+s*n:this.nextAudioPts)-G.pts;br>Lt?(h=br-Ve,h<0?h=Ve:D=!0,R.log(`[mp4-remuxer]: It is approximately ${br/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=Ve}else h=Ve}let Pe=Math.round(G.pts-G.dts);U=Math.min(U,h),z=Math.max(z,h),F=Math.min(F,pe),X=Math.max(X,pe),o.push(new oc(G.key,h,Q,Pe))}if(o.length){if($n){if($n<70){let W=o[0].flags;W.dependsOn=2,W.isNonSync=0}}else if(kp&&X-F<z-U&&S/z<.025&&o[0].cts===0){R.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let W=f;for(let G=0,ne=o.length;G<ne;G++){let Q=W+o[G].duration,pe=W+o[G].cts;if(G<ne-1){let Pe=Q+o[G+1].cts;o[G].duration=Pe-pe}else o[G].duration=G?o[G-1].duration:S;o[G].cts=0,W=Q}}}h=D||!h?S:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let K=it.moof(e.sequenceNumber++,f,Ze({},e,{samples:o})),se="video",oe={data1:K,data2:P,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:se,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,oe}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return hw;case"ac3":return fw;default:return wT}}remuxAudio(e,t,r,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=this.getSamplesPerFrame(e),u=d*l,c=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],m=n!==void 0,p=e.samples,g=h?0:8,E=this.nextAudioPts||-1,T=t*a,y=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(T-E)<9e3||Math.abs(Qt(p[0].pts-y,T)-E)<20*u),p.forEach(function(K){K.pts=Qt(K.pts-y,T)}),!r||E<0){if(p=p.filter(K=>K.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,T):E=p[0].pts}if(e.segmentCodec==="aac"){let K=this.config.maxAudioFramesDrift;for(let se=0,oe=E;se<p.length;se++){let W=p[se],G=W.pts,ne=G-oe,Q=Math.abs(1e3*ne/a);if(ne<=-K*u&&m)se===0&&(R.warn(`Audio frame @ ${(G/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*ne/a)} ms.`),this.nextAudioPts=E=oe=G);else if(ne>=K*u&&Q<cw&&m){let pe=Math.round(ne/u);oe=G-pe*u,oe<0&&(pe--,oe+=u),se===0&&(this.nextAudioPts=E=oe),R.warn(`[mp4-remuxer]: Injecting ${pe} audio frame @ ${(oe/a).toFixed(3)}s due to ${Math.round(1e3*ne/a)} ms gap.`);for(let Pe=0;Pe<pe;Pe++){let Be=Math.max(oe,0),Ve=ac.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);Ve||(R.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),Ve=W.unit.subarray()),p.splice(se,0,{unit:Ve,pts:Be}),oe+=u,se++}}W.pts=oe,oe+=u}}let S=null,A=null,L,x=0,w=p.length;for(;w--;)x+=p[w].unit.byteLength;for(let K=0,se=p.length;K<se;K++){let oe=p[K],W=oe.unit,G=oe.pts;if(A!==null){let Q=f[K-1];Q.duration=Math.round((G-A)/l)}else if(r&&e.segmentCodec==="aac"&&(G=E),S=G,x>0){x+=g;try{L=new Uint8Array(x)}catch(Q){this.observer.emit(v.ERROR,v.ERROR,{type:ie.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:Q,bytes:x,reason:`fail allocating audio mdat ${x}`});return}h||(new DataView(L.buffer).setUint32(0,x),L.set(it.types.mdat,4))}else return;L.set(W,g);let ne=W.byteLength;g+=ne,f.push(new oc(!0,d,ne,0)),A=G}let P=f.length;if(!P)return;let k=f[f.length-1];this.nextAudioPts=E=A+l*k.duration;let D=h?new Uint8Array(0):it.moof(e.sequenceNumber++,S/l,Ze({},e,{samples:f}));e.samples=[];let U=S/a,F=E/a,X={data1:D,data2:L,startPTS:U,endPTS:F,startDTS:U,endDTS:F,type:"audio",hasAudio:!0,hasVideo:!1,nb:P};return this.isAudioContiguous=!0,X}remuxEmptyAudio(e,t,r,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:s.startDTS*n)+u,h=s.endDTS*n+u,f=o*wT,m=Math.ceil((h-c)/f),p=ac.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(R.warn("[mp4-remuxer]: remux empty Audio"),!p){R.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let g=[];for(let E=0;E<m;E++){let T=c+E*f;g.push({unit:p,pts:T,dts:T})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Qt(i,e){let t;if(e===null)return i;for(e<i?t=-8589934592:t=8589934592;Math.abs(i-e)>4294967296;)i+=t;return i}function mw(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function I_(i,e,t,r){let s=i.samples.length;if(!s)return;let n=i.inputTimeScale;for(let o=0;o<s;o++){let l=i.samples[o];l.pts=Qt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Qt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function R_(i,e,t){let r=i.samples.length;if(!r)return;let s=i.inputTimeScale;for(let a=0;a<r;a++){let o=i.samples[a];o.pts=Qt(o.pts-t.baseTime*s/t.timescale,e*s)/s}i.samples.sort((a,o)=>a.pts-o.pts);let n=i.samples;return i.samples=[],{samples:n}}var oc=class{constructor(e,t,r,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=r,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}},fg=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,r,s){this.audioCodec=t,this.videoCodec=r,this.generateInitSegment(HI(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=t_(e);s.audio&&(t=CT(s.audio,ke.AUDIO)),s.video&&(r=CT(s.video,ke.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+r,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:r,initSegment:e,id:"main"}:R.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,r,s,n,a){var o,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:s,id3:r,initSegment:void 0};q(u)||(u=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},m=this.initData;if((o=m)!=null&&o.length||(this.generateInitSegment(h),m=this.initData),!((l=m)!=null&&l.length))return R.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=WI(h,m),g=GI(m,h),E=g===null?n:g;(pw(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&R.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let T=e?E-d.baseTime/d.timescale:u,y=T+p;VI(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=y:(R.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let S=!!m.audio,A=!!m.video,L="";S&&(L+="audio"),A&&(L+="video");let x={data1:h,startPTS:T,startDTS:T,endPTS:y,endDTS:y,type:L,hasAudio:S,hasVideo:A,nb:1,dropped:0};return c.audio=x.type==="audio"?x:void 0,c.video=x.type!=="audio"?x:void 0,c.initSegment=f,c.id3=I_(r,n,d,d),s.samples.length&&(c.text=R_(s,n,d)),c}};function pw(i,e,t,r){if(i===null)return!0;let s=Math.max(r,1),n=e-i.baseTime/i.timescale;return Math.abs(n-t)>s}function CT(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===ke.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return ju(t,!1);let r="mp4a.40.5";return R.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return R.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var cr;try{cr=self.performance.now.bind(self.performance)}catch{R.debug("Unable to use Performance API on this environment"),cr=qn==null?void 0:qn.Date.now}var $u=[{demux:ng,remux:fg},{demux:ug,remux:Kn},{demux:sg,remux:Kn},{demux:hg,remux:Kn}];$u.splice(2,0,{demux:ag,remux:Kn});var lc=class{constructor(e,t,r,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=r,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,r,s){let n=r.transmuxing;n.executeStart=cr();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:m}=s||o,{audioCodec:p,videoCodec:g,defaultInitPts:E,duration:T,initSegmentData:y}=l,S=gw(a,t);if(S&&S.method==="AES-128"){let w=this.getDecrypter();if(w.isSync()){let P=w.softwareDecrypt(a,S.key.buffer,S.iv.buffer);if(r.part>-1&&(P=w.flush()),!P)return n.executeEnd=cr(),Ip(r);a=new Uint8Array(P)}else return this.decryptionPromise=w.webCryptoDecrypt(a,S.key.buffer,S.iv.buffer).then(P=>{let k=this.push(P,null,r);return this.decryptionPromise=null,k}),this.decryptionPromise}let A=this.needsProbing(u,c);if(A){let w=this.configureTransmuxer(a);if(w)return R.warn(`[transmuxer] ${w.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:w,reason:w.message}),n.executeEnd=cr(),Ip(r)}(u||c||m||A)&&this.resetInitSegment(y,p,g,T,t),(u||m||A)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let L=this.transmux(a,S,f,h,r),x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,n.executeEnd=cr(),L}flush(e){let t=e.transmuxing;t.executeStart=cr();let{decrypter:r,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(r){let c=r.flush();c&&a.push(this.push(c,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=cr(),[Ip(e)];let u=l.flush(o);return Hu(u)?u.then(c=>(this.flushRemux(a,c,e),a)):(this.flushRemux(a,u,e),a)}flushRemux(e,t,r){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;R.log(`[transmuxer.ts]: Flushed fragment ${r.sn}${r.part>-1?" p: "+r.part:""} of level ${r.level}`);let u=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:r}),r.transmuxing.executeEnd=cr()}resetInitialTimestamp(e){let{demuxer:t,remuxer:r}=this;!t||!r||(t.resetTimeStamp(e),r.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,r,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,r,s),o.resetInitSegment(e,t,r,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,r,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,r,s,n):a=this.transmuxUnencrypted(e,r,s,n),a}transmuxUnencrypted(e,t,r,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,r,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,r,s,n){return this.demuxer.demuxSampleAes(e,t,r).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,r,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:r,typeSupported:s,vendor:n}=this,a;for(let h=0,f=$u.length;h<f;h++){var o;if((o=$u[h].demux)!=null&&o.probe(e)){a=$u[h];break}}if(!a)return new Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,d=this.remuxer,u=a.remux,c=a.demux;(!d||!(d instanceof u))&&(this.remuxer=new u(r,t,s,n)),(!l||!(l instanceof c))&&(this.demuxer=new c(r,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new mo(this.config)),e}};function gw(i,e){let t=null;return i.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var Ip=i=>({remuxResult:{},chunkMeta:i});function Hu(i){return"then"in i&&i.then instanceof Function}var mg=class{constructor(e,t,r,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=r,this.duration=s,this.defaultInitPts=n||null}},pg=class{constructor(e,t,r,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=r,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},w_={exports:{}};(function(i){var e=Object.prototype.hasOwnProperty,t="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(t=!1));function s(l,d,u){this.fn=l,this.context=d,this.once=u||!1}function n(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new s(u,c||l,h),m=t?t+d:d;return l._events[m]?l._events[m].fn?l._events[m]=[l._events[m],f]:l._events[m].push(f):(l._events[m]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new r:delete l._events[d]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d},o.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var h=0,f=c.length,m=new Array(f);h<f;h++)m[h]=c[h].fn;return m},o.prototype.listenerCount=function(d){var u=t?t+d:d,c=this._events[u];return c?c.fn?1:c.length:0},o.prototype.emit=function(d,u,c,h,f,m){var p=t?t+d:d;if(!this._events[p])return!1;var g=this._events[p],E=arguments.length,T,y;if(g.fn){switch(g.once&&this.removeListener(d,g.fn,void 0,!0),E){case 1:return g.fn.call(g.context),!0;case 2:return g.fn.call(g.context,u),!0;case 3:return g.fn.call(g.context,u,c),!0;case 4:return g.fn.call(g.context,u,c,h),!0;case 5:return g.fn.call(g.context,u,c,h,f),!0;case 6:return g.fn.call(g.context,u,c,h,f,m),!0}for(y=1,T=new Array(E-1);y<E;y++)T[y-1]=arguments[y];g.fn.apply(g.context,T)}else{var S=g.length,A;for(y=0;y<S;y++)switch(g[y].once&&this.removeListener(d,g[y].fn,void 0,!0),E){case 1:g[y].fn.call(g[y].context);break;case 2:g[y].fn.call(g[y].context,u);break;case 3:g[y].fn.call(g[y].context,u,c);break;case 4:g[y].fn.call(g[y].context,u,c,h);break;default:if(!T)for(A=1,T=new Array(E-1);A<E;A++)T[A-1]=arguments[A];g[y].fn.apply(g[y].context,T)}}return!0},o.prototype.on=function(d,u,c){return n(this,d,u,c,!1)},o.prototype.once=function(d,u,c){return n(this,d,u,c,!0)},o.prototype.removeListener=function(d,u,c,h){var f=t?t+d:d;if(!this._events[f])return this;if(!u)return a(this,f),this;var m=this._events[f];if(m.fn)m.fn===u&&(!h||m.once)&&(!c||m.context===c)&&a(this,f);else{for(var p=0,g=[],E=m.length;p<E;p++)(m[p].fn!==u||h&&!m[p].once||c&&m[p].context!==c)&&g.push(m[p]);g.length?this._events[f]=g.length===1?g[0]:g:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var u;return d?(u=t?t+d:d,this._events[u]&&a(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,i.exports=o})(w_);var vw=w_.exports,Jg=uI(vw),dc=class{constructor(e,t,r,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=r,this.onFlush=s;let a=(d,u)=>{u=u||{},u.frag=this.frag,u.id=this.id,d===v.ERROR&&(this.error=u.error),this.hls.trigger(d,u)};this.observer=new Jg,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=ks(n.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||qR())){try{n.workerPath?(R.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=zR(n.workerPath)):(R.log(`injecting Web Worker for "${t}"`),this.workerContext=YR()),this.onwmsg=c=>this.onWorkerMessage(c);let{worker:u}=this.workerContext;u.addEventListener("message",this.onwmsg),u.onerror=c=>{let h=new Error(`${c.message} (${c.filename}:${c.lineno})`);n.enableWorker=!1,R.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},u.postMessage({cmd:"init",typeSupported:l,vendor:"",id:t,config:JSON.stringify(n)})}catch(u){R.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new lc(this.observer,l,n,"",t)}return}this.transmuxer=new lc(this.observer,l,n,"",t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,r,s,n,a,o,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,m=a?a.start:n.start,p=n.decryptdata,g=this.frag,E=!(g&&n.cc===g.cc),T=!(g&&d.level===g.level),y=g?d.sn-g.sn:-1,S=this.part?d.part-this.part.index:-1,A=y===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),L=!T&&(y===1||y===0&&(S===1||A&&S<=0)),x=self.performance.now();(T||y||n.stats.parsing.start===0)&&(n.stats.parsing.start=x),a&&(S||!L)&&(a.stats.parsing.start=x);let w=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),P=new pg(E,L,l,T,m,w);if(!L||E||w){R.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
1585
1585
  discontinuity: ${E}
1586
1586
  trackSwitch: ${T}
1587
1587
  contiguous: ${L}
1588
1588
  accurateTimeOffset: ${l}
1589
1589
  timeOffset: ${m}
1590
- initSegmentChange: ${w}`);let k=new hg(r,s,t,o,u);this.configureTransmuxer(k)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:P},e instanceof ArrayBuffer?[e]:[]);else if(f){let k=f.push(e,p,d,P);Hu(k)?(f.async=!0,k.then(D=>{this.handleTransmuxComplete(D)}).catch(D=>{this.transmuxerError(D,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(k))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let r=t.flush(e);Hu(r)||t.async?(Hu(r)||(r=Promise.resolve(r)),r.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(r,e)}}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(r=>{this.handleTransmuxComplete(r)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){I.warn(`worker message received with no ${t?"event name":"data"}`);return}let r=this.hls;if(this.hls)switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":I[t.data.logType]&&I[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function R_(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!Yn(i[t].attrs,e[t].attrs))return!1;return!0}function Yn(i,e,t){let r=i["STABLE-RENDITION-ID"];return r&&!t?r===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>i[s]!==e[s])}function mg(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var wT=100,pg=class extends po{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",J.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){if(r==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===N.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=N.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(wT),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=N.IDLE):(this.loadedmetadata=!1,this.state=N.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case N.IDLE:this.doTickIdle();break;case N.WAITING_TRACK:{var e;let{levels:r,trackId:s}=this,n=r==null||(e=r[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=N.WAITING_INIT_PTS}break}case N.FRAG_LOADING_WAITING_RETRY:{var t;let r=performance.now(),s=this.retryDate;if(!s||r>=s||(t=this.media)!=null&&t.seeking){let{levels:n,trackId:a}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((n==null?void 0:n[a])||null),this.state=N.IDLE}break}case N.WAITING_INIT_PTS:{let r=this.waitingData;if(r){let{frag:s,part:n,cache:a,complete:o}=r;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=N.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=Ne.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);qp(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=N.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=N.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:r,trackId:s}=this,n=e.config;if(!r&&(this.startFragRequested||!n.startFragPrefetch)||!(t!=null&&t[s]))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o)){this.state=N.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,ke.AUDIO,J.AUDIO));let d=this.getFwdBufferInfo(l,J.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=N.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,J.MAIN),f=d.len,m=this.getMaxBufferLength(h==null?void 0:h.len),p=o.fragments,g=p[0].start,E=this.flushing?this.getLoadPosition():d.end;if(c&&r){let A=this.getLoadPosition();u&&!Yn(c.attrs,u.attrs)&&(E=A),o.PTSKnown&&A<g&&(d.end>g||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=g+.05)}if(f>=m&&!c&&E<p[p.length-1].start)return;let T=this.getNextFragment(E,o),y=!1;if(T&&this.isLoopLoading(T,E)&&(y=!!T.gap,T=this.getNextFragmentLoopLoading(T,o,d,J.MAIN,m)),!T){this.bufferFlushed=!0;return}let S=h&&T.start>h.end+o.targetduration;if(S||!(h!=null&&h.len)&&d.len){let A=this.getAppendedFrag(T.start,J.MAIN);if(A===null||(y||(y=!!A.gap||!!S&&h.len===0),S&&!y||y&&d.nextStart&&d.nextStart<A.end))return}this.loadFragment(T,a,E)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(r=>new Mr(r))}onAudioTrackSwitching(e,t){let r=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),r?this.setInterval(wT):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=N.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=N.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(v.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var r;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Audio track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(r=o.details)!=null&&r.live){this.checkLiveUpdate(n);let u=this.mainDetails;if(n.deltaUpdateFailed||!u)return;if(!o.details&&n.hasProgramDateTime&&u.hasProgramDateTime)tc(n,u),l=n.fragments[0].start;else{var d;l=this.alignPlaylists(n,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}}o.details=n,this.levelLastLoaded=o,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(this.mainDetails||n,l),this.state===N.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=N.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start);return}let c=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new dc(this.hls,J.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[r.cc],m=(t=r.initSegment)==null?void 0:t.data;if(f!==void 0){let g=s?s.index:-1,E=g!==-1,T=new fo(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,T,f)}else{this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${u.startSN} ,${u.endSN}],track ${o}`);let{cache:p}=this.waitingData=this.waitingData||{frag:r,part:s,cache:new ic,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=N.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let r=t.tracks.audio;r&&(this.mediaBuffer=r.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r.type!==J.AUDIO){if(!this.loadedmetadata&&r.type===J.MAIN){let n=this.videoBuffer||this.media;n&&Ne.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(r.sn!=="initSegment"){this.fragPrevious=r;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(v.AUDIO_TRACK_SWITCHED,ft({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(J.AUDIO,t);break;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===ve.AUDIO_TRACK&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==ke.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==ke.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===N.ENDED&&(this.state=N.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,J.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let r="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{details:c}=u,{audio:h,text:f,id3:m,initSegment:p}=n;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),p!=null&&p.tracks){let g=l.initSegment||l;this._bufferInitSegment(u,p.tracks,g,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:g,id:r,tracks:p.tracks})}if(h){let{startPTS:g,endPTS:E,startDTS:T,endDTS:y}=h;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:g,endPTS:E,startDTS:T,endDTS:y}),l.setElementaryStreamInfo(ke.AUDIO,g,E,T,y),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=Ze({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=Ze({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;t.video&&delete t.video;let n=t.audio;if(!n)return;n.id="audio";let a=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${a}/${n.codec}]`),a&&a.split(",").length===1&&(n.levelCodec=a),this.hls.trigger(v.BUFFER_CODECS,t);let o=n.initSegment;if(o!=null&&o.byteLength){let l={type:"audio",frag:r,part:null,chunkMeta:s,parent:r.type,data:o};this.hls.trigger(v.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===ht.NOT_LOADED||s===ht.PARTIAL){var n;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=N.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&tc(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){let{media:t,bufferedTrack:r}=this,s=r==null?void 0:r.attrs,n=e.attrs;t&&s&&(s.CHANNELS!==n.CHANNELS||r.name!==e.name||r.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(v.AUDIO_TRACK_SWITCHED,ft({},e))}},gg=class extends ho{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Audio track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(o=>(s==null?void 0:s.indexOf(o))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(h=>!r||r.indexOf(h.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(h=>h.default)&&(this.selectDefaultTrack=!1),o.forEach((h,f)=>{h.id=f});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let l=this.hls.config.audioPreference;if(!n&&l){let h=ji(l,o,Un);if(h>-1)n=o[h];else{let f=ji(l,this.tracks);n=this.tracks[f]}}let d=this.findTrackId(n);d===-1&&n&&(d=this.findTrackId(null));let u={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${r==null?void 0:r.join(",")}`),this.hls.trigger(v.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(o.length&&c===-1){var a;let h=new Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${o.length}`);this.warn(h.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h})}}else this.shouldReloadPlaylist(n)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===ve.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let r=this.allAudioTracks;if(this.selectDefaultTrack=!1,r.length){let s=this.currentTrack;if(s&&Wn(e,s,Un))return s;let n=ji(e,this.tracksInGroup,Un);if(n>-1){let a=this.tracksInGroup[n];return this.setAudioTrack(n),a}else if(s){let a=t.loadLevel;a===-1&&(a=t.firstAutoLevel);let o=PR(e,t.levels,r,a,Un);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=ji(e,r);if(a>-1)return r[a]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===r&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(v.AUDIO_TRACK_SWITCHING,ft({},s)),n))return;let a=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(!(this.selectDefaultTrack&&!s.default)&&(!e||Wn(e,s,Un)))return r}if(e){let{name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l}=e;for(let d=0;d<t.length;d++){let u=t[d];if(Wn({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,Un))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE"]))return d}}return-1}loadPlaylist(e){let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${r} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(v.AUDIO_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}},CT=500,vg=class extends po{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",J.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=N.IDLE,this.setInterval(CT),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:r,success:s}=t;if(this.fragPrevious=r,this.state=N.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=r.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=r.start+r.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null)}onBufferFlushing(e,t){let{startOffset:r,endOffset:s}=t;if(r===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(r,n,J.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===J.MAIN){var r;(r=this.media)!=null&&r.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let r=t.frag;(r==null?void 0:r.type)===J.SUBTITLE&&(t.details===C.FRAG_GAP&&this.fragmentTracker.fragBuffered(r,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==N.STOPPED&&(this.state=N.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&R_(this.levels,t)){this.levels=t.map(r=>new Mr(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Mr(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,J.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var r;if(this.currentTrackId=t.id,!((r=this.levels)!=null&&r.length)||this.currentTrackId===-1){this.clearInterval();return}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(CT)}onSubtitleTrackLoaded(e,t){var r;let{currentTrackId:s,levels:n}=this,{details:a,id:o}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let l=n[o];if(o>=n.length||!l)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(a.live||(r=l.details)!=null&&r.live){let c=this.mainDetails;if(a.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)a.hasProgramDateTime&&c.hasProgramDateTime?(tc(a,c),d=a.fragments[0].start):h&&(d=h.start,Vp(a,d));else{var u;d=this.alignPlaylists(a,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,Vp(a,d))}}l.details=a,this.levelLastLoaded=l,o===s&&(!this.startFragRequested&&(this.mainDetails||!a.live)&&this.setStartPosition(this.mainDetails||a,d),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===N.IDLE&&(ec(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:r}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(v.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=N.IDLE})}}doTick(){if(!this.media){this.state=N.IDLE;return}if(this.state===N.IDLE){let{currentTrackId:e,levels:t}=this,r=t==null?void 0:t[e];if(!r||!t.length||!r.details)return;let{config:s}=this,n=this.getLoadPosition(),a=Ne.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,J.MAIN),u=r.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,m=u.edge,p=null,g=this.fragPrevious;if(o<m){let E=s.maxFragLookUpTolerance,T=o>m-E?0:E;p=ec(g,h,Math.max(h[0].start,o),T),!p&&g&&g.start<h[0].start&&(p=h[0])}else p=h[f-1];if(!p)return;if(p=this.mapToInitFragWhenRequired(p),p.sn!=="initSegment"){let E=p.sn-u.startSN,T=h[E-1];T&&T.cc===p.cc&&this.fragmentTracker.getState(T)===ht.NOT_LOADED&&(p=T)}this.fragmentTracker.getState(p)===ht.NOT_LOADED&&this.loadFragment(p,r,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,r){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,r))}get mediaBufferTimeRanges(){return new Eg(this.tracksBuffered[this.currentTrackId]||[])}},Eg=class{constructor(e){this.buffered=void 0;let t=(r,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${r}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][r]};this.buffered={get length(){return e.length},end(r){return t("end",r,e.length)},start(r){return t("start",r,e.length)}}}},bg=class extends ho{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,r=Uu(this.media.textTracks);for(let n=0;n<r.length;n++)if(r[n].mode==="hidden")t=r[n];else if(r[n].mode==="showing"){t=r[n];break}let s=this.findTrackForTextTrack(t);this.subtitleTrack!==s&&this.setSubtitleTrack(s)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),Uu(this.media.textTracks).forEach(t=>{Hn(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Subtitle track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(a=>(s==null?void 0:s.indexOf(a))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(u=>!r||r.indexOf(u.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(u=>u.default)&&(this.selectDefaultTrack=!1),a.forEach((u,c)=>{u.id=c});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let o=this.hls.config.subtitlePreference;if(!n&&o){this.selectDefaultTrack=!1;let u=ji(o,a);if(u>-1)n=a[u];else{let c=ji(o,this.tracks);n=this.tracks[c]}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let d={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${r==null?void 0:r.join(",")}" group-id`),this.hls.trigger(v.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}else this.shouldReloadPlaylist(n)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){let t=this.tracksInGroup,r=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let n=t[s];if(!(r&&!n.default||!r&&!e)&&(!e||Wn(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE"]))return s}}return-1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(mg(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===ve.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let r=this.currentTrack;if(r&&Wn(e,r))return r;let s=ji(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=ji(e,t);if(n>-1)return t[n]}}}}return null}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${r}`),this.hls.trigger(v.SUBTITLE_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=Uu(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>mg(r,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled")}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!q(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:e});return}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===r&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:o="",name:l,type:d,url:u}=s;this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:u});let c=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(c)}},yg=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,r){let s=this.queues[t];s.push(e),s.length===1&&!r&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,r=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),r}executeNext(e){let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(s){I.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${s}`),r.onError(s);let n=this.buffers[e];n!=null&&n.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},DT=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Tg=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=r=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=r=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{let{media:r,mediaSource:s}=this;this.log("Media source opened"),r&&(r.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(v.MEDIA_ATTACHED,{media:r,mediaSource:s})),s&&s.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:r,_objectUrl:s}=this;r!==s&&I.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=JI(ks(e.config.preferManagedMediaSource)),this.log=I.log.bind(I,t),this.warn=I.warn.bind(I,t),this.error=I.error.bind(I,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_APPENDING,this.onBufferAppending,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.BUFFER_EOS,this.onBufferEos,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(v.FRAG_PARSED,this.onFragParsed,this),e.on(v.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_APPENDING,this.onBufferAppending,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.BUFFER_EOS,this.onBufferEos,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(v.FRAG_PARSED,this.onFragParsed,this),e.off(v.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new yg(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let r=this.media=t.media,s=ks(this.appendSource);if(r&&s){var n;let a=this.mediaSource=new s;this.log(`created media source: ${(n=a.constructor)==null?void 0:n.name}`),a.addEventListener("sourceopen",this._onMediaSourceOpen),a.addEventListener("sourceended",this._onMediaSourceEnded),a.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming));let o=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{r.removeAttribute("src");let l=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||l&&a instanceof l,MT(r),gw(r,o),r.load()}catch{r.src=o}else r.src=o;r.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:r}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){this.warn(`onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&MT(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(v.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e)}),this._initSourceBuffer()}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var r;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(s){this.warn(`onBufferReset ${e}`,s)}}onBufferCodecs(e,t){let r=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach(a=>{if(r){let l=this.tracks[a];if(l&&typeof l.buffer.changeType=="function"){var o;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[a],m=nT(l.codec,l.levelCodec),p=m==null?void 0:m.replace(DT,"$1"),g=nT(u,c),E=(o=g)==null?void 0:o.replace(DT,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=ju(g,this.appendSource));let T=`${h};codecs=${g}`;this.appendChangeType(a,T),this.log(`switching codec ${m} to ${g}`),this.tracks[a]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d}}}}else this.pendingTracks[a]=t[a]}),r)return;let n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(`${n} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=n),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(e,t){let{operationQueue:r}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(this.log(`changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),r.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};r.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){let{hls:r,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[o],h=self.performance.now();c.start=h;let f=l.stats.buffering,m=d?d.stats.buffering:null;f.start===0&&(f.start=h),m&&m.start===0&&(m.start=h);let p=n.audio,g=!1;o==="audio"&&(p==null?void 0:p.container)==="audio/mpeg"&&(g=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let E=l.start,T={execute:()=>{if(c.executeStart=self.performance.now(),g){let y=this.sourceBuffer[o];if(y){let S=E-y.timestampOffset;Math.abs(S)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${S}) sn: ${l.sn})`),y.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let y=self.performance.now();c.executeEnd=c.end=y,f.first===0&&(f.first=y),m&&m.first===0&&(m.first=y);let{sourceBuffer:S}=this,A={};for(let L in S)A[L]=Ne.getBuffered(S[L]);this.appendErrors[o]=0,o==="audio"||o==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(v.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:A})},onError:y=>{let S={type:ie.MEDIA_ERROR,parent:l.type,details:C.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:y,err:y,fatal:!1};if(y.code===DOMException.QUOTA_EXCEEDED_ERR)S.details=C.BUFFER_FULL_ERROR;else{let A=++this.appendErrors[o];S.details=C.BUFFER_APPEND_ERROR,this.warn(`Failed ${A}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),A>=r.config.appendErrorMaxRetry&&(S.fatal=!0)}r.trigger(v.ERROR,S)}};s.append(T,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){let{operationQueue:r}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(v.BUFFER_FLUSHED,{type:n})},onError:a=>{this.warn(`Failed to remove from ${n} SourceBuffer`,a)}});t.type?r.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{r.append(s(n),n)})}onFragParsed(e,t){let{frag:r,part:s}=t,n=[],a=s?s.elementaryStreams:r.elementaryStreams;a[ke.AUDIOVIDEO]?n.push("audiovideo"):(a[ke.AUDIO]&&n.push("audio"),a[ke.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();r.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:r.stats;this.hls.trigger(v.FRAG_BUFFERED,{frag:r,part:s,stats:d,id:r.type})};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: ${r.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,this.log(`${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){let{hls:e,details:t,media:r}=this;if(!r||t===null||!this.getSourceBufferTypes().length)return;let n=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&n.liveBackBufferLength!==null?n.liveBackBufferLength:n.backBufferLength;if(q(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(q(n.frontBufferFlushThreshold)&&n.frontBufferFlushThreshold>0){let d=Math.max(n.maxBufferLength,n.frontBufferFlushThreshold),u=Math.max(d,o),c=Math.floor(a/o)*o+u;this.flushFrontBuffer(a,o,c)}}flushBackBuffer(e,t,r){let{details:s,sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let l=n[o];if(l){let d=Ne.getBuffered(l);if(d.length>0&&r>d.start(0)){if(this.hls.trigger(v.BACK_BUFFER_REACHED,{bufferEnd:r}),s!=null&&s.live)this.hls.trigger(v.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(l.ended&&d.end(d.length-1)-e<t*2){this.log(`Cannot flush ${o} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:o})}}})}flushFrontBuffer(e,t,r){let{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach(a=>{let o=s[a];if(o){let l=Ne.getBuffered(o),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(r>u||e>=u&&e<=c)return;if(o.ended&&e-c<2*t){this.log(`Cannot flush ${a} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:a})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:r,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=r.duration,o=q(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!q(a))&&(this.log(`Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,r[0].start),a=Math.max(n,n+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${n}-${a}.`),t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:r}=this,s=Object.keys(r).length;if(s&&(!e||s===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(v.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:r}=this;if(!r)throw Error("createSourceBuffers called when mediaSource was null");for(let n in e)if(!t[n]){var s;let a=e[n];if(!a)throw Error(`source buffer exists for track ${n}, however track does not`);let o=((s=a.levelCodec)==null?void 0:s.indexOf(","))===-1?a.levelCodec:a.codec;o&&n.slice(0,5)==="audio"&&(o=ju(o,this.appendSource));let l=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[n]=r.addSourceBuffer(l),u=n;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(v.BUFFER_FLUSHED,{type:n})}),this.tracks[n]={buffer:d,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e;let t=((e=this.media)==null?void 0:e.firstChild)||this.media;return t==null?void 0:t.src}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}let{operationQueue:r}=this;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var r;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(r=this.mediaSource)==null?void 0:r.readyState}`);this.error(`${s}`,t),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.operationQueue.current(e);n&&n.onError(s)}removeExecutor(e,t,r){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=q(s.duration)?s.duration:1/0,u=q(n.duration)?n.duration:1/0,c=Math.max(0,t),h=Math.min(r,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let r=this.sourceBuffer[t];if(!r){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}r.ended=!1,r.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:r}=this,s=t.map(n=>r.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||r.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,r){let s=this.sourceBuffer[e];if(!s)return;let n=r.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(r=>{t.removeEventListener(r.event,r.listener)})}};function MT(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function gw(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var vw={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},w_=i=>String.fromCharCode(vw[i]||i),Ei=15,dr=100,Ew={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},bw={17:2,18:4,21:6,22:8,23:10,19:13,20:15},yw={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Tw={25:2,26:4,29:6,30:8,31:10,27:13,28:15},_w=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],_g=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;I.log(`${this.time} [${e}] ${r}`)}}},_s=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},uc=class{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let r=0;r<t.length;r++){let s=t[r];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},Ag=class{constructor(){this.uchar=" ",this.penState=new uc}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},Sg=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new uc,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<dr;t++)this.chars.push(new Ag);this.logger=e}equals(e){for(let t=0;t<dr;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<dr;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<dr;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>dr&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=dr)}moveCursor(e){let t=this.pos+e;if(e>1)for(let r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=w_(e);if(this.pos>=dr){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<dr;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let r=0;r<dr;r++){let s=this.chars[r].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},oo=class{constructor(e){this.rows=[],this.currRow=Ei-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<Ei;t++)this.rows.push(new Sg(e));this.logger=e}reset(){for(let e=0;e<Ei;e++)this.rows[e].clear();this.currRow=Ei-1}equals(e){let t=!0;for(let r=0;r<Ei;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<Ei;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<Ei;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<Ei;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let r=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);r.setCursor(e.indent),e.color=r.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],r="",s=-1;for(let n=0;n<Ei;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?r="["+t.join(" | ")+"]":r=t.join(`
1591
- `)),r}getTextAndFormat(){return this.rows}},cc=class{constructor(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new oo(r),this.nonDisplayedMemory=new oo(r),this.lastOutputScreen=new oo(r),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let r=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},hc=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Sw(),this.logger=void 0;let s=this.logger=new _g;this.channels=[null,new cc(e,t,s),new cc(e+1,r,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let r=0;r<t.length;r+=2){let s=t[r]&127,n=t[r+1]&127,a=!1,o=null;if(s===0&&n===0)continue;this.logger.log(3,()=>"["+_s([t[r],t[r+1]])+"] -> ("+_s([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(Aw(s,n,l)){Mu(null,null,l),this.logger.log(3,()=>"Repeated command ("+_s([s,n])+") is dropped");continue}Mu(s,n,this.cmdHistory),a=this.parseCmd(s,n),a||(a=this.parseMidrow(s,n)),a||(a=this.parsePAC(s,n)),a||(a=this.parseBackgroundAttributes(s,n))}else Mu(null,null,l);if(!a&&(o=this.parseChars(s,n),o)){let u=this.currentChannel;u&&u>0?this.channels[u].insertChars(o):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!a&&!o&&this.logger.log(2,()=>"Couldn't parse cleaned data "+_s([s,n])+" orig: "+_s([t[r],t[r+1]]))}}parseCmd(e,t){let r=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=33&&t<=35;if(!(r||s))return!1;let n=e===20||e===21||e===23?1:2,a=this.channels[n];return e===20||e===21||e===28||e===29?t===32?a.ccRCL():t===33?a.ccBS():t===34?a.ccAOF():t===35?a.ccAON():t===36?a.ccDER():t===37?a.ccRU(2):t===38?a.ccRU(3):t===39?a.ccRU(4):t===40?a.ccFON():t===41?a.ccRDC():t===42?a.ccTR():t===43?a.ccRTD():t===44?a.ccEDM():t===45?a.ccCR():t===46?a.ccENM():t===47&&a.ccEOC():a.ccTO(t-32),this.currentChannel=n,!0}parseMidrow(e,t){let r=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?r=1:r=2,r!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[r];return s?(s.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+_s([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let r,s=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,n=(e===16||e===24)&&t>=64&&t<=95;if(!(s||n))return!1;let a=e<=23?1:2;t>=64&&t<=95?r=a===1?Ew[e]:yw[e]:r=a===1?bw[e]:Tw[e];let o=this.channels[a];return o?(o.setPAC(this.interpretPAC(r,t)),this.currentChannel=a,!0):!1}interpretPAC(e,t){let r,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?r=t-96:r=t-64,s.underline=(r&1)===1,r<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((r-16)/2)*4,s}parseChars(e,t){let r,s=null,n=null;if(e>=25?(r=2,n=e-8):(r=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,()=>"Special char '"+w_(a)+"' in channel "+r),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);return s&&this.logger.log(3,()=>"Char codes = "+_s(s).join(",")),s}parseBackgroundAttributes(e,t){let r=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(r||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=_w[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}Mu(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let r=this.channels[t];r&&r.cueSplitAtTime(e)}}};function Mu(i,e,t){t.a=i,t.b=e}function Aw(i,e,t){return t.a===i&&t.b===e}function Sw(){return{a:null,b:null}}var Gn=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},Zg=function(){if(qn!=null&&qn.VTTCue)return self.VTTCue;let i=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function r(o){return t(i,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let u=arguments[d];for(let c in u)o[c]=u[c]}return o}function a(o,l,d){let u=this,c={enumerable:!0};u.hasBeenReset=!1;let h="",f=!1,m=o,p=l,g=d,E=null,T="",y=!0,S="auto",A="start",L=50,x="middle",w=50,P="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(k){h=""+k}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(k){f=!!k}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(k){if(typeof k!="number")throw new TypeError("Start time must be set to a number.");m=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(k){if(typeof k!="number")throw new TypeError("End time must be set to a number.");p=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(k){g=""+k,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(k){E=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return T},set:function(k){let D=r(k);if(D===!1)throw new SyntaxError("An invalid or illegal string was specified.");T=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return y},set:function(k){y=!!k,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return S},set:function(k){if(typeof k!="number"&&k!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");S=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return A},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");A=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return L},set:function(k){if(k<0||k>100)throw new Error("Position must be between 0 and 100.");L=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return x},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");x=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return w},set:function(k){if(k<0||k>100)throw new Error("Size must be between 0 and 100.");w=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return P},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");P=D,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),xg=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function C_(i){function e(r,s,n,a){return(r|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=i.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var Lg=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,r){for(let s=0;s<r.length;++s)if(t===r[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1}};function D_(i,e,t,r){let s=r?i.split(r):[i];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var kg=new Zg(0,0,""),Pu=kg.align==="middle"?"middle":"center";function xw(i,e,t){let r=i;function s(){let o=C_(i);if(o===null)throw new Error("Malformed timestamp: "+r);return i=i.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new Lg;D_(o,function(h,f){let m;switch(h){case"region":for(let p=t.length-1;p>=0;p--)if(t[p].id===f){d.set(h,t[p].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":m=f.split(","),d.integer(h,m[0]),d.percent(h,m[0])&&d.set("snapToLines",!1),d.alt(h,m[0],["auto"]),m.length===2&&d.alt("lineAlign",m[1],["start",Pu,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",Pu,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",Pu,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&kg.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",Pu);let c=d.get("position","auto");c==="auto"&&kg.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c}function a(){i=i.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),i.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+r);i=i.slice(3),a(),e.endTime=s(),a(),n(i,e)}function M_(i){return i.replace(/<br(?: \/)?>/gi,`
1592
- `)}var Ig=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new xg,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function r(){let n=t.buffer,a=0;for(n=M_(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
1590
+ initSegmentChange: ${w}`);let k=new mg(r,s,t,o,u);this.configureTransmuxer(k)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:P},e instanceof ArrayBuffer?[e]:[]);else if(f){let k=f.push(e,p,d,P);Hu(k)?(f.async=!0,k.then(D=>{this.handleTransmuxComplete(D)}).catch(D=>{this.transmuxerError(D,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(k))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let r=t.flush(e);Hu(r)||t.async?(Hu(r)||(r=Promise.resolve(r)),r.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(r,e)}}transmuxerError(e,t,r){this.hls&&(this.error=e,this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:r}))}handleFlushResult(e,t){e.forEach(r=>{this.handleTransmuxComplete(r)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){R.warn(`worker message received with no ${t?"event name":"data"}`);return}let r=this.hls;if(this.hls)switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":R[t.data.logType]&&R[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,r.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function C_(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!Yn(i[t].attrs,e[t].attrs))return!1;return!0}function Yn(i,e,t){let r=i["STABLE-RENDITION-ID"];return r&&!t?r===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>i[s]!==e[s])}function gg(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var DT=100,vg=class extends po{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",ee.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){if(r==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===N.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=N.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(DT),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=N.IDLE):(this.loadedmetadata=!1,this.state=N.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case N.IDLE:this.doTickIdle();break;case N.WAITING_TRACK:{var e;let{levels:r,trackId:s}=this,n=r==null||(e=r[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=N.WAITING_INIT_PTS}break}case N.FRAG_LOADING_WAITING_RETRY:{var t;let r=performance.now(),s=this.retryDate;if(!s||r>=s||(t=this.media)!=null&&t.seeking){let{levels:n,trackId:a}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((n==null?void 0:n[a])||null),this.state=N.IDLE}break}case N.WAITING_INIT_PTS:{let r=this.waitingData;if(r){let{frag:s,part:n,cache:a,complete:o}=r;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=N.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=Ne.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);zp(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=N.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=N.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:r,trackId:s}=this,n=e.config;if(!r&&(this.startFragRequested||!n.startFragPrefetch)||!(t!=null&&t[s]))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o)){this.state=N.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,ke.AUDIO,ee.AUDIO));let d=this.getFwdBufferInfo(l,ee.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=N.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,ee.MAIN),f=d.len,m=this.getMaxBufferLength(h==null?void 0:h.len),p=o.fragments,g=p[0].start,E=this.flushing?this.getLoadPosition():d.end;if(c&&r){let A=this.getLoadPosition();u&&!Yn(c.attrs,u.attrs)&&(E=A),o.PTSKnown&&A<g&&(d.end>g||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=g+.05)}if(f>=m&&!c&&E<p[p.length-1].start)return;let T=this.getNextFragment(E,o),y=!1;if(T&&this.isLoopLoading(T,E)&&(y=!!T.gap,T=this.getNextFragmentLoopLoading(T,o,d,ee.MAIN,m)),!T){this.bufferFlushed=!0;return}let S=h&&T.start>h.end+o.targetduration;if(S||!(h!=null&&h.len)&&d.len){let A=this.getAppendedFrag(T.start,ee.MAIN);if(A===null||(y||(y=!!A.gap||!!S&&h.len===0),S&&!y||y&&d.nextStart&&d.nextStart<A.end))return}this.loadFragment(T,a,E)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(r=>new Or(r))}onAudioTrackSwitching(e,t){let r=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),r?this.setInterval(DT):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=N.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=N.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(v.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var r;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Audio track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(r=o.details)!=null&&r.live){this.checkLiveUpdate(n);let u=this.mainDetails;if(n.deltaUpdateFailed||!u)return;if(!o.details&&n.hasProgramDateTime&&u.hasProgramDateTime)tc(n,u),l=n.fragments[0].start;else{var d;l=this.alignPlaylists(n,o.details,(d=this.levelLastLoaded)==null?void 0:d.details)}}o.details=n,this.levelLastLoaded=o,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(this.mainDetails||n,l),this.state===N.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=N.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(r.start);return}let c=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new dc(this.hls,ee.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[r.cc],m=(t=r.initSegment)==null?void 0:t.data;if(f!==void 0){let g=s?s.index:-1,E=g!==-1,T=new fo(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,T,f)}else{this.log(`Unknown video PTS for cc ${r.cc}, waiting for video PTS before demuxing audio frag ${r.sn} of [${u.startSN} ,${u.endSN}],track ${o}`);let{cache:p}=this.waitingData=this.waitingData||{frag:r,part:s,cache:new ic,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=N.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let r=t.tracks.audio;r&&(this.mediaBuffer=r.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r.type!==ee.AUDIO){if(!this.loadedmetadata&&r.type===ee.MAIN){let n=this.videoBuffer||this.media;n&&Ne.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(r.sn!=="initSegment"){this.fragPrevious=r;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(v.AUDIO_TRACK_SWITCHED,ft({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ee.AUDIO,t);break;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===ve.AUDIO_TRACK&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==ke.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==ke.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===N.ENDED&&(this.state=N.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,ee.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let r="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{details:c}=u,{audio:h,text:f,id3:m,initSegment:p}=n;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),p!=null&&p.tracks){let g=l.initSegment||l;this._bufferInitSegment(u,p.tracks,g,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:g,id:r,tracks:p.tracks})}if(h){let{startPTS:g,endPTS:E,startDTS:T,endDTS:y}=h;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:g,endPTS:E,startDTS:T,endDTS:y}),l.setElementaryStreamInfo(ke.AUDIO,g,E,T,y),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=Ze({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=Ze({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;t.video&&delete t.video;let n=t.audio;if(!n)return;n.id="audio";let a=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${a}/${n.codec}]`),a&&a.split(",").length===1&&(n.levelCodec=a),this.hls.trigger(v.BUFFER_CODECS,t);let o=n.initSegment;if(o!=null&&o.byteLength){let l={type:"audio",frag:r,part:null,chunkMeta:s,parent:r.type,data:o};this.hls.trigger(v.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===ht.NOT_LOADED||s===ht.PARTIAL){var n;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=N.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&tc(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){let{media:t,bufferedTrack:r}=this,s=r==null?void 0:r.attrs,n=e.attrs;t&&s&&(s.CHANNELS!==n.CHANNELS||r.name!==e.name||r.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(v.AUDIO_TRACK_SWITCHED,ft({},e))}},Eg=class extends ho{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(v.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Audio track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(o=>(s==null?void 0:s.indexOf(o))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(h=>!r||r.indexOf(h.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(h=>h.default)&&(this.selectDefaultTrack=!1),o.forEach((h,f)=>{h.id=f});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let l=this.hls.config.audioPreference;if(!n&&l){let h=ji(l,o,Un);if(h>-1)n=o[h];else{let f=ji(l,this.tracks);n=this.tracks[f]}}let d=this.findTrackId(n);d===-1&&n&&(d=this.findTrackId(null));let u={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${r==null?void 0:r.join(",")}`),this.hls.trigger(v.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(o.length&&c===-1){var a;let h=new Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${o.length}`);this.warn(h.message),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h})}}else this.shouldReloadPlaylist(n)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===ve.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let r=this.allAudioTracks;if(this.selectDefaultTrack=!1,r.length){let s=this.currentTrack;if(s&&Wn(e,s,Un))return s;let n=ji(e,this.tracksInGroup,Un);if(n>-1){let a=this.tracksInGroup[n];return this.setAudioTrack(n),a}else if(s){let a=t.loadLevel;a===-1&&(a=t.firstAutoLevel);let o=NR(e,t.levels,r,a,Un);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=ji(e,r);if(a>-1)return r[a]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===r&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(v.AUDIO_TRACK_SWITCHING,ft({},s)),n))return;let a=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(!(this.selectDefaultTrack&&!s.default)&&(!e||Wn(e,s,Un)))return r}if(e){let{name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l}=e;for(let d=0;d<t.length;d++){let u=t[d];if(Wn({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,Un))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Yn(e.attrs,u.attrs,["LANGUAGE"]))return d}}return-1}loadPlaylist(e){let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${r} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(v.AUDIO_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}},MT=500,bg=class extends po{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",ee.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.ERROR,this.onError,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.ERROR,this.onError,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=N.IDLE,this.setInterval(MT),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:r,success:s}=t;if(this.fragPrevious=r,this.state=N.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=r.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=r.start+r.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null)}onBufferFlushing(e,t){let{startOffset:r,endOffset:s}=t;if(r===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(r,n,ee.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===ee.MAIN){var r;(r=this.media)!=null&&r.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let r=t.frag;(r==null?void 0:r.type)===ee.SUBTITLE&&(t.details===C.FRAG_GAP&&this.fragmentTracker.fragBuffered(r,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==N.STOPPED&&(this.state=N.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&C_(this.levels,t)){this.levels=t.map(r=>new Or(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Or(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,ee.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var r;if(this.currentTrackId=t.id,!((r=this.levels)!=null&&r.length)||this.currentTrackId===-1){this.clearInterval();return}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(MT)}onSubtitleTrackLoaded(e,t){var r;let{currentTrackId:s,levels:n}=this,{details:a,id:o}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let l=n[o];if(o>=n.length||!l)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(a.live||(r=l.details)!=null&&r.live){let c=this.mainDetails;if(a.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)a.hasProgramDateTime&&c.hasProgramDateTime?(tc(a,c),d=a.fragments[0].start):h&&(d=h.start,Yp(a,d));else{var u;d=this.alignPlaylists(a,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,Yp(a,d))}}l.details=a,this.levelLastLoaded=l,o===s&&(!this.startFragRequested&&(this.mainDetails||!a.live)&&this.setStartPosition(this.mainDetails||a,d),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===N.IDLE&&(ec(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:r}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&r&&r.byteLength>0&&s!=null&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(r),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(v.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=N.IDLE})}}doTick(){if(!this.media){this.state=N.IDLE;return}if(this.state===N.IDLE){let{currentTrackId:e,levels:t}=this,r=t==null?void 0:t[e];if(!r||!t.length||!r.details)return;let{config:s}=this,n=this.getLoadPosition(),a=Ne.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,ee.MAIN),u=r.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,m=u.edge,p=null,g=this.fragPrevious;if(o<m){let E=s.maxFragLookUpTolerance,T=o>m-E?0:E;p=ec(g,h,Math.max(h[0].start,o),T),!p&&g&&g.start<h[0].start&&(p=h[0])}else p=h[f-1];if(!p)return;if(p=this.mapToInitFragWhenRequired(p),p.sn!=="initSegment"){let E=p.sn-u.startSN,T=h[E-1];T&&T.cc===p.cc&&this.fragmentTracker.getState(T)===ht.NOT_LOADED&&(p=T)}this.fragmentTracker.getState(p)===ht.NOT_LOADED&&this.loadFragment(p,r,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,r){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,r))}get mediaBufferTimeRanges(){return new yg(this.tracksBuffered[this.currentTrackId]||[])}},yg=class{constructor(e){this.buffered=void 0;let t=(r,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${r}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][r]};this.buffered={get length(){return e.length},end(r){return t("end",r,e.length)},start(r){return t("start",r,e.length)}}}},Tg=class extends ho{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,r=Uu(this.media.textTracks);for(let n=0;n<r.length;n++)if(r[n].mode==="hidden")t=r[n];else if(r[n].mode==="showing"){t=r[n];break}let s=this.findTrackForTextTrack(t);this.subtitleTrack!==s&&this.setSubtitleTrack(s)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADING,this.onLevelLoading,this),e.off(v.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(v.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(v.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),Uu(this.media.textTracks).forEach(t=>{Hn(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:r,groupId:s,details:n}=t,a=this.tracksInGroup[r];if(!a||a.groupId!==s){this.warn(`Subtitle track with id:${r} and group:${s} not found in active group ${a==null?void 0:a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${r} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let r=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!r||(s==null?void 0:s.length)!==(r==null?void 0:r.length)||r!=null&&r.some(a=>(s==null?void 0:s.indexOf(a))===-1)){this.groupIds=r,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(u=>!r||r.indexOf(u.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(u=>u.default)&&(this.selectDefaultTrack=!1),a.forEach((u,c)=>{u.id=c});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let o=this.hls.config.subtitlePreference;if(!n&&o){this.selectDefaultTrack=!1;let u=ji(o,a);if(u>-1)n=a[u];else{let c=ji(o,this.tracks);n=this.tracks[c]}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let d={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${r==null?void 0:r.join(",")}" group-id`),this.hls.trigger(v.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}else this.shouldReloadPlaylist(n)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){let t=this.tracksInGroup,r=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let n=t[s];if(!(r&&!n.default||!r&&!e)&&(!e||Wn(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(Yn(e.attrs,n.attrs,["LANGUAGE"]))return s}}return-1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let r=0;r<t.length;r++){let s=t[r];if(gg(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===ve.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let r=this.currentTrack;if(r&&Wn(e,r))return r;let s=ji(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=ji(e,t);if(n>-1)return t[n]}}}}return null}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let r=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${r}`),this.hls.trigger(v.SUBTITLE_TRACK_LOADING,{url:n,id:r,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=Uu(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>gg(r,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled")}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!q(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.clearTimer(),this.selectDefaultTrack=!1;let r=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:e});return}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===r&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:a,groupId:o="",name:l,type:d,url:u}=s;this.hls.trigger(v.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:u});let c=this.switchParams(s.url,r==null?void 0:r.details,s.details);this.loadPlaylist(c)}},_g=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,r){let s=this.queues[t];s.push(e),s.length===1&&!r&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,r=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),r}executeNext(e){let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(s){R.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${s}`),r.onError(s);let n=this.buffers[e];n!=null&&n.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},PT=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Ag=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=r=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=r=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{let{media:r,mediaSource:s}=this;this.log("Media source opened"),r&&(r.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(v.MEDIA_ATTACHED,{media:r,mediaSource:s})),s&&s.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:r,_objectUrl:s}=this;r!==s&&R.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=tR(ks(e.config.preferManagedMediaSource)),this.log=R.log.bind(R,t),this.warn=R.warn.bind(R,t),this.error=R.error.bind(R,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.BUFFER_RESET,this.onBufferReset,this),e.on(v.BUFFER_APPENDING,this.onBufferAppending,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.BUFFER_EOS,this.onBufferEos,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(v.FRAG_PARSED,this.onFragParsed,this),e.on(v.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.BUFFER_RESET,this.onBufferReset,this),e.off(v.BUFFER_APPENDING,this.onBufferAppending,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.BUFFER_EOS,this.onBufferEos,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(v.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(v.FRAG_PARSED,this.onFragParsed,this),e.off(v.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new _g(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let r=this.media=t.media,s=ks(this.appendSource);if(r&&s){var n;let a=this.mediaSource=new s;this.log(`created media source: ${(n=a.constructor)==null?void 0:n.name}`),a.addEventListener("sourceopen",this._onMediaSourceOpen),a.addEventListener("sourceended",this._onMediaSourceEnded),a.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming));let o=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{r.removeAttribute("src");let l=self.ManagedMediaSource;r.disableRemotePlayback=r.disableRemotePlayback||l&&a instanceof l,OT(r),Ew(r,o),r.load()}catch{r.src=o}else r.src=o;r.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:r}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){this.warn(`onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(e.removeAttribute("src"),this.appendSource&&OT(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(v.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e)}),this._initSourceBuffer()}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var r;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(r=this.mediaSource)!=null&&r.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}}catch(s){this.warn(`onBufferReset ${e}`,s)}}onBufferCodecs(e,t){let r=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach(a=>{if(r){let l=this.tracks[a];if(l&&typeof l.buffer.changeType=="function"){var o;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[a],m=oT(l.codec,l.levelCodec),p=m==null?void 0:m.replace(PT,"$1"),g=oT(u,c),E=(o=g)==null?void 0:o.replace(PT,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=ju(g,this.appendSource));let T=`${h};codecs=${g}`;this.appendChangeType(a,T),this.log(`switching codec ${m} to ${g}`),this.tracks[a]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d}}}}else this.pendingTracks[a]=t[a]}),r)return;let n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(`${n} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=n),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks()}appendChangeType(e,t){let{operationQueue:r}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(this.log(`changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),r.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{this.warn(`Failed to change ${e} SourceBuffer type`,n)}};r.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){let{hls:r,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[o],h=self.performance.now();c.start=h;let f=l.stats.buffering,m=d?d.stats.buffering:null;f.start===0&&(f.start=h),m&&m.start===0&&(m.start=h);let p=n.audio,g=!1;o==="audio"&&(p==null?void 0:p.container)==="audio/mpeg"&&(g=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let E=l.start,T={execute:()=>{if(c.executeStart=self.performance.now(),g){let y=this.sourceBuffer[o];if(y){let S=E-y.timestampOffset;Math.abs(S)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${S}) sn: ${l.sn})`),y.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let y=self.performance.now();c.executeEnd=c.end=y,f.first===0&&(f.first=y),m&&m.first===0&&(m.first=y);let{sourceBuffer:S}=this,A={};for(let L in S)A[L]=Ne.getBuffered(S[L]);this.appendErrors[o]=0,o==="audio"||o==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(v.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:A})},onError:y=>{let S={type:ie.MEDIA_ERROR,parent:l.type,details:C.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:y,err:y,fatal:!1};if(y.code===DOMException.QUOTA_EXCEEDED_ERR)S.details=C.BUFFER_FULL_ERROR;else{let A=++this.appendErrors[o];S.details=C.BUFFER_APPEND_ERROR,this.warn(`Failed ${A}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),A>=r.config.appendErrorMaxRetry&&(S.fatal=!0)}r.trigger(v.ERROR,S)}};s.append(T,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){let{operationQueue:r}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(v.BUFFER_FLUSHED,{type:n})},onError:a=>{this.warn(`Failed to remove from ${n} SourceBuffer`,a)}});t.type?r.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{r.append(s(n),n)})}onFragParsed(e,t){let{frag:r,part:s}=t,n=[],a=s?s.elementaryStreams:r.elementaryStreams;a[ke.AUDIOVIDEO]?n.push("audiovideo"):(a[ke.AUDIO]&&n.push("audio"),a[ke.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();r.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:r.stats;this.hls.trigger(v.FRAG_BUFFERED,{frag:r,part:s,stats:d,id:r.type})};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${r.type} level: ${r.level} sn: ${r.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,this.log(`${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){let{hls:e,details:t,media:r}=this;if(!r||t===null||!this.getSourceBufferTypes().length)return;let n=e.config,a=r.currentTime,o=t.levelTargetDuration,l=t.live&&n.liveBackBufferLength!==null?n.liveBackBufferLength:n.backBufferLength;if(q(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(q(n.frontBufferFlushThreshold)&&n.frontBufferFlushThreshold>0){let d=Math.max(n.maxBufferLength,n.frontBufferFlushThreshold),u=Math.max(d,o),c=Math.floor(a/o)*o+u;this.flushFrontBuffer(a,o,c)}}flushBackBuffer(e,t,r){let{details:s,sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let l=n[o];if(l){let d=Ne.getBuffered(l);if(d.length>0&&r>d.start(0)){if(this.hls.trigger(v.BACK_BUFFER_REACHED,{bufferEnd:r}),s!=null&&s.live)this.hls.trigger(v.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(l.ended&&d.end(d.length-1)-e<t*2){this.log(`Cannot flush ${o} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:o})}}})}flushFrontBuffer(e,t,r){let{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach(a=>{let o=s[a];if(o){let l=Ne.getBuffered(o),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(r>u||e>=u&&e<=c)return;if(o.ended&&e-c<2*t){this.log(`Cannot flush ${a} front buffer while SourceBuffer is in ended state`);return}this.hls.trigger(v.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:a})}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:r,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=r.duration,o=q(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!q(a))&&(this.log(`Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,r=e.fragments;if(r.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,r[0].start),a=Math.max(n,n+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${n}-${a}.`),t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:r}=this,s=Object.keys(r).length;if(s&&(!e||s===2||"audiovideo"in r)){this.createSourceBuffers(r),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(v.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:r}=this;if(!r)throw Error("createSourceBuffers called when mediaSource was null");for(let n in e)if(!t[n]){var s;let a=e[n];if(!a)throw Error(`source buffer exists for track ${n}, however track does not`);let o=((s=a.levelCodec)==null?void 0:s.indexOf(","))===-1?a.levelCodec:a.codec;o&&n.slice(0,5)==="audio"&&(o=ju(o,this.appendSource));let l=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[n]=r.addSourceBuffer(l),u=n;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(v.BUFFER_FLUSHED,{type:n})}),this.tracks[n]={buffer:d,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e;let t=((e=this.media)==null?void 0:e.firstChild)||this.media;return t==null?void 0:t.src}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}let{operationQueue:r}=this;r.current(e).onComplete(),r.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var r;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(r=this.mediaSource)==null?void 0:r.readyState}`);this.error(`${s}`,t),this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.operationQueue.current(e);n&&n.onError(s)}removeExecutor(e,t,r){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=q(s.duration)?s.duration:1/0,u=q(n.duration)?n.duration:1/0,c=Math.max(0,t),h=Math.min(r,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let r=this.sourceBuffer[t];if(!r){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return}r.ended=!1,r.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:r}=this,s=t.map(n=>r.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||r.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,r){let s=this.sourceBuffer[e];if(!s)return;let n=r.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(r=>{t.removeEventListener(r.event,r.listener)})}};function OT(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function Ew(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var bw={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},D_=i=>String.fromCharCode(bw[i]||i),Ei=15,ur=100,yw={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Tw={17:2,18:4,21:6,22:8,23:10,19:13,20:15},_w={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Aw={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Sw=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],Sg=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;R.log(`${this.time} [${e}] ${r}`)}}},_s=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},uc=class{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let r=0;r<t.length;r++){let s=t[r];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},xg=class{constructor(){this.uchar=" ",this.penState=new uc}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},Lg=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new uc,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<ur;t++)this.chars.push(new xg);this.logger=e}equals(e){for(let t=0;t<ur;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<ur;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<ur;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>ur&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=ur)}moveCursor(e){let t=this.pos+e;if(e>1)for(let r=this.pos+1;r<t+1;r++)this.chars[r].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=D_(e);if(this.pos>=ur){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<ur;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let r=0;r<ur;r++){let s=this.chars[r].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},oo=class{constructor(e){this.rows=[],this.currRow=Ei-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<Ei;t++)this.rows.push(new Lg(e));this.logger=e}reset(){for(let e=0;e<Ei;e++)this.rows[e].clear();this.currRow=Ei-1}equals(e){let t=!0;for(let r=0;r<Ei;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<Ei;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<Ei;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<Ei;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let r=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);r.setCursor(e.indent),e.color=r.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],r="",s=-1;for(let n=0;n<Ei;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?r="["+t.join(" | ")+"]":r=t.join(`
1591
+ `)),r}getTextAndFormat(){return this.rows}},cc=class{constructor(e,t,r){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new oo(r),this.nonDisplayedMemory=new oo(r),this.lastOutputScreen=new oo(r),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=r}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Ei-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let r=0;r<e.length;r++)this.writeScreen.insertChar(e[r]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let r=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[r]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},hc=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Lw(),this.logger=void 0;let s=this.logger=new Sg;this.channels=[null,new cc(e,t,s),new cc(e+1,r,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let r=0;r<t.length;r+=2){let s=t[r]&127,n=t[r+1]&127,a=!1,o=null;if(s===0&&n===0)continue;this.logger.log(3,()=>"["+_s([t[r],t[r+1]])+"] -> ("+_s([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(xw(s,n,l)){Mu(null,null,l),this.logger.log(3,()=>"Repeated command ("+_s([s,n])+") is dropped");continue}Mu(s,n,this.cmdHistory),a=this.parseCmd(s,n),a||(a=this.parseMidrow(s,n)),a||(a=this.parsePAC(s,n)),a||(a=this.parseBackgroundAttributes(s,n))}else Mu(null,null,l);if(!a&&(o=this.parseChars(s,n),o)){let u=this.currentChannel;u&&u>0?this.channels[u].insertChars(o):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!a&&!o&&this.logger.log(2,()=>"Couldn't parse cleaned data "+_s([s,n])+" orig: "+_s([t[r],t[r+1]]))}}parseCmd(e,t){let r=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=33&&t<=35;if(!(r||s))return!1;let n=e===20||e===21||e===23?1:2,a=this.channels[n];return e===20||e===21||e===28||e===29?t===32?a.ccRCL():t===33?a.ccBS():t===34?a.ccAOF():t===35?a.ccAON():t===36?a.ccDER():t===37?a.ccRU(2):t===38?a.ccRU(3):t===39?a.ccRU(4):t===40?a.ccFON():t===41?a.ccRDC():t===42?a.ccTR():t===43?a.ccRTD():t===44?a.ccEDM():t===45?a.ccCR():t===46?a.ccENM():t===47&&a.ccEOC():a.ccTO(t-32),this.currentChannel=n,!0}parseMidrow(e,t){let r=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?r=1:r=2,r!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[r];return s?(s.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+_s([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let r,s=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,n=(e===16||e===24)&&t>=64&&t<=95;if(!(s||n))return!1;let a=e<=23?1:2;t>=64&&t<=95?r=a===1?yw[e]:_w[e]:r=a===1?Tw[e]:Aw[e];let o=this.channels[a];return o?(o.setPAC(this.interpretPAC(r,t)),this.currentChannel=a,!0):!1}interpretPAC(e,t){let r,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?r=t-96:r=t-64,s.underline=(r&1)===1,r<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(r/2)]:r<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((r-16)/2)*4,s}parseChars(e,t){let r,s=null,n=null;if(e>=25?(r=2,n=e-8):(r=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,()=>"Special char '"+D_(a)+"' in channel "+r),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);return s&&this.logger.log(3,()=>"Char codes = "+_s(s).join(",")),s}parseBackgroundAttributes(e,t){let r=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(r||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=Sw[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}Mu(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let r=this.channels[t];r&&r.cueSplitAtTime(e)}}};function Mu(i,e,t){t.a=i,t.b=e}function xw(i,e,t){return t.a===i&&t.b===e}function Lw(){return{a:null,b:null}}var Gn=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,r){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=r,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},e0=function(){if(qn!=null&&qn.VTTCue)return self.VTTCue;let i=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function r(o){return t(i,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let u=arguments[d];for(let c in u)o[c]=u[c]}return o}function a(o,l,d){let u=this,c={enumerable:!0};u.hasBeenReset=!1;let h="",f=!1,m=o,p=l,g=d,E=null,T="",y=!0,S="auto",A="start",L=50,x="middle",w=50,P="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(k){h=""+k}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(k){f=!!k}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(k){if(typeof k!="number")throw new TypeError("Start time must be set to a number.");m=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(k){if(typeof k!="number")throw new TypeError("End time must be set to a number.");p=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(k){g=""+k,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(k){E=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return T},set:function(k){let D=r(k);if(D===!1)throw new SyntaxError("An invalid or illegal string was specified.");T=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return y},set:function(k){y=!!k,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return S},set:function(k){if(typeof k!="number"&&k!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");S=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return A},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");A=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return L},set:function(k){if(k<0||k>100)throw new Error("Position must be between 0 and 100.");L=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return x},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");x=D,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return w},set:function(k){if(k<0||k>100)throw new Error("Size must be between 0 and 100.");w=k,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return P},set:function(k){let D=s(k);if(!D)throw new SyntaxError("An invalid or illegal string was specified.");P=D,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),kg=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function M_(i){function e(r,s,n,a){return(r|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=i.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var Ig=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,r){return r?this.has(e)?this.values[e]:t[r]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,r){for(let s=0;s<r.length;++s)if(t===r[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let r=parseFloat(t);if(r>=0&&r<=100)return this.set(e,r),!0}return!1}};function P_(i,e,t,r){let s=r?i.split(r):[i];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var Rg=new e0(0,0,""),Pu=Rg.align==="middle"?"middle":"center";function kw(i,e,t){let r=i;function s(){let o=M_(i);if(o===null)throw new Error("Malformed timestamp: "+r);return i=i.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new Ig;P_(o,function(h,f){let m;switch(h){case"region":for(let p=t.length-1;p>=0;p--)if(t[p].id===f){d.set(h,t[p].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":m=f.split(","),d.integer(h,m[0]),d.percent(h,m[0])&&d.set("snapToLines",!1),d.alt(h,m[0],["auto"]),m.length===2&&d.alt("lineAlign",m[1],["start",Pu,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",Pu,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",Pu,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&Rg.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",Pu);let c=d.get("position","auto");c==="auto"&&Rg.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c}function a(){i=i.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),i.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+r);i=i.slice(3),a(),e.endTime=s(),a(),n(i,e)}function O_(i){return i.replace(/<br(?: \/)?>/gi,`
1592
+ `)}var wg=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new kg,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function r(){let n=t.buffer,a=0;for(n=O_(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
1593
1593
  `;)++a;let o=n.slice(0,a);return n[a]==="\r"&&++a,n[a]===`
1594
- `&&++a,t.buffer=n.slice(a),o}function s(n){D_(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=r();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=r(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new Zg(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{xw(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
1594
+ `&&++a,t.buffer=n.slice(a),o}function s(n){P_(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=r();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=r(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new e0(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{kw(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
1595
1595
  `),t.cue.text+=n}continue;case"BADCUE":n||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
1596
1596
 
1597
- `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},Lw=/\r\n|\n\r|\n|\r/g,kp=function(e,t,r=0){return e.slice(r,r+t.length)===t},kw=function(e){let t=parseInt(e.slice(-3)),r=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!q(t)||!q(r)||!q(s)||!q(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*r,t+=60*1e3*s,t+=60*60*1e3*n,t},Ip=function(e){let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return(t>>>0).toString()};function Jg(i,e,t){return Ip(i.toString())+Ip(e.toString())+Ip(t)}var Iw=function(e,t,r){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=r};function Rw(i,e,t,r,s,n,a){let o=new Ig,l=Xi(new Uint8Array(i)).trim().replace(Lw,`
1597
+ `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},Iw=/\r\n|\n\r|\n|\r/g,Rp=function(e,t,r=0){return e.slice(r,r+t.length)===t},Rw=function(e){let t=parseInt(e.slice(-3)),r=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!q(t)||!q(r)||!q(s)||!q(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*r,t+=60*1e3*s,t+=60*60*1e3*n,t},wp=function(e){let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return(t>>>0).toString()};function t0(i,e,t){return wp(i.toString())+wp(e.toString())+wp(t)}var ww=function(e,t,r){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=r};function Cw(i,e,t,r,s,n,a){let o=new wg,l=Xi(new Uint8Array(i)).trim().replace(Iw,`
1598
1598
  `).split(`
1599
- `),d=[],u=e?lw(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,m,p=!0;o.oncue=function(g){let E=t[r],T=t.ccOffset,y=(h-u)/9e4;if(E!=null&&E.new&&(f!==void 0?T=t.ccOffset=E.start:Iw(t,r,y)),y){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}T=y-t.presentationOffset}let S=g.endTime-g.startTime,A=Qt((g.startTime+T-f)*9e4,s*9e4)/9e4;g.startTime=Math.max(A,0),g.endTime=Math.max(A+S,0);let L=g.text.trim();g.text=decodeURIComponent(encodeURIComponent(L)),g.id||(g.id=Jg(g.startTime,g.endTime,L)),g.endTime>0&&d.push(g)},o.onparsingerror=function(g){m=g},o.onflush=function(){if(m){a(m);return}n(d)},l.forEach(g=>{if(p)if(kp(g,"X-TIMESTAMP-MAP=")){p=!1,g.slice(16).split(",").forEach(E=>{kp(E,"LOCAL:")?c=E.slice(6):kp(E,"MPEGTS:")&&(h=parseInt(E.slice(7)))});try{f=kw(c)/1e3}catch(E){m=E}return}else g===""&&(p=!1);o.parse(g+`
1600
- `)}),o.flush()}var Rp="stpp.ttml.im1t",P_=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,O_=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,ww={left:"start",center:"center",right:"end",start:"start",end:"end"};function PT(i,e,t,r){let s=ae(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Xi(o)),a=ow(e.baseTime,1,e.timescale);try{n.forEach(o=>t(Cw(o,a)))}catch(o){r(o)}}function Cw(i,e){let s=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((c,h)=>(c[h]=s.getAttribute(`ttp:${h}`)||n[h],c),{}),o=s.getAttribute("xml:space")!=="preserve",l=OT(wp(s,"styling","style")),d=OT(wp(s,"layout","region")),u=wp(s,"body","[begin]");return[].map.call(u,c=>{let h=N_(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=Dp(c.getAttribute("begin"),a),m=Dp(c.getAttribute("dur"),a),p=Dp(c.getAttribute("end"),a);if(f===null)throw NT(c);if(p===null){if(m===null)throw NT(c);p=f+m}let g=new Zg(f-e,p-e,h);g.id=Jg(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],T=l[c.getAttribute("style")],y=Dw(E,T,l),{textAlign:S}=y;if(S){let A=ww[S];A&&(g.lineAlign=A),g.align=S}return Ze(g,y),g}).filter(c=>c!==null)}function wp(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function OT(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function N_(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+`
1601
- `:(n=r.childNodes)!=null&&n.length?N_(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function Dw(i,e,t){let r="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=i!=null&&i.hasAttribute("style")?i.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=Cp(e,r,l)||Cp(i,r,l)||Cp(s,r,l);return d&&(o[l]=d),o},{})}function Cp(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function NT(i){return new Error(`Could not parse ttml timestamp ${i}`)}function Dp(i,e){if(!i)return null;let t=C_(i);return t===null&&(P_.test(i)?t=Mw(i,e):O_.test(i)&&(t=Pw(i,e))),t}function Mw(i,e){let t=P_.exec(i),r=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+r/e.frameRate}function Pw(i,e){let t=O_.exec(i),r=Number(t[1]);switch(t[2]){case"h":return r*3600;case"m":return r*60;case"ms":return r*1e3;case"f":return r/e.frameRate;case"t":return r/e.tickRate}return r}var Rg=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=FT(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new Gn(this,"textTrack1"),t=new Gn(this,"textTrack2"),r=new Gn(this,"textTrack3"),s=new Gn(this,"textTrack4");this.cea608Parser1=new hc(1,e,t),this.cea608Parser2=new hc(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=Ow(l[0],l[1],t,r);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],r),a=!0,d/(r-t)>.5))return}if(a||n.push([t,r]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,r,s)}else{let o=this.Cues.newCue(null,t,r,s);this.hls.trigger(v.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;r==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(v.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:r}=this;if(r)for(let s=0;s<r.textTracks.length;s++){let n=r.textTracks[s];if(UT(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:r,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)r[e]=o,Hn(r[e]),n_(r[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,r[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let r=t.label,s={_id:e,label:r,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,r){let s=this.media;if(s)return s.addTextTrack(e,t,r)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Hn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=FT(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let r=0;r<t.length;r++)Hn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===Rp);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(R_(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?Uu(a.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(o){let c=null;for(let h=0;h<o.length;h++)if(o[h]&&UT(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)Hn(u);else{let c=U_(l);u=this.createTextTrack(c,l.name,l.lang),u&&(u.mode="disabled")}u&&this.textTracks.push(u)}),o!=null&&o.length){let l=o.filter(d=>d!==null).map(d=>d.label);l.length&&I.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(r=>{let s=/(?:CC|SERVICE)([1-4])/.exec(r.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];a&&(a.label=r.name,r.lang&&(a.languageCode=r.lang),a.media=r)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===J.MAIN){var r,s;let{cea608Parser1:n,cea608Parser2:a,lastSn:o}=this,{cc:l,sn:d}=t.frag,u=(r=(s=t.part)==null?void 0:s.index)!=null?r:-1;n&&a&&(d!==o+1||d===o&&u!==this.lastPartIndex+1||l!==this.lastCc)&&(n.reset(),a.reset()),this.lastCc=l,this.lastSn=d,this.lastPartIndex=u}}onFragLoaded(e,t){let{frag:r,payload:s}=t;if(r.type===J.SUBTITLE)if(s.byteLength){let n=r.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[r.level],l=this.vttCCs;l[r.cc]||(l[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),o&&o.textCodec===Rp?this._parseIMSC1(r,s):this._parseVTTs(t)}}else this.hls.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let r=this.hls;PT(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{I.log(`Failed to parse IMSC1: ${s}`),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:r,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[r.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=r.initSegment)!=null&&t.data?Zt(r.initSegment.data,new Uint8Array(s)):s;Rw(d,this.initPTS[r.cc],this.vttCCs,r.cc,r.start,u=>{this._appendCues(u,r.level),l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:r})},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?a.push(e):this._fallbackToIMSC1(r,s),I.log(`Failed to parse VTT cue: ${u}`),!(c&&o>r.cc)&&l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:u})})}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||PT(t,this.initPTS[e.cc],()=>{r.textCodec=Rp,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,t){let r=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>a_(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;r.trigger(v.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:r}=t;r.type===J.SUBTITLE&&this.onFragLoaded(v.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s}=this;if(!this.enabled||!r||!s)return;let{frag:n,samples:a}=t;if(!(n.type===J.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);r.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:r,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<r)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>$p(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>$p(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],r=e[0]&31,s=2;for(let n=0;n<r;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let u=3&a;(u===0||u===1)&&(t[u].push(o),t[u].push(l))}}return t}};function U_(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function UT(i,e){return!!i&&i.kind===U_(e)&&mg(e,i)}function Ow(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function FT(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var wg=class i{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&q(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&I.log(`Setting autoLevelCapping to ${r}: ${e[r].height}p@${e[r].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let r=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,i.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,!t.width&&!t.height&&(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(r=>e.bitrate===r.bitrate&&e.width===r.width&&e.height===r.height)}static getMaxLevelByMediaSize(e,t,r){if(!(e!=null&&e.length))return-1;let s=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0,n=e.length-1,a=Math.max(t,r);for(let o=0;o<e.length;o+=1){let l=e[o];if((l.width>=a||l.height>=a)&&s(l,e[o+1])){n=o;break}}return n}},Cg=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let r=this.hls.config;if(r.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,r){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=r-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(v.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:r}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let u=d.currentLevel;I.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(v.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=r,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},Ou="[eme]",fc=class i{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=i.CDMCleanupPromise?[i.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=I.debug.bind(I,Ou),this.log=I.log.bind(I,Ou),this.warn=I.warn.bind(I,Ou),this.error=I.error.bind(I,Ou),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:r}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===Ue.WIDEVINE&&r)return r;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,r=t[e];if(r)return r.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,r=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(r),n=t.map(a=>a.videoCodec).filter(r);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let u=d.shift();this.getMediaKeysPromise(u,s,n).then(c=>a({keySystem:u,mediaKeys:c})).catch(c=>{d.length?l(d):c instanceof Mt?o(c):o(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_ACCESS,error:c,fatal:!0},c.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:r}=this.config;if(typeof r!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${r}`;return qT===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return r(e,t)}getMediaKeysPromise(e,t,r){let s=xI(e,t,r,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(u=>(this.log(`Media-keys created for "${e}"`),d.then(c=>c?this.setMediaKeysServerCertificate(u,e,c):u))),o.mediaKeys.catch(u=>{this.error(`Failed to create media-keys for "${e}"}: ${u}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${Yi.hexDump(e.keyId||[])}`);let s=r.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let r=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(r,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Yi.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Yi.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
1602
- } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,r)=>{let s=pp(this.config),n=e.map(Zy).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=Jy(a);o?t(o):r(new Error(`Unable to find format for key-system "${a}"`))}).catch(r)})}loadKey(e){let t=e.keyInfo.decryptdata,r=this.getKeyIdString(t),s=`(keyId: ${r} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[r];return n||(n=this.keyIdToKeySessionPromise[r]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Mt?this.hls.trigger(v.ERROR,e.data):this.hls.trigger(v.ERROR,{type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){let s=Zy(e.keyFormat),n=s?[s]:pp(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=pp(this.config)),e.length===0)throw new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:r}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),r===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[Ue.FAIRPLAY]){let u=tt(new Uint8Array(r));try{let c=Kg(JSON.parse(u).sinf),h=e_(new Uint8Array(c));if(!h)return;s=h.subarray(8,24),n=Ue.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let u=XI(r);if(u===null)return;u.version===0&&u.systemId===VT.WIDEVINE&&u.data&&(s=u.data.subarray(8,24)),n=SI(u.systemId)}if(!n||!s)return;let a=Yi.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let u=0;u<l.length;u++){let c=l[u],h=c.decryptdata;if(h.pssh||!h.keyId)continue;let f=Yi.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(r),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(c,t,r,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:u,mediaKeys:c})=>{var h;this.throwIfDestroyed();let f=new uo("ISO-23001-7",a,(h=Jy(u))!=null?h:"");return f.pssh=new Uint8Array(r),f.keyId=s,this.attemptSetMediaKeys(u,c).then(()=>{this.throwIfDestroyed();let m=this.createMediaKeySessionContext({decryptdata:f,keySystem:u,mediaKeys:c});return this.generateRequestWithPreferredKeySession(m,t,r,"encrypted-event-no-match")})})),d.catch(u=>this.handleError(u))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let r=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(r).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>r.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,r,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,r,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,r=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(r===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${r?r.byteLength:null})`);let u=new Qg,c=e._onmessage=m=>{let p=e.mediaKeysSession;if(!p){u.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=m;this.log(`"${g}" message event for session "${p.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),u.emit("error",T)}):g==="license-release"?e.keySystem===Ue.FAIRPLAY&&(this.updateKeySession(e,Up("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},h=e._onkeystatuseschange=m=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;u.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",c),e.mediaKeysSession.addEventListener("keystatuseschange",h);let f=new Promise((m,p)=>{u.on("error",p),u.on("keyStatus",g=>{g.startsWith("usable")?m():g==="output-restricted"?p(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?p(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,r).then(()=>{var m;this.log(`Request generated for key-session "${(m=e.mediaKeysSession)==null?void 0:m.sessionId}" keyId: ${d}`)}).catch(m=>{throw new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_SESSION,error:m,fatal:!1},`Error generating key-session request: ${m}`)}).then(()=>f).catch(m=>{throw u.removeAllListeners(),this.removeSession(e),m}).then(()=>(u.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,r)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Yi.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${Yi.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,r=t.loader,s=new r(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{a(h.data)},onError:(h,f,m,p)=>{o(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:ft({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,m)=>{o(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,m)=>{o(new Error("aborted"))}};s.load(l,u,c)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,r){return new Promise((s,n)=>{e.setServerCertificate(r).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${r==null?void 0:r.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(r=>this.updateKeySession(e,new Uint8Array(r)).catch(s=>{throw new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}unpackPlayReadyKeyMessage(e,t){let r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(r,"application/xml"),n=s.querySelectorAll("HttpHeader");if(n.length>0){let u;for(let c=0,h=n.length;c<h;c++){var a,o;u=n[c];let f=(a=u.querySelector("name"))==null?void 0:a.textContent,m=(o=u.querySelector("value"))==null?void 0:o.textContent;f&&m&&e.setRequestHeader(f,m)}}let l=s.querySelector("Challenge"),d=l==null?void 0:l.textContent;if(!d)throw new Error("Cannot find <Challenge> in key message");return Up(atob(d))}setupLicenseXHR(e,t,r,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!r.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,r,s)}).catch(a=>{if(!r.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,r,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let r=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(u){this.error(u)}s(l)}else{let l=r.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let u=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${u} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{e.keySystem==Ue.PLAYREADY&&(d=this.unpackPlayReadyKeyMessage(l,d)),l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},uo.clearKeyUriToKeyIdMap();let r=t.length;i.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}`)}))).then(()=>{r&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let r=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${r.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(r)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:r}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};fc.CDMCleanupPromise=void 0;var Mt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},St;(function(i){i.MANIFEST="m",i.AUDIO="a",i.VIDEO="v",i.MUXED="av",i.INIT="i",i.CAPTION="c",i.TIMED_TEXT="tt",i.KEY="k",i.OTHER="o"})(St||(St={}));var Dg;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(Dg||(Dg={}));var xs;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(xs||(xs={}));var Nw={[xs.OBJECT]:["br","d","ot","tb"],[xs.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[xs.SESSION]:["cid","pr","sf","sid","st","v"],[xs.STATUS]:["bs","rtp"]},vo=class i{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(r=>r instanceof i?r:new i(r))),this.value=e,this.params=t}},mc=class{constructor(e){this.description=void 0,this.description=e}},Uw="Dict";function Fw(i){return Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":typeof i=="object"?JSON.stringify(i):String(i)}function Bw(i,e,t,r){return new Error(`failed to ${i} "${Fw(e)}" as ${t}`,{cause:r})}var BT="Bare Item",$w="Boolean",Hw="Byte Sequence",Gw="Decimal",Ww="Integer";function Kw(i){return i<-999999999999999||999999999999999<i}var Vw=/[\x00-\x1f\x7f]+/,qw="Token",Yw="Key";function Qi(i,e,t){return Bw("serialize",i,e,t)}function zw(i){if(typeof i!="boolean")throw Qi(i,$w);return i?"?1":"?0"}function jw(i){return btoa(String.fromCharCode(...i))}function Xw(i){if(ArrayBuffer.isView(i)===!1)throw Qi(i,Hw);return`:${jw(i)}:`}function F_(i){if(Kw(i))throw Qi(i,Ww);return i.toString()}function Qw(i){return`@${F_(i.getTime()/1e3)}`}function B_(i,e){if(i<0)return-B_(-i,e);let t=Math.pow(10,e);if(Math.abs(i*t%1-.5)<Number.EPSILON){let s=Math.floor(i*t);return(s%2===0?s:s+1)/t}else return Math.round(i*t)/t}function Zw(i){let e=B_(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw Qi(i,Gw);let t=e.toString();return t.includes(".")?t:`${t}.0`}var Jw="String";function eC(i){if(Vw.test(i))throw Qi(i,Jw);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function tC(i){return i.description||i.toString().slice(7,-1)}function $T(i){let e=tC(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Qi(e,qw);return e}function Mg(i){switch(typeof i){case"number":if(!q(i))throw Qi(i,BT);return Number.isInteger(i)?F_(i):Zw(i);case"string":return eC(i);case"symbol":return $T(i);case"boolean":return zw(i);case"object":if(i instanceof Date)return Qw(i);if(i instanceof Uint8Array)return Xw(i);if(i instanceof mc)return $T(i);default:throw Qi(i,BT)}}function Pg(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw Qi(i,Yw);return i}function e0(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${Pg(e)}`:`;${Pg(e)}=${Mg(t)}`).join("")}function $_(i){return i instanceof vo?`${Mg(i.value)}${e0(i.params)}`:Mg(i)}function iC(i){return`(${i.value.map($_).join(" ")})${e0(i.params)}`}function rC(i,e={whitespace:!0}){if(typeof i!="object")throw Qi(i,Uw);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof vo||(n=new vo(n));let a=Pg(s);return n.value===!0?a+=e0(n.params):(a+="=",Array.isArray(n.value)?a+=iC(n):a+=$_(n)),a}).join(`,${r}`)}function sC(i,e){return rC(i,e)}var nC=i=>i==="ot"||i==="sf"||i==="st",aC=i=>typeof i=="number"?q(i):i!=null&&i!==""&&i!==!1;function oC(i,e){let t=new URL(i),r=new URL(e);if(t.origin!==r.origin)return i;let s=t.pathname.split("/").slice(1),n=r.pathname.split("/").slice(1,-1);for(;s[0]===n[0];)s.shift(),n.shift();for(;n.length;)n.shift(),s.unshift("..");return s.join("/")}function lC(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?n:n&3|8).toString(16)})}}}var Gu=i=>Math.round(i),dC=(i,e)=>(e!=null&&e.baseUrl&&(i=oC(i,e.baseUrl)),encodeURIComponent(i)),Nu=i=>Gu(i/100)*100,uC={br:Gu,d:Gu,bl:Nu,dl:Nu,mtp:Nu,nor:dC,rtp:Nu,tb:Gu};function cC(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=Ze({},uC,e==null?void 0:e.formatters),n=e==null?void 0:e.filter;return r.forEach(a=>{if(n!=null&&n(a))return;let o=i[a],l=s[a];l&&(o=l(o,e)),!(a==="v"&&o===1)&&(a=="pr"&&o===1||aC(o)&&(nC(a)&&typeof o=="string"&&(o=new mc(o)),t[a]=o))}),t}function H_(i,e={}){return i?sC(cC(i,e),Ze({whitespace:!1},e)):""}function hC(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(Nw).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),s=t.reduce((n,a)=>{var o,l;let[d,u]=a,c=((o=r.find(h=>h[1].includes(d)))==null?void 0:o[0])||xs.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=H_(o,e),n),{})}function fC(i,e,t){return Ze(i,hC(e,t))}var mC="CMCD";function pC(i,e={}){if(!i)return"";let t=H_(i,e);return`${mC}=${encodeURIComponent(t)}`}var HT=/CMCD=[^&#]+/;function gC(i,e,t){let r=pC(e,t);if(!r)return i;if(HT.test(i))return i.replace(HT,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var Og=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:St.MANIFEST,su:!this.initialized})}catch(n){I.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===St.VIDEO||o===St.AUDIO||o==St.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){I.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:r}=t;r!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||lC(),this.cid=r.contentId,this.useHeaders=r.useHeaders===!0,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHED,this.onMediaDetached,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHED,this.onMediaDetached,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r,s;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:1,sf:Dg.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){Ze(t,this.createData());let r=t.ot===St.INIT||t.ot===St.VIDEO||t.ot===St.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((n,a)=>(s.includes(a)&&(n[a]=t[a]),n),{})),this.useHeaders?(e.headers||(e.headers={}),fC(e.headers,t)):e.url=gC(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return St.TIMED_TEXT;if(e.sn==="initSegment")return St.INIT;if(t==="audio")return St.AUDIO;if(t==="main")return this.hls.audioTracks.length?St.VIDEO:St.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===St.AUDIO)r=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;r=s.levels.slice(0,a)}for(let n of r)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,r=e===St.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:Ne.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}},vC=3e5,Ng=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=I.log.bind(I,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(r=>r!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:r}=t;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:r}=t;if((r==null?void 0:r.action)===ct.SendAlternateToPenaltyBox&&r.flags===vi.MoveAllAlternatesMatchingHost){let s=this.levels,n=this.pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:o,pathwayId:l,type:d}=t.context;o&&s?a=this.getPathwayForGroupId(o,d,a):l&&(a=l)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!n&&s&&(n=s.reduce((o,l)=>(o.indexOf(l.pathwayId)===-1&&o.push(l.pathwayId),o),[])),n&&n.length>1&&(this.updatePathwayPriority(n),r.resolved=this.pathwayId!==a),r.resolved||I.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${s&&s.length} priorities: ${JSON.stringify(n)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let r=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${r}"`),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,r=this.penalizedPathways,s=performance.now();Object.keys(r).forEach(n=>{s-r[n]>vC&&delete r[n]});for(let n=0;n<e.length;n++){let a=e[n];if(a in r)continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,u_(t),this.hls.trigger(v.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,r){let s=this.getLevelsForPathway(r).concat(this.levels||[]);for(let n=0;n<s.length;n++)if(t===ve.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===ve.SUBTITLE_TRACK&&s[n].hasSubtitleGroup(e))return s[n].pathwayId;return r}clonePathways(e){let t=this.levels;if(!t)return;let r={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(u=>{let c=new We(u.attrs);c["PATHWAY-ID"]=a;let h=c.AUDIO&&`${c.AUDIO}_clone_${a}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${a}`;h&&(r[c.AUDIO]=h,c.AUDIO=h),f&&(s[c.SUBTITLES]=f,c.SUBTITLES=f);let m=G_(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Mr({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:m,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let g=1;g<u.audioGroups.length;g++)p.addGroupId("audio",`${u.audioGroups[g]}_clone_${a}`);if(u.subtitleGroups)for(let g=1;g<u.subtitleGroups.length;g++)p.addGroupId("text",`${u.subtitleGroups[g]}_clone_${a}`);return p});t.push(...d),GT(this.audioTracks,r,l,a),GT(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,r=t.loader;this.loader&&this.loader.destroy(),this.loader=new r(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+u)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(u,c,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let m=u.data;if(m.VERSION!==1){this.log(`Steering VERSION ${m.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=m.TTL;let{"RELOAD-URI":p,"PATHWAY-CLONES":g,"PATHWAY-PRIORITY":E}=m;if(p)try{this.uri=new self.URL(p,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${p}`);return}this.scheduleRefresh(this.uri||h.url),g&&this.clonePathways(g);let T={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,T),E&&this.updatePathwayPriority(E)},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return}let m=this.timeToLoad*1e3;if(u.code===429){let p=this.loader;if(typeof(p==null?void 0:p.getResponseHeader)=="function"){let g=p.getResponseHeader("Retry-After");g&&(m=parseFloat(g)*1e3)}this.log(`Steering manifest ${c.url} rate limited`);return}this.scheduleRefresh(this.uri||c.url,m)},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var r;let s=(r=this.hls)==null?void 0:r.media;if(s&&!s.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function GT(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=Ze({},a);return o.details=void 0,o.attrs=new We(o.attrs),o.url=o.attrs.URI=G_(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=r,o});i.push(...n)})}function G_(i,e,t,r){let{HOST:s,PARAMS:n,[t]:a}=r,o;e&&(o=a==null?void 0:a[e],o&&(i=o));let l=new self.URL(i);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var EC=/^age:\s*[\d.]+\s*$/im,pc=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Vn,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let r=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!(this.loader!==r||this.stats.aborted))return n(r,t.url)}).catch(a=>{if(!(this.loader!==r||this.stats.aborted))return r.open("GET",t.url,!0),n(r,t.url)}).then(()=>{this.loader!==r||this.stats.aborted||this.openAndSendXhr(r,t,e)}).catch(a=>{this.callbacks.onError({code:r.status,text:a.message},t,r,s)}):this.openAndSendXhr(r,t,e)}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=r.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=n&&q(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:r}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!r.aborted&&s>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(r.loaded=r.total=d,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(r,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(c,r,e,t)}else{let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};Ju(l,d,!1,u)?this.retry(l):(I.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,r))}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(Ju(e,t,!0))this.retry(e);else{var r;I.warn(`timeout while loading ${(r=this.context)==null?void 0:r.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:r}=this;this.retryDelay=Yg(e,r.retry),r.retry++,I.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&EC.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function bC(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var yC=/(\d+)-(\d+)\/(\d+)/,gc=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||SC,this.controller=new self.AbortController,this.stats=new Vn}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,r){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=TC(e,this.controller.signal),a=r.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&q(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},u-(h-s.loading.start)),!c.ok){let{status:f,statusText:m}=c;throw new Ug(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=AC(c.headers)||s.total,a&&q(t.highWaterMark)?this.loadProgressively(c,s,e,t.highWaterMark,a):o?c.arrayBuffer():e.responseType==="json"?c.json():c.text()}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=c[l];f&&(s.loaded=s.total=f);let m={url:h.url,data:c,code:h.status};a&&!q(t.highWaterMark)&&a(s,e,c,h),r.onSuccess(m,s,e,h)}).catch(c=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=c&&c.code||0,f=c?c.message:null;r.onError({code:h,text:f},e,c?c.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,r,s=0,n){let a=new ic,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,r,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c<s||a.dataLength?(a.push(u),a.dataLength>=s&&n(t,r,a.flush(),e)):n(t,r,u,e),l()}).catch(()=>Promise.reject());return l()}};function TC(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(Ze({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function _C(i){let e=yC.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function AC(i){let e=i.get("Content-Range");if(e){let r=_C(e);if(q(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function SC(i,e){return new self.Request(i.url,e)}var Ug=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},xC=/\s/,LC={newCue(i,e,t,r){let s=[],n,a,o,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h<r.rows.length;h++)if(n=r.rows[h],o=!0,l=0,d="",!n.isEmpty()){var c;for(let p=0;p<n.chars.length;p++)xC.test(n.chars[p].uchar)&&o?l++:(d+=n.chars[p].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=M_(d.trim()),m=Jg(e,t,f);i!=null&&(c=i.cues)!=null&&c.getCueById(m)||(a=new u(e,t,f),a.id=m,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return i&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>a_(i,h))),s}},kC={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},W_=ft(ft({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:pc,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:jp,bufferController:Tg,capLevelController:wg,errorController:Yp,fpsController:Cg,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:qT,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:kC},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},IC()),{},{subtitleStreamController:vg,subtitleTrackController:bg,timelineController:Rg,audioStreamController:pg,audioTrackController:gg,emeController:fc,cmcdController:Og,contentSteeringController:Ng});function IC(){return{cueHandler:LC,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function RC(i,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=Fg(i),r=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let u=`${n}Loading${d}`,c=e[u];if(c!==void 0&&o){l.push(u);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break}}}),l.length&&I.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),ft(ft({},t),e)}function Fg(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(Fg):Object.keys(i).reduce((e,t)=>(e[t]=Fg(i[t]),e),{}):i}function wC(i){let e=i.loader;e!==gc&&e!==pc?(I.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):bC()&&(i.loader=gc,i.progressive=!0,i.enableSoftwareAES=!0,I.log("[config]: Progressive streaming enabled, using FetchLoader"))}var Mp,Bg=class extends ho{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let r=this.hls.config.preferManagedMediaSource,s=[],n={},a={},o=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:m,videoCodec:p}=u;((c=m)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(Mp||(Mp=/chrome|firefox/i.test(navigator.userAgent)),Mp&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=ju(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=rR(p));let{width:g,height:E,unknownCodecs:T}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),T!=null&&T.length||m&&!bp(m,"audio",r)||p&&!bp(p,"video",r))return;let{CODECS:y,"FRAME-RATE":S,"HDCP-LEVEL":A,"PATHWAY-ID":L,RESOLUTION:x,"VIDEO-RANGE":w}=f,k=`${`${L||"."}-`}${u.bitrate}-${x}-${S}-${y}-${w}-${A}`;if(n[k])if(n[k].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let D=a[k]+=1;u.attrs["PATHWAY-ID"]=new Array(D+1).join(".");let U=new Mr(u);n[k]=U,s.push(U)}else n[k].addGroupId("audio",f.AUDIO),n[k].addGroupId("text",f.SUBTITLES);else{let D=new Mr(u);n[k]=D,a[k]=1,s.push(D)}}),this.filterAndSortMediaOptions(s,t,o,l,d)}filterAndSortMediaOptions(e,t,r,s,n){let a=[],o=[],l=e;if((r||s)&&n&&(l=l.filter(({videoCodec:m,videoRange:p,width:g,height:E})=>(!!m||!!(g&&E))&&fR(p))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let m=new Error("no level with compatible codecs found in manifest");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:m,reason:m.message})}});return}if(t.audioTracks){let{preferManagedMediaSource:m}=this.hls.config;a=t.audioTracks.filter(p=>!p.audioCodec||bp(p.audioCodec,"audio",m)),WT(a)}t.subtitles&&(o=t.subtitles,WT(o));let d=l.slice(0);l.sort((m,p)=>{if(m.attrs["HDCP-LEVEL"]!==p.attrs["HDCP-LEVEL"])return(m.attrs["HDCP-LEVEL"]||"")>(p.attrs["HDCP-LEVEL"]||"")?1:-1;if(r&&m.height!==p.height)return m.height-p.height;if(m.frameRate!==p.frameRate)return m.frameRate-p.frameRate;if(m.videoRange!==p.videoRange)return Xu.indexOf(m.videoRange)-Xu.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=sT(m.videoCodec),E=sT(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=zu(m.codecSet),E=zu(p.codecSet);if(g!==E)return E-g}return m.averageBitrate!==p.averageBitrate?m.averageBitrate-p.averageBitrate:0});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let m=0;m<d.length;m++)if(d[m].pathwayId===l[0].pathwayId){u=d[m];break}}this._levels=l;for(let m=0;m<l.length;m++)if(l[m]===u){var c;this._firstLevel=m;let p=u.bitrate,g=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${p}`),((c=this.hls.userConfig)==null?void 0:c.abrEwmaDefaultEstimate)===void 0){let E=Math.min(p,this.hls.config.abrEwmaDefaultEstimateMax);E>g&&g===W_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=E)}break}let h=n&&!s,f={levels:l,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:!h&&a.some(m=>!!m.url)};this.hls.trigger(v.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1)}let r=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,r===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${r}${n?" with Pathway "+n:""}`);let l={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(v.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let u=this.switchParams(a.uri,s==null?void 0:s.details,d);this.loadPlaylist(u)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===ve.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===J.MAIN){let r=t.elementaryStreams;if(!Object.keys(r).some(n=>!!r[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(e,t){var r;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(r=t.deliveryDirectives)!=null&&r.skip&&(n.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,r=this.currentLevel;if(r&&this.shouldLoadPlaylist(r)){let s=r.uri;if(e)try{s=e.addDirectives(s)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}let n=r.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${n?" Pathway "+n:""} ${s}`),this.clearTimer(),this.hls.trigger(v.LEVEL_LOADING,{url:s,level:t,pathwayId:r.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;let r=this._levels.filter((s,n)=>n!==e?!0:(this.steering&&this.steering.removeLevel(s),s===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,s.details&&s.details.fragments.forEach(a=>a.level=-1)),!1));u_(r),this._levels=r,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(v.LEVELS_UPDATED,{levels:r})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:r}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(v.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:r}))}};function WT(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var $g=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let r in this.keyUriToKeyInfo){let s=this.keyUriToKeyInfo[r].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=C.KEY_LOAD_ERROR,r,s,n){return new bi({type:ie.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:r,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:r,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(r==="initSegment"||a.sn==="initSegment"||r<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var r,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((r=o)!=null&&r.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(r);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,r))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(r)}loadKeyHTTP(e,t){let r=this.config,s=r.loader,n=new s(r);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=r.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{let{frag:g,keyInfo:E,url:T}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[T])return o(this.createKeyLoadError(g,C.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),p));E.decryptdata.key=g.decryptdata.key=new Uint8Array(h.data),g.keyLoader=null,E.loader=null,a({frag:g,keyInfo:E})},onError:(h,f,m,p)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),m,ft({url:l.url,data:void 0},h)))},onTimeout:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};n.load(l,u,c)})}resetLoader(e){let{frag:t,keyInfo:r,url:s}=e,n=r.loader;t.keyLoader===n&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}};function K_(){return self.SourceBuffer||self.WebKitSourceBuffer}function V_(){if(!ks())return!1;let e=K_();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function CC(){if(!V_())return!1;let i=ks();return typeof(i==null?void 0:i.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>i.isTypeSupported(co(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(co(e,"audio"))))}function DC(){var i;let e=K_();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var MC=250,Wu=2,PC=.1,OC=.05,Hg=class{constructor(e,t,r,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:r,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),n!==null){if(this.stallReported){let g=self.performance.now()-n;I.warn(`playback not stuck anymore @${a}, after ${Math.round(g)}ms`),this.stallReported=!1}this.stalled=null}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!Ne.getBuffered(s).length){this.nudgeRetry=0;return}let u=Ne.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>Wu,E=!c||t&&t.start<=a||c-a>Wu&&!this.fragmentTracker.getPartialFragment(a);if(g||E)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let E=Math.max(c,u.start||0)-a,T=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,S=(T==null||(h=T.details)==null?void 0:h.live)?T.details.targetduration*2:Wu,A=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=S||A)){s.paused||this._trySkipBufferHole(A);return}}let f=self.performance.now();if(n===null){this.stalled=f;return}let m=f-n;if(!o&&m>=MC&&(this._reportStall(u),!this.media))return;let p=Ne.bufferInfo(s,a,r.maxBufferHole);this._tryFixBufferStall(p,m)}_tryFixBufferStall(e,t){let{config:r,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-a<r.maxBufferHole)&&t>r.highBufferWatchdogPeriod*1e3&&(I.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:r,stallReported:s}=this;if(!s&&r){this.stallReported=!0;let n=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${JSON.stringify(e)})`);I.warn(n.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:r,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=Ne.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,u=o-n;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let m=h.getAppendedFrag(0,J.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,J.MAIN);if(m){let p=!1,g=m.end;for(;g<o;){let E=h.getPartialFragment(g);if(E)g+=E.duration;else{p=!0;break}}if(p)return 0}}}let c=Math.max(o+OC,n+PC);if(I.warn(`skipping hole, adjusting currentTime from ${n} to ${c}`),this.moved=!0,this.stalled=null,s.currentTime=c,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${c}`);r.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return c}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:r,nudgeRetry:s}=this;if(r===null)return;let n=r.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);I.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);I.error(a.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},NC=100,Gg=class extends po{constructor(e,t,r){super(e,t,r,"[stream-controller]",J.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(v.ERROR,this.onError,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(v.ERROR,this.onError,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:r}=this;if(this.stopLoad(),this.setInterval(NC),this.level=-1,!this.startFragRequested){let s=r.startLevel;s===-1&&(r.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=r.firstAutoLevel),r.nextLoadLevel=s,this.level=r.loadLevel,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=N.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=N.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case N.WAITING_LEVEL:{let{levels:t,level:r}=this,s=t==null?void 0:t[r],n=s==null?void 0:s.details;if(n&&(!n.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(n))break;this.state=N.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=N.IDLE;break}break}case N.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),r=this.retryDate;if(!r||t>=r||(e=this.media)!=null&&e.seeking){let{levels:s,level:n}=this,a=s==null?void 0:s[n];this.resetStartWhenNotLoaded(a||null),this.state=N.IDLE}}break}this.state===N.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:r,media:s}=this;if(t===null||!s&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=e.nextLoadLevel;if(!(r!=null&&r[n]))return;let a=r[n],o=this.getMainFwdBufferInfo();if(o===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){let p={};this.altAudio&&(p.type="video"),this.hls.trigger(v.BUFFER_EOS,p),this.state=N.ENDED;return}e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let d=a.details;if(!d||this.state===N.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=N.WAITING_LEVEL;return}let u=o.len,c=this.getMaxBufferLength(a.maxBitrate);if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==ht.OK){var m;let g=((m=this.backtrackFragment)!=null?m:f).sn-d.startSN,E=d.fragments[g-1];E&&f.cc===E.cc&&(f=E,this.fragmentTracker.removeFragment(E))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let g=this.audioOnly&&!this.altAudio?ke.AUDIO:ke.VIDEO,E=(g===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,J.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,J.MAIN,c)}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,h))}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===ht.NOT_LOADED||s===ht.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,r)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,J.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let r,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?r=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:r=0}else r=0;let a=this.getBufferedFrag(t.currentTime+r);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,u=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?.5:.125)),d*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case N.KEY_LOADING:case N.FRAG_LOADING:case N.FRAG_LOADING_WAITING_RETRY:case N.PARSING:case N.PARSED:this.state=N.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let r=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),r.addEventListener("playing",this.onvplaying),r.addEventListener("seeked",this.onvseeked),this.gapController=new Hg(this.config,r,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;q(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let r=this.getMainFwdBufferInfo();if(r===null||r.len===0){this.warn(`Main forward buffer length on "seeked" event ${r?r.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(v.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let r=!1,s=!1;t.levels.forEach(n=>{let a=n.audioCodec;a&&(r=r||a.indexOf("mp4a.40.2")!==-1,s=s||a.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=r&&s&&!DC(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:r}=this;if(!r||this.state!==N.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=N.WAITING_LEVEL)}onLevelLoaded(e,t){var r;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===N.FRAG_LOADING||this.state===N.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(a.live||(r=l.details)!=null&&r.live){var c;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;u=this.alignPlaylists(a,l.details,(c=this.levelLastLoaded)==null?void 0:c.details)}if(l.details=a,this.levelLastLoaded=l,this.hls.trigger(v.LEVEL_UPDATED,{details:a,level:n}),this.state===N.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=N.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,u),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let o=a[r.level],l=o.details;if(!l){this.warn(`Dropping fragment ${r.sn} of level ${r.level} after level details were reset`),this.fragmentTracker.removeFragment(r);return}let d=o.videoCodec,u=l.PTSKnown||!l.live,c=(t=r.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new dc(this.hls,J.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new fo(r.level,r.sn,r.stats.chunkCount,n.byteLength,m,p),E=this.initPTS[r.cc];f.push(n,c,h,d,r,s,l.totalduration,u,g,E)}onAudioTrackSwitching(e,t){let r=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;r&&(n.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(v.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let r=t.id,s=!!this.hls.audioTracks[r].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let r=t.tracks,s,n,a=!1;for(let o in r){let l=r[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=r[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r&&r.type!==J.MAIN)return;if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}`),this.state===N.PARSED&&(this.state=N.IDLE);return}let n=s?s.stats:r.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),r.sn!=="initSegment"&&(this.fragPrevious=r),this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(J.MAIN,t);break;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===ve.LEVEL&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!Ne.getBuffered(e).length){let r=this.state!==N.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=N.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==ke.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,J.MAIN),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,r=this.startPosition;if(r>=0&&t<r){if(e.seeking){this.log(`could not seek to ${r}, already seeking at ${t}`);return}let s=Ne.getBuffered(e),a=(s.length?s.start(0):0)-r;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),r+=a,this.startPosition=r),this.log(`seek to target start position ${r} from current time ${t}`),e.currentTime=r}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(r=>{let{hls:s}=this;if(!r||this.fragContextChanged(e))return;t.fragmentError=0,this.state=N.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(v.FRAG_LOADED,r),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let r="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{video:c,text:h,id3:f,initSegment:m}=n,{details:p}=u,g=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,m){if(m!=null&&m.tracks){let y=l.initSegment||l;this._bufferInitSegment(u,m.tracks,y,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:r,tracks:m.tracks})}let E=m.initPTS,T=m.timescale;q(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:T},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:T}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],T=l.sn===p.startSN,y=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:S,endPTS:A,startDTS:L,endDTS:x}=c;if(d)d.elementaryStreams[c.type]={startPTS:S,endPTS:A,startDTS:L,endDTS:x};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!y&&(this.couldBacktrack=!0),c.dropped&&c.independent){let w=this.getMainFwdBufferInfo(),P=(w?w.end:this.getLoadPosition())+this.config.maxBufferHole,k=c.firstKeyFramePTS?c.firstKeyFramePTS:S;if(!T&&P<k-this.config.maxBufferHole&&!y){this.backtrack(l);return}else y&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,A,l.start,x,!0)}else T&&S>Wu&&(l.gap=!0);l.setElementaryStreamInfo(c.type,S,A,L,x),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,T||y)}else if(T||y)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:T,startDTS:y,endDTS:S}=g;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:E,endPTS:T,startDTS:y,endDTS:S}),l.setElementaryStreamInfo(ke.AUDIO,E,T,y,S),this.bufferFragmentData(g,l,d,a)}if(p&&f!=null&&(t=f.samples)!=null&&t.length){let E={id:r,frag:l,details:p,samples:f.samples};s.trigger(v.FRAG_PARSING_METADATA,E)}if(p&&h){let E={id:r,frag:l,details:p,samples:h.samples};s.trigger(v.FRAG_PARSING_USERDATA,E)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5");let u=n.metadata;u&&"channelCount"in u&&(u.channelCount||1)!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")}l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(v.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(v.BUFFER_APPENDING,{type:l,data:u,frag:r,part:null,chunkMeta:s,parent:r.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,J.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=N.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(Ne.isBuffered(e,r)?t=this.getAppendedFrag(r):Ne.isBuffered(e,r+.1)&&(t=this.getAppendedFrag(r+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(v.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(v.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,r=this.currentFrag;if(r&&q(t)&&q(r.programDateTime)){let s=r.programDateTime+(t-r.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},Eo=class i{static get version(){return"1.5.11"}static isMSESupported(){return V_()}static isSupported(){return CC()}static getMediaSource(){return ks()}static get Events(){return v}static get ErrorTypes(){return ie}static get ErrorDetails(){return C}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:W_}static set DefaultConfig(e){i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Qg,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,gI(e.debug||!1,"Hls instance");let t=this.config=RC(i.DefaultConfig,e);this.userConfig=e,t.progressive&&wC(t);let{abrController:r,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new r(this),u=this.bufferController=new s(this),c=this.capLevelController=new n(this),h=new o(this),f=new Bp(this),m=new Gp(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Bg(this,g),T=new Qp(this),y=new $g(this.config),S=this.streamController=new Gg(this,T,y);c.setStreamController(S),h.setStreamController(S);let A=[f,E,S];g&&A.splice(1,0,g),this.networkControllers=A;let L=[d,u,c,h,m,T];this.audioTrackController=this.createController(t.audioTrackController,A);let x=t.audioStreamController;x&&A.push(new x(this,T,y)),this.subtitleTrackController=this.createController(t.subtitleTrackController,A);let w=t.subtitleStreamController;w&&A.push(new w(this,T,y)),this.createController(t.timelineController,L),y.emeController=this.emeController=this.createController(t.emeController,L),this.cmcdController=this.createController(t.cmcdController,L),this.latencyController=this.createController(Wp,L),this.coreComponents=L,A.push(l);let P=l.onErrorOut;typeof P=="function"&&this.on(v.ERROR,P,l)}createController(e,t){if(e){let r=new e(this);return t&&t.push(r),r}return null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,s){this._emitter.off(e,t,r,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(r){if(I.error("An internal error happened while handling event "+e+'. Error message: "'+r.message+'". Here is a stacktrace:',r),!this.triggeringException){this.triggeringException=!0;let s=e===v.ERROR;this.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:s,event:e,error:r}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){I.log("destroy"),this.trigger(v.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){I.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){I.log("detachMedia"),this.trigger(v.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,r=this.url,s=this.url=Wg.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,I.log(`loadSource:${s}`),t&&r&&(r!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(v.MANIFEST_LOADING,{url:e})}startLoad(e=-1){I.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){I.log("stopLoad"),this.started=!1,this.networkControllers.forEach(e=>{e.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.stopLoad()})}swapAudioCodec(){I.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){I.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){I.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){I.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){I.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){I.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){I.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(I.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){hR(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let r=e.length;for(let s=0;s<r;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:r}=this,s;if(t===-1&&e!=null&&e.length?s=e.length-1:s=t,r)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=r)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};Eo.defaultConfig=void 0;var Ke=Eo,Pr=class bo extends Error{constructor(e,t=bo.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=bo.MEDIA_ERR_NETWORK&&t<=bo.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=bo.defaultMessages[this.code])!=null?n:"")}};Pr.MEDIA_ERR_ABORTED=1,Pr.MEDIA_ERR_NETWORK=2,Pr.MEDIA_ERR_DECODE=3,Pr.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Pr.MEDIA_ERR_ENCRYPTED=5,Pr.MEDIA_ERR_CUSTOM=100,Pr.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var bt=Pr,UC=i=>i==null,Q_=(i,e)=>UC(e)?!1:i in e,s0={ANY:"any",MUTED:"muted"},ye={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},Jt={MSE:"mse",NATIVE:"native"},Ec={HEADER:"header",QUERY:"query",NONE:"none"},zn=Object.values(Ec),Nr={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},n0={HLS:Nr.M3U8},x5=Object.keys(n0),L5=[...Object.values(Nr),"hls","HLS"];var rt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function FC(i,e,t){e&&t>e&&(t=e);for(let r=0;r<i.length;r++)if(i.start(r)<=t&&i.end(r)>=t)return!0;return!1}var BC=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},Tc=i=>{let e=i.type;if(e){let r=e.toUpperCase();return Q_(r,n0)?n0[r]:e}let{src:t}=i;return t?$C(t):""},Z_=i=>i==="VOD"?ye.ON_DEMAND:ye.LIVE,J_=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,$C=i=>{let e="";try{e=new URL(i).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let r=e.slice(t+1).toUpperCase();return Q_(r,Nr)?Nr[r]:""},HC=Object.values(s0),q_=i=>typeof i=="boolean"||typeof i=="string"&&HC.includes(i),GC=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=q_(r)?r:!!r,o=()=>{s||rt(e,"playing",()=>{s=!0},{once:!0})};if(o(),rt(e,"loadstart",()=>{s=!1,o(),t0(e,a)},{once:!0}),rt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=!Number.isFinite(e.duration)),t0(e,a)},{once:!0}),t&&t.once(Ke.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=(u=d.details.live)!=null?u:!1}),!a){let l=()=>{!n||Number.isFinite(i.startTime)||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&rt(e,"play",()=>{e.preload==="metadata"?t.once(Ke.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=q_(l)?l:!!l,t0(e,a))}},t0=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case s0.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case s0.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},WC=({preload:i,src:e},t,r)=>{let s=c=>{c!=null&&["","none","metadata","auto"].includes(c)?t.setAttribute("preload",c):t.removeAttribute("preload")};if(!r)return s(i),s;let n=!1,a=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=c=>{s(c);let h=c!=null?c:t.preload;a||h==="none"||(h==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!n&&e&&(n=!0,r.loadSource(e))};return rt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function KC(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Ke.Events.MANIFEST_PARSED,function(d,u){l();let c=i.addVideoTrack("main");c.selected=!0;for(let[h,f]of u.levels.entries()){let m=c.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);r.set(f,`${h}`),m.id=`${h}`}}),e.on(Ke.Events.AUDIO_TRACKS_UPDATED,function(d,u){o();for(let c of u.audioTracks){let h=c.default?"main":"alternative",f=i.addAudioTrack(h,c.name,c.lang);f.id=`${c.id}`,c.default&&(f.enabled=!0)}}),i.audioTracks.addEventListener("change",()=>{var d;let u=+((d=[...i.audioTracks].find(h=>h.enabled))==null?void 0:d.id),c=e.audioTracks.map(h=>h.id);u!=e.audioTrack&&c.includes(u)&&(e.audioTrack=u)}),e.on(Ke.Events.LEVELS_UPDATED,function(d,u){var c;let h=i.videoTracks[(c=i.videoTracks.selectedIndex)!=null?c:0];if(!h)return;let f=u.levels.map(m=>r.get(m));for(let m of i.videoRenditions)m.id&&!f.includes(m.id)&&h.removeRendition(m)});let s=d=>{let u=d.target.selectedIndex;u!=e.nextLevel&&n(u)},n=d=>{let u=i.currentTime,c=!1,h=(f,m)=>{c||(c=!Number.isFinite(m.endOffset))};e.on(Ke.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Ke.Events.BUFFER_FLUSHING,h),c||e.trigger(Ke.Events.BUFFER_FLUSHING,{startOffset:u+10,endOffset:1/0,type:"video"})};(t=i.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of i.videoTracks)i.removeVideoTrack(d)},o=()=>{for(let d of i.audioTracks)i.removeAudioTrack(d)},l=()=>{a(),o()};e.once(Ke.Events.DESTROYING,l)}var i0=i=>"time"in i?i.time:i.startTime;function VC(i,e){e.on(Ke.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:u,name:c,type:h})=>u==(l==null?void 0:l.lang)&&c===a.label&&h.toLowerCase()===a.kind);_c(i,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u})=>l==n.language&&d===n.label&&u.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Ke.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=i.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var u;(u=o.cues)!=null&&u.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(Ke.Events.DESTROYING,()=>{i.textTracks.removeEventListener("change",t),i.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let r=()=>{Array.from(i.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=i.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Ke.Events.MANIFEST_LOADED,r),e.once(Ke.Events.MEDIA_ATTACHED,r)}function _c(i,e,t,r,s){let n=document.createElement("track");return n.kind=e,n.label=t,r&&(n.srclang=r),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),i.append(n),n.track}function eA(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}function To(i,e,t){var r;return(r=Array.from(i.querySelectorAll("track")).find(s=>s.track.label===e&&s.track.kind===t))==null?void 0:r.track}async function tA(i,e,t,r){let s=To(i,t,r);return s||(s=_c(i,r,t),s.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))),s.mode!=="hidden"&&(s.mode="hidden"),[...e].sort((n,a)=>i0(a)-i0(n)).forEach(n=>{var a,o;let l=n.value,d=i0(n);if("endTime"in n&&n.endTime!=null)s==null||s.addCue(new VTTCue(d,n.endTime,r==="chapters"?l:JSON.stringify(l!=null?l:null)));else{let u=Array.prototype.findIndex.call(s==null?void 0:s.cues,m=>m.startTime>=d),c=(a=s==null?void 0:s.cues)==null?void 0:a[u],h=c?c.startTime:Number.isFinite(i.duration)?i.duration:Number.MAX_SAFE_INTEGER,f=(o=s==null?void 0:s.cues)==null?void 0:o[u-1];f&&(f.endTime=d),s==null||s.addCue(new VTTCue(d,h,r==="chapters"?l:JSON.stringify(l!=null?l:null)))}}),i.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),s}var d0="cuepoints",iA=Object.freeze({label:d0});async function u0(i,e,t=iA){return tA(i,e,t.label,"metadata")}var a0=i=>({time:i.startTime,value:JSON.parse(i.text)});function rA(i,e={label:d0}){let t=To(i,e.label,"metadata");return t!=null&&t.cues?Array.from(t.cues,r=>a0(r)):[]}function c0(i,e={label:d0}){var t,r;let s=To(i,e.label,"metadata");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return a0(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return a0(a||s.activeCues[0])}async function qC(i,e=iA){return new Promise(t=>{rt(i,"loadstart",async()=>{let r=await u0(i,[],e);rt(i,"cuechange",()=>{let s=c0(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}var h0="chapters",sA=Object.freeze({label:h0}),o0=i=>({startTime:i.startTime,endTime:i.endTime,value:i.text});async function f0(i,e,t=sA){return tA(i,e,t.label,"chapters")}function nA(i,e={label:h0}){var t;let r=To(i,e.label,"chapters");return(t=r==null?void 0:r.cues)!=null&&t.length?Array.from(r.cues,s=>o0(s)):[]}function m0(i,e={label:h0}){var t,r;let s=To(i,e.label,"chapters");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return o0(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return o0(a||s.activeCues[0])}async function YC(i,e=sA){return new Promise(t=>{rt(i,"loadstart",async()=>{let r=await f0(i,[],e);rt(i,"cuechange",()=>{let s=m0(i);if(s){let n=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function aA(i,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-i.currentTime*1e3)}return typeof i.getStartDate=="function"?i.getStartDate():new Date(NaN)}function oA(i,e){if(e&&e.playingDate)return e.playingDate;if(typeof i.getStartDate=="function"){let t=i.getStartDate();return new Date(t.getTime()+i.currentTime*1e3)}return new Date(NaN)}var zC=async i=>fetch(i).then(e=>e.text()).then(e=>{let t=e.split(`
1599
+ `),d=[],u=e?uw(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,m,p=!0;o.oncue=function(g){let E=t[r],T=t.ccOffset,y=(h-u)/9e4;if(E!=null&&E.new&&(f!==void 0?T=t.ccOffset=E.start:ww(t,r,y)),y){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}T=y-t.presentationOffset}let S=g.endTime-g.startTime,A=Qt((g.startTime+T-f)*9e4,s*9e4)/9e4;g.startTime=Math.max(A,0),g.endTime=Math.max(A+S,0);let L=g.text.trim();g.text=decodeURIComponent(encodeURIComponent(L)),g.id||(g.id=t0(g.startTime,g.endTime,L)),g.endTime>0&&d.push(g)},o.onparsingerror=function(g){m=g},o.onflush=function(){if(m){a(m);return}n(d)},l.forEach(g=>{if(p)if(Rp(g,"X-TIMESTAMP-MAP=")){p=!1,g.slice(16).split(",").forEach(E=>{Rp(E,"LOCAL:")?c=E.slice(6):Rp(E,"MPEGTS:")&&(h=parseInt(E.slice(7)))});try{f=Rw(c)/1e3}catch(E){m=E}return}else g===""&&(p=!1);o.parse(g+`
1600
+ `)}),o.flush()}var Cp="stpp.ttml.im1t",N_=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,U_=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Dw={left:"start",center:"center",right:"end",start:"start",end:"end"};function NT(i,e,t,r){let s=ae(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Xi(o)),a=dw(e.baseTime,1,e.timescale);try{n.forEach(o=>t(Mw(o,a)))}catch(o){r(o)}}function Mw(i,e){let s=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((c,h)=>(c[h]=s.getAttribute(`ttp:${h}`)||n[h],c),{}),o=s.getAttribute("xml:space")!=="preserve",l=UT(Dp(s,"styling","style")),d=UT(Dp(s,"layout","region")),u=Dp(s,"body","[begin]");return[].map.call(u,c=>{let h=F_(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=Pp(c.getAttribute("begin"),a),m=Pp(c.getAttribute("dur"),a),p=Pp(c.getAttribute("end"),a);if(f===null)throw FT(c);if(p===null){if(m===null)throw FT(c);p=f+m}let g=new e0(f-e,p-e,h);g.id=t0(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],T=l[c.getAttribute("style")],y=Pw(E,T,l),{textAlign:S}=y;if(S){let A=Dw[S];A&&(g.lineAlign=A),g.align=S}return Ze(g,y),g}).filter(c=>c!==null)}function Dp(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function UT(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function F_(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+`
1601
+ `:(n=r.childNodes)!=null&&n.length?F_(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function Pw(i,e,t){let r="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=i!=null&&i.hasAttribute("style")?i.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=Mp(e,r,l)||Mp(i,r,l)||Mp(s,r,l);return d&&(o[l]=d),o},{})}function Mp(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function FT(i){return new Error(`Could not parse ttml timestamp ${i}`)}function Pp(i,e){if(!i)return null;let t=M_(i);return t===null&&(N_.test(i)?t=Ow(i,e):U_.test(i)&&(t=Nw(i,e))),t}function Ow(i,e){let t=N_.exec(i),r=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+r/e.frameRate}function Nw(i,e){let t=U_.exec(i),r=Number(t[1]);switch(t[2]){case"h":return r*3600;case"m":return r*60;case"ms":return r*1e3;case"f":return r/e.frameRate;case"t":return r/e.tickRate}return r}var Cg=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=$T(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(v.FRAG_LOADING,this.onFragLoading,this),e.on(v.FRAG_LOADED,this.onFragLoaded,this),e.on(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(v.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(v.FRAG_LOADING,this.onFragLoading,this),e.off(v.FRAG_LOADED,this.onFragLoaded,this),e.off(v.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(v.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(v.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(v.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(v.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new Gn(this,"textTrack1"),t=new Gn(this,"textTrack2"),r=new Gn(this,"textTrack3"),s=new Gn(this,"textTrack4");this.cea608Parser1=new hc(1,e,t),this.cea608Parser2=new hc(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=Uw(l[0],l[1],t,r);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],r),a=!0,d/(r-t)>.5))return}if(a||n.push([t,r]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,r,s)}else{let o=this.Cues.newCue(null,t,r,s);this.hls.trigger(v.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:r,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;r==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(v.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:r}=this;if(r)for(let s=0;s<r.textTracks.length;s++){let n=r.textTracks[s];if(BT(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:r,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)r[e]=o,Hn(r[e]),o_(r[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,r[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let r=t.label,s={_id:e,label:r,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,r){let s=this.media;if(s)return s.addTextTrack(e,t,r)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Hn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=$T(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let r=0;r<t.length;r++)Hn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===Cp);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(C_(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?Uu(a.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(o){let c=null;for(let h=0;h<o.length;h++)if(o[h]&&BT(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)Hn(u);else{let c=B_(l);u=this.createTextTrack(c,l.name,l.lang),u&&(u.mode="disabled")}u&&this.textTracks.push(u)}),o!=null&&o.length){let l=o.filter(d=>d!==null).map(d=>d.label);l.length&&R.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(v.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(r=>{let s=/(?:CC|SERVICE)([1-4])/.exec(r.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];a&&(a.label=r.name,r.lang&&(a.languageCode=r.lang),a.media=r)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===ee.MAIN){var r,s;let{cea608Parser1:n,cea608Parser2:a,lastSn:o}=this,{cc:l,sn:d}=t.frag,u=(r=(s=t.part)==null?void 0:s.index)!=null?r:-1;n&&a&&(d!==o+1||d===o&&u!==this.lastPartIndex+1||l!==this.lastCc)&&(n.reset(),a.reset()),this.lastCc=l,this.lastSn=d,this.lastPartIndex=u}}onFragLoaded(e,t){let{frag:r,payload:s}=t;if(r.type===ee.SUBTITLE)if(s.byteLength){let n=r.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[r.level],l=this.vttCCs;l[r.cc]||(l[r.cc]={start:r.start,prevCC:this.prevCC,new:!0},this.prevCC=r.cc),o&&o.textCodec===Cp?this._parseIMSC1(r,s):this._parseVTTs(t)}}else this.hls.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let r=this.hls;NT(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{R.log(`Failed to parse IMSC1: ${s}`),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:r,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[r.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=r.initSegment)!=null&&t.data?Zt(r.initSegment.data,new Uint8Array(s)):s;Cw(d,this.initPTS[r.cc],this.vttCCs,r.cc,r.start,u=>{this._appendCues(u,r.level),l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:r})},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?a.push(e):this._fallbackToIMSC1(r,s),R.log(`Failed to parse VTT cue: ${u}`),!(c&&o>r.cc)&&l.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r,error:u})})}_fallbackToIMSC1(e,t){let r=this.tracks[e.level];r.textCodec||NT(t,this.initPTS[e.cc],()=>{r.textCodec=Cp,this._parseIMSC1(e,t)},()=>{r.textCodec="wvtt"})}_appendCues(e,t){let r=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>l_(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;r.trigger(v.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:r}=t;r.type===ee.SUBTITLE&&this.onFragLoaded(v.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:r,cea608Parser2:s}=this;if(!this.enabled||!r||!s)return;let{frag:n,samples:a}=t;if(!(n.type===ee.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);r.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:r,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<r)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Gp(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Gp(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],r=e[0]&31,s=2;for(let n=0;n<r;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let u=3&a;(u===0||u===1)&&(t[u].push(o),t[u].push(l))}}return t}};function B_(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function BT(i,e){return!!i&&i.kind===B_(e)&&gg(e,i)}function Uw(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function $T(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Dg=class i{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.BUFFER_CODECS,this.onBufferCodecs,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(v.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.BUFFER_CODECS,this.onBufferCodecs,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let r=this.hls.levels[t.droppedLevel];this.isLevelAllowed(r)&&this.restrictedLevels.push({bitrate:r.bitrate,height:r.height,width:r.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let r=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,r.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&q(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,r=this.getMaxLevel(e.length-1);r!==this.autoLevelCapping&&R.log(`Setting autoLevelCapping to ${r}: ${e[r].height}p@${e[r].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=r,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let r=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,i.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let r=e.getBoundingClientRect();t.width=r.width,t.height=r.height,!t.width&&!t.height&&(t.width=r.right-r.left||e.width||0,t.height=r.bottom-r.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(r=>e.bitrate===r.bitrate&&e.width===r.width&&e.height===r.height)}static getMaxLevelByMediaSize(e,t,r){if(!(e!=null&&e.length))return-1;let s=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0,n=e.length-1,a=Math.max(t,r);for(let o=0;o<e.length;o+=1){let l=e[o];if((l.width>=a||l.height>=a)&&s(l,e[o+1])){n=o;break}}return n}},Mg=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let r=this.hls.config;if(r.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,r){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=r-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(v.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:r}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let u=d.currentLevel;R.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(v.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=r,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},Ou="[eme]",fc=class i{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=i.CDMCleanupPromise?[i.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=R.debug.bind(R,Ou),this.log=R.log.bind(R,Ou),this.warn=R.warn.bind(R,Ou),this.error=R.error.bind(R,Ou),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(v.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(v.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(v.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(v.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:r}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===Ue.WIDEVINE&&r)return r;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,r=t[e];if(r)return r.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,r=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(r),n=t.map(a=>a.videoCodec).filter(r);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let u=d.shift();this.getMediaKeysPromise(u,s,n).then(c=>a({keySystem:u,mediaKeys:c})).catch(c=>{d.length?l(d):c instanceof Mt?o(c):o(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_ACCESS,error:c,fatal:!0},c.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:r}=this.config;if(typeof r!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${r}`;return zT===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return r(e,t)}getMediaKeysPromise(e,t,r){let s=kI(e,t,r,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(u=>(this.log(`Media-keys created for "${e}"`),d.then(c=>c?this.setMediaKeysServerCertificate(u,e,c):u))),o.mediaKeys.catch(u=>{this.error(`Failed to create media-keys for "${e}"}: ${u}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:r}){this.log(`Creating key-system session "${t}" keyId: ${Yi.hexDump(e.keyId||[])}`);let s=r.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:r,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let r=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(r,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Yi.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Yi.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
1602
+ } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,r)=>{let s=vp(this.config),n=e.map(eT).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=tT(a);o?t(o):r(new Error(`Unable to find format for key-system "${a}"`))}).catch(r)})}loadKey(e){let t=e.keyInfo.decryptdata,r=this.getKeyIdString(t),s=`(keyId: ${r} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[r];return n||(n=this.keyIdToKeySessionPromise[r]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Mt?this.hls.trigger(v.ERROR,e.data):this.hls.trigger(v.ERROR,{type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),r=this.keyIdToKeySessionPromise[t];if(!r){let s=eT(e.keyFormat),n=s?[s]:vp(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=vp(this.config)),e.length===0)throw new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:r}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),r===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[Ue.FAIRPLAY]){let u=tt(new Uint8Array(r));try{let c=qg(JSON.parse(u).sinf),h=i_(new Uint8Array(c));if(!h)return;s=h.subarray(8,24),n=Ue.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let u=ZI(r);if(u===null)return;u.version===0&&u.systemId===YT.WIDEVINE&&u.data&&(s=u.data.subarray(8,24)),n=LI(u.systemId)}if(!n||!s)return;let a=Yi.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let u=0;u<l.length;u++){let c=l[u],h=c.decryptdata;if(h.pssh||!h.keyId)continue;let f=Yi.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(r),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(c,t,r,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:u,mediaKeys:c})=>{var h;this.throwIfDestroyed();let f=new uo("ISO-23001-7",a,(h=tT(u))!=null?h:"");return f.pssh=new Uint8Array(r),f.keyId=s,this.attemptSetMediaKeys(u,c).then(()=>{this.throwIfDestroyed();let m=this.createMediaKeySessionContext({decryptdata:f,keySystem:u,mediaKeys:c});return this.generateRequestWithPreferredKeySession(m,t,r,"encrypted-event-no-match")})})),d.catch(u=>this.handleError(u))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let r=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(r).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),r.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>r.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,r,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,r,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,r=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(r===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${r?r.byteLength:null})`);let u=new Jg,c=e._onmessage=m=>{let p=e.mediaKeysSession;if(!p){u.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=m;this.log(`"${g}" message event for session "${p.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),u.emit("error",T)}):g==="license-release"?e.keySystem===Ue.FAIRPLAY&&(this.updateKeySession(e,Bp("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},h=e._onkeystatuseschange=m=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;u.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",c),e.mediaKeysSession.addEventListener("keystatuseschange",h);let f=new Promise((m,p)=>{u.on("error",p),u.on("keyStatus",g=>{g.startsWith("usable")?m():g==="output-restricted"?p(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?p(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,r).then(()=>{var m;this.log(`Request generated for key-session "${(m=e.mediaKeysSession)==null?void 0:m.sessionId}" keyId: ${d}`)}).catch(m=>{throw new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_NO_SESSION,error:m,fatal:!1},`Error generating key-session request: ${m}`)}).then(()=>f).catch(m=>{throw u.removeAllListeners(),this.removeSession(e),m}).then(()=>(u.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,r)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Yi.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${Yi.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,r=t.loader,s=new r(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{a(h.data)},onError:(h,f,m,p)=>{o(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:ft({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,m)=>{o(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,m)=>{o(new Error("aborted"))}};s.load(l,u,c)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,r){return new Promise((s,n)=>{e.setServerCertificate(r).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${r==null?void 0:r.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(r=>this.updateKeySession(e,new Uint8Array(r)).catch(s=>{throw new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}unpackPlayReadyKeyMessage(e,t){let r=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!r.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let s=new DOMParser().parseFromString(r,"application/xml"),n=s.querySelectorAll("HttpHeader");if(n.length>0){let u;for(let c=0,h=n.length;c<h;c++){var a,o;u=n[c];let f=(a=u.querySelector("name"))==null?void 0:a.textContent,m=(o=u.querySelector("value"))==null?void 0:o.textContent;f&&m&&e.setRequestHeader(f,m)}}let l=s.querySelector("Challenge"),d=l==null?void 0:l.textContent;if(!d)throw new Error("Cannot find <Challenge> in key message");return Bp(atob(d))}setupLicenseXHR(e,t,r,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!r.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,r,s)}).catch(a=>{if(!r.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,r,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let r=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(u){this.error(u)}s(l)}else{let l=r.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Mt({type:ie.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let u=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${u} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{e.keySystem==Ue.PLAYREADY&&(d=this.unpackPlayReadyKeyMessage(l,d)),l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let r=t.media;this.media=r,r.addEventListener("encrypted",this.onMediaEncrypted),r.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},uo.clearKeyUriToKeyIdMap();let r=t.length;i.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}`)}))).then(()=>{r&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let r=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${r.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(r)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:r}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};fc.CDMCleanupPromise=void 0;var Mt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},St;(function(i){i.MANIFEST="m",i.AUDIO="a",i.VIDEO="v",i.MUXED="av",i.INIT="i",i.CAPTION="c",i.TIMED_TEXT="tt",i.KEY="k",i.OTHER="o"})(St||(St={}));var Pg;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(Pg||(Pg={}));var xs;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(xs||(xs={}));var Fw={[xs.OBJECT]:["br","d","ot","tb"],[xs.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[xs.SESSION]:["cid","pr","sf","sid","st","v"],[xs.STATUS]:["bs","rtp"]},vo=class i{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(r=>r instanceof i?r:new i(r))),this.value=e,this.params=t}},mc=class{constructor(e){this.description=void 0,this.description=e}},Bw="Dict";function $w(i){return Array.isArray(i)?JSON.stringify(i):i instanceof Map?"Map{}":i instanceof Set?"Set{}":typeof i=="object"?JSON.stringify(i):String(i)}function Hw(i,e,t,r){return new Error(`failed to ${i} "${$w(e)}" as ${t}`,{cause:r})}var HT="Bare Item",Gw="Boolean",Ww="Byte Sequence",Kw="Decimal",Vw="Integer";function qw(i){return i<-999999999999999||999999999999999<i}var Yw=/[\x00-\x1f\x7f]+/,zw="Token",jw="Key";function Qi(i,e,t){return Hw("serialize",i,e,t)}function Xw(i){if(typeof i!="boolean")throw Qi(i,Gw);return i?"?1":"?0"}function Qw(i){return btoa(String.fromCharCode(...i))}function Zw(i){if(ArrayBuffer.isView(i)===!1)throw Qi(i,Ww);return`:${Qw(i)}:`}function $_(i){if(qw(i))throw Qi(i,Vw);return i.toString()}function Jw(i){return`@${$_(i.getTime()/1e3)}`}function H_(i,e){if(i<0)return-H_(-i,e);let t=Math.pow(10,e);if(Math.abs(i*t%1-.5)<Number.EPSILON){let s=Math.floor(i*t);return(s%2===0?s:s+1)/t}else return Math.round(i*t)/t}function eC(i){let e=H_(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw Qi(i,Kw);let t=e.toString();return t.includes(".")?t:`${t}.0`}var tC="String";function iC(i){if(Yw.test(i))throw Qi(i,tC);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function rC(i){return i.description||i.toString().slice(7,-1)}function GT(i){let e=rC(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Qi(e,zw);return e}function Og(i){switch(typeof i){case"number":if(!q(i))throw Qi(i,HT);return Number.isInteger(i)?$_(i):eC(i);case"string":return iC(i);case"symbol":return GT(i);case"boolean":return Xw(i);case"object":if(i instanceof Date)return Jw(i);if(i instanceof Uint8Array)return Zw(i);if(i instanceof mc)return GT(i);default:throw Qi(i,HT)}}function Ng(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw Qi(i,jw);return i}function i0(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${Ng(e)}`:`;${Ng(e)}=${Og(t)}`).join("")}function G_(i){return i instanceof vo?`${Og(i.value)}${i0(i.params)}`:Og(i)}function sC(i){return`(${i.value.map(G_).join(" ")})${i0(i.params)}`}function nC(i,e={whitespace:!0}){if(typeof i!="object")throw Qi(i,Bw);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof vo||(n=new vo(n));let a=Ng(s);return n.value===!0?a+=i0(n.params):(a+="=",Array.isArray(n.value)?a+=sC(n):a+=G_(n)),a}).join(`,${r}`)}function aC(i,e){return nC(i,e)}var oC=i=>i==="ot"||i==="sf"||i==="st",lC=i=>typeof i=="number"?q(i):i!=null&&i!==""&&i!==!1;function dC(i,e){let t=new URL(i),r=new URL(e);if(t.origin!==r.origin)return i;let s=t.pathname.split("/").slice(1),n=r.pathname.split("/").slice(1,-1);for(;s[0]===n[0];)s.shift(),n.shift();for(;n.length;)n.shift(),s.unshift("..");return s.join("/")}function uC(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(s=="x"?n:n&3|8).toString(16)})}}}var Gu=i=>Math.round(i),cC=(i,e)=>(e!=null&&e.baseUrl&&(i=dC(i,e.baseUrl)),encodeURIComponent(i)),Nu=i=>Gu(i/100)*100,hC={br:Gu,d:Gu,bl:Nu,dl:Nu,mtp:Nu,nor:cC,rtp:Nu,tb:Gu};function fC(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=Ze({},hC,e==null?void 0:e.formatters),n=e==null?void 0:e.filter;return r.forEach(a=>{if(n!=null&&n(a))return;let o=i[a],l=s[a];l&&(o=l(o,e)),!(a==="v"&&o===1)&&(a=="pr"&&o===1||lC(o)&&(oC(a)&&typeof o=="string"&&(o=new mc(o)),t[a]=o))}),t}function W_(i,e={}){return i?aC(fC(i,e),Ze({whitespace:!1},e)):""}function mC(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(Fw).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),s=t.reduce((n,a)=>{var o,l;let[d,u]=a,c=((o=r.find(h=>h[1].includes(d)))==null?void 0:o[0])||xs.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=W_(o,e),n),{})}function pC(i,e,t){return Ze(i,mC(e,t))}var gC="CMCD";function vC(i,e={}){if(!i)return"";let t=W_(i,e);return`${gC}=${encodeURIComponent(t)}`}var WT=/CMCD=[^&#]+/;function EC(i,e,t){let r=vC(e,t);if(!r)return i;if(WT.test(i))return i.replace(WT,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var Ug=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:St.MANIFEST,su:!this.initialized})}catch(n){R.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===St.VIDEO||o===St.AUDIO||o==St.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){R.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:r}=t;r!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=r.sessionId||uC(),this.cid=r.contentId,this.useHeaders=r.useHeaders===!0,this.includeKeys=r.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHED,this.onMediaDetached,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHED,this.onMediaDetached,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var r,s;this.audioBuffer=(r=t.tracks.audio)==null?void 0:r.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:1,sf:Pg.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){Ze(t,this.createData());let r=t.ot===St.INIT||t.ot===St.VIDEO||t.ot===St.MUXED;this.starved&&r&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((n,a)=>(s.includes(a)&&(n[a]=t[a]),n),{})),this.useHeaders?(e.headers||(e.headers={}),pC(e.headers,t)):e.url=EC(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return St.TIMED_TEXT;if(e.sn==="initSegment")return St.INIT;if(t==="audio")return St.AUDIO;if(t==="main")return this.hls.audioTracks.length?St.VIDEO:St.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===St.AUDIO)r=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;r=s.levels.slice(0,a)}for(let n of r)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,r=e===St.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:Ne.bufferInfo(r,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,r=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new r(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}},bC=3e5,Fg=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=R.log.bind(R,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(r=>r!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:r}=t;r!==null&&(this.pathwayId=r.pathwayId,this.uri=r.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:r}=t;if((r==null?void 0:r.action)===ct.SendAlternateToPenaltyBox&&r.flags===vi.MoveAllAlternatesMatchingHost){let s=this.levels,n=this.pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:o,pathwayId:l,type:d}=t.context;o&&s?a=this.getPathwayForGroupId(o,d,a):l&&(a=l)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!n&&s&&(n=s.reduce((o,l)=>(o.indexOf(l.pathwayId)===-1&&o.push(l.pathwayId),o),[])),n&&n.length>1&&(this.updatePathwayPriority(n),r.resolved=this.pathwayId!==a),r.resolved||R.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${s&&s.length} priorities: ${JSON.stringify(n)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let r=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${r}"`),t=this.getLevelsForPathway(r),this.pathwayId=r}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,r=this.penalizedPathways,s=performance.now();Object.keys(r).forEach(n=>{s-r[n]>bC&&delete r[n]});for(let n=0;n<e.length;n++){let a=e[n];if(a in r)continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,h_(t),this.hls.trigger(v.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,r){let s=this.getLevelsForPathway(r).concat(this.levels||[]);for(let n=0;n<s.length;n++)if(t===ve.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===ve.SUBTITLE_TRACK&&s[n].hasSubtitleGroup(e))return s[n].pathwayId;return r}clonePathways(e){let t=this.levels;if(!t)return;let r={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(u=>{let c=new We(u.attrs);c["PATHWAY-ID"]=a;let h=c.AUDIO&&`${c.AUDIO}_clone_${a}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${a}`;h&&(r[c.AUDIO]=h,c.AUDIO=h),f&&(s[c.SUBTITLES]=f,c.SUBTITLES=f);let m=K_(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Or({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:m,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let g=1;g<u.audioGroups.length;g++)p.addGroupId("audio",`${u.audioGroups[g]}_clone_${a}`);if(u.subtitleGroups)for(let g=1;g<u.subtitleGroups.length;g++)p.addGroupId("text",`${u.subtitleGroups[g]}_clone_${a}`);return p});t.push(...d),KT(this.audioTracks,r,l,a),KT(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,r=t.loader;this.loader&&this.loader.destroy(),this.loader=new r(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+u)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(u,c,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let m=u.data;if(m.VERSION!==1){this.log(`Steering VERSION ${m.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=m.TTL;let{"RELOAD-URI":p,"PATHWAY-CLONES":g,"PATHWAY-PRIORITY":E}=m;if(p)try{this.uri=new self.URL(p,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${p}`);return}this.scheduleRefresh(this.uri||h.url),g&&this.clonePathways(g);let T={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,T),E&&this.updatePathwayPriority(E)},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return}let m=this.timeToLoad*1e3;if(u.code===429){let p=this.loader;if(typeof(p==null?void 0:p.getResponseHeader)=="function"){let g=p.getResponseHeader("Retry-After");g&&(m=parseFloat(g)*1e3)}this.log(`Steering manifest ${c.url} rate limited`);return}this.scheduleRefresh(this.uri||c.url,m)},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var r;let s=(r=this.hls)==null?void 0:r.media;if(s&&!s.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function KT(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=Ze({},a);return o.details=void 0,o.attrs=new We(o.attrs),o.url=o.attrs.URI=K_(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=r,o});i.push(...n)})}function K_(i,e,t,r){let{HOST:s,PARAMS:n,[t]:a}=r,o;e&&(o=a==null?void 0:a[e],o&&(i=o));let l=new self.URL(i);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var yC=/^age:\s*[\d.]+\s*$/im,pc=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Vn,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,r){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=r,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let r=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!(this.loader!==r||this.stats.aborted))return n(r,t.url)}).catch(a=>{if(!(this.loader!==r||this.stats.aborted))return r.open("GET",t.url,!0),n(r,t.url)}).then(()=>{this.loader!==r||this.stats.aborted||this.openAndSendXhr(r,t,e)}).catch(a=>{this.callbacks.onError({code:r.status,text:a.message},t,r,s)}):this.openAndSendXhr(r,t,e)}openAndSendXhr(e,t,r){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=r.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),r.timeout=n&&q(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:r}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!r.aborted&&s>=2&&(r.loading.first===0&&(r.loading.first=Math.max(self.performance.now(),r.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(r.loading.first-r.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){r.loading.end=Math.max(self.performance.now(),r.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(r.loaded=r.total=d,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(r,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(c,r,e,t)}else{let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};Ju(l,d,!1,u)?this.retry(l):(R.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,r))}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(Ju(e,t,!0))this.retry(e);else{var r;R.warn(`timeout while loading ${(r=this.context)==null?void 0:r.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:r}=this;this.retryDelay=jg(e,r.retry),r.retry++,R.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${r.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&yC.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function TC(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var _C=/(\d+)-(\d+)\/(\d+)/,gc=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||LC,this.controller=new self.AbortController,this.stats=new Vn}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,r){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=AC(e,this.controller.signal),a=r.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=r,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&q(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),r.onTimeout(s,e,this.response)},u-(h-s.loading.start)),!c.ok){let{status:f,statusText:m}=c;throw new Bg(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=xC(c.headers)||s.total,a&&q(t.highWaterMark)?this.loadProgressively(c,s,e,t.highWaterMark,a):o?c.arrayBuffer():e.responseType==="json"?c.json():c.text()}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=c[l];f&&(s.loaded=s.total=f);let m={url:h.url,data:c,code:h.status};a&&!q(t.highWaterMark)&&a(s,e,c,h),r.onSuccess(m,s,e,h)}).catch(c=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=c&&c.code||0,f=c?c.message:null;r.onError({code:h,text:f},e,c?c.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,r,s=0,n){let a=new ic,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,r,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c<s||a.dataLength?(a.push(u),a.dataLength>=s&&n(t,r,a.flush(),e)):n(t,r,u,e),l()}).catch(()=>Promise.reject());return l()}};function AC(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(Ze({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function SC(i){let e=_C.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function xC(i){let e=i.get("Content-Range");if(e){let r=SC(e);if(q(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function LC(i,e){return new self.Request(i.url,e)}var Bg=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},kC=/\s/,IC={newCue(i,e,t,r){let s=[],n,a,o,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h<r.rows.length;h++)if(n=r.rows[h],o=!0,l=0,d="",!n.isEmpty()){var c;for(let p=0;p<n.chars.length;p++)kC.test(n.chars[p].uchar)&&o?l++:(d+=n.chars[p].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=O_(d.trim()),m=t0(e,t,f);i!=null&&(c=i.cues)!=null&&c.getCueById(m)||(a=new u(e,t,f),a.id=m,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return i&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>l_(i,h))),s}},RC={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},V_=ft(ft({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:pc,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Qp,bufferController:Ag,capLevelController:Dg,errorController:jp,fpsController:Mg,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:zT,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:RC},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},wC()),{},{subtitleStreamController:bg,subtitleTrackController:Tg,timelineController:Cg,audioStreamController:vg,audioTrackController:Eg,emeController:fc,cmcdController:Ug,contentSteeringController:Fg});function wC(){return{cueHandler:IC,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function CC(i,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=$g(i),r=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let u=`${n}Loading${d}`,c=e[u];if(c!==void 0&&o){l.push(u);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break}}}),l.length&&R.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),ft(ft({},t),e)}function $g(i){return i&&typeof i=="object"?Array.isArray(i)?i.map($g):Object.keys(i).reduce((e,t)=>(e[t]=$g(i[t]),e),{}):i}function DC(i){let e=i.loader;e!==gc&&e!==pc?(R.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):TC()&&(i.loader=gc,i.progressive=!0,i.enableSoftwareAES=!0,R.log("[config]: Progressive streaming enabled, using FetchLoader"))}var Op,Hg=class extends ho{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this),e.on(v.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this),e.off(v.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let r=this.hls.config.preferManagedMediaSource,s=[],n={},a={},o=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:m,videoCodec:p}=u;((c=m)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(Op||(Op=/chrome|firefox/i.test(navigator.userAgent)),Op&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=ju(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=nR(p));let{width:g,height:E,unknownCodecs:T}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),T!=null&&T.length||m&&!Tp(m,"audio",r)||p&&!Tp(p,"video",r))return;let{CODECS:y,"FRAME-RATE":S,"HDCP-LEVEL":A,"PATHWAY-ID":L,RESOLUTION:x,"VIDEO-RANGE":w}=f,k=`${`${L||"."}-`}${u.bitrate}-${x}-${S}-${y}-${w}-${A}`;if(n[k])if(n[k].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let D=a[k]+=1;u.attrs["PATHWAY-ID"]=new Array(D+1).join(".");let U=new Or(u);n[k]=U,s.push(U)}else n[k].addGroupId("audio",f.AUDIO),n[k].addGroupId("text",f.SUBTITLES);else{let D=new Or(u);n[k]=D,a[k]=1,s.push(D)}}),this.filterAndSortMediaOptions(s,t,o,l,d)}filterAndSortMediaOptions(e,t,r,s,n){let a=[],o=[],l=e;if((r||s)&&n&&(l=l.filter(({videoCodec:m,videoRange:p,width:g,height:E})=>(!!m||!!(g&&E))&&pR(p))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let m=new Error("no level with compatible codecs found in manifest");this.hls.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:m,reason:m.message})}});return}if(t.audioTracks){let{preferManagedMediaSource:m}=this.hls.config;a=t.audioTracks.filter(p=>!p.audioCodec||Tp(p.audioCodec,"audio",m)),VT(a)}t.subtitles&&(o=t.subtitles,VT(o));let d=l.slice(0);l.sort((m,p)=>{if(m.attrs["HDCP-LEVEL"]!==p.attrs["HDCP-LEVEL"])return(m.attrs["HDCP-LEVEL"]||"")>(p.attrs["HDCP-LEVEL"]||"")?1:-1;if(r&&m.height!==p.height)return m.height-p.height;if(m.frameRate!==p.frameRate)return m.frameRate-p.frameRate;if(m.videoRange!==p.videoRange)return Xu.indexOf(m.videoRange)-Xu.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=aT(m.videoCodec),E=aT(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=zu(m.codecSet),E=zu(p.codecSet);if(g!==E)return E-g}return m.averageBitrate!==p.averageBitrate?m.averageBitrate-p.averageBitrate:0});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let m=0;m<d.length;m++)if(d[m].pathwayId===l[0].pathwayId){u=d[m];break}}this._levels=l;for(let m=0;m<l.length;m++)if(l[m]===u){var c;this._firstLevel=m;let p=u.bitrate,g=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${p}`),((c=this.hls.userConfig)==null?void 0:c.abrEwmaDefaultEstimate)===void 0){let E=Math.min(p,this.hls.config.abrEwmaDefaultEstimateMax);E>g&&g===V_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=E)}break}let h=n&&!s,f={levels:l,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:!h&&a.some(m=>!!m.url)};this.hls.trigger(v.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1)}let r=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,r===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${r}${n?" with Pathway "+n:""}`);let l={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(v.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let u=this.switchParams(a.uri,s==null?void 0:s.details,d);this.loadPlaylist(u)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===ve.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===ee.MAIN){let r=t.elementaryStreams;if(!Object.keys(r).some(n=>!!r[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(e,t){var r;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(r=t.deliveryDirectives)!=null&&r.skip&&(n.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,r=this.currentLevel;if(r&&this.shouldLoadPlaylist(r)){let s=r.uri;if(e)try{s=e.addDirectives(s)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}let n=r.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${n?" Pathway "+n:""} ${s}`),this.clearTimer(),this.hls.trigger(v.LEVEL_LOADING,{url:s,level:t,pathwayId:r.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;let r=this._levels.filter((s,n)=>n!==e?!0:(this.steering&&this.steering.removeLevel(s),s===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,s.details&&s.details.fragments.forEach(a=>a.level=-1)),!1));h_(r),this._levels=r,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(v.LEVELS_UPDATED,{levels:r})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:r}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(v.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:r}))}};function VT(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var Gg=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let r in this.keyUriToKeyInfo){let s=this.keyUriToKeyInfo[r].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=C.KEY_LOAD_ERROR,r,s,n){return new bi({type:ie.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:r,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:r,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(r==="initSegment"||a.sn==="initSegment"||r<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var r,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((r=o)!=null&&r.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,C.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let r={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(r);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,r))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(r)}loadKeyHTTP(e,t){let r=this.config,s=r.loader,n=new s(r);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=r.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,m,p)=>{let{frag:g,keyInfo:E,url:T}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[T])return o(this.createKeyLoadError(g,C.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),p));E.decryptdata.key=g.decryptdata.key=new Uint8Array(h.data),g.keyLoader=null,E.loader=null,a({frag:g,keyInfo:E})},onError:(h,f,m,p)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),m,ft({url:l.url,data:void 0},h)))},onTimeout:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),m))},onAbort:(h,f,m)=>{this.resetLoader(f),o(this.createKeyLoadError(t,C.INTERNAL_ABORTED,new Error("key loading aborted"),m))}};n.load(l,u,c)})}resetLoader(e){let{frag:t,keyInfo:r,url:s}=e,n=r.loader;t.keyLoader===n&&(t.keyLoader=null,r.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}};function q_(){return self.SourceBuffer||self.WebKitSourceBuffer}function Y_(){if(!ks())return!1;let e=q_();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function MC(){if(!Y_())return!1;let i=ks();return typeof(i==null?void 0:i.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>i.isTypeSupported(co(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(co(e,"audio"))))}function PC(){var i;let e=q_();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var OC=250,Wu=2,NC=.1,UC=.05,Wg=class{constructor(e,t,r,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=r,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:r,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),n!==null){if(this.stallReported){let g=self.performance.now()-n;R.warn(`playback not stuck anymore @${a}, after ${Math.round(g)}ms`),this.stallReported=!1}this.stalled=null}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!Ne.getBuffered(s).length){this.nudgeRetry=0;return}let u=Ne.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>Wu,E=!c||t&&t.start<=a||c-a>Wu&&!this.fragmentTracker.getPartialFragment(a);if(g||E)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let E=Math.max(c,u.start||0)-a,T=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,S=(T==null||(h=T.details)==null?void 0:h.live)?T.details.targetduration*2:Wu,A=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=S||A)){s.paused||this._trySkipBufferHole(A);return}}let f=self.performance.now();if(n===null){this.stalled=f;return}let m=f-n;if(!o&&m>=OC&&(this._reportStall(u),!this.media))return;let p=Ne.bufferInfo(s,a,r.maxBufferHole);this._tryFixBufferStall(p,m)}_tryFixBufferStall(e,t){let{config:r,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>r.maxBufferHole||e.nextStart&&e.nextStart-a<r.maxBufferHole)&&t>r.highBufferWatchdogPeriod*1e3&&(R.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:r,stallReported:s}=this;if(!s&&r){this.stallReported=!0;let n=new Error(`Playback stalling at @${r.currentTime} due to low buffer (${JSON.stringify(e)})`);R.warn(n.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:r,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=Ne.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,u=o-n;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let m=h.getAppendedFrag(0,ee.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,ee.MAIN);if(m){let p=!1,g=m.end;for(;g<o;){let E=h.getPartialFragment(g);if(E)g+=E.duration;else{p=!0;break}}if(p)return 0}}}let c=Math.max(o+UC,n+NC);if(R.warn(`skipping hole, adjusting currentTime from ${n} to ${c}`),this.moved=!0,this.stalled=null,s.currentTime=c,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${c}`);r.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return c}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:r,nudgeRetry:s}=this;if(r===null)return;let n=r.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);R.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);R.error(a.message),t.trigger(v.ERROR,{type:ie.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},FC=100,Kg=class extends po{constructor(e,t,r){super(e,t,r,"[stream-controller]",ee.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(v.MANIFEST_LOADING,this.onManifestLoading,this),e.on(v.MANIFEST_PARSED,this.onManifestParsed,this),e.on(v.LEVEL_LOADING,this.onLevelLoading,this),e.on(v.LEVEL_LOADED,this.onLevelLoaded,this),e.on(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(v.ERROR,this.onError,this),e.on(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(v.BUFFER_CREATED,this.onBufferCreated,this),e.on(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(v.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(v.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(v.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(v.MANIFEST_LOADING,this.onManifestLoading,this),e.off(v.MANIFEST_PARSED,this.onManifestParsed,this),e.off(v.LEVEL_LOADED,this.onLevelLoaded,this),e.off(v.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(v.ERROR,this.onError,this),e.off(v.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(v.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(v.BUFFER_CREATED,this.onBufferCreated,this),e.off(v.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(v.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(v.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:r}=this;if(this.stopLoad(),this.setInterval(FC),this.level=-1,!this.startFragRequested){let s=r.startLevel;s===-1&&(r.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=r.firstAutoLevel),r.nextLoadLevel=s,this.level=r.loadLevel,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=N.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=N.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case N.WAITING_LEVEL:{let{levels:t,level:r}=this,s=t==null?void 0:t[r],n=s==null?void 0:s.details;if(n&&(!n.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(n))break;this.state=N.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=N.IDLE;break}break}case N.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),r=this.retryDate;if(!r||t>=r||(e=this.media)!=null&&e.seeking){let{levels:s,level:n}=this,a=s==null?void 0:s[n];this.resetStartWhenNotLoaded(a||null),this.state=N.IDLE}}break}this.state===N.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:r,media:s}=this;if(t===null||!s&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=e.nextLoadLevel;if(!(r!=null&&r[n]))return;let a=r[n],o=this.getMainFwdBufferInfo();if(o===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){let p={};this.altAudio&&(p.type="video"),this.hls.trigger(v.BUFFER_EOS,p),this.state=N.ENDED;return}e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let d=a.details;if(!d||this.state===N.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=N.WAITING_LEVEL;return}let u=o.len,c=this.getMaxBufferLength(a.maxBitrate);if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==ht.OK){var m;let g=((m=this.backtrackFragment)!=null?m:f).sn-d.startSN,E=d.fragments[g-1];E&&f.cc===E.cc&&(f=E,this.fragmentTracker.removeFragment(E))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let g=this.audioOnly&&!this.altAudio?ke.AUDIO:ke.VIDEO,E=(g===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,ee.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,ee.MAIN,c)}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,h))}loadFragment(e,t,r){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===ht.NOT_LOADED||s===ht.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,r)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,ee.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let r,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?r=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:r=0}else r=0;let a=this.getBufferedFrag(t.currentTime+r);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,u=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?.5:.125)),d*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case N.KEY_LOADING:case N.FRAG_LOADING:case N.FRAG_LOADING_WAITING_RETRY:case N.PARSING:case N.PARSED:this.state=N.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let r=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),r.addEventListener("playing",this.onvplaying),r.addEventListener("seeked",this.onvseeked),this.gapController=new Wg(this.config,r,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;q(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let r=this.getMainFwdBufferInfo();if(r===null||r.len===0){this.warn(`Main forward buffer length on "seeked" event ${r?r.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(v.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let r=!1,s=!1;t.levels.forEach(n=>{let a=n.audioCodec;a&&(r=r||a.indexOf("mp4a.40.2")!==-1,s=s||a.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=r&&s&&!PC(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:r}=this;if(!r||this.state!==N.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=N.WAITING_LEVEL)}onLevelLoaded(e,t){var r;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===N.FRAG_LOADING||this.state===N.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(a.live||(r=l.details)!=null&&r.live){var c;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;u=this.alignPlaylists(a,l.details,(c=this.levelLastLoaded)==null?void 0:c.details)}if(l.details=a,this.levelLastLoaded=l,this.hls.trigger(v.LEVEL_UPDATED,{details:a,level:n}),this.state===N.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=N.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,u),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:r,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${r.sn} of level ${r.level} will not be buffered`);return}let o=a[r.level],l=o.details;if(!l){this.warn(`Dropping fragment ${r.sn} of level ${r.level} after level details were reset`),this.fragmentTracker.removeFragment(r);return}let d=o.videoCodec,u=l.PTSKnown||!l.live,c=(t=r.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new dc(this.hls,ee.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new fo(r.level,r.sn,r.stats.chunkCount,n.byteLength,m,p),E=this.initPTS[r.cc];f.push(n,c,h,d,r,s,l.totalduration,u,g,E)}onAudioTrackSwitching(e,t){let r=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;r&&(n.trigger(v.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(v.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let r=t.id,s=!!this.hls.audioTracks[r].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let r=t.tracks,s,n,a=!1;for(let o in r){let l=r[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=r[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:r,part:s}=t;if(r&&r.type!==ee.MAIN)return;if(this.fragContextChanged(r)){this.warn(`Fragment ${r.sn}${s?" p: "+s.index:""} of level ${r.level} finished buffering, but was aborted. state: ${this.state}`),this.state===N.PARSED&&(this.state=N.IDLE);return}let n=s?s.stats:r.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),r.sn!=="initSegment"&&(this.fragPrevious=r),this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=N.ERROR;return}switch(t.details){case C.FRAG_GAP:case C.FRAG_PARSING_ERROR:case C.FRAG_DECRYPT_ERROR:case C.FRAG_LOAD_ERROR:case C.FRAG_LOAD_TIMEOUT:case C.KEY_LOAD_ERROR:case C.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ee.MAIN,t);break;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===N.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===ve.LEVEL&&(this.state=N.IDLE);break;case C.BUFFER_APPEND_ERROR:case C.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===C.BUFFER_APPEND_ERROR){this.resetLoadingState();return}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case C.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!Ne.getBuffered(e).length){let r=this.state!==N.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=N.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==ke.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===ke.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,ee.MAIN),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,r=this.startPosition;if(r>=0&&t<r){if(e.seeking){this.log(`could not seek to ${r}, already seeking at ${t}`);return}let s=Ne.getBuffered(e),a=(s.length?s.start(0):0)-r;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),r+=a,this.startPosition=r),this.log(`seek to target start position ${r} from current time ${t}`),e.currentTime=r}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(r=>{let{hls:s}=this;if(!r||this.fragContextChanged(e))return;t.fragmentError=0,this.state=N.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(v.FRAG_LOADED,r),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let r="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:u}=o,{video:c,text:h,id3:f,initSegment:m}=n,{details:p}=u,g=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=N.PARSING,m){if(m!=null&&m.tracks){let y=l.initSegment||l;this._bufferInitSegment(u,m.tracks,y,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:r,tracks:m.tracks})}let E=m.initPTS,T=m.timescale;q(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:T},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:T}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],T=l.sn===p.startSN,y=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:S,endPTS:A,startDTS:L,endDTS:x}=c;if(d)d.elementaryStreams[c.type]={startPTS:S,endPTS:A,startDTS:L,endDTS:x};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!y&&(this.couldBacktrack=!0),c.dropped&&c.independent){let w=this.getMainFwdBufferInfo(),P=(w?w.end:this.getLoadPosition())+this.config.maxBufferHole,k=c.firstKeyFramePTS?c.firstKeyFramePTS:S;if(!T&&P<k-this.config.maxBufferHole&&!y){this.backtrack(l);return}else y&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,A,l.start,x,!0)}else T&&S>Wu&&(l.gap=!0);l.setElementaryStreamInfo(c.type,S,A,L,x),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,T||y)}else if(T||y)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:T,startDTS:y,endDTS:S}=g;d&&(d.elementaryStreams[ke.AUDIO]={startPTS:E,endPTS:T,startDTS:y,endDTS:S}),l.setElementaryStreamInfo(ke.AUDIO,E,T,y,S),this.bufferFragmentData(g,l,d,a)}if(p&&f!=null&&(t=f.samples)!=null&&t.length){let E={id:r,frag:l,details:p,samples:f.samples};s.trigger(v.FRAG_PARSING_METADATA,E)}if(p&&h){let E={id:r,frag:l,details:p,samples:h.samples};s.trigger(v.FRAG_PARSING_USERDATA,E)}}_bufferInitSegment(e,t,r,s){if(this.state!==N.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5");let u=n.metadata;u&&"channelCount"in u&&(u.channelCount||1)!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")}l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(v.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(v.BUFFER_APPENDING,{type:l,data:u,frag:r,part:null,chunkMeta:s,parent:r.type})}),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,ee.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=N.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(Ne.isBuffered(e,r)?t=this.getAppendedFrag(r):Ne.isBuffered(e,r+.1)&&(t=this.getAppendedFrag(r+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(v.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(v.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,r=this.currentFrag;if(r&&q(t)&&q(r.programDateTime)){let s=r.programDateTime+(t-r.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},Eo=class i{static get version(){return"1.5.11"}static isMSESupported(){return Y_()}static isSupported(){return MC()}static getMediaSource(){return ks()}static get Events(){return v}static get ErrorTypes(){return ie}static get ErrorDetails(){return C}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:V_}static set DefaultConfig(e){i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Jg,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,EI(e.debug||!1,"Hls instance");let t=this.config=CC(i.DefaultConfig,e);this.userConfig=e,t.progressive&&DC(t);let{abrController:r,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new r(this),u=this.bufferController=new s(this),c=this.capLevelController=new n(this),h=new o(this),f=new Hp(this),m=new Kp(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Hg(this,g),T=new Jp(this),y=new Gg(this.config),S=this.streamController=new Kg(this,T,y);c.setStreamController(S),h.setStreamController(S);let A=[f,E,S];g&&A.splice(1,0,g),this.networkControllers=A;let L=[d,u,c,h,m,T];this.audioTrackController=this.createController(t.audioTrackController,A);let x=t.audioStreamController;x&&A.push(new x(this,T,y)),this.subtitleTrackController=this.createController(t.subtitleTrackController,A);let w=t.subtitleStreamController;w&&A.push(new w(this,T,y)),this.createController(t.timelineController,L),y.emeController=this.emeController=this.createController(t.emeController,L),this.cmcdController=this.createController(t.cmcdController,L),this.latencyController=this.createController(Vp,L),this.coreComponents=L,A.push(l);let P=l.onErrorOut;typeof P=="function"&&this.on(v.ERROR,P,l)}createController(e,t){if(e){let r=new e(this);return t&&t.push(r),r}return null}on(e,t,r=this){this._emitter.on(e,t,r)}once(e,t,r=this){this._emitter.once(e,t,r)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,r=this,s){this._emitter.off(e,t,r,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,r){return this._emitter.emit(e,t,r)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(r){if(R.error("An internal error happened while handling event "+e+'. Error message: "'+r.message+'". Here is a stacktrace:',r),!this.triggeringException){this.triggeringException=!0;let s=e===v.ERROR;this.trigger(v.ERROR,{type:ie.OTHER_ERROR,details:C.INTERNAL_EXCEPTION,fatal:s,event:e,error:r}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){R.log("destroy"),this.trigger(v.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){R.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){R.log("detachMedia"),this.trigger(v.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,r=this.url,s=this.url=Vg.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,R.log(`loadSource:${s}`),t&&r&&(r!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(v.MANIFEST_LOADING,{url:e})}startLoad(e=-1){R.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){R.log("stopLoad"),this.started=!1,this.networkControllers.forEach(e=>{e.stopLoad()})}resumeBuffering(){this.started&&this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.startLoad(-1)})}pauseBuffering(){this.networkControllers.forEach(e=>{"fragmentLoader"in e&&e.stopLoad()})}swapAudioCodec(){R.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){R.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){R.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){R.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){R.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){R.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){R.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(R.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){mR(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let r=e.length;for(let s=0;s<r;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:r}=this,s;if(t===-1&&e!=null&&e.length?s=e.length-1:s=t,r)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=r)return n}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return(t=this.audioTrackController)==null?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return(t=this.subtitleTrackController)==null||t.setSubtitleOption(e),null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};Eo.defaultConfig=void 0;var Ke=Eo,Nr=class bo extends Error{constructor(e,t=bo.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=bo.MEDIA_ERR_NETWORK&&t<=bo.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=bo.defaultMessages[this.code])!=null?n:"")}};Nr.MEDIA_ERR_ABORTED=1,Nr.MEDIA_ERR_NETWORK=2,Nr.MEDIA_ERR_DECODE=3,Nr.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Nr.MEDIA_ERR_ENCRYPTED=5,Nr.MEDIA_ERR_CUSTOM=100,Nr.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var bt=Nr,BC=i=>i==null,J_=(i,e)=>BC(e)?!1:i in e,a0={ANY:"any",MUTED:"muted"},ye={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},Jt={MSE:"mse",NATIVE:"native"},Ec={HEADER:"header",QUERY:"query",NONE:"none"},zn=Object.values(Ec),Fr={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},o0={HLS:Fr.M3U8},I5=Object.keys(o0),R5=[...Object.values(Fr),"hls","HLS"];var rt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function $C(i,e,t){e&&t>e&&(t=e);for(let r=0;r<i.length;r++)if(i.start(r)<=t&&i.end(r)>=t)return!0;return!1}var HC=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},_c=i=>{let e=i.type;if(e){let r=e.toUpperCase();return J_(r,o0)?o0[r]:e}let{src:t}=i;return t?GC(t):""},eA=i=>i==="VOD"?ye.ON_DEMAND:ye.LIVE,tA=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,GC=i=>{let e="";try{e=new URL(i).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let r=e.slice(t+1).toUpperCase();return J_(r,Fr)?Fr[r]:""},WC=Object.values(a0),z_=i=>typeof i=="boolean"||typeof i=="string"&&WC.includes(i),KC=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=z_(r)?r:!!r,o=()=>{s||rt(e,"playing",()=>{s=!0},{once:!0})};if(o(),rt(e,"loadstart",()=>{s=!1,o(),r0(e,a)},{once:!0}),rt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=!Number.isFinite(e.duration)),r0(e,a)},{once:!0}),t&&t.once(Ke.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==ye.UNKNOWN?n=i.streamType===ye.LIVE:n=(u=d.details.live)!=null?u:!1}),!a){let l=()=>{!n||Number.isFinite(i.startTime)||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&rt(e,"play",()=>{e.preload==="metadata"?t.once(Ke.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=z_(l)?l:!!l,r0(e,a))}},r0=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case a0.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case a0.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},VC=({preload:i,src:e},t,r)=>{let s=c=>{c!=null&&["","none","metadata","auto"].includes(c)?t.setAttribute("preload",c):t.removeAttribute("preload")};if(!r)return s(i),s;let n=!1,a=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=c=>{s(c);let h=c!=null?c:t.preload;a||h==="none"||(h==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),u())},u=()=>{!n&&e&&(n=!0,r.loadSource(e))};return rt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function qC(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Ke.Events.MANIFEST_PARSED,function(d,u){l();let c=i.addVideoTrack("main");c.selected=!0;for(let[h,f]of u.levels.entries()){let m=c.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);r.set(f,`${h}`),m.id=`${h}`}}),e.on(Ke.Events.AUDIO_TRACKS_UPDATED,function(d,u){o();for(let c of u.audioTracks){let h=c.default?"main":"alternative",f=i.addAudioTrack(h,c.name,c.lang);f.id=`${c.id}`,c.default&&(f.enabled=!0)}}),i.audioTracks.addEventListener("change",()=>{var d;let u=+((d=[...i.audioTracks].find(h=>h.enabled))==null?void 0:d.id),c=e.audioTracks.map(h=>h.id);u!=e.audioTrack&&c.includes(u)&&(e.audioTrack=u)}),e.on(Ke.Events.LEVELS_UPDATED,function(d,u){var c;let h=i.videoTracks[(c=i.videoTracks.selectedIndex)!=null?c:0];if(!h)return;let f=u.levels.map(m=>r.get(m));for(let m of i.videoRenditions)m.id&&!f.includes(m.id)&&h.removeRendition(m)});let s=d=>{let u=d.target.selectedIndex;u!=e.nextLevel&&n(u)},n=d=>{let u=i.currentTime,c=!1,h=(f,m)=>{c||(c=!Number.isFinite(m.endOffset))};e.on(Ke.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Ke.Events.BUFFER_FLUSHING,h),c||e.trigger(Ke.Events.BUFFER_FLUSHING,{startOffset:u+10,endOffset:1/0,type:"video"})};(t=i.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of i.videoTracks)i.removeVideoTrack(d)},o=()=>{for(let d of i.audioTracks)i.removeAudioTrack(d)},l=()=>{a(),o()};e.once(Ke.Events.DESTROYING,l)}var s0=i=>"time"in i?i.time:i.startTime;function YC(i,e){e.on(Ke.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:u,name:c,type:h})=>u==(l==null?void 0:l.lang)&&c===a.label&&h.toLowerCase()===a.kind);Ac(i,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u})=>l==n.language&&d===n.label&&u.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Ke.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=i.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var u;(u=o.cues)!=null&&u.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(Ke.Events.DESTROYING,()=>{i.textTracks.removeEventListener("change",t),i.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let r=()=>{Array.from(i.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=i.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Ke.Events.MANIFEST_LOADED,r),e.once(Ke.Events.MEDIA_ATTACHED,r)}function Ac(i,e,t,r,s){let n=document.createElement("track");return n.kind=e,n.label=t,r&&(n.srclang=r),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),i.append(n),n.track}function iA(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}function To(i,e,t){var r;return(r=Array.from(i.querySelectorAll("track")).find(s=>s.track.label===e&&s.track.kind===t))==null?void 0:r.track}async function rA(i,e,t,r){let s=To(i,t,r);return s||(s=Ac(i,r,t),s.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))),s.mode!=="hidden"&&(s.mode="hidden"),[...e].sort((n,a)=>s0(a)-s0(n)).forEach(n=>{var a,o;let l=n.value,d=s0(n);if("endTime"in n&&n.endTime!=null)s==null||s.addCue(new VTTCue(d,n.endTime,r==="chapters"?l:JSON.stringify(l!=null?l:null)));else{let u=Array.prototype.findIndex.call(s==null?void 0:s.cues,m=>m.startTime>=d),c=(a=s==null?void 0:s.cues)==null?void 0:a[u],h=c?c.startTime:Number.isFinite(i.duration)?i.duration:Number.MAX_SAFE_INTEGER,f=(o=s==null?void 0:s.cues)==null?void 0:o[u-1];f&&(f.endTime=d),s==null||s.addCue(new VTTCue(d,h,r==="chapters"?l:JSON.stringify(l!=null?l:null)))}}),i.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),s}var c0="cuepoints",sA=Object.freeze({label:c0});async function h0(i,e,t=sA){return rA(i,e,t.label,"metadata")}var l0=i=>({time:i.startTime,value:JSON.parse(i.text)});function nA(i,e={label:c0}){let t=To(i,e.label,"metadata");return t!=null&&t.cues?Array.from(t.cues,r=>l0(r)):[]}function f0(i,e={label:c0}){var t,r;let s=To(i,e.label,"metadata");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return l0(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return l0(a||s.activeCues[0])}async function zC(i,e=sA){return new Promise(t=>{rt(i,"loadstart",async()=>{let r=await h0(i,[],e);rt(i,"cuechange",()=>{let s=f0(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}var m0="chapters",aA=Object.freeze({label:m0}),d0=i=>({startTime:i.startTime,endTime:i.endTime,value:i.text});async function p0(i,e,t=aA){return rA(i,e,t.label,"chapters")}function oA(i,e={label:m0}){var t;let r=To(i,e.label,"chapters");return(t=r==null?void 0:r.cues)!=null&&t.length?Array.from(r.cues,s=>d0(s)):[]}function g0(i,e={label:m0}){var t,r;let s=To(i,e.label,"chapters");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return d0(s.activeCues[0]);let{currentTime:n}=i,a=Array.prototype.find.call((r=s.activeCues)!=null?r:[],({startTime:o,endTime:l})=>o<=n&&l>n);return d0(a||s.activeCues[0])}async function jC(i,e=aA){return new Promise(t=>{rt(i,"loadstart",async()=>{let r=await p0(i,[],e);rt(i,"cuechange",()=>{let s=g0(i);if(s){let n=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function lA(i,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-i.currentTime*1e3)}return typeof i.getStartDate=="function"?i.getStartDate():new Date(NaN)}function dA(i,e){if(e&&e.playingDate)return e.playingDate;if(typeof i.getStartDate=="function"){let t=i.getStartDate();return new Date(t.getTime()+i.currentTime*1e3)}return new Date(NaN)}var bc={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},XC=i=>{if(i.includes("fps"))return bc.FAIRPLAY;if(i.includes("playready"))return bc.PLAYREADY;if(i.includes("widevine"))return bc.WIDEVINE},QC=async i=>fetch(i).then(e=>e.text()).then(e=>{let t=e.split(`
1603
1603
  `).find((r,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(r=>r.text()).then(r=>r.split(`
1604
- `))}),jC=i=>{var e,t,r;let s=(t=((e=i.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=Z_(s),a=J_(s),o;if(n===ye.LIVE){let l=i.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=i.find(c=>c.startsWith("#EXT-X-TARGETDURATION")),u=(r=d==null?void 0:d.split(":"))==null?void 0:r[1];o=+(u!=null?u:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},XC=async(i,e)=>{if(e===Nr.MP4)return{streamType:ye.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Nr.M3U8){let t=await zC(i);return jC(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${i}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},r0=async(i,e,t=Tc({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await XC(i,t);((r=Et.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=Et.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=Et.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},QC=i=>{var e;let t=i.type,r=Z_(t),s=J_(t),n,a=!!((e=i.partList)!=null&&e.length);return r===ye.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},ZC=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=QC(i);if(c===ye.LIVE){m?(t.config.backBufferLength=(r=t.userConfig.backBufferLength)!=null?r:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let p=Object.freeze({get length(){return e.seekable.length},start(g){return e.seekable.start(g)},end(g){var E;return g>this.length||g<0||Number.isFinite(e.duration)?e.seekable.end(g):(E=t.liveSyncPosition)!=null?E:e.seekable.end(g)}});((o=Et.get(e))!=null?o:{}).seekable=p}((l=Et.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=Et.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=Et.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Y_,z_,JC=(z_=(Y_=globalThis==null?void 0:globalThis.navigator)==null?void 0:Y_.userAgent)!=null?z_:"",eD=JC.toLowerCase().indexOf("android")!==-1,Et=new WeakMap,Or="mux.com",j_,X_,lA=(X_=(j_=Ke).isSupported)==null?void 0:X_.call(j_),tD=eD,dA=()=>Lu.utils.now(),iD=Lu.utils.generateUUID,_o=({playbackId:i,customDomain:e=Or,maxResolution:t,minResolution:r,renditionOrder:s,programStartTime:n,programEndTime:a,tokens:{playback:o}={},extraSourceParams:l={}}={})=>{if(!i)return;let[d,u=""]=BC(i),c=new URL(`https://stream.${e}/${d}.m3u8${u}`);return o||c.searchParams.has("token")?(c.searchParams.forEach((h,f)=>{f!="token"&&c.searchParams.delete(f)}),o&&c.searchParams.set("token",o)):(t&&c.searchParams.set("max_resolution",t),r&&(c.searchParams.set("min_resolution",r),t&&+t.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",t)),s&&c.searchParams.set("rendition_order",s),n&&c.searchParams.set("program_start_time",`${n}`),a&&c.searchParams.set("program_end_time",`${a}`),Object.entries(l).forEach(([h,f])=>{f!=null&&c.searchParams.set(h,f)})),c.toString()},rD=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},Ac=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},sD=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:EA(i)&&(r=(t=rD(i.playbackId))!=null?t:Ac(i.src))!=null?r:i.src},uA=i=>{var e;return(e=Et.get(i))==null?void 0:e.error},yc=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.streamType)!=null?t:ye.UNKNOWN},cA=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},yo=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},hA=i=>{var e;let t=(e=Et.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=yo(i);return r.length?r.end(r.length-1)-t:Number.NaN},p0=.034,nD=(i,e,t=p0)=>Math.abs(i-e)<=t,fA=(i,e,t=p0)=>i>e||nD(i,e,t),aD=(i,e=p0)=>i.paused&&fA(i.currentTime,i.duration,e),mA=(i,e)=>{var t,r,s;if(!e||!i.buffered.length)return;if(i.readyState>2)return!1;let n=e.currentLevel>=0?(r=(t=e.levels)==null?void 0:t[e.currentLevel])==null?void 0:r.details:(s=e.levels.find(c=>!!c.details))==null?void 0:s.details;if(!n||n.live)return;let{fragments:a}=n;if(!(a!=null&&a.length))return;if(i.currentTime<i.duration-(n.targetduration+.5))return!1;let o=a[a.length-1];if(i.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=i.buffered.start(i.buffered.length-1),u=i.buffered.end(i.buffered.length-1);return l>d&&l<u},g0=(i,e)=>i.ended||i.loop?i.ended:e&&mA(i,e)?!0:aD(i),pA=(i,e,t)=>{v0(e,t);let{metadata:r={}}=i,{view_session_id:s=iD()}=r,n=sD(i);r.view_session_id=s,r.video_id=n,i.metadata=r,Et.set(e,{});let a=oD(i,e),o=WC(i,e,a);fD(i,e,a),mD(i,e,a),qC(e),YC(e);let l=GC(i,e,a);return{engine:a,setAutoplay:l,setPreload:o}},v0=(i,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),i!=null&&i.mux&&!i.mux.deleted&&(i.mux.destroy(),delete i.mux),i&&(i.removeAttribute("src"),i.load(),i.removeEventListener("error",yA),i.removeEventListener("error",l0),i.removeEventListener("durationchange",bA),Et.delete(i),i.dispatchEvent(new Event("teardown")))};function gA(i,e){var t;let r=Tc(i);if(r!==Nr.M3U8)return!0;let s=!r||((t=e.canPlayType(r))!=null?t:!0),{preferPlayback:n}=i,a=n===Jt.MSE,o=n===Jt.NATIVE;return s&&(o||!(lA&&(a||tD)))}var oD=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=Tc(i)===Nr.M3U8,d=gA(i,e);if(l&&!d&&lA){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=lD(r),h=dD(i),f=a!==Ec.NONE?{useHeaders:a===Ec.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Ke({debug:t,startPosition:s,cmcd:f,xhrSetup:(m,p)=>{var g,E;if(a&&a!==Ec.QUERY)return;let T=new URL(p);if(!T.searchParams.has("CMCD"))return;let y=((E=(g=T.searchParams.get("CMCD"))==null?void 0:g.split(","))!=null?E:[]).filter(S=>S.startsWith("sid")||S.startsWith("cid")).join(",");T.searchParams.set("CMCD",y),m.open("GET",T)},...u,...c,...h,...o})}},lD=i=>i===ye.LIVE?{backBufferLength:8}:{},dD=i=>{let{drmToken:e,src:t,playbackId:r=Ac(t)}=i;return!e||!r?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:bc(i,"fairplay"),serverCertificateUrl:vA(i,"fairplay")},"com.widevine.alpha":{licenseUrl:bc(i,"widevine")},"com.microsoft.playready":{licenseUrl:bc(i,"playready")}},requestMediaKeySystemAccessFunc:(s,n)=>(s==="com.widevine.alpha"&&(n=[...n.map(a=>{var o;let l=(o=a.videoCapabilities)==null?void 0:o.map(d=>({...d,robustness:"HW_SECURE_ALL"}));return{...a,videoCapabilities:l}}),...n]),navigator.requestMediaKeySystemAccess(s,n))}},uD=async i=>await(await fetch(i)).arrayBuffer(),cD=async(i,e)=>{let t=await(await fetch(e,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:i})).arrayBuffer();return new Uint8Array(t)},hD=(i,e)=>{rt(e,"encrypted",async t=>{try{let r=t.initDataType;if(r!=="skd"){console.error(`Received unexpected initialization data type "${r}"`);return}if(!e.mediaKeys){let l=await(await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[r],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}])).createMediaKeys(),d=await uD(vA(i,"fairplay"));await l.setServerCertificate(d),await e.setMediaKeys(l)}let s=t.initData;if(s==null){console.error(`Could not start encrypted playback due to missing initData in ${t.type} event`);return}let n=e.mediaKeys.createSession();n.generateRequest(r,s);let a=await new Promise(l=>{n.addEventListener("message",d=>{l(d.message)},{once:!0})}),o=await cD(a,bc(i,"fairplay"));return await n.update(o),n}catch(r){console.error(`Could not start encrypted playback due to exception "${r}"`)}})},bc=({playbackId:i,drmToken:e,customDomain:t=Or},r)=>`https://license.${t.toLocaleLowerCase().endsWith(Or)?t:Or}/license/${r}/${i}?token=${e}`,vA=({playbackId:i,drmToken:e,customDomain:t=Or},r)=>`https://license.${t.toLocaleLowerCase().endsWith(Or)?t:Or}/appcert/${r}/${i}?token=${e}`,EA=({playbackId:i,src:e,customDomain:t})=>{if(i)return!0;if(typeof e!="string")return!1;let r=window==null?void 0:window.location.href,s=new URL(e,r).hostname.toLocaleLowerCase();return s.includes(Or)||!!t&&s.includes(t.toLocaleLowerCase())},fD=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=EA(i);if(!n&&(s||a)){let{playerInitTime:o,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:c,disableCookies:h}=i,f={...i.metadata,video_title:((r=i==null?void 0:i.metadata)==null?void 0:r.video_title)||void 0},m=p=>typeof p.player_error_code=="string"?!1:typeof i.errorTranslator=="function"?i.errorTranslator(p):p;Lu.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Ke:void 0,automaticErrorTracking:!1,errorTranslator:m,disableCookies:h,data:{...s?{env_key:s}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:o,...f}})}},mD=(i,e,t)=>{var r;let s=gA(i,e),{src:n}=i,a=()=>{e.ended||!g0(e,t)||(mA(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},o,l,d=()=>{var u,c;let h=(u=yo(e))==null?void 0:u.start(0),f=(c=yo(e))==null?void 0:c.end(0);(l!==f||o!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),o=h,l=f};if(rt(e,"durationchange",d),e&&s){let u=Tc(i);if(typeof n=="string"){let c=()=>{if(yc(e)!==ye.LIVE||Number.isFinite(e.duration))return;let h=setInterval(d,1e3);e.addEventListener("teardown",()=>{clearInterval(h)},{once:!0}),rt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(h)})};if(e.preload==="none"){let h=()=>{r0(n,e,u).then(c),e.removeEventListener("loadedmetadata",f)},f=()=>{r0(n,e,u).then(c),e.removeEventListener("play",h)};rt(e,"play",h,{once:!0}),rt(e,"loadedmetadata",f,{once:!0})}else r0(n,e,u).then(c);i.drmToken&&hD(i,e),e.setAttribute("src",n),i.startTime&&(((r=Et.get(e))!=null?r:{}).startTime=i.startTime,e.addEventListener("durationchange",bA,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",yA),e.addEventListener("error",l0),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(c=>{c.remove()})},{once:!0}),rt(e,"pause",a),rt(e,"seeked",a),rt(e,"play",()=>{e.ended||fA(e.currentTime,e.duration)&&(e.currentTime=e.seekable.start(0))})}else t&&n?(t.once(Ke.Events.LEVEL_LOADED,(u,c)=>{ZC(c.details,e,t),d(),yc(e)===ye.LIVE&&!Number.isFinite(e.duration)&&(t.on(Ke.Events.LEVEL_UPDATED,d),rt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Ke.Events.LEVELS_UPDATED,d)}))}),t.on(Ke.Events.ERROR,(u,c)=>{let h={[Ke.ErrorTypes.NETWORK_ERROR]:bt.MEDIA_ERR_NETWORK,[Ke.ErrorTypes.MEDIA_ERROR]:bt.MEDIA_ERR_DECODE},f=new bt("",h[c.type]);f.fatal=c.fatal,f.data=c,e.dispatchEvent(new CustomEvent("error",{detail:f}))}),e.addEventListener("error",l0),rt(e,"waiting",a),KC(i,t),VC(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function bA(i){var e;let t=i.target,r=(e=Et.get(t))==null?void 0:e.startTime;if(r&&FC(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function yA(i){if(!i.isTrusted)return;i.stopImmediatePropagation();let e=i.target;if(!(e!=null&&e.error))return;let{message:t,code:r}=e.error,s=new bt(t,r);if(e.src&&(r!==bt.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function l0(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof bt))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=Et.get(r))!=null?e:{}).error=s,(t=r.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var pD=Object.defineProperty,gD=Object.getPrototypeOf,vD=Reflect.get,ED=(i,e,t)=>e in i?pD(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ce=(i,e,t)=>(ED(i,typeof e!="symbol"?e+"":e,t),t),B0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},R=(i,e,t)=>(B0(i,e,"read from private field"),t?t.call(i):e.get(i)),X=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ee=(i,e,t,r)=>(B0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Fe=(i,e,t)=>(B0(i,e,"access private method"),t),E0=(i,e,t)=>vD(gD(i),t,e),Fc=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Fc{}globalThis.DocumentFragment=i}var $0=class extends Fc{},bD=class extends Fc{},yD={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve($0)}},Sc,TD=class{constructor(i,e={}){X(this,Sc,void 0),ee(this,Sc,e==null?void 0:e.detail)}get detail(){return R(this,Sc)}initCustomEvent(){}};Sc=new WeakMap;function _D(i,e){return new $0}var IA={document:{createElement:_D},DocumentFragment,customElements:yD,CustomEvent:TD,EventTarget:Fc,HTMLElement:$0,HTMLVideoElement:bD},RA=typeof window=="undefined"||typeof globalThis.customElements=="undefined",b0=RA?IA:globalThis,I5=RA?IA.document:globalThis.document,AD=()=>{try{return"0.20.1"}catch{}return"UNKNOWN"},SD=AD(),xD=()=>SD,Bc=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"];function LD(i){return`
1604
+ `))}),ZC=i=>{var e,t,r;let s=(t=((e=i.find(l=>l.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),n=eA(s),a=tA(s),o;if(n===ye.LIVE){let l=i.find(d=>d.startsWith("#EXT-X-PART-INF"));if(l)o=+l.split(":")[1].split("=")[1]*2;else{let d=i.find(c=>c.startsWith("#EXT-X-TARGETDURATION")),u=(r=d==null?void 0:d.split(":"))==null?void 0:r[1];o=+(u!=null?u:6)*3}}return{streamType:n,targetLiveWindow:a,liveEdgeStartOffset:o}},JC=async(i,e)=>{if(e===Fr.MP4)return{streamType:ye.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Fr.M3U8){let t=await QC(i);return ZC(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${i}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},n0=async(i,e,t=_c({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await JC(i,t);((r=Et.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=Et.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=Et.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},eD=i=>{var e;let t=i.type,r=eA(t),s=tA(t),n,a=!!((e=i.partList)!=null&&e.length);return r===ye.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},tD=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=eD(i);if(c===ye.LIVE){m?(t.config.backBufferLength=(r=t.userConfig.backBufferLength)!=null?r:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let p=Object.freeze({get length(){return e.seekable.length},start(g){return e.seekable.start(g)},end(g){var E;return g>this.length||g<0||Number.isFinite(e.duration)?e.seekable.end(g):(E=t.liveSyncPosition)!=null?E:e.seekable.end(g)}});((o=Et.get(e))!=null?o:{}).seekable=p}((l=Et.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=Et.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=Et.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},j_,X_,iD=(X_=(j_=globalThis==null?void 0:globalThis.navigator)==null?void 0:j_.userAgent)!=null?X_:"",rD=iD.toLowerCase().indexOf("android")!==-1,Et=new WeakMap,Ur="mux.com",Q_,Z_,uA=(Z_=(Q_=Ke).isSupported)==null?void 0:Z_.call(Q_),sD=rD,cA=()=>Lu.utils.now(),nD=Lu.utils.generateUUID,_o=({playbackId:i,customDomain:e=Ur,maxResolution:t,minResolution:r,renditionOrder:s,programStartTime:n,programEndTime:a,tokens:{playback:o}={},extraSourceParams:l={}}={})=>{if(!i)return;let[d,u=""]=HC(i),c=new URL(`https://stream.${e}/${d}.m3u8${u}`);return o||c.searchParams.has("token")?(c.searchParams.forEach((h,f)=>{f!="token"&&c.searchParams.delete(f)}),o&&c.searchParams.set("token",o)):(t&&c.searchParams.set("max_resolution",t),r&&(c.searchParams.set("min_resolution",r),t&&+t.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",t)),s&&c.searchParams.set("rendition_order",s),n&&c.searchParams.set("program_start_time",`${n}`),a&&c.searchParams.set("program_end_time",`${a}`),Object.entries(l).forEach(([h,f])=>{f!=null&&c.searchParams.set(h,f)})),c.toString()},aD=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},Sc=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},oD=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:yA(i)&&(r=(t=aD(i.playbackId))!=null?t:Sc(i.src))!=null?r:i.src},hA=i=>{var e;return(e=Et.get(i))==null?void 0:e.error},Tc=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.streamType)!=null?t:ye.UNKNOWN},fA=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},yo=i=>{var e,t;return(t=(e=Et.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},mA=i=>{var e;let t=(e=Et.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=yo(i);return r.length?r.end(r.length-1)-t:Number.NaN},v0=.034,lD=(i,e,t=v0)=>Math.abs(i-e)<=t,pA=(i,e,t=v0)=>i>e||lD(i,e,t),dD=(i,e=v0)=>i.paused&&pA(i.currentTime,i.duration,e),gA=(i,e)=>{var t,r,s;if(!e||!i.buffered.length)return;if(i.readyState>2)return!1;let n=e.currentLevel>=0?(r=(t=e.levels)==null?void 0:t[e.currentLevel])==null?void 0:r.details:(s=e.levels.find(c=>!!c.details))==null?void 0:s.details;if(!n||n.live)return;let{fragments:a}=n;if(!(a!=null&&a.length))return;if(i.currentTime<i.duration-(n.targetduration+.5))return!1;let o=a[a.length-1];if(i.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=i.buffered.start(i.buffered.length-1),u=i.buffered.end(i.buffered.length-1);return l>d&&l<u},E0=(i,e)=>i.ended||i.loop?i.ended:e&&gA(i,e)?!0:dD(i),vA=(i,e,t)=>{b0(e,t);let{metadata:r={}}=i,{view_session_id:s=nD()}=r,n=oD(i);r.view_session_id=s,r.video_id=n,i.metadata=r;let a=u=>{var c;(c=e.mux)==null||c.emit("hb",{view_drm_type:u})};i.drmTypeCb=a,Et.set(e,{});let o=uD(i,e),l=VC(i,e,o);gD(i,e,o),vD(i,e,o),zC(e),jC(e);let d=KC(i,e,o);return{engine:o,setAutoplay:d,setPreload:l}},b0=(i,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),i!=null&&i.mux&&!i.mux.deleted&&(i.mux.destroy(),delete i.mux),i&&(i.removeAttribute("src"),i.load(),i.removeEventListener("error",_A),i.removeEventListener("error",u0),i.removeEventListener("durationchange",TA),Et.delete(i),i.dispatchEvent(new Event("teardown")))};function EA(i,e){var t;let r=_c(i);if(r!==Fr.M3U8)return!0;let s=!r||((t=e.canPlayType(r))!=null?t:!0),{preferPlayback:n}=i,a=n===Jt.MSE,o=n===Jt.NATIVE;return s&&(o||!(uA&&(a||sD)))}var uD=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=_c(i)===Fr.M3U8,d=EA(i,e);if(l&&!d&&uA){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=cD(r),h=hD(i),f=a!==Ec.NONE?{useHeaders:a===Ec.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Ke({debug:t,startPosition:s,cmcd:f,xhrSetup:(m,p)=>{var g,E;if(a&&a!==Ec.QUERY)return;let T=new URL(p);if(!T.searchParams.has("CMCD"))return;let y=((E=(g=T.searchParams.get("CMCD"))==null?void 0:g.split(","))!=null?E:[]).filter(S=>S.startsWith("sid")||S.startsWith("cid")).join(",");T.searchParams.set("CMCD",y),m.open("GET",T)},...u,...c,...h,...o})}},cD=i=>i===ye.LIVE?{backBufferLength:8}:{},hD=i=>{let{drmToken:e,src:t,playbackId:r=Sc(t),drmTypeCb:s}=i;return!e||!r?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:yc(i,"fairplay"),serverCertificateUrl:bA(i,"fairplay")},"com.widevine.alpha":{licenseUrl:yc(i,"widevine")},"com.microsoft.playready":{licenseUrl:yc(i,"playready")}},requestMediaKeySystemAccessFunc:(n,a)=>(n==="com.widevine.alpha"&&(a=[...a.map(o=>{var l;let d=(l=o.videoCapabilities)==null?void 0:l.map(u=>({...u,robustness:"HW_SECURE_ALL"}));return{...o,videoCapabilities:d}}),...a]),navigator.requestMediaKeySystemAccess(n,a).then(o=>{let l=XC(n);return s==null||s(l),o}))}},fD=async i=>await(await fetch(i)).arrayBuffer(),mD=async(i,e)=>{let t=await(await fetch(e,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:i})).arrayBuffer();return new Uint8Array(t)},pD=(i,e)=>{rt(e,"encrypted",async t=>{try{let r=t.initDataType;if(r!=="skd"){console.error(`Received unexpected initialization data type "${r}"`);return}if(!e.mediaKeys){let l=await(await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[r],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(u=>{var c;return(c=i.drmTypeCb)==null||c.call(i,bc.FAIRPLAY),u})).createMediaKeys(),d=await fD(bA(i,"fairplay"));await l.setServerCertificate(d),await e.setMediaKeys(l)}let s=t.initData;if(s==null){console.error(`Could not start encrypted playback due to missing initData in ${t.type} event`);return}let n=e.mediaKeys.createSession();n.generateRequest(r,s);let a=await new Promise(l=>{n.addEventListener("message",d=>{l(d.message)},{once:!0})}),o=await mD(a,yc(i,"fairplay"));return await n.update(o),n}catch(r){console.error(`Could not start encrypted playback due to exception "${r}"`)}})},yc=({playbackId:i,drmToken:e,customDomain:t=Ur},r)=>`https://license.${t.toLocaleLowerCase().endsWith(Ur)?t:Ur}/license/${r}/${i}?token=${e}`,bA=({playbackId:i,drmToken:e,customDomain:t=Ur},r)=>`https://license.${t.toLocaleLowerCase().endsWith(Ur)?t:Ur}/appcert/${r}/${i}?token=${e}`,yA=({playbackId:i,src:e,customDomain:t})=>{if(i)return!0;if(typeof e!="string")return!1;let r=window==null?void 0:window.location.href,s=new URL(e,r).hostname.toLocaleLowerCase();return s.includes(Ur)||!!t&&s.includes(t.toLocaleLowerCase())},gD=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=yA(i);if(!n&&(s||a)){let{playerInitTime:o,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:u,debug:c,disableCookies:h}=i,f={...i.metadata,video_title:((r=i==null?void 0:i.metadata)==null?void 0:r.video_title)||void 0},m=p=>typeof p.player_error_code=="string"?!1:typeof i.errorTranslator=="function"?i.errorTranslator(p):p;Lu.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Ke:void 0,automaticErrorTracking:!1,errorTranslator:m,disableCookies:h,data:{...s?{env_key:s}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:o,...f}})}},vD=(i,e,t)=>{var r;let s=EA(i,e),{src:n}=i,a=()=>{e.ended||!E0(e,t)||(gA(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},o,l,d=()=>{var u,c;let h=(u=yo(e))==null?void 0:u.start(0),f=(c=yo(e))==null?void 0:c.end(0);(l!==f||o!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),o=h,l=f};if(rt(e,"durationchange",d),e&&s){let u=_c(i);if(typeof n=="string"){let c=()=>{if(Tc(e)!==ye.LIVE||Number.isFinite(e.duration))return;let h=setInterval(d,1e3);e.addEventListener("teardown",()=>{clearInterval(h)},{once:!0}),rt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(h)})};if(e.preload==="none"){let h=()=>{n0(n,e,u).then(c),e.removeEventListener("loadedmetadata",f)},f=()=>{n0(n,e,u).then(c),e.removeEventListener("play",h)};rt(e,"play",h,{once:!0}),rt(e,"loadedmetadata",f,{once:!0})}else n0(n,e,u).then(c);i.drmToken&&pD(i,e),e.setAttribute("src",n),i.startTime&&(((r=Et.get(e))!=null?r:{}).startTime=i.startTime,e.addEventListener("durationchange",TA,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",_A),e.addEventListener("error",u0),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(c=>{c.remove()})},{once:!0}),rt(e,"pause",a),rt(e,"seeked",a),rt(e,"play",()=>{e.ended||pA(e.currentTime,e.duration)&&(e.currentTime=e.seekable.length?e.seekable.start(0):0)})}else t&&n?(t.once(Ke.Events.LEVEL_LOADED,(u,c)=>{tD(c.details,e,t),d(),Tc(e)===ye.LIVE&&!Number.isFinite(e.duration)&&(t.on(Ke.Events.LEVEL_UPDATED,d),rt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Ke.Events.LEVELS_UPDATED,d)}))}),t.on(Ke.Events.ERROR,(u,c)=>{let h={[Ke.ErrorTypes.NETWORK_ERROR]:bt.MEDIA_ERR_NETWORK,[Ke.ErrorTypes.MEDIA_ERROR]:bt.MEDIA_ERR_DECODE},f=new bt("",h[c.type]);f.fatal=c.fatal,f.data=c,e.dispatchEvent(new CustomEvent("error",{detail:f}))}),e.addEventListener("error",u0),rt(e,"waiting",a),qC(i,t),YC(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function TA(i){var e;let t=i.target,r=(e=Et.get(t))==null?void 0:e.startTime;if(r&&$C(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function _A(i){if(!i.isTrusted)return;i.stopImmediatePropagation();let e=i.target;if(!(e!=null&&e.error))return;let{message:t,code:r}=e.error,s=new bt(t,r);if(e.src&&(r!==bt.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function u0(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof bt))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=Et.get(r))!=null?e:{}).error=s,(t=r.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var ED=Object.defineProperty,bD=Object.getPrototypeOf,yD=Reflect.get,TD=(i,e,t)=>e in i?ED(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ce=(i,e,t)=>(TD(i,typeof e!="symbol"?e+"":e,t),t),H0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},I=(i,e,t)=>(H0(i,e,"read from private field"),t?t.call(i):e.get(i)),j=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Z=(i,e,t,r)=>(H0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Fe=(i,e,t)=>(H0(i,e,"access private method"),t),y0=(i,e,t)=>yD(bD(i),t,e),$c=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends $c{}globalThis.DocumentFragment=i}var G0=class extends $c{},_D=class extends $c{},AD={get(i){},define(i,e,t){},upgrade(i){},whenDefined(i){return Promise.resolve(G0)}},xc,SD=class{constructor(i,e={}){j(this,xc,void 0),Z(this,xc,e==null?void 0:e.detail)}get detail(){return I(this,xc)}initCustomEvent(){}};xc=new WeakMap;function xD(i,e){return new G0}var wA={document:{createElement:xD},DocumentFragment,customElements:AD,CustomEvent:SD,EventTarget:$c,HTMLElement:G0,HTMLVideoElement:_D},CA=typeof window=="undefined"||typeof globalThis.customElements=="undefined",T0=CA?wA:globalThis,C5=CA?wA.document:globalThis.document,LD=()=>{try{return"0.20.2"}catch{}return"UNKNOWN"},kD=LD(),ID=()=>kD,Hc=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"];function RD(i){return`
1605
1605
  <style>
1606
1606
  :host {
1607
1607
  display: inline-flex;
@@ -1615,10 +1615,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1615
1615
  }
1616
1616
  </style>
1617
1617
  <slot name="media">
1618
- <audio${CA(i)}></audio>
1618
+ <audio${MA(i)}></audio>
1619
1619
  </slot>
1620
1620
  <slot></slot>
1621
- `}function kD(i){return`
1621
+ `}function wD(i){return`
1622
1622
  <style>
1623
1623
  :host {
1624
1624
  display: inline-block;
@@ -1640,11 +1640,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1640
1640
  }
1641
1641
  </style>
1642
1642
  <slot name="media">
1643
- <video${CA(i)}></video>
1643
+ <video${MA(i)}></video>
1644
1644
  </slot>
1645
1645
  <slot></slot>
1646
- `}var wA=(i,{tag:e,is:t})=>{var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,T,y;let S=(s=(r=globalThis.document)==null?void 0:r.createElement)==null?void 0:s.call(r,e,{is:t}),A=S?ID(S):[];return n=class extends i{constructor(){super(),X(this,h),X(this,m),X(this,g),X(this,T),X(this,d,void 0),X(this,u,void 0),X(this,c,new Map)}static get observedAttributes(){var L,x,w;return Fe(L=n,o,l).call(L),[...(w=(x=S==null?void 0:S.constructor)==null?void 0:x.observedAttributes)!=null?w:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var L,x,w;return Fe(this,h,f).call(this),(w=(x=(L=R(this,u))!=null?L:this.shadowRoot.querySelector(e))!=null?x:this.querySelector(":scope > [slot=media]"))!=null?w:this.querySelector(e)}set nativeEl(L){ee(this,u,L)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(L){this.toggleAttribute("muted",!!L)}get src(){return this.getAttribute("src")}set src(L){this.setAttribute("src",`${L}`)}get preload(){var L,x;return(x=this.getAttribute("preload"))!=null?x:(L=this.nativeEl)==null?void 0:L.preload}set preload(L){this.setAttribute("preload",`${L}`)}init(){var L,x;if(!this.shadowRoot){this.attachShadow({mode:"open"});let w=RD(this.attributes);t&&(w.is=t),e&&(w.part=e),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(w)}this.nativeEl.muted=this.hasAttribute("muted");for(let w of A)Fe(this,g,E).call(this,w);this.shadowRoot.addEventListener("slotchange",this),Fe(this,m,p).call(this);for(let w of this.constructor.Events)(x=(L=this.shadowRoot).addEventListener)==null||x.call(L,w,this,!0)}handleEvent(L){if(L.type==="slotchange"){Fe(this,m,p).call(this);return}L.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(L.type,{detail:L.detail}))}attributeChangedCallback(L,x,w){Fe(this,h,f).call(this),Fe(this,T,y).call(this,L,x,w)}connectedCallback(){Fe(this,h,f).call(this)}},a=new WeakMap,o=new WeakSet,l=function(){if(R(this,a))return;ee(this,a,!0);let L=new Set(this.observedAttributes);L.delete("muted");for(let x of A)if(!(x in this.prototype))if(typeof S[x]=="function")this.prototype[x]=function(...w){return Fe(this,h,f).call(this),this.call?this.call(x,...w):this.nativeEl[x].apply(this.nativeEl,w)};else{let w={get(){var P,k,D;Fe(this,h,f).call(this);let U=x.toLowerCase();if(L.has(U)){let F=this.getAttribute(U);return F===null?!1:F===""?!0:F}return(D=(P=this.get)==null?void 0:P.call(this,x))!=null?D:(k=this.nativeEl)==null?void 0:k[x]}};x!==x.toUpperCase()&&(w.set=function(P){Fe(this,h,f).call(this);let k=x.toLowerCase();if(L.has(k)){P===!0||P===!1||P==null?this.toggleAttribute(k,!!P):this.setAttribute(k,P);return}if(this.set){this.set(x,P);return}this.nativeEl[x]=P}),Object.defineProperty(this.prototype,x,w)}},d=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakSet,f=function(){R(this,d)||(ee(this,d,!0),this.init())},m=new WeakSet,p=function(){let L=new Map(R(this,c));this.shadowRoot.querySelector("slot:not([name])").assignedElements({flatten:!0}).filter(x=>["track","source"].includes(x.localName)).forEach(x=>{var w,P;L.delete(x);let k=R(this,c).get(x);k||(k=x.cloneNode(),R(this,c).set(x,k)),(P=(w=this.nativeEl).append)==null||P.call(w,k),k.localName==="track"&&k.default&&(k.kind==="chapters"||k.kind==="metadata")&&k.track.mode==="disabled"&&(k.track.mode="hidden")}),L.forEach(x=>x.remove())},g=new WeakSet,E=function(L){if(Object.prototype.hasOwnProperty.call(this,L)){let x=this[L];delete this[L],this[L]=x}},T=new WeakSet,y=function(L,x,w){var P,k,D,U,F,z;["id","class"].includes(L)||!n.observedAttributes.includes(L)&&this.constructor.observedAttributes.includes(L)||(w===null?(k=(P=this.nativeEl).removeAttribute)==null||k.call(P,L):((U=(D=this.nativeEl).getAttribute)==null?void 0:U.call(D,L))!=w&&((z=(F=this.nativeEl).setAttribute)==null||z.call(F,L,w)))},X(n,o),Ce(n,"getTemplateHTML",e.endsWith("audio")?LD:kD),Ce(n,"shadowRootOptions",{mode:"open"}),Ce(n,"Events",Bc),X(n,a,void 0),n};function ID(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}function CA(i){let e="";for(let t in i){let r=i[t];r===""?e+=` ${t}`:e+=` ${t}="${r}"`}return e}function RD(i){let e={};for(let t of i)e[t.name]=t.value;return e}var TA,y0=wA((TA=globalThis.HTMLElement)!=null?TA:class{},{tag:"video"}),_A,w5=wA((_A=globalThis.HTMLElement)!=null?_A:class{},{tag:"audio"}),Gs=new WeakMap,T0=class extends Error{},wD=class extends Error{},CD=globalThis.WeakRef?class extends Set{add(i){super.add(new WeakRef(i))}forEach(i){super.forEach(e=>{let t=e.deref();t&&i(t)})}}:Set;function DD(i){var e,t,r;(t=(e=globalThis.chrome)==null?void 0:e.cast)!=null&&t.isAvailable?(r=globalThis.cast)!=null&&r.framework?i():customElements.whenDefined("google-cast-button").then(i):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(i)}}function MD(){return globalThis.chrome}function PD(){var i;let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if((i=globalThis.chrome)!=null&&i.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}function Ws(){var i,e;return(e=(i=globalThis.cast)==null?void 0:i.framework)==null?void 0:e.CastContext.getInstance()}function H0(){var i;return(i=Ws())==null?void 0:i.getCurrentSession()}function G0(){var i;return(i=H0())==null?void 0:i.getSessionObj().media[0]}function OD(i){return new Promise((e,t)=>{G0().editTracksInfo(i,e,t)})}function ND(i){return new Promise((e,t)=>{G0().getStatus(i,e,t)})}function DA(i){return Ws().setOptions({...MA(),...i})}function MA(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}var xc=new CD,Br=new WeakSet,st;DD(()=>{var i,e,t,r;if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable)){console.debug("chrome.cast.isAvailable",(r=(t=globalThis.chrome)==null?void 0:t.cast)==null?void 0:r.isAvailable);return}st||(st=cast.framework,Ws().addEventListener(st.CastContextEventType.CAST_STATE_CHANGED,s=>{xc.forEach(n=>{var a,o;return(o=(a=Gs.get(n)).onCastStateChanged)==null?void 0:o.call(a,s)})}),Ws().addEventListener(st.CastContextEventType.SESSION_STATE_CHANGED,s=>{xc.forEach(n=>{var a,o;return(o=(a=Gs.get(n)).onSessionStateChanged)==null?void 0:o.call(a,s)})}),xc.forEach(s=>{var n,a;return(a=(n=Gs.get(s)).init)==null?void 0:a.call(n)}))});var AA=0,xe,Lc,ei,Ur,Jn,jn,Hs,A0,Fr,Is,S0,SA,Nc,x0,L0,PA,kc,k0,I0,xA,Ic,_0,UD=class extends EventTarget{constructor(i){super(),X(this,Fr),X(this,S0),X(this,Nc),X(this,L0),X(this,kc),X(this,I0),X(this,Ic),X(this,xe,void 0),X(this,Lc,void 0),X(this,ei,void 0),X(this,Ur,void 0),X(this,Jn,"disconnected"),X(this,jn,!1),X(this,Hs,new Set),X(this,A0,new WeakMap),ee(this,xe,i),xc.add(this),Gs.set(this,{init:()=>Fe(this,kc,k0).call(this),onCastStateChanged:()=>Fe(this,Nc,x0).call(this),onSessionStateChanged:()=>Fe(this,L0,PA).call(this),getCastPlayer:()=>R(this,Fr,Is)}),Fe(this,kc,k0).call(this)}get state(){return R(this,Jn)}async watchAvailability(i){if(R(this,xe).disableRemotePlayback)throw new T0("disableRemotePlayback attribute is present.");return R(this,A0).set(i,++AA),R(this,Hs).add(i),AA}async cancelWatchAvailability(i){if(R(this,xe).disableRemotePlayback)throw new T0("disableRemotePlayback attribute is present.");i?R(this,Hs).delete(i):R(this,Hs).clear()}async prompt(){var i,e,t,r;if(R(this,xe).disableRemotePlayback)throw new T0("disableRemotePlayback attribute is present.");if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable))throw new wD("The RemotePlayback API is disabled on this platform.");let s=Br.has(R(this,xe));Br.add(R(this,xe)),DA(R(this,xe).castOptions),Object.entries(R(this,Ur)).forEach(([n,a])=>{R(this,ei).controller.addEventListener(n,a)});try{await Ws().requestSession()}catch(n){if(n==="cancel"){s||Br.delete(R(this,xe));return}throw new Error(n)}(r=(t=Gs.get(R(this,xe)))==null?void 0:t.loadOnPrompt)==null||r.call(t)}};xe=new WeakMap,Lc=new WeakMap,ei=new WeakMap,Ur=new WeakMap,Jn=new WeakMap,jn=new WeakMap,Hs=new WeakMap,A0=new WeakMap,Fr=new WeakSet,Is=function(){if(Br.has(R(this,xe)))return R(this,ei)},S0=new WeakSet,SA=function(){Br.has(R(this,xe))&&(Object.entries(R(this,Ur)).forEach(([i,e])=>{R(this,ei).controller.removeEventListener(i,e)}),Br.delete(R(this,xe)),R(this,xe).muted=R(this,ei).isMuted,R(this,xe).currentTime=R(this,ei).savedPlayerState.currentTime,R(this,ei).savedPlayerState.isPaused===!1&&R(this,xe).play())},Nc=new WeakSet,x0=function(){let i=Ws().getCastState();if(Br.has(R(this,xe))&&i==="CONNECTING"&&(ee(this,Jn,"connecting"),this.dispatchEvent(new Event("connecting"))),!R(this,jn)&&i!=null&&i.includes("CONNECT")){ee(this,jn,!0);for(let e of R(this,Hs))e(!0)}else if(R(this,jn)&&(!i||i==="NO_DEVICES_AVAILABLE")){ee(this,jn,!1);for(let e of R(this,Hs))e(!1)}},L0=new WeakSet,PA=async function(){var i;let{SESSION_RESUMED:e}=st.SessionState;if(Ws().getSessionState()===e&&R(this,xe).castSrc===((i=G0())==null?void 0:i.media.contentId)){Br.add(R(this,xe)),Object.entries(R(this,Ur)).forEach(([t,r])=>{R(this,ei).controller.addEventListener(t,r)});try{await ND(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}R(this,Ur)[st.RemotePlayerEventType.IS_PAUSED_CHANGED](),R(this,Ur)[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},kc=new WeakSet,k0=function(){!st||R(this,Lc)||(ee(this,Lc,!0),DA(R(this,xe).castOptions),R(this,xe).textTracks.addEventListener("change",()=>Fe(this,Ic,_0).call(this)),Fe(this,Nc,x0).call(this),ee(this,ei,new st.RemotePlayer),new st.RemotePlayerController(R(this,ei)),ee(this,Ur,{[st.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(ee(this,Jn,"connected"),this.dispatchEvent(new Event("connect"))):(Fe(this,S0,SA).call(this),ee(this,Jn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[st.RemotePlayerEventType.DURATION_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("durationchange"))},[st.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=R(this,Fr,Is))!=null&&i.isMediaLoaded&&R(this,xe).dispatchEvent(new Event("timeupdate"))},[st.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event("resize"))},[st.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{R(this,xe).dispatchEvent(new Event(this.paused?"pause":"play"))},[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=R(this,Fr,Is))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&R(this,xe).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=R(this,Fr,Is))==null?void 0:e.playerState]))},[st.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=R(this,Fr,Is))!=null&&i.isMediaLoaded&&(await Promise.resolve(),Fe(this,I0,xA).call(this))}}))},I0=new WeakSet,xA=function(){Fe(this,Ic,_0).call(this)},Ic=new WeakSet,_0=async function(){var i,e,t,r,s;if(!R(this,Fr,Is))return;let n=((e=(i=R(this,ei).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...R(this,xe).textTracks].filter(({kind:h})=>h==="subtitles"||h==="captions"),o=n.map(({language:h,name:f,trackId:m})=>{var p;let{mode:g}=(p=a.find(E=>E.language===h&&E.label===f))!=null?p:{};return g?{mode:g,trackId:m}:!1}).filter(Boolean),l=o.filter(({mode:h})=>h!=="showing").map(({trackId:h})=>h),d=o.find(({mode:h})=>h==="showing"),u=(s=(r=(t=H0())==null?void 0:t.getSessionObj().media[0])==null?void 0:r.activeTrackIds)!=null?s:[],c=u;if(u.length&&(c=c.filter(h=>!l.includes(h))),d!=null&&d.trackId&&(c=[...c,d.trackId]),c=[...new Set(c)],!((h,f)=>h.length===f.length&&h.every(m=>f.includes(m)))(u,c))try{let h=new chrome.cast.media.EditTracksInfoRequest(c);await OD(h)}catch(h){console.error(h)}};var FD=i=>{var e,t,r,s,n,a,o,l,d;return t=class extends i{constructor(){super(...arguments),X(this,a),X(this,l),X(this,r,{paused:!1}),X(this,s,MA()),X(this,n,void 0)}get remote(){return R(this,n)?R(this,n):MD()?(PD(),Gs.set(this,{loadOnPrompt:()=>Fe(this,l,d).call(this)}),ee(this,n,new UD(this))):super.remote}attributeChangedCallback(u,c,h){if(super.attributeChangedCallback(u,c,h),u==="cast-receiver"&&h){R(this,s).receiverApplicationId=h;return}if(R(this,a,o))switch(u){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var u,c;if(!R(this,a,o))return super.load();let h=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),f=[...this.querySelectorAll("track")].filter(({kind:E,src:T})=>T&&(E==="subtitles"||E==="captions")),m=[],p=0;f.length&&(h.tracks=f.map(E=>{let T=++p;m.length===0&&E.track.mode==="showing"&&m.push(T);let y=new chrome.cast.media.Track(T,chrome.cast.media.TrackType.TEXT);return y.trackContentId=E.src,y.trackContentType="text/vtt",y.subtype=E.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,y.name=E.label,y.language=E.srclang,y})),this.castStreamType==="live"?h.streamType=chrome.cast.media.StreamType.LIVE:h.streamType=chrome.cast.media.StreamType.BUFFERED,h.metadata=new chrome.cast.media.GenericMediaMetadata,h.metadata.title=this.title,h.metadata.images=[{url:this.poster}];let g=new chrome.cast.media.LoadRequest(h);g.currentTime=(u=super.currentTime)!=null?u:0,g.autoplay=!R(this,r).paused,g.activeTrackIds=m,await((c=H0())==null?void 0:c.loadMedia(g)),this.dispatchEvent(new Event("volumechange"))}play(){var u;if(R(this,a,o)){R(this,a,o).isPaused&&((u=R(this,a,o).controller)==null||u.playOrPause());return}return super.play()}pause(){var u;if(R(this,a,o)){R(this,a,o).isPaused||(u=R(this,a,o).controller)==null||u.playOrPause();return}super.pause()}get castOptions(){return R(this,s)}get castReceiver(){var u;return(u=this.getAttribute("cast-receiver"))!=null?u:void 0}set castReceiver(u){this.castReceiver!=u&&this.setAttribute("cast-receiver",`${u}`)}get castSrc(){var u,c,h;return(h=(c=this.getAttribute("cast-src"))!=null?c:(u=this.querySelector("source"))==null?void 0:u.src)!=null?h:this.currentSrc}set castSrc(u){this.castSrc!=u&&this.setAttribute("cast-src",`${u}`)}get castContentType(){var u;return(u=this.getAttribute("cast-content-type"))!=null?u:void 0}set castContentType(u){this.setAttribute("cast-content-type",`${u}`)}get castStreamType(){var u,c;return(c=(u=this.getAttribute("cast-stream-type"))!=null?u:this.streamType)!=null?c:void 0}set castStreamType(u){this.setAttribute("cast-stream-type",`${u}`)}get readyState(){if(R(this,a,o))switch(R(this,a,o).playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return R(this,a,o)?R(this,a,o).isPaused:super.paused}get muted(){var u;return R(this,a,o)?(u=R(this,a,o))==null?void 0:u.isMuted:super.muted}set muted(u){var c;if(R(this,a,o)){(u&&!R(this,a,o).isMuted||!u&&R(this,a,o).isMuted)&&((c=R(this,a,o).controller)==null||c.muteOrUnmute());return}super.muted=u}get volume(){var u,c;return R(this,a,o)?(c=(u=R(this,a,o))==null?void 0:u.volumeLevel)!=null?c:1:super.volume}set volume(u){var c;if(R(this,a,o)){R(this,a,o).volumeLevel=+u,(c=R(this,a,o).controller)==null||c.setVolumeLevel();return}super.volume=u}get duration(){var u,c,h;return R(this,a,o)&&(u=R(this,a,o))!=null&&u.isMediaLoaded?(h=(c=R(this,a,o))==null?void 0:c.duration)!=null?h:NaN:super.duration}get currentTime(){var u,c,h;return R(this,a,o)&&(u=R(this,a,o))!=null&&u.isMediaLoaded?(h=(c=R(this,a,o))==null?void 0:c.currentTime)!=null?h:0:super.currentTime}set currentTime(u){var c;if(R(this,a,o)){R(this,a,o).currentTime=u,(c=R(this,a,o).controller)==null||c.seek();return}super.currentTime=u}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakSet,o=function(){var u,c;return(c=(u=Gs.get(this.remote))==null?void 0:u.getCastPlayer)==null?void 0:c.call(u)},l=new WeakSet,d=async function(){R(this,r).paused=E0(t.prototype,this,"paused"),E0(t.prototype,this,"pause").call(this),this.muted=E0(t.prototype,this,"muted");try{await this.load()}catch(u){console.error(u)}},Ce(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},$c=class extends Event{constructor(i,e){super(i),Ce(this,"track"),this.track=e.track}},R0=new WeakMap;function V(i){var e;return(e=R0.get(i))!=null?e:BD(i,{})}function BD(i,e){let t=R0.get(i);return t||R0.set(i,t={}),Object.assign(t,e)}function w0(i,e){let t=i.videoTracks;V(e).media=i,V(e).renditionSet||(V(e).renditionSet=new Set);let r=V(t).trackSet;r.add(e);let s=r.size-1;s in D0.prototype||Object.defineProperty(D0.prototype,s,{get(){return[...V(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new $c("addtrack",{track:e}))})}function C0(i){var e;let t=(e=V(i).media)==null?void 0:e.videoTracks;t&&(V(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new $c("removetrack",{track:i}))}))}function $D(i){var e;let t=(e=V(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(V(t).changeRequested)return;V(t).changeRequested=!0,queueMicrotask(()=>{delete V(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Rs,ws,Cs,Xn,Ao,D0=class extends EventTarget{constructor(){super(),X(this,Xn),X(this,Rs,void 0),X(this,ws,void 0),X(this,Cs,void 0),V(this).trackSet=new Set}[Symbol.iterator](){return R(this,Xn,Ao).values()}get length(){return R(this,Xn,Ao).size}getTrackById(i){var e;return(e=[...R(this,Xn,Ao)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...R(this,Xn,Ao)].findIndex(i=>i.selected)}get onaddtrack(){return R(this,Rs)}set onaddtrack(i){R(this,Rs)&&(this.removeEventListener("addtrack",R(this,Rs)),ee(this,Rs,void 0)),typeof i=="function"&&(ee(this,Rs,i),this.addEventListener("addtrack",i))}get onremovetrack(){return R(this,ws)}set onremovetrack(i){R(this,ws)&&(this.removeEventListener("removetrack",R(this,ws)),ee(this,ws,void 0)),typeof i=="function"&&(ee(this,ws,i),this.addEventListener("removetrack",i))}get onchange(){return R(this,Cs)}set onchange(i){R(this,Cs)&&(this.removeEventListener("change",R(this,Cs)),ee(this,Cs,void 0)),typeof i=="function"&&(ee(this,Cs,i),this.addEventListener("change",i))}};Rs=new WeakMap,ws=new WeakMap,Cs=new WeakMap,Xn=new WeakSet,Ao=function(){return V(this).trackSet};var Hc=class extends Event{constructor(i,e){super(i),Ce(this,"rendition"),this.rendition=e.rendition}};function HD(i,e){let t=V(i).media.videoRenditions;V(e).media=V(i).media,V(e).track=i;let r=V(i).renditionSet;r.add(e);let s=r.size-1;s in M0.prototype||Object.defineProperty(M0.prototype,s,{get(){return Qn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new Hc("addrendition",{rendition:e}))})}function GD(i){let e=V(i).media.videoRenditions,t=V(i).track;V(t).renditionSet.delete(i),queueMicrotask(()=>{V(i).track.selected&&e.dispatchEvent(new Hc("removerendition",{rendition:i}))})}function WD(i){let e=V(i).media.videoRenditions;!e||V(e).changeRequested||(V(e).changeRequested=!0,queueMicrotask(()=>{delete V(e).changeRequested,V(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function Qn(i){return[...V(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...V(e).renditionSet])}var Ds,Ms,Ps,M0=class extends EventTarget{constructor(){super(...arguments),X(this,Ds,void 0),X(this,Ms,void 0),X(this,Ps,void 0)}[Symbol.iterator](){return Qn(this).values()}get length(){return Qn(this).length}getRenditionById(i){var e;return(e=Qn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Qn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Qn(this).entries())t.selected=e===i}get onaddrendition(){return R(this,Ds)}set onaddrendition(i){R(this,Ds)&&(this.removeEventListener("addrendition",R(this,Ds)),ee(this,Ds,void 0)),typeof i=="function"&&(ee(this,Ds,i),this.addEventListener("addrendition",i))}get onremoverendition(){return R(this,Ms)}set onremoverendition(i){R(this,Ms)&&(this.removeEventListener("removerendition",R(this,Ms)),ee(this,Ms,void 0)),typeof i=="function"&&(ee(this,Ms,i),this.addEventListener("removerendition",i))}get onchange(){return R(this,Ps)}set onchange(i){R(this,Ps)&&(this.removeEventListener("change",R(this,Ps)),ee(this,Ps,void 0)),typeof i=="function"&&(ee(this,Ps,i),this.addEventListener("change",i))}};Ds=new WeakMap,Ms=new WeakMap,Ps=new WeakMap;var So,KD=class{constructor(){Ce(this,"src"),Ce(this,"id"),Ce(this,"width"),Ce(this,"height"),Ce(this,"bitrate"),Ce(this,"frameRate"),Ce(this,"codec"),X(this,So,!1)}get selected(){return R(this,So)}set selected(i){R(this,So)!==i&&(ee(this,So,i),WD(this))}};So=new WeakMap;var xo,OA=class{constructor(){Ce(this,"id"),Ce(this,"kind"),Ce(this,"label",""),Ce(this,"language",""),Ce(this,"sourceBuffer"),X(this,xo,!1)}addRendition(i,e,t,r,s,n){let a=new KD;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,HD(this,a),a}removeRendition(i){GD(i)}get selected(){return R(this,xo)}set selected(i){R(this,xo)!==i&&(ee(this,xo,i),i===!0&&$D(this))}};xo=new WeakMap;function VD(i,e){let t=V(i).media.audioRenditions;V(e).media=V(i).media,V(e).track=i;let r=V(i).renditionSet;r.add(e);let s=r.size-1;s in P0.prototype||Object.defineProperty(P0.prototype,s,{get(){return Zn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new Hc("addrendition",{rendition:e}))})}function qD(i){let e=V(i).media.audioRenditions,t=V(i).track;V(t).renditionSet.delete(i),queueMicrotask(()=>{V(i).track.enabled&&e.dispatchEvent(new Hc("removerendition",{rendition:i}))})}function YD(i){let e=V(i).media.audioRenditions;!e||V(e).changeRequested||(V(e).changeRequested=!0,queueMicrotask(()=>{delete V(e).changeRequested,V(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function Zn(i){return[...V(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...V(e).renditionSet])}var Os,Ns,Us,P0=class extends EventTarget{constructor(){super(...arguments),X(this,Os,void 0),X(this,Ns,void 0),X(this,Us,void 0)}[Symbol.iterator](){return Zn(this).values()}get length(){return Zn(this).length}getRenditionById(i){var e;return(e=Zn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Zn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Zn(this).entries())t.selected=e===i}get onaddrendition(){return R(this,Os)}set onaddrendition(i){R(this,Os)&&(this.removeEventListener("addrendition",R(this,Os)),ee(this,Os,void 0)),typeof i=="function"&&(ee(this,Os,i),this.addEventListener("addrendition",i))}get onremoverendition(){return R(this,Ns)}set onremoverendition(i){R(this,Ns)&&(this.removeEventListener("removerendition",R(this,Ns)),ee(this,Ns,void 0)),typeof i=="function"&&(ee(this,Ns,i),this.addEventListener("removerendition",i))}get onchange(){return R(this,Us)}set onchange(i){R(this,Us)&&(this.removeEventListener("change",R(this,Us)),ee(this,Us,void 0)),typeof i=="function"&&(ee(this,Us,i),this.addEventListener("change",i))}};Os=new WeakMap,Ns=new WeakMap,Us=new WeakMap;var Lo,zD=class{constructor(){Ce(this,"src"),Ce(this,"id"),Ce(this,"bitrate"),Ce(this,"codec"),X(this,Lo,!1)}get selected(){return R(this,Lo)}set selected(i){R(this,Lo)!==i&&(ee(this,Lo,i),YD(this))}};Lo=new WeakMap;function O0(i,e){let t=i.audioTracks;V(e).media=i,V(e).renditionSet||(V(e).renditionSet=new Set);let r=V(t).trackSet;r.add(e);let s=r.size-1;s in U0.prototype||Object.defineProperty(U0.prototype,s,{get(){return[...V(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new $c("addtrack",{track:e}))})}function N0(i){var e;let t=(e=V(i).media)==null?void 0:e.audioTracks;t&&(V(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new $c("removetrack",{track:i}))}))}function jD(i){let e=V(i).media.audioTracks;!e||V(e).changeRequested||(V(e).changeRequested=!0,queueMicrotask(()=>{delete V(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var Fs,Bs,$s,ko,Rc,U0=class extends EventTarget{constructor(){super(),X(this,ko),X(this,Fs,void 0),X(this,Bs,void 0),X(this,$s,void 0),V(this).trackSet=new Set}[Symbol.iterator](){return R(this,ko,Rc).values()}get length(){return R(this,ko,Rc).size}getTrackById(i){var e;return(e=[...R(this,ko,Rc)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return R(this,Fs)}set onaddtrack(i){R(this,Fs)&&(this.removeEventListener("addtrack",R(this,Fs)),ee(this,Fs,void 0)),typeof i=="function"&&(ee(this,Fs,i),this.addEventListener("addtrack",i))}get onremovetrack(){return R(this,Bs)}set onremovetrack(i){R(this,Bs)&&(this.removeEventListener("removetrack",R(this,Bs)),ee(this,Bs,void 0)),typeof i=="function"&&(ee(this,Bs,i),this.addEventListener("removetrack",i))}get onchange(){return R(this,$s)}set onchange(i){R(this,$s)&&(this.removeEventListener("change",R(this,$s)),ee(this,$s,void 0)),typeof i=="function"&&(ee(this,$s,i),this.addEventListener("change",i))}};Fs=new WeakMap,Bs=new WeakMap,$s=new WeakMap,ko=new WeakSet,Rc=function(){return V(this).trackSet};var Io,NA=class{constructor(){Ce(this,"id"),Ce(this,"kind"),Ce(this,"label",""),Ce(this,"language",""),Ce(this,"sourceBuffer"),X(this,Io,!1)}addRendition(i,e,t){let r=new zD;return r.src=i,r.codec=e,r.bitrate=t,VD(this,r),r}removeRendition(i){qD(i)}get enabled(){return R(this,Io)}set enabled(i){R(this,Io)!==i&&(ee(this,Io,i),jD(this))}};Io=new WeakMap;var LA=Uc(globalThis.HTMLMediaElement,"video"),kA=Uc(globalThis.HTMLMediaElement,"audio");function XD(i){if(!(i!=null&&i.prototype))return i;let e=Uc(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return QD(this)}});let t=Uc(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return ZD(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new OA;return l.kind=n,l.label=a,l.language=o,w0(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=C0),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new NA;return l.kind=n,l.label=a,l.language=o,O0(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=N0),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=V(n).videoRenditions;return a||(a=new M0,V(a).media=n,V(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=V(n).audioRenditions;return a||(a=new P0,V(a).media=n,V(n).audioRenditions=a),a};return i}function Uc(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function QD(i){var e;let t=V(i).videoTracks;if(!t&&(t=new D0,V(i).videoTracks=t,LA)){let r=LA.call((e=i.nativeEl)!=null?e:i);for(let s of r)w0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof OA)){for(let n of r)C0(n);return}w0(i,s.track)}),r.addEventListener("removetrack",s=>{C0(s.track)})}return t}function ZD(i){var e;let t=V(i).audioTracks;if(!t&&(t=new U0,V(i).audioTracks=t,kA)){let r=kA.call((e=i.nativeEl)!=null?e:i);for(let s of r)O0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof NA)){for(let n of r)N0(n);return}O0(i,s.track)}),r.addEventListener("removetrack",s=>{N0(s.track)})}return t}Bc.push("castchange","entercast","leavecast");var M={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DRM_TOKEN:"drm-token",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},JD=Object.values(M),eM=xD(),tM="mux-video",Zi,Ro,wc,wo,Cc,Dc,Mc,Pc,Co,Oc,iM=class extends y0{constructor(){super(),X(this,Co),X(this,Zi,void 0),X(this,Ro,void 0),X(this,wc,void 0),X(this,wo,{}),X(this,Cc,void 0),X(this,Dc,void 0),X(this,Mc,void 0),X(this,Pc,void 0),ee(this,wc,dA())}static get observedAttributes(){var i;return[...JD,...(i=y0.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(M.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?zn.includes(i)?this.setAttribute(M.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(M.PREFER_CMCD))}get playerInitTime(){return R(this,wc)}get playerSoftwareName(){var i;return(i=R(this,Mc))!=null?i:tM}set playerSoftwareName(i){ee(this,Mc,i)}get playerSoftwareVersion(){var i;return(i=R(this,Dc))!=null?i:eM}set playerSoftwareVersion(i){ee(this,Dc,i)}get _hls(){var i;return(i=R(this,Zi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=uA(this.nativeEl))!=null?i:null}get errorTranslator(){return R(this,Pc)}set errorTranslator(i){ee(this,Pc,i)}get src(){return this.getAttribute("src")}set src(i){i!==this.src&&(i==null?this.removeAttribute("src"):this.setAttribute("src",i))}get type(){var i;return(i=this.getAttribute(M.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(M.TYPE,i):this.removeAttribute(M.TYPE))}get autoplay(){let i=this.getAttribute("autoplay");return i===null?!1:i===""?!0:i}set autoplay(i){let e=this.autoplay;i!==e&&(i?this.setAttribute("autoplay",typeof i=="string"?i:""):this.removeAttribute("autoplay"))}get preload(){let i=this.getAttribute("preload");return i===""?"auto":["none","metadata","auto"].includes(i)?i:super.preload}set preload(i){i!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(i)?this.setAttribute("preload",i):this.removeAttribute("preload"))}get debug(){return this.getAttribute(M.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(M.DEBUG,""):this.removeAttribute(M.DEBUG))}get disableTracking(){return this.hasAttribute(M.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(M.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(M.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(M.DISABLE_COOKIES,""):this.removeAttribute(M.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(M.START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set startTime(i){i!==this.startTime&&(i==null?this.removeAttribute(M.START_TIME):this.setAttribute(M.START_TIME,`${i}`))}get playbackId(){var i;return this.hasAttribute(M.PLAYBACK_ID)?this.getAttribute(M.PLAYBACK_ID):(i=Ac(this.src))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(M.PLAYBACK_ID,i):this.removeAttribute(M.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(M.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(M.MAX_RESOLUTION,i):this.removeAttribute(M.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(M.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(M.MIN_RESOLUTION,i):this.removeAttribute(M.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(M.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(M.RENDITION_ORDER,i):this.removeAttribute(M.RENDITION_ORDER))}get programStartTime(){let i=this.getAttribute(M.PROGRAM_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programStartTime(i){i==null?this.removeAttribute(M.PROGRAM_START_TIME):this.setAttribute(M.PROGRAM_START_TIME,`${i}`)}get programEndTime(){let i=this.getAttribute(M.PROGRAM_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programEndTime(i){i==null?this.removeAttribute(M.PROGRAM_END_TIME):this.setAttribute(M.PROGRAM_END_TIME,`${i}`)}get customDomain(){var i;return(i=this.getAttribute(M.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(M.CUSTOM_DOMAIN,i):this.removeAttribute(M.CUSTOM_DOMAIN))}get drmToken(){var i;return(i=this.getAttribute(M.DRM_TOKEN))!=null?i:void 0}set drmToken(i){i!==this.drmToken&&(i?this.setAttribute(M.DRM_TOKEN,i):this.removeAttribute(M.DRM_TOKEN))}get ended(){return g0(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(M.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(M.ENV_KEY,i):this.removeAttribute(M.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(M.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(M.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(M.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(M.STREAM_TYPE))!=null?i:yc(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(M.STREAM_TYPE,i):this.removeAttribute(M.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(M.TARGET_LIVE_WINDOW)?+this.getAttribute(M.TARGET_LIVE_WINDOW):cA(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(M.TARGET_LIVE_WINDOW):this.setAttribute(M.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(M.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,r=(i=this.nativeEl.seekable.end(0))!=null?i:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,r-t)}return hA(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(M.LIVE_EDGE_OFFSET))return+this.getAttribute(M.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(M.LIVE_EDGE_OFFSET):this.setAttribute(M.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return yo(this.nativeEl)}async addCuePoints(i){return u0(this.nativeEl,i)}get activeCuePoint(){return c0(this.nativeEl)}get cuePoints(){return rA(this.nativeEl)}async addChapters(i){return f0(this.nativeEl,i)}get activeChapter(){return m0(this.nativeEl)}get chapters(){return nA(this.nativeEl)}getStartDate(){return aA(this.nativeEl,this._hls)}get currentPdt(){return oA(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(M.PREFER_PLAYBACK);if(i===Jt.MSE||i===Jt.NATIVE)return i}set preferPlayback(i){i!==this.preferPlayback&&(i===Jt.MSE||i===Jt.NATIVE?this.setAttribute(M.PREFER_PLAYBACK,i):this.removeAttribute(M.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![M.METADATA_URL].includes(i)).reduce((i,e)=>{let t=this.getAttribute(e);return t!=null&&(i[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),i},{}),...R(this,wo)}}set metadata(i){ee(this,wo,i!=null?i:{}),this.mux&&this.mux.emit("hb",R(this,wo))}get _hlsConfig(){return R(this,Cc)}set _hlsConfig(i){ee(this,Cc,i)}load(){ee(this,Zi,pA(this,this.nativeEl,R(this,Zi)))}unload(){v0(this.nativeEl,R(this,Zi)),ee(this,Zi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(y0.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case M.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case M.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?Fe(this,Co,Oc).call(this):n&&!a?this.unload():n&&a&&(this.unload(),Fe(this,Co,Oc).call(this));break}case"autoplay":if(t===e)break;(r=R(this,Zi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=R(this,Zi))==null||s.setPreload(t);break;case M.PLAYBACK_ID:this.src=_o(this);break;case M.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case M.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case M.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case M.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var i;(i=super.connectedCallback)==null||i.call(this),this.nativeEl&&this.src&&!R(this,Zi)&&Fe(this,Co,Oc).call(this)}disconnectedCallback(){this.unload()}};Zi=new WeakMap,Ro=new WeakMap,wc=new WeakMap,wo=new WeakMap,Cc=new WeakMap,Dc=new WeakMap,Mc=new WeakMap,Pc=new WeakMap,Co=new WeakSet,Oc=async function(){R(this,Ro)||(await ee(this,Ro,Promise.resolve()),ee(this,Ro,null),this.load())};var F0=class extends FD(XD(iM)){};b0.customElements.get("mux-video")||(b0.customElements.define("mux-video",F0),b0.MuxVideoElement=F0);var UA=F0;var rM="en",Ks={code:rM};var FA="en";function ce(i,e=!0){var s,n;let t=e&&(n=(s=Ks)==null?void 0:s[i])!=null?n:i,r=e?Ks.code:FA;return new W0(t,r)}var W0=class{constructor(e,t=(r=>(r=Ks.code)!=null?r:FA)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,r)=>{var s;return(s=e[r])!=null?s:""})}toString(){return this.message}};function BA(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${Gc(t)}: ${r}; `)}),e?e.trim():void 0}function Gc(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Wc(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function ti(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function K0(i){let e=sM(i).toString();return e?"?"+e:""}function sM(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}function $r(i){let e=(i!=null?i:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(r)}var V0=(i,e)=>!i||!e?!1:i.contains(e)?!0:V0(i,e.getRootNode().host);var $A="mux.com",nM=()=>{try{return"2.9.0"}catch{}return"UNKNOWN"},aM=nM(),Vc=()=>aM,HA=(i,{token:e,customDomain:t=$A,thumbnailTime:r,programTime:s}={})=>{let n=e==null?r:void 0,{aud:a}=$r(e);if(!(e&&a!=="t"))return`https://image.${t}/${i}/thumbnail.webp${K0({token:e,time:n,program_time:s})}`},GA=(i,{token:e,customDomain:t=$A,programStartTime:r,programEndTime:s}={})=>{let{aud:n}=$r(e);if(!(e&&n!=="s"))return`https://image.${t}/${i}/storyboard.vtt${K0({token:e,format:"webp",program_start_time:r,program_end_time:s})}`},Do=i=>{if(i){if([ye.LIVE,ye.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return ye.LIVE}};var oM={crossorigin:"crossOrigin",playsinline:"playsInline"};function WA(i){var e;return(e=oM[i])!=null?e:Wc(i)}var Vs,qs,kt,Kc=class{constructor(e,t){qe(this,Vs,void 0);qe(this,qs,void 0);qe(this,kt,[]);Wt(this,Vs,e),Wt(this,qs,t)}[Symbol.iterator](){return fe(this,kt).values()}get length(){return fe(this,kt).length}get value(){var e;return(e=fe(this,kt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Wt(this,kt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return fe(this,kt)[e]}values(){return fe(this,kt).values()}keys(){return fe(this,kt).keys()}forEach(e){fe(this,kt).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||fe(this,kt).push(s)}),!(this.value===""&&!((t=fe(this,Vs))!=null&&t.hasAttribute(`${fe(this,qs)}`)))&&((r=fe(this,Vs))==null||r.setAttribute(`${fe(this,qs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{fe(this,kt).splice(fe(this,kt).indexOf(r),1)}),(t=fe(this,Vs))==null||t.setAttribute(`${fe(this,qs)}`,`${this.value}`)}contains(e){return fe(this,kt).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};Vs=new WeakMap,qs=new WeakMap,kt=new WeakMap;var KA=`[mux-player ${Vc()}]`;function Hr(...i){console.warn(KA,...i)}function Gt(...i){console.error(KA,...i)}function q0(i){var t;let e=(t=i.message)!=null?t:"";if(i.context&&(e+=` ${i.context}`),i.file){let r="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${ce("Read more: ")}
1647
- ${r}${i.file}`}Hr(e)}var xt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},Ys={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},qA=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),lM=Bc.filter(i=>i!=="error"),dM=Object.values(xt).filter(i=>![xt.PLAYSINLINE].includes(i)),uM=Object.values(Ys),ea,Y0=class extends $e.HTMLElement{constructor(){super();qe(this,ea,new WeakMap);let t=s=>{for(let n of s)n.type==="childList"&&(n.removedNodes.forEach(a=>{var o;(o=fe(this,ea).get(a))==null||o.remove()}),n.addedNodes.forEach(a=>{var l;let o=a;o!=null&&o.slot||(l=this.media)==null||l.append(YA(fe(this,ea),a))}))};new MutationObserver(t).observe(this,{childList:!0,subtree:!0})}static get observedAttributes(){return[...dM,...uM]}init(){this.querySelectorAll(":scope > :not([slot])").forEach(t=>{var r;(r=this.media)==null||r.append(YA(fe(this,ea),t))}),lM.forEach(t=>{var r;(r=this.media)==null||r.addEventListener(t,s=>{this.dispatchEvent(new Event(s.type))})})}attributeChangedCallback(t,r,s){var n,a;switch(t){case Ys.MUTED:{this.media&&(this.media.muted=s!=null,this.media.defaultMuted=s!=null);return}case Ys.VOLUME:{let o=(n=ti(s))!=null?n:1;this.media&&(this.media.volume=o);return}case Ys.PLAYBACKRATE:{let o=(a=ti(s))!=null?a:1;this.media&&(this.media.playbackRate=o,this.media.defaultPlaybackRate=o);return}}}play(){var t,r;return(r=(t=this.media)==null?void 0:t.play())!=null?r:Promise.reject()}pause(){var t;(t=this.media)==null||t.pause()}load(){var t;(t=this.media)==null||t.load()}requestCast(t){var r;return(r=this.media)==null?void 0:r.requestCast(t)}get media(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var t,r;return(r=(t=this.media)==null?void 0:t.paused)!=null?r:!0}get duration(){var t,r;return(r=(t=this.media)==null?void 0:t.duration)!=null?r:NaN}get ended(){var t,r;return(r=(t=this.media)==null?void 0:t.ended)!=null?r:!1}get buffered(){var t,r;return(r=(t=this.media)==null?void 0:t.buffered)!=null?r:qA}get seekable(){var t,r;return(r=(t=this.media)==null?void 0:t.seekable)!=null?r:qA}get readyState(){var t,r;return(r=(t=this.media)==null?void 0:t.readyState)!=null?r:0}get videoWidth(){var t,r;return(r=(t=this.media)==null?void 0:t.videoWidth)!=null?r:0}get videoHeight(){var t,r;return(r=(t=this.media)==null?void 0:t.videoHeight)!=null?r:0}get currentSrc(){var t,r;return(r=(t=this.media)==null?void 0:t.currentSrc)!=null?r:""}get currentTime(){var t,r;return(r=(t=this.media)==null?void 0:t.currentTime)!=null?r:0}set currentTime(t){this.media&&(this.media.currentTime=Number(t))}get volume(){var t,r;return(r=(t=this.media)==null?void 0:t.volume)!=null?r:1}set volume(t){this.media&&(this.media.volume=Number(t))}get playbackRate(){var t,r;return(r=(t=this.media)==null?void 0:t.playbackRate)!=null?r:1}set playbackRate(t){this.media&&(this.media.playbackRate=Number(t))}get defaultPlaybackRate(){var t;return(t=ti(this.getAttribute(Ys.PLAYBACKRATE)))!=null?t:1}set defaultPlaybackRate(t){t!=null?this.setAttribute(Ys.PLAYBACKRATE,`${t}`):this.removeAttribute(Ys.PLAYBACKRATE)}get crossOrigin(){return Mo(this,xt.CROSSORIGIN)}set crossOrigin(t){this.setAttribute(xt.CROSSORIGIN,`${t}`)}get autoplay(){return Mo(this,xt.AUTOPLAY)!=null}set autoplay(t){t?this.setAttribute(xt.AUTOPLAY,typeof t=="string"?t:""):this.removeAttribute(xt.AUTOPLAY)}get loop(){return Mo(this,xt.LOOP)!=null}set loop(t){t?this.setAttribute(xt.LOOP,""):this.removeAttribute(xt.LOOP)}get muted(){var t,r;return(r=(t=this.media)==null?void 0:t.muted)!=null?r:!1}set muted(t){this.media&&(this.media.muted=!!t)}get defaultMuted(){return Mo(this,xt.MUTED)!=null}set defaultMuted(t){t?this.setAttribute(xt.MUTED,""):this.removeAttribute(xt.MUTED)}get playsInline(){return Mo(this,xt.PLAYSINLINE)!=null}set playsInline(t){Gt("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(t){["","none","metadata","auto"].includes(t)?this.setAttribute(xt.PRELOAD,t):this.removeAttribute(xt.PRELOAD)}};ea=new WeakMap;function Mo(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}function YA(i,e){let t=i.get(e);return t||(t=e.cloneNode(),i.set(e,t)),t}var z0=Y0;var cM=Object.defineProperty,hM=(i,e,t)=>e in i?cM(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,fM=(i,e,t)=>(hM(i,typeof e!="symbol"?e+"":e,t),t),ZA=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},de=(i,e,t)=>(ZA(i,e,"read from private field"),t?t.call(i):e.get(i)),Ji=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},cr=(i,e,t,r)=>(ZA(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ta,qc,zs,Po,Gr,Wr,Kr,js,ia,Yc,Ti,zA=1,jA=0,mM=1,pM={processCallback(i,e,t){if(t){for(let[r,s]of e)if(r in t){let n=t[r];typeof n=="boolean"&&s instanceof It&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof It?s.element[s.attributeName]=n:s.value=n}}}},hr=class extends _.DocumentFragment{constructor(e,t,r=pM){var s;super(),Ji(this,ta,void 0),Ji(this,qc,void 0),this.append(e.content.cloneNode(!0)),cr(this,ta,JA(this)),cr(this,qc,r),(s=r.createCallback)==null||s.call(r,this,de(this,ta),t),r.processCallback(this,de(this,ta),t)}update(e){de(this,qc).processCallback(this,de(this,ta),e)}};ta=new WeakMap;qc=new WeakMap;var JA=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new j0;for([t,r]of QA(s.value))if(!t)n.append(r);else{let a=new It(i,s.name,s.namespaceURI);n.append(a),e.push([r,a])}s.value=n.toString()}for(let s of i.childNodes)if(s.nodeType===zA&&!(s instanceof HTMLTemplateElement))JA(s,e);else if(s.nodeType===zA||s.data.includes("{{")){let n=[];if(s.data)for([t,r]of QA(s.data))if(!t)n.push(new Text(r));else{let a=new fr(i);n.push(a),e.push([r,a])}else if(s instanceof HTMLTemplateElement){let a=new Oo(i,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},XA={},QA=i=>{let e="",t=0,r=XA[i],s=0,n;if(r)return r;for(r=[];n=i[s];s++)n==="{"&&i[s+1]==="{"&&i[s-1]!=="\\"&&i[s+2]&&++t==1?(e&&r.push([jA,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([mM,e.trim()]),e="",s++):e+=n||"";return e&&r.push([jA,(t>0?"{{":"")+e]),XA[i]=r},gM=11,zc=class{get value(){return""}set value(e){}toString(){return this.value}},e1=new WeakMap,j0=class{constructor(){Ji(this,zs,[])}[Symbol.iterator](){return de(this,zs).values()}get length(){return de(this,zs).length}item(e){return de(this,zs)[e]}append(...e){for(let t of e)t instanceof It&&e1.set(t,this),de(this,zs).push(t)}toString(){return de(this,zs).join("")}};zs=new WeakMap;var It=class extends zc{constructor(e,t,r){super(),Ji(this,js),Ji(this,Po,""),Ji(this,Gr,void 0),Ji(this,Wr,void 0),Ji(this,Kr,void 0),cr(this,Gr,e),cr(this,Wr,t),cr(this,Kr,r)}get attributeName(){return de(this,Wr)}get attributeNamespace(){return de(this,Kr)}get element(){return de(this,Gr)}get value(){return de(this,Po)}set value(e){de(this,Po)!==e&&(cr(this,Po,e),!de(this,js,ia)||de(this,js,ia).length===1?e==null?de(this,Gr).removeAttributeNS(de(this,Kr),de(this,Wr)):de(this,Gr).setAttributeNS(de(this,Kr),de(this,Wr),e):de(this,Gr).setAttributeNS(de(this,Kr),de(this,Wr),de(this,js,ia)))}get booleanValue(){return de(this,Gr).hasAttributeNS(de(this,Kr),de(this,Wr))}set booleanValue(e){if(!de(this,js,ia)||de(this,js,ia).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};Po=new WeakMap;Gr=new WeakMap;Wr=new WeakMap;Kr=new WeakMap;js=new WeakSet;ia=function(){return e1.get(this)};var fr=class extends zc{constructor(e,t){super(),Ji(this,Yc,void 0),Ji(this,Ti,void 0),cr(this,Yc,e),cr(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return de(this,Ti)}get parentNode(){return de(this,Yc)}get nextSibling(){return de(this,Ti)[de(this,Ti).length-1].nextSibling}get previousSibling(){return de(this,Ti)[0].previousSibling}get value(){return de(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(r=>r==null?[new Text]:r.forEach?[...r]:r.nodeType===gM?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),cr(this,Ti,vM(de(this,Ti)[0].parentNode,de(this,Ti),t,this.nextSibling))}};Yc=new WeakMap;Ti=new WeakMap;var Oo=class extends fr{constructor(e,t){let r=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(r)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),fM(this,"directive"),this.expression=s,this.template=t,this.directive=r}};function vM(i,e,t,r=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)r=t[--d,--l];if(s==d)for(;s<l;)i.insertBefore(t[s++],r);if(s==l)for(;s<d;)i.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:r,n==o?n=a:s<l&&t[s]==a?(i.replaceChild(o,n),n=a):i.insertBefore(o,n);for(;n!=r;)a=n.nextSibling,i.removeChild(n),n=a}return t}var t1={string:i=>String(i)},Xc=class{constructor(e){this.template=e,this.state=void 0}},Xs=new WeakMap,Qs=new WeakMap,X0={partial:(i,e)=>{e[i.expression]=new Xc(i.template)},if:(i,e)=>{var t;if(r1(i.expression,e))if(Xs.get(i)!==i.template){Xs.set(i,i.template);let r=new hr(i.template,e,Qc);i.replace(r),Qs.set(i,r)}else(t=Qs.get(i))==null||t.update(e);else i.replace(""),Xs.delete(i),Qs.delete(i)}},EM=Object.keys(X0),Qc={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof Oo){if(!a.directive){let l=EM.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=X0[a.directive])==null||r.call(X0,a,t);continue}let o=r1(n,t);if(o instanceof Xc){Xs.get(a)!==o.template?(Xs.set(a,o.template),o=new hr(o.template,o.state,Qc),a.value=o,Qs.set(a,o)):(s=Qs.get(a))==null||s.update(o.state);continue}o?(a instanceof It&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof It?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,Xs.delete(a),Qs.delete(a))):a instanceof It?a.value=void 0:(a.value=void 0,Xs.delete(a),Qs.delete(a))}}},i1={"!":i=>!i,"!!":i=>!!i,"==":(i,e)=>i==e,"!=":(i,e)=>i!=e,">":(i,e)=>i>e,">=":(i,e)=>i>=e,"<":(i,e)=>i<e,"<=":(i,e)=>i<=e,"??":(i,e)=>i!=null?i:e,"|":(i,e)=>{var t;return(t=t1[e])==null?void 0:t.call(t1,i)}};function bM(i){return yM(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function r1(i,e={}){var t,r,s,n,a,o,l;let d=bM(i);if(d.length===0||d.some(({type:u})=>!u))return No(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return No(i);let c={...e};u.state=c;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let m=(s=h[f])==null?void 0:s.token,p=(n=h[f+1])==null?void 0:n.token,g=(a=h[f+2])==null?void 0:a.token;m&&p==="="&&(c[m]=Uo(g,e))}return u}if(d.length===1)return jc(d[0])?Uo(d[0].token,e):No(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=i1[u];if(!c||!jc(d[1]))return No(i);let h=Uo(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=i1[u];if(!c||!jc(d[0])||!jc(d[2]))return No(i);let h=Uo(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=Uo(d[2].token,e);return c(h,f)}}function No(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function jc({type:i}){return["number","boolean","string","param"].includes(i)}function Uo(i,e){let t=i[0],r=i.slice(-1);return i==="true"||i==="false"?i==="true":t===r&&["'",'"'].includes(t)?i.slice(1,-1):jo(i)?parseFloat(i):e[i]}function yM(i,e){let t,r,s,n=[];for(;i;){s=null,t=i.length;for(let a in e)r=e[a].exec(i),r&&r.index<t&&(s={token:r[0],type:a,matches:r.slice(1)},t=r.index);t&&n.push({token:i.substr(0,t),type:void 0}),s&&n.push(s),i=i.substr(t+(s?s.token.length:0))}return n}var TM=Object.defineProperty,_M=(i,e,t)=>e in i?TM(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Bo=(i,e,t)=>(_M(i,typeof e!="symbol"?e+"":e,t),t),iv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},J0=(i,e,t)=>(iv(i,e,"read from private field"),t?t.call(i):e.get(i)),Fo=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Zs=(i,e,t,r)=>(iv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Q0=(i,e,t)=>(iv(i,e,"access private method"),t),ra,Zc,sa,ev,s1,Jc,tv,Z0={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},n1=O.createElement("template");n1.innerHTML=`
1646
+ `}var DA=(i,{tag:e,is:t})=>{var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,T,y;let S=(s=(r=globalThis.document)==null?void 0:r.createElement)==null?void 0:s.call(r,e,{is:t}),A=S?CD(S):[];return n=class extends i{constructor(){super(),j(this,h),j(this,m),j(this,g),j(this,T),j(this,d,void 0),j(this,u,void 0),j(this,c,new Map)}static get observedAttributes(){var L,x,w;return Fe(L=n,o,l).call(L),[...(w=(x=S==null?void 0:S.constructor)==null?void 0:x.observedAttributes)!=null?w:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var L,x,w;return Fe(this,h,f).call(this),(w=(x=(L=I(this,u))!=null?L:this.shadowRoot.querySelector(e))!=null?x:this.querySelector(":scope > [slot=media]"))!=null?w:this.querySelector(e)}set nativeEl(L){Z(this,u,L)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(L){this.toggleAttribute("muted",!!L)}get src(){return this.getAttribute("src")}set src(L){this.setAttribute("src",`${L}`)}get preload(){var L,x;return(x=this.getAttribute("preload"))!=null?x:(L=this.nativeEl)==null?void 0:L.preload}set preload(L){this.setAttribute("preload",`${L}`)}init(){var L,x;if(!this.shadowRoot){this.attachShadow({mode:"open"});let w=DD(this.attributes);t&&(w.is=t),e&&(w.part=e),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(w)}this.nativeEl.muted=this.hasAttribute("muted");for(let w of A)Fe(this,g,E).call(this,w);this.shadowRoot.addEventListener("slotchange",this),Fe(this,m,p).call(this);for(let w of this.constructor.Events)(x=(L=this.shadowRoot).addEventListener)==null||x.call(L,w,this,!0)}handleEvent(L){if(L.type==="slotchange"){Fe(this,m,p).call(this);return}L.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(L.type,{detail:L.detail}))}attributeChangedCallback(L,x,w){Fe(this,h,f).call(this),Fe(this,T,y).call(this,L,x,w)}connectedCallback(){Fe(this,h,f).call(this)}},a=new WeakMap,o=new WeakSet,l=function(){if(I(this,a))return;Z(this,a,!0);let L=new Set(this.observedAttributes);L.delete("muted");for(let x of A)if(!(x in this.prototype))if(typeof S[x]=="function")this.prototype[x]=function(...w){return Fe(this,h,f).call(this),this.call?this.call(x,...w):this.nativeEl[x].apply(this.nativeEl,w)};else{let w={get(){var P,k,D;Fe(this,h,f).call(this);let U=x.toLowerCase();if(L.has(U)){let F=this.getAttribute(U);return F===null?!1:F===""?!0:F}return(D=(P=this.get)==null?void 0:P.call(this,x))!=null?D:(k=this.nativeEl)==null?void 0:k[x]}};x!==x.toUpperCase()&&(w.set=function(P){Fe(this,h,f).call(this);let k=x.toLowerCase();if(L.has(k)){P===!0||P===!1||P==null?this.toggleAttribute(k,!!P):this.setAttribute(k,P);return}if(this.set){this.set(x,P);return}this.nativeEl[x]=P}),Object.defineProperty(this.prototype,x,w)}},d=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakSet,f=function(){I(this,d)||(Z(this,d,!0),this.init())},m=new WeakSet,p=function(){let L=new Map(I(this,c));this.shadowRoot.querySelector("slot:not([name])").assignedElements({flatten:!0}).filter(x=>["track","source"].includes(x.localName)).forEach(x=>{var w,P;L.delete(x);let k=I(this,c).get(x);k||(k=x.cloneNode(),I(this,c).set(x,k)),(P=(w=this.nativeEl).append)==null||P.call(w,k),k.localName==="track"&&k.default&&(k.kind==="chapters"||k.kind==="metadata")&&k.track.mode==="disabled"&&(k.track.mode="hidden")}),L.forEach(x=>x.remove())},g=new WeakSet,E=function(L){if(Object.prototype.hasOwnProperty.call(this,L)){let x=this[L];delete this[L],this[L]=x}},T=new WeakSet,y=function(L,x,w){var P,k,D,U,F,z;["id","class"].includes(L)||!n.observedAttributes.includes(L)&&this.constructor.observedAttributes.includes(L)||(w===null?(k=(P=this.nativeEl).removeAttribute)==null||k.call(P,L):((U=(D=this.nativeEl).getAttribute)==null?void 0:U.call(D,L))!=w&&((z=(F=this.nativeEl).setAttribute)==null||z.call(F,L,w)))},j(n,o),Ce(n,"getTemplateHTML",e.endsWith("audio")?RD:wD),Ce(n,"shadowRootOptions",{mode:"open"}),Ce(n,"Events",Hc),j(n,a,void 0),n};function CD(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}function MA(i){let e="";for(let t in i){let r=i[t];r===""?e+=` ${t}`:e+=` ${t}="${r}"`}return e}function DD(i){let e={};for(let t of i)e[t.name]=t.value;return e}var AA,_0=DA((AA=globalThis.HTMLElement)!=null?AA:class{},{tag:"video"}),SA,M5=DA((SA=globalThis.HTMLElement)!=null?SA:class{},{tag:"audio"}),Gs=new WeakMap,A0=class extends Error{},MD=class extends Error{},PD=globalThis.WeakRef?class extends Set{add(i){super.add(new WeakRef(i))}forEach(i){super.forEach(e=>{let t=e.deref();t&&i(t)})}}:Set;function OD(i){var e,t,r;(t=(e=globalThis.chrome)==null?void 0:e.cast)!=null&&t.isAvailable?(r=globalThis.cast)!=null&&r.framework?i():customElements.whenDefined("google-cast-button").then(i):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(i)}}function ND(){return globalThis.chrome}function UD(){var i;let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if((i=globalThis.chrome)!=null&&i.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}function Ws(){var i,e;return(e=(i=globalThis.cast)==null?void 0:i.framework)==null?void 0:e.CastContext.getInstance()}function W0(){var i;return(i=Ws())==null?void 0:i.getCurrentSession()}function K0(){var i;return(i=W0())==null?void 0:i.getSessionObj().media[0]}function FD(i){return new Promise((e,t)=>{K0().editTracksInfo(i,e,t)})}function BD(i){return new Promise((e,t)=>{K0().getStatus(i,e,t)})}function PA(i){return Ws().setOptions({...OA(),...i})}function OA(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}var Lc=new PD,Hr=new WeakSet,st;OD(()=>{var i,e,t,r;if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable)){console.debug("chrome.cast.isAvailable",(r=(t=globalThis.chrome)==null?void 0:t.cast)==null?void 0:r.isAvailable);return}st||(st=cast.framework,Ws().addEventListener(st.CastContextEventType.CAST_STATE_CHANGED,s=>{Lc.forEach(n=>{var a,o;return(o=(a=Gs.get(n)).onCastStateChanged)==null?void 0:o.call(a,s)})}),Ws().addEventListener(st.CastContextEventType.SESSION_STATE_CHANGED,s=>{Lc.forEach(n=>{var a,o;return(o=(a=Gs.get(n)).onSessionStateChanged)==null?void 0:o.call(a,s)})}),Lc.forEach(s=>{var n,a;return(a=(n=Gs.get(s)).init)==null?void 0:a.call(n)}))});var xA=0,xe,kc,ei,Br,Jn,jn,Hs,x0,$r,Is,L0,LA,Fc,k0,I0,NA,Ic,R0,w0,kA,Rc,S0,$D=class extends EventTarget{constructor(i){super(),j(this,$r),j(this,L0),j(this,Fc),j(this,I0),j(this,Ic),j(this,w0),j(this,Rc),j(this,xe,void 0),j(this,kc,void 0),j(this,ei,void 0),j(this,Br,void 0),j(this,Jn,"disconnected"),j(this,jn,!1),j(this,Hs,new Set),j(this,x0,new WeakMap),Z(this,xe,i),Lc.add(this),Gs.set(this,{init:()=>Fe(this,Ic,R0).call(this),onCastStateChanged:()=>Fe(this,Fc,k0).call(this),onSessionStateChanged:()=>Fe(this,I0,NA).call(this),getCastPlayer:()=>I(this,$r,Is)}),Fe(this,Ic,R0).call(this)}get state(){return I(this,Jn)}async watchAvailability(i){if(I(this,xe).disableRemotePlayback)throw new A0("disableRemotePlayback attribute is present.");return I(this,x0).set(i,++xA),I(this,Hs).add(i),xA}async cancelWatchAvailability(i){if(I(this,xe).disableRemotePlayback)throw new A0("disableRemotePlayback attribute is present.");i?I(this,Hs).delete(i):I(this,Hs).clear()}async prompt(){var i,e,t,r;if(I(this,xe).disableRemotePlayback)throw new A0("disableRemotePlayback attribute is present.");if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable))throw new MD("The RemotePlayback API is disabled on this platform.");let s=Hr.has(I(this,xe));Hr.add(I(this,xe)),PA(I(this,xe).castOptions),Object.entries(I(this,Br)).forEach(([n,a])=>{I(this,ei).controller.addEventListener(n,a)});try{await Ws().requestSession()}catch(n){if(n==="cancel"){s||Hr.delete(I(this,xe));return}throw new Error(n)}(r=(t=Gs.get(I(this,xe)))==null?void 0:t.loadOnPrompt)==null||r.call(t)}};xe=new WeakMap,kc=new WeakMap,ei=new WeakMap,Br=new WeakMap,Jn=new WeakMap,jn=new WeakMap,Hs=new WeakMap,x0=new WeakMap,$r=new WeakSet,Is=function(){if(Hr.has(I(this,xe)))return I(this,ei)},L0=new WeakSet,LA=function(){Hr.has(I(this,xe))&&(Object.entries(I(this,Br)).forEach(([i,e])=>{I(this,ei).controller.removeEventListener(i,e)}),Hr.delete(I(this,xe)),I(this,xe).muted=I(this,ei).isMuted,I(this,xe).currentTime=I(this,ei).savedPlayerState.currentTime,I(this,ei).savedPlayerState.isPaused===!1&&I(this,xe).play())},Fc=new WeakSet,k0=function(){let i=Ws().getCastState();if(Hr.has(I(this,xe))&&i==="CONNECTING"&&(Z(this,Jn,"connecting"),this.dispatchEvent(new Event("connecting"))),!I(this,jn)&&i!=null&&i.includes("CONNECT")){Z(this,jn,!0);for(let e of I(this,Hs))e(!0)}else if(I(this,jn)&&(!i||i==="NO_DEVICES_AVAILABLE")){Z(this,jn,!1);for(let e of I(this,Hs))e(!1)}},I0=new WeakSet,NA=async function(){var i;let{SESSION_RESUMED:e}=st.SessionState;if(Ws().getSessionState()===e&&I(this,xe).castSrc===((i=K0())==null?void 0:i.media.contentId)){Hr.add(I(this,xe)),Object.entries(I(this,Br)).forEach(([t,r])=>{I(this,ei).controller.addEventListener(t,r)});try{await BD(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}I(this,Br)[st.RemotePlayerEventType.IS_PAUSED_CHANGED](),I(this,Br)[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},Ic=new WeakSet,R0=function(){!st||I(this,kc)||(Z(this,kc,!0),PA(I(this,xe).castOptions),I(this,xe).textTracks.addEventListener("change",()=>Fe(this,Rc,S0).call(this)),Fe(this,Fc,k0).call(this),Z(this,ei,new st.RemotePlayer),new st.RemotePlayerController(I(this,ei)),Z(this,Br,{[st.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(Z(this,Jn,"connected"),this.dispatchEvent(new Event("connect"))):(Fe(this,L0,LA).call(this),Z(this,Jn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[st.RemotePlayerEventType.DURATION_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("durationchange"))},[st.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("volumechange"))},[st.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=I(this,$r,Is))!=null&&i.isMediaLoaded&&I(this,xe).dispatchEvent(new Event("timeupdate"))},[st.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event("resize"))},[st.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{I(this,xe).dispatchEvent(new Event(this.paused?"pause":"play"))},[st.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=I(this,$r,Is))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&I(this,xe).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=I(this,$r,Is))==null?void 0:e.playerState]))},[st.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=I(this,$r,Is))!=null&&i.isMediaLoaded&&(await Promise.resolve(),Fe(this,w0,kA).call(this))}}))},w0=new WeakSet,kA=function(){Fe(this,Rc,S0).call(this)},Rc=new WeakSet,S0=async function(){var i,e,t,r,s;if(!I(this,$r,Is))return;let n=((e=(i=I(this,ei).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...I(this,xe).textTracks].filter(({kind:h})=>h==="subtitles"||h==="captions"),o=n.map(({language:h,name:f,trackId:m})=>{var p;let{mode:g}=(p=a.find(E=>E.language===h&&E.label===f))!=null?p:{};return g?{mode:g,trackId:m}:!1}).filter(Boolean),l=o.filter(({mode:h})=>h!=="showing").map(({trackId:h})=>h),d=o.find(({mode:h})=>h==="showing"),u=(s=(r=(t=W0())==null?void 0:t.getSessionObj().media[0])==null?void 0:r.activeTrackIds)!=null?s:[],c=u;if(u.length&&(c=c.filter(h=>!l.includes(h))),d!=null&&d.trackId&&(c=[...c,d.trackId]),c=[...new Set(c)],!((h,f)=>h.length===f.length&&h.every(m=>f.includes(m)))(u,c))try{let h=new chrome.cast.media.EditTracksInfoRequest(c);await FD(h)}catch(h){console.error(h)}};var HD=i=>{var e,t,r,s,n,a,o,l,d,u;return t=class extends i{constructor(){super(...arguments),j(this,o),j(this,d),j(this,r,{paused:!1}),j(this,s,OA()),j(this,n,void 0),j(this,a,void 0)}get remote(){return I(this,a)?I(this,a):ND()?(UD(),Gs.set(this,{loadOnPrompt:()=>Fe(this,d,u).call(this)}),Z(this,a,new $D(this))):super.remote}attributeChangedCallback(c,h,f){if(super.attributeChangedCallback(c,h,f),c==="cast-receiver"&&f){I(this,s).receiverApplicationId=f;return}if(I(this,o,l))switch(c){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var c,h;if(!I(this,o,l))return super.load();let f=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);f.customData=this.castCustomData;let m=[...this.querySelectorAll("track")].filter(({kind:T,src:y})=>y&&(T==="subtitles"||T==="captions")),p=[],g=0;m.length&&(f.tracks=m.map(T=>{let y=++g;p.length===0&&T.track.mode==="showing"&&p.push(y);let S=new chrome.cast.media.Track(y,chrome.cast.media.TrackType.TEXT);return S.trackContentId=T.src,S.trackContentType="text/vtt",S.subtype=T.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,S.name=T.label,S.language=T.srclang,S})),this.castStreamType==="live"?f.streamType=chrome.cast.media.StreamType.LIVE:f.streamType=chrome.cast.media.StreamType.BUFFERED,f.metadata=new chrome.cast.media.GenericMediaMetadata,f.metadata.title=this.title,f.metadata.images=[{url:this.poster}];let E=new chrome.cast.media.LoadRequest(f);E.currentTime=(c=super.currentTime)!=null?c:0,E.autoplay=!I(this,r).paused,E.activeTrackIds=p,await((h=W0())==null?void 0:h.loadMedia(E)),this.dispatchEvent(new Event("volumechange"))}play(){var c;if(I(this,o,l)){I(this,o,l).isPaused&&((c=I(this,o,l).controller)==null||c.playOrPause());return}return super.play()}pause(){var c;if(I(this,o,l)){I(this,o,l).isPaused||(c=I(this,o,l).controller)==null||c.playOrPause();return}super.pause()}get castOptions(){return I(this,s)}get castReceiver(){var c;return(c=this.getAttribute("cast-receiver"))!=null?c:void 0}set castReceiver(c){this.castReceiver!=c&&this.setAttribute("cast-receiver",`${c}`)}get castSrc(){var c,h,f;return(f=(h=this.getAttribute("cast-src"))!=null?h:(c=this.querySelector("source"))==null?void 0:c.src)!=null?f:this.currentSrc}set castSrc(c){this.castSrc!=c&&this.setAttribute("cast-src",`${c}`)}get castContentType(){var c;return(c=this.getAttribute("cast-content-type"))!=null?c:void 0}set castContentType(c){this.setAttribute("cast-content-type",`${c}`)}get castStreamType(){var c,h;return(h=(c=this.getAttribute("cast-stream-type"))!=null?c:this.streamType)!=null?h:void 0}set castStreamType(c){this.setAttribute("cast-stream-type",`${c}`)}get castCustomData(){return I(this,n)}set castCustomData(c){let h=typeof c;if(!["object","undefined"].includes(h)){console.error(`castCustomData must be nullish or an object but value was of type ${h}`);return}Z(this,n,c)}get readyState(){if(I(this,o,l))switch(I(this,o,l).playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return I(this,o,l)?I(this,o,l).isPaused:super.paused}get muted(){var c;return I(this,o,l)?(c=I(this,o,l))==null?void 0:c.isMuted:super.muted}set muted(c){var h;if(I(this,o,l)){(c&&!I(this,o,l).isMuted||!c&&I(this,o,l).isMuted)&&((h=I(this,o,l).controller)==null||h.muteOrUnmute());return}super.muted=c}get volume(){var c,h;return I(this,o,l)?(h=(c=I(this,o,l))==null?void 0:c.volumeLevel)!=null?h:1:super.volume}set volume(c){var h;if(I(this,o,l)){I(this,o,l).volumeLevel=+c,(h=I(this,o,l).controller)==null||h.setVolumeLevel();return}super.volume=c}get duration(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.duration)!=null?f:NaN:super.duration}get currentTime(){var c,h,f;return I(this,o,l)&&(c=I(this,o,l))!=null&&c.isMediaLoaded?(f=(h=I(this,o,l))==null?void 0:h.currentTime)!=null?f:0:super.currentTime}set currentTime(c){var h;if(I(this,o,l)){I(this,o,l).currentTime=c,(h=I(this,o,l).controller)==null||h.seek();return}super.currentTime=c}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakSet,l=function(){var c,h;return(h=(c=Gs.get(this.remote))==null?void 0:c.getCastPlayer)==null?void 0:h.call(c)},d=new WeakSet,u=async function(){I(this,r).paused=y0(t.prototype,this,"paused"),y0(t.prototype,this,"pause").call(this),this.muted=y0(t.prototype,this,"muted");try{await this.load()}catch(c){console.error(c)}},Ce(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},Gc=class extends Event{constructor(i,e){super(i),Ce(this,"track"),this.track=e.track}},C0=new WeakMap;function V(i){var e;return(e=C0.get(i))!=null?e:GD(i,{})}function GD(i,e){let t=C0.get(i);return t||C0.set(i,t={}),Object.assign(t,e)}function D0(i,e){let t=i.videoTracks;V(e).media=i,V(e).renditionSet||(V(e).renditionSet=new Set);let r=V(t).trackSet;r.add(e);let s=r.size-1;s in P0.prototype||Object.defineProperty(P0.prototype,s,{get(){return[...V(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Gc("addtrack",{track:e}))})}function M0(i){var e;let t=(e=V(i).media)==null?void 0:e.videoTracks;t&&(V(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Gc("removetrack",{track:i}))}))}function WD(i){var e;let t=(e=V(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(V(t).changeRequested)return;V(t).changeRequested=!0,queueMicrotask(()=>{delete V(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Rs,ws,Cs,Xn,Ao,P0=class extends EventTarget{constructor(){super(),j(this,Xn),j(this,Rs,void 0),j(this,ws,void 0),j(this,Cs,void 0),V(this).trackSet=new Set}[Symbol.iterator](){return I(this,Xn,Ao).values()}get length(){return I(this,Xn,Ao).size}getTrackById(i){var e;return(e=[...I(this,Xn,Ao)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...I(this,Xn,Ao)].findIndex(i=>i.selected)}get onaddtrack(){return I(this,Rs)}set onaddtrack(i){I(this,Rs)&&(this.removeEventListener("addtrack",I(this,Rs)),Z(this,Rs,void 0)),typeof i=="function"&&(Z(this,Rs,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,ws)}set onremovetrack(i){I(this,ws)&&(this.removeEventListener("removetrack",I(this,ws)),Z(this,ws,void 0)),typeof i=="function"&&(Z(this,ws,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,Cs)}set onchange(i){I(this,Cs)&&(this.removeEventListener("change",I(this,Cs)),Z(this,Cs,void 0)),typeof i=="function"&&(Z(this,Cs,i),this.addEventListener("change",i))}};Rs=new WeakMap,ws=new WeakMap,Cs=new WeakMap,Xn=new WeakSet,Ao=function(){return V(this).trackSet};var Wc=class extends Event{constructor(i,e){super(i),Ce(this,"rendition"),this.rendition=e.rendition}};function KD(i,e){let t=V(i).media.videoRenditions;V(e).media=V(i).media,V(e).track=i;let r=V(i).renditionSet;r.add(e);let s=r.size-1;s in O0.prototype||Object.defineProperty(O0.prototype,s,{get(){return Qn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new Wc("addrendition",{rendition:e}))})}function VD(i){let e=V(i).media.videoRenditions,t=V(i).track;V(t).renditionSet.delete(i),queueMicrotask(()=>{V(i).track.selected&&e.dispatchEvent(new Wc("removerendition",{rendition:i}))})}function qD(i){let e=V(i).media.videoRenditions;!e||V(e).changeRequested||(V(e).changeRequested=!0,queueMicrotask(()=>{delete V(e).changeRequested,V(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function Qn(i){return[...V(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...V(e).renditionSet])}var Ds,Ms,Ps,O0=class extends EventTarget{constructor(){super(...arguments),j(this,Ds,void 0),j(this,Ms,void 0),j(this,Ps,void 0)}[Symbol.iterator](){return Qn(this).values()}get length(){return Qn(this).length}getRenditionById(i){var e;return(e=Qn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Qn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Qn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,Ds)}set onaddrendition(i){I(this,Ds)&&(this.removeEventListener("addrendition",I(this,Ds)),Z(this,Ds,void 0)),typeof i=="function"&&(Z(this,Ds,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,Ms)}set onremoverendition(i){I(this,Ms)&&(this.removeEventListener("removerendition",I(this,Ms)),Z(this,Ms,void 0)),typeof i=="function"&&(Z(this,Ms,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,Ps)}set onchange(i){I(this,Ps)&&(this.removeEventListener("change",I(this,Ps)),Z(this,Ps,void 0)),typeof i=="function"&&(Z(this,Ps,i),this.addEventListener("change",i))}};Ds=new WeakMap,Ms=new WeakMap,Ps=new WeakMap;var So,YD=class{constructor(){Ce(this,"src"),Ce(this,"id"),Ce(this,"width"),Ce(this,"height"),Ce(this,"bitrate"),Ce(this,"frameRate"),Ce(this,"codec"),j(this,So,!1)}get selected(){return I(this,So)}set selected(i){I(this,So)!==i&&(Z(this,So,i),qD(this))}};So=new WeakMap;var xo,UA=class{constructor(){Ce(this,"id"),Ce(this,"kind"),Ce(this,"label",""),Ce(this,"language",""),Ce(this,"sourceBuffer"),j(this,xo,!1)}addRendition(i,e,t,r,s,n){let a=new YD;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,KD(this,a),a}removeRendition(i){VD(i)}get selected(){return I(this,xo)}set selected(i){I(this,xo)!==i&&(Z(this,xo,i),i===!0&&WD(this))}};xo=new WeakMap;function zD(i,e){let t=V(i).media.audioRenditions;V(e).media=V(i).media,V(e).track=i;let r=V(i).renditionSet;r.add(e);let s=r.size-1;s in N0.prototype||Object.defineProperty(N0.prototype,s,{get(){return Zn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new Wc("addrendition",{rendition:e}))})}function jD(i){let e=V(i).media.audioRenditions,t=V(i).track;V(t).renditionSet.delete(i),queueMicrotask(()=>{V(i).track.enabled&&e.dispatchEvent(new Wc("removerendition",{rendition:i}))})}function XD(i){let e=V(i).media.audioRenditions;!e||V(e).changeRequested||(V(e).changeRequested=!0,queueMicrotask(()=>{delete V(e).changeRequested,V(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function Zn(i){return[...V(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...V(e).renditionSet])}var Os,Ns,Us,N0=class extends EventTarget{constructor(){super(...arguments),j(this,Os,void 0),j(this,Ns,void 0),j(this,Us,void 0)}[Symbol.iterator](){return Zn(this).values()}get length(){return Zn(this).length}getRenditionById(i){var e;return(e=Zn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Zn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Zn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,Os)}set onaddrendition(i){I(this,Os)&&(this.removeEventListener("addrendition",I(this,Os)),Z(this,Os,void 0)),typeof i=="function"&&(Z(this,Os,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,Ns)}set onremoverendition(i){I(this,Ns)&&(this.removeEventListener("removerendition",I(this,Ns)),Z(this,Ns,void 0)),typeof i=="function"&&(Z(this,Ns,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,Us)}set onchange(i){I(this,Us)&&(this.removeEventListener("change",I(this,Us)),Z(this,Us,void 0)),typeof i=="function"&&(Z(this,Us,i),this.addEventListener("change",i))}};Os=new WeakMap,Ns=new WeakMap,Us=new WeakMap;var Lo,QD=class{constructor(){Ce(this,"src"),Ce(this,"id"),Ce(this,"bitrate"),Ce(this,"codec"),j(this,Lo,!1)}get selected(){return I(this,Lo)}set selected(i){I(this,Lo)!==i&&(Z(this,Lo,i),XD(this))}};Lo=new WeakMap;function U0(i,e){let t=i.audioTracks;V(e).media=i,V(e).renditionSet||(V(e).renditionSet=new Set);let r=V(t).trackSet;r.add(e);let s=r.size-1;s in B0.prototype||Object.defineProperty(B0.prototype,s,{get(){return[...V(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Gc("addtrack",{track:e}))})}function F0(i){var e;let t=(e=V(i).media)==null?void 0:e.audioTracks;t&&(V(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Gc("removetrack",{track:i}))}))}function ZD(i){let e=V(i).media.audioTracks;!e||V(e).changeRequested||(V(e).changeRequested=!0,queueMicrotask(()=>{delete V(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var Fs,Bs,$s,ko,wc,B0=class extends EventTarget{constructor(){super(),j(this,ko),j(this,Fs,void 0),j(this,Bs,void 0),j(this,$s,void 0),V(this).trackSet=new Set}[Symbol.iterator](){return I(this,ko,wc).values()}get length(){return I(this,ko,wc).size}getTrackById(i){var e;return(e=[...I(this,ko,wc)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return I(this,Fs)}set onaddtrack(i){I(this,Fs)&&(this.removeEventListener("addtrack",I(this,Fs)),Z(this,Fs,void 0)),typeof i=="function"&&(Z(this,Fs,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,Bs)}set onremovetrack(i){I(this,Bs)&&(this.removeEventListener("removetrack",I(this,Bs)),Z(this,Bs,void 0)),typeof i=="function"&&(Z(this,Bs,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,$s)}set onchange(i){I(this,$s)&&(this.removeEventListener("change",I(this,$s)),Z(this,$s,void 0)),typeof i=="function"&&(Z(this,$s,i),this.addEventListener("change",i))}};Fs=new WeakMap,Bs=new WeakMap,$s=new WeakMap,ko=new WeakSet,wc=function(){return V(this).trackSet};var Io,FA=class{constructor(){Ce(this,"id"),Ce(this,"kind"),Ce(this,"label",""),Ce(this,"language",""),Ce(this,"sourceBuffer"),j(this,Io,!1)}addRendition(i,e,t){let r=new QD;return r.src=i,r.codec=e,r.bitrate=t,zD(this,r),r}removeRendition(i){jD(i)}get enabled(){return I(this,Io)}set enabled(i){I(this,Io)!==i&&(Z(this,Io,i),ZD(this))}};Io=new WeakMap;var IA=Bc(globalThis.HTMLMediaElement,"video"),RA=Bc(globalThis.HTMLMediaElement,"audio");function JD(i){if(!(i!=null&&i.prototype))return i;let e=Bc(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return eM(this)}});let t=Bc(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return tM(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new UA;return l.kind=n,l.label=a,l.language=o,D0(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=M0),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new FA;return l.kind=n,l.label=a,l.language=o,U0(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=F0),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=V(n).videoRenditions;return a||(a=new O0,V(a).media=n,V(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=V(n).audioRenditions;return a||(a=new N0,V(a).media=n,V(n).audioRenditions=a),a};return i}function Bc(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function eM(i){var e;let t=V(i).videoTracks;if(!t&&(t=new P0,V(i).videoTracks=t,IA)){let r=IA.call((e=i.nativeEl)!=null?e:i);for(let s of r)D0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof UA)){for(let n of r)M0(n);return}D0(i,s.track)}),r.addEventListener("removetrack",s=>{M0(s.track)})}return t}function tM(i){var e;let t=V(i).audioTracks;if(!t&&(t=new B0,V(i).audioTracks=t,RA)){let r=RA.call((e=i.nativeEl)!=null?e:i);for(let s of r)U0(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof FA)){for(let n of r)F0(n);return}U0(i,s.track)}),r.addEventListener("removetrack",s=>{F0(s.track)})}return t}Hc.push("castchange","entercast","leavecast");var M={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DRM_TOKEN:"drm-token",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",RENDITION_ORDER:"rendition-order",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},iM=Object.values(M),rM=ID(),sM="mux-video",Zi,Ro,Cc,wo,Dc,Mc,Pc,Oc,Co,Nc,nM=class extends _0{constructor(){super(),j(this,Co),j(this,Zi,void 0),j(this,Ro,void 0),j(this,Cc,void 0),j(this,wo,{}),j(this,Dc,void 0),j(this,Mc,void 0),j(this,Pc,void 0),j(this,Oc,void 0),Z(this,Cc,cA())}static get observedAttributes(){var i;return[...iM,...(i=_0.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(M.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?zn.includes(i)?this.setAttribute(M.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(M.PREFER_CMCD))}get playerInitTime(){return I(this,Cc)}get playerSoftwareName(){var i;return(i=I(this,Pc))!=null?i:sM}set playerSoftwareName(i){Z(this,Pc,i)}get playerSoftwareVersion(){var i;return(i=I(this,Mc))!=null?i:rM}set playerSoftwareVersion(i){Z(this,Mc,i)}get _hls(){var i;return(i=I(this,Zi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=hA(this.nativeEl))!=null?i:null}get errorTranslator(){return I(this,Oc)}set errorTranslator(i){Z(this,Oc,i)}get src(){return this.getAttribute("src")}set src(i){i!==this.src&&(i==null?this.removeAttribute("src"):this.setAttribute("src",i))}get type(){var i;return(i=this.getAttribute(M.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(M.TYPE,i):this.removeAttribute(M.TYPE))}get autoplay(){let i=this.getAttribute("autoplay");return i===null?!1:i===""?!0:i}set autoplay(i){let e=this.autoplay;i!==e&&(i?this.setAttribute("autoplay",typeof i=="string"?i:""):this.removeAttribute("autoplay"))}get preload(){let i=this.getAttribute("preload");return i===""?"auto":["none","metadata","auto"].includes(i)?i:super.preload}set preload(i){i!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(i)?this.setAttribute("preload",i):this.removeAttribute("preload"))}get debug(){return this.getAttribute(M.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(M.DEBUG,""):this.removeAttribute(M.DEBUG))}get disableTracking(){return this.hasAttribute(M.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(M.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(M.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(M.DISABLE_COOKIES,""):this.removeAttribute(M.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(M.START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set startTime(i){i!==this.startTime&&(i==null?this.removeAttribute(M.START_TIME):this.setAttribute(M.START_TIME,`${i}`))}get playbackId(){var i;return this.hasAttribute(M.PLAYBACK_ID)?this.getAttribute(M.PLAYBACK_ID):(i=Sc(this.src))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(M.PLAYBACK_ID,i):this.removeAttribute(M.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(M.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(M.MAX_RESOLUTION,i):this.removeAttribute(M.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(M.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(M.MIN_RESOLUTION,i):this.removeAttribute(M.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(M.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(M.RENDITION_ORDER,i):this.removeAttribute(M.RENDITION_ORDER))}get programStartTime(){let i=this.getAttribute(M.PROGRAM_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programStartTime(i){i==null?this.removeAttribute(M.PROGRAM_START_TIME):this.setAttribute(M.PROGRAM_START_TIME,`${i}`)}get programEndTime(){let i=this.getAttribute(M.PROGRAM_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programEndTime(i){i==null?this.removeAttribute(M.PROGRAM_END_TIME):this.setAttribute(M.PROGRAM_END_TIME,`${i}`)}get customDomain(){var i;return(i=this.getAttribute(M.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(M.CUSTOM_DOMAIN,i):this.removeAttribute(M.CUSTOM_DOMAIN))}get drmToken(){var i;return(i=this.getAttribute(M.DRM_TOKEN))!=null?i:void 0}set drmToken(i){i!==this.drmToken&&(i?this.setAttribute(M.DRM_TOKEN,i):this.removeAttribute(M.DRM_TOKEN))}get ended(){return E0(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(M.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(M.ENV_KEY,i):this.removeAttribute(M.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(M.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(M.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(M.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(M.STREAM_TYPE))!=null?i:Tc(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(M.STREAM_TYPE,i):this.removeAttribute(M.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(M.TARGET_LIVE_WINDOW)?+this.getAttribute(M.TARGET_LIVE_WINDOW):fA(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(M.TARGET_LIVE_WINDOW):this.setAttribute(M.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(M.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,r=(i=this.nativeEl.seekable.end(0))!=null?i:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,r-t)}return mA(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(M.LIVE_EDGE_OFFSET))return+this.getAttribute(M.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(M.LIVE_EDGE_OFFSET):this.setAttribute(M.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return yo(this.nativeEl)}async addCuePoints(i){return h0(this.nativeEl,i)}get activeCuePoint(){return f0(this.nativeEl)}get cuePoints(){return nA(this.nativeEl)}async addChapters(i){return p0(this.nativeEl,i)}get activeChapter(){return g0(this.nativeEl)}get chapters(){return oA(this.nativeEl)}getStartDate(){return lA(this.nativeEl,this._hls)}get currentPdt(){return dA(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(M.PREFER_PLAYBACK);if(i===Jt.MSE||i===Jt.NATIVE)return i}set preferPlayback(i){i!==this.preferPlayback&&(i===Jt.MSE||i===Jt.NATIVE?this.setAttribute(M.PREFER_PLAYBACK,i):this.removeAttribute(M.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![M.METADATA_URL].includes(i)).reduce((i,e)=>{let t=this.getAttribute(e);return t!=null&&(i[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),i},{}),...I(this,wo)}}set metadata(i){Z(this,wo,i!=null?i:{}),this.mux&&this.mux.emit("hb",I(this,wo))}get _hlsConfig(){return I(this,Dc)}set _hlsConfig(i){Z(this,Dc,i)}load(){Z(this,Zi,vA(this,this.nativeEl,I(this,Zi)))}unload(){b0(this.nativeEl,I(this,Zi)),Z(this,Zi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(_0.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case M.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case M.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?Fe(this,Co,Nc).call(this):n&&!a?this.unload():n&&a&&(this.unload(),Fe(this,Co,Nc).call(this));break}case"autoplay":if(t===e)break;(r=I(this,Zi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=I(this,Zi))==null||s.setPreload(t);break;case M.PLAYBACK_ID:this.src=_o(this);break;case M.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case M.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case M.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case M.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}connectedCallback(){var i;(i=super.connectedCallback)==null||i.call(this),this.nativeEl&&this.src&&!I(this,Zi)&&Fe(this,Co,Nc).call(this)}disconnectedCallback(){this.unload()}};Zi=new WeakMap,Ro=new WeakMap,Cc=new WeakMap,wo=new WeakMap,Dc=new WeakMap,Mc=new WeakMap,Pc=new WeakMap,Oc=new WeakMap,Co=new WeakSet,Nc=async function(){I(this,Ro)||(await Z(this,Ro,Promise.resolve()),Z(this,Ro,null),this.load())};var Uc,$0=class extends HD(JD(nM)){constructor(){super(...arguments),j(this,Uc,void 0)}get muxCastCustomData(){return{mux:{playbackId:this.playbackId,minResolution:this.minResolution,maxResolution:this.maxResolution,renditionOrder:this.renditionOrder,customDomain:this.customDomain,tokens:{drm:this.drmToken},envKey:this.envKey,metadata:this.metadata,disableCookies:this.disableCookies,disableTracking:this.disableTracking,beaconCollectionDomain:this.beaconCollectionDomain,startTime:this.startTime,preferCmcd:this.preferCmcd}}}get castCustomData(){var i;return(i=I(this,Uc))!=null?i:this.muxCastCustomData}set castCustomData(i){Z(this,Uc,i)}};Uc=new WeakMap;T0.customElements.get("mux-video")||(T0.customElements.define("mux-video",$0),T0.MuxVideoElement=$0);var BA=$0;var aM="en",Ks={code:aM};var $A="en";function de(i,e=!0){var s,n;let t=e&&(n=(s=Ks)==null?void 0:s[i])!=null?n:i,r=e?Ks.code:$A;return new V0(t,r)}var V0=class{constructor(e,t=(r=>(r=Ks.code)!=null?r:$A)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,r)=>{var s;return(s=e[r])!=null?s:""})}toString(){return this.message}};function HA(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${Kc(t)}: ${r}; `)}),e?e.trim():void 0}function Kc(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Vc(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function ti(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function q0(i){let e=oM(i).toString();return e?"?"+e:""}function oM(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}function hr(i){let e=(i!=null?i:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(r)}var Y0=(i,e)=>!i||!e?!1:i.contains(e)?!0:Y0(i,e.getRootNode().host);var GA="mux.com",lM=()=>{try{return"2.9.1"}catch{}return"UNKNOWN"},dM=lM(),Yc=()=>dM,WA=(i,{token:e,customDomain:t=GA,thumbnailTime:r,programTime:s}={})=>{let n=e==null?r:void 0,{aud:a}=hr(e);if(!(e&&a!=="t"))return`https://image.${t}/${i}/thumbnail.webp${q0({token:e,time:n,program_time:s})}`},KA=(i,{token:e,customDomain:t=GA,programStartTime:r,programEndTime:s}={})=>{let{aud:n}=hr(e);if(!(e&&n!=="s"))return`https://image.${t}/${i}/storyboard.vtt${q0({token:e,format:"webp",program_start_time:r,program_end_time:s})}`},Do=i=>{if(i){if([ye.LIVE,ye.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return ye.LIVE}};var uM={crossorigin:"crossOrigin",playsinline:"playsInline"};function VA(i){var e;return(e=uM[i])!=null?e:Vc(i)}var Vs,qs,kt,qc=class{constructor(e,t){qe(this,Vs,void 0);qe(this,qs,void 0);qe(this,kt,[]);Wt(this,Vs,e),Wt(this,qs,t)}[Symbol.iterator](){return fe(this,kt).values()}get length(){return fe(this,kt).length}get value(){var e;return(e=fe(this,kt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Wt(this,kt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return fe(this,kt)[e]}values(){return fe(this,kt).values()}keys(){return fe(this,kt).keys()}forEach(e){fe(this,kt).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||fe(this,kt).push(s)}),!(this.value===""&&!((t=fe(this,Vs))!=null&&t.hasAttribute(`${fe(this,qs)}`)))&&((r=fe(this,Vs))==null||r.setAttribute(`${fe(this,qs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{fe(this,kt).splice(fe(this,kt).indexOf(r),1)}),(t=fe(this,Vs))==null||t.setAttribute(`${fe(this,qs)}`,`${this.value}`)}contains(e){return fe(this,kt).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};Vs=new WeakMap,qs=new WeakMap,kt=new WeakMap;var qA=`[mux-player ${Yc()}]`;function Ji(...i){console.warn(qA,...i)}function Ot(...i){console.error(qA,...i)}function z0(i){var t;let e=(t=i.message)!=null?t:"";if(i.context&&(e+=` ${i.context}`),i.file){let r="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${de("Read more: ")}
1647
+ ${r}${i.file}`}Ji(e)}var xt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},Ys={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},zA=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),cM=Hc.filter(i=>i!=="error"),hM=Object.values(xt).filter(i=>![xt.PLAYSINLINE].includes(i)),fM=Object.values(Ys),ea,j0=class extends $e.HTMLElement{constructor(){super();qe(this,ea,new WeakMap);let t=s=>{for(let n of s)n.type==="childList"&&(n.removedNodes.forEach(a=>{var o;(o=fe(this,ea).get(a))==null||o.remove()}),n.addedNodes.forEach(a=>{var l;let o=a;o!=null&&o.slot||(l=this.media)==null||l.append(jA(fe(this,ea),a))}))};new MutationObserver(t).observe(this,{childList:!0,subtree:!0})}static get observedAttributes(){return[...hM,...fM]}init(){this.querySelectorAll(":scope > :not([slot])").forEach(t=>{var r;(r=this.media)==null||r.append(jA(fe(this,ea),t))}),cM.forEach(t=>{var r;(r=this.media)==null||r.addEventListener(t,s=>{this.dispatchEvent(new Event(s.type))})})}attributeChangedCallback(t,r,s){var n,a;switch(t){case Ys.MUTED:{this.media&&(this.media.muted=s!=null,this.media.defaultMuted=s!=null);return}case Ys.VOLUME:{let o=(n=ti(s))!=null?n:1;this.media&&(this.media.volume=o);return}case Ys.PLAYBACKRATE:{let o=(a=ti(s))!=null?a:1;this.media&&(this.media.playbackRate=o,this.media.defaultPlaybackRate=o);return}}}play(){var t,r;return(r=(t=this.media)==null?void 0:t.play())!=null?r:Promise.reject()}pause(){var t;(t=this.media)==null||t.pause()}load(){var t;(t=this.media)==null||t.load()}requestCast(t){var r;return(r=this.media)==null?void 0:r.requestCast(t)}get media(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var t,r;return(r=(t=this.media)==null?void 0:t.paused)!=null?r:!0}get duration(){var t,r;return(r=(t=this.media)==null?void 0:t.duration)!=null?r:NaN}get ended(){var t,r;return(r=(t=this.media)==null?void 0:t.ended)!=null?r:!1}get buffered(){var t,r;return(r=(t=this.media)==null?void 0:t.buffered)!=null?r:zA}get seekable(){var t,r;return(r=(t=this.media)==null?void 0:t.seekable)!=null?r:zA}get readyState(){var t,r;return(r=(t=this.media)==null?void 0:t.readyState)!=null?r:0}get videoWidth(){var t,r;return(r=(t=this.media)==null?void 0:t.videoWidth)!=null?r:0}get videoHeight(){var t,r;return(r=(t=this.media)==null?void 0:t.videoHeight)!=null?r:0}get currentSrc(){var t,r;return(r=(t=this.media)==null?void 0:t.currentSrc)!=null?r:""}get currentTime(){var t,r;return(r=(t=this.media)==null?void 0:t.currentTime)!=null?r:0}set currentTime(t){this.media&&(this.media.currentTime=Number(t))}get volume(){var t,r;return(r=(t=this.media)==null?void 0:t.volume)!=null?r:1}set volume(t){this.media&&(this.media.volume=Number(t))}get playbackRate(){var t,r;return(r=(t=this.media)==null?void 0:t.playbackRate)!=null?r:1}set playbackRate(t){this.media&&(this.media.playbackRate=Number(t))}get defaultPlaybackRate(){var t;return(t=ti(this.getAttribute(Ys.PLAYBACKRATE)))!=null?t:1}set defaultPlaybackRate(t){t!=null?this.setAttribute(Ys.PLAYBACKRATE,`${t}`):this.removeAttribute(Ys.PLAYBACKRATE)}get crossOrigin(){return Mo(this,xt.CROSSORIGIN)}set crossOrigin(t){this.setAttribute(xt.CROSSORIGIN,`${t}`)}get autoplay(){return Mo(this,xt.AUTOPLAY)!=null}set autoplay(t){t?this.setAttribute(xt.AUTOPLAY,typeof t=="string"?t:""):this.removeAttribute(xt.AUTOPLAY)}get loop(){return Mo(this,xt.LOOP)!=null}set loop(t){t?this.setAttribute(xt.LOOP,""):this.removeAttribute(xt.LOOP)}get muted(){var t,r;return(r=(t=this.media)==null?void 0:t.muted)!=null?r:!1}set muted(t){this.media&&(this.media.muted=!!t)}get defaultMuted(){return Mo(this,xt.MUTED)!=null}set defaultMuted(t){t?this.setAttribute(xt.MUTED,""):this.removeAttribute(xt.MUTED)}get playsInline(){return Mo(this,xt.PLAYSINLINE)!=null}set playsInline(t){Ot("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(t){["","none","metadata","auto"].includes(t)?this.setAttribute(xt.PRELOAD,t):this.removeAttribute(xt.PRELOAD)}};ea=new WeakMap;function Mo(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}function jA(i,e){let t=i.get(e);return t||(t=e.cloneNode(),i.set(e,t)),t}var X0=j0;var mM=Object.defineProperty,pM=(i,e,t)=>e in i?mM(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,gM=(i,e,t)=>(pM(i,typeof e!="symbol"?e+"":e,t),t),e1=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ue=(i,e,t)=>(e1(i,e,"read from private field"),t?t.call(i):e.get(i)),er=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fr=(i,e,t,r)=>(e1(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ta,zc,zs,Po,Gr,Wr,Kr,js,ia,jc,Ti,XA=1,QA=0,vM=1,EM={processCallback(i,e,t){if(t){for(let[r,s]of e)if(r in t){let n=t[r];typeof n=="boolean"&&s instanceof It&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof It?s.element[s.attributeName]=n:s.value=n}}}},mr=class extends _.DocumentFragment{constructor(e,t,r=EM){var s;super(),er(this,ta,void 0),er(this,zc,void 0),this.append(e.content.cloneNode(!0)),fr(this,ta,t1(this)),fr(this,zc,r),(s=r.createCallback)==null||s.call(r,this,ue(this,ta),t),r.processCallback(this,ue(this,ta),t)}update(e){ue(this,zc).processCallback(this,ue(this,ta),e)}};ta=new WeakMap;zc=new WeakMap;var t1=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new Q0;for([t,r]of JA(s.value))if(!t)n.append(r);else{let a=new It(i,s.name,s.namespaceURI);n.append(a),e.push([r,a])}s.value=n.toString()}for(let s of i.childNodes)if(s.nodeType===XA&&!(s instanceof HTMLTemplateElement))t1(s,e);else if(s.nodeType===XA||s.data.includes("{{")){let n=[];if(s.data)for([t,r]of JA(s.data))if(!t)n.push(new Text(r));else{let a=new pr(i);n.push(a),e.push([r,a])}else if(s instanceof HTMLTemplateElement){let a=new Oo(i,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},ZA={},JA=i=>{let e="",t=0,r=ZA[i],s=0,n;if(r)return r;for(r=[];n=i[s];s++)n==="{"&&i[s+1]==="{"&&i[s-1]!=="\\"&&i[s+2]&&++t==1?(e&&r.push([QA,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([vM,e.trim()]),e="",s++):e+=n||"";return e&&r.push([QA,(t>0?"{{":"")+e]),ZA[i]=r},bM=11,Xc=class{get value(){return""}set value(e){}toString(){return this.value}},i1=new WeakMap,Q0=class{constructor(){er(this,zs,[])}[Symbol.iterator](){return ue(this,zs).values()}get length(){return ue(this,zs).length}item(e){return ue(this,zs)[e]}append(...e){for(let t of e)t instanceof It&&i1.set(t,this),ue(this,zs).push(t)}toString(){return ue(this,zs).join("")}};zs=new WeakMap;var It=class extends Xc{constructor(e,t,r){super(),er(this,js),er(this,Po,""),er(this,Gr,void 0),er(this,Wr,void 0),er(this,Kr,void 0),fr(this,Gr,e),fr(this,Wr,t),fr(this,Kr,r)}get attributeName(){return ue(this,Wr)}get attributeNamespace(){return ue(this,Kr)}get element(){return ue(this,Gr)}get value(){return ue(this,Po)}set value(e){ue(this,Po)!==e&&(fr(this,Po,e),!ue(this,js,ia)||ue(this,js,ia).length===1?e==null?ue(this,Gr).removeAttributeNS(ue(this,Kr),ue(this,Wr)):ue(this,Gr).setAttributeNS(ue(this,Kr),ue(this,Wr),e):ue(this,Gr).setAttributeNS(ue(this,Kr),ue(this,Wr),ue(this,js,ia)))}get booleanValue(){return ue(this,Gr).hasAttributeNS(ue(this,Kr),ue(this,Wr))}set booleanValue(e){if(!ue(this,js,ia)||ue(this,js,ia).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};Po=new WeakMap;Gr=new WeakMap;Wr=new WeakMap;Kr=new WeakMap;js=new WeakSet;ia=function(){return i1.get(this)};var pr=class extends Xc{constructor(e,t){super(),er(this,jc,void 0),er(this,Ti,void 0),fr(this,jc,e),fr(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return ue(this,Ti)}get parentNode(){return ue(this,jc)}get nextSibling(){return ue(this,Ti)[ue(this,Ti).length-1].nextSibling}get previousSibling(){return ue(this,Ti)[0].previousSibling}get value(){return ue(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(r=>r==null?[new Text]:r.forEach?[...r]:r.nodeType===bM?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),fr(this,Ti,yM(ue(this,Ti)[0].parentNode,ue(this,Ti),t,this.nextSibling))}};jc=new WeakMap;Ti=new WeakMap;var Oo=class extends pr{constructor(e,t){let r=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(r)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),gM(this,"directive"),this.expression=s,this.template=t,this.directive=r}};function yM(i,e,t,r=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)r=t[--d,--l];if(s==d)for(;s<l;)i.insertBefore(t[s++],r);if(s==l)for(;s<d;)i.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:r,n==o?n=a:s<l&&t[s]==a?(i.replaceChild(o,n),n=a):i.insertBefore(o,n);for(;n!=r;)a=n.nextSibling,i.removeChild(n),n=a}return t}var r1={string:i=>String(i)},Zc=class{constructor(e){this.template=e,this.state=void 0}},Xs=new WeakMap,Qs=new WeakMap,Z0={partial:(i,e)=>{e[i.expression]=new Zc(i.template)},if:(i,e)=>{var t;if(n1(i.expression,e))if(Xs.get(i)!==i.template){Xs.set(i,i.template);let r=new mr(i.template,e,Jc);i.replace(r),Qs.set(i,r)}else(t=Qs.get(i))==null||t.update(e);else i.replace(""),Xs.delete(i),Qs.delete(i)}},TM=Object.keys(Z0),Jc={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof Oo){if(!a.directive){let l=TM.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=Z0[a.directive])==null||r.call(Z0,a,t);continue}let o=n1(n,t);if(o instanceof Zc){Xs.get(a)!==o.template?(Xs.set(a,o.template),o=new mr(o.template,o.state,Jc),a.value=o,Qs.set(a,o)):(s=Qs.get(a))==null||s.update(o.state);continue}o?(a instanceof It&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof It?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,Xs.delete(a),Qs.delete(a))):a instanceof It?a.value=void 0:(a.value=void 0,Xs.delete(a),Qs.delete(a))}}},s1={"!":i=>!i,"!!":i=>!!i,"==":(i,e)=>i==e,"!=":(i,e)=>i!=e,">":(i,e)=>i>e,">=":(i,e)=>i>=e,"<":(i,e)=>i<e,"<=":(i,e)=>i<=e,"??":(i,e)=>i!=null?i:e,"|":(i,e)=>{var t;return(t=r1[e])==null?void 0:t.call(r1,i)}};function _M(i){return AM(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function n1(i,e={}){var t,r,s,n,a,o,l;let d=_M(i);if(d.length===0||d.some(({type:u})=>!u))return No(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return No(i);let c={...e};u.state=c;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let m=(s=h[f])==null?void 0:s.token,p=(n=h[f+1])==null?void 0:n.token,g=(a=h[f+2])==null?void 0:a.token;m&&p==="="&&(c[m]=Uo(g,e))}return u}if(d.length===1)return Qc(d[0])?Uo(d[0].token,e):No(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=s1[u];if(!c||!Qc(d[1]))return No(i);let h=Uo(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=s1[u];if(!c||!Qc(d[0])||!Qc(d[2]))return No(i);let h=Uo(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=Uo(d[2].token,e);return c(h,f)}}function No(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function Qc({type:i}){return["number","boolean","string","param"].includes(i)}function Uo(i,e){let t=i[0],r=i.slice(-1);return i==="true"||i==="false"?i==="true":t===r&&["'",'"'].includes(t)?i.slice(1,-1):jo(i)?parseFloat(i):e[i]}function AM(i,e){let t,r,s,n=[];for(;i;){s=null,t=i.length;for(let a in e)r=e[a].exec(i),r&&r.index<t&&(s={token:r[0],type:a,matches:r.slice(1)},t=r.index);t&&n.push({token:i.substr(0,t),type:void 0}),s&&n.push(s),i=i.substr(t+(s?s.token.length:0))}return n}var SM=Object.defineProperty,xM=(i,e,t)=>e in i?SM(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Bo=(i,e,t)=>(xM(i,typeof e!="symbol"?e+"":e,t),t),sv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},tv=(i,e,t)=>(sv(i,e,"read from private field"),t?t.call(i):e.get(i)),Fo=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Zs=(i,e,t,r)=>(sv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),J0=(i,e,t)=>(sv(i,e,"access private method"),t),ra,eh,sa,iv,a1,th,rv,ev={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},o1=O.createElement("template");o1.innerHTML=`
1648
1648
  <style>
1649
1649
  :host {
1650
1650
  display: inline-block;
@@ -1668,7 +1668,7 @@ ${r}${i.file}`}Hr(e)}var xt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:
1668
1668
  display: none;
1669
1669
  }
1670
1670
  </style>
1671
- `;var Vr=class extends _.HTMLElement{constructor(){super(),Fo(this,ev),Fo(this,Jc),Bo(this,"renderRoot"),Bo(this,"renderer"),Fo(this,ra,void 0),Fo(this,Zc,void 0),Fo(this,sa,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var r;this.mediaController&&!((r=this.mediaController)!=null&&r.breakpointsComputed)||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(Z0[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(tr.BREAKPOINTS_COMPUTED,this.render),Q0(this,ev,s1).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=J0(this,ra))!=null?e:this.constructor.template}set template(e){Zs(this,sa,null),Zs(this,ra,e),this.createRenderer()}get props(){var e,t,r;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>Z0[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=Z0[a.name])!=null?r:Lv(a.name),{value:l}=a;l!=null?(jo(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&Q0(this,Jc,tv).call(this)}connectedCallback(){Q0(this,Jc,tv).call(this)}createRenderer(){this.template&&this.template!==J0(this,Zc)&&(Zs(this,Zc,this.template),this.renderer=new hr(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(n1.content.cloneNode(!0),this.renderer))}render(){var e;(e=this.renderer)==null||e.update(this.props)}};ra=new WeakMap;Zc=new WeakMap;sa=new WeakMap;ev=new WeakSet;s1=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};Jc=new WeakSet;tv=function(){var i;let e=this.getAttribute("template");if(!e||e===J0(this,sa))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){Zs(this,sa,e),Zs(this,ra,r),this.createRenderer();return}AM(e)&&(Zs(this,sa,e),SM(e).then(s=>{let n=O.createElement("template");n.innerHTML=s,Zs(this,ra,n),this.createRenderer()}).catch(console.error))};Bo(Vr,"template");Bo(Vr,"observedAttributes",["template"]);Bo(Vr,"processor",Qc);function AM(i){if(!/^(\/|\.\/|https?:\/\/)/.test(i))return!1;let e=/^https?:\/\//.test(i)?void 0:location.origin;try{new URL(i,e)}catch{return!1}return!0}async function SM(i){let e=await fetch(i);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}_.customElements.get("media-theme")||_.customElements.define("media-theme",Vr);var a1=`:host {
1671
+ `;var Vr=class extends _.HTMLElement{constructor(){super(),Fo(this,iv),Fo(this,th),Bo(this,"renderRoot"),Bo(this,"renderer"),Fo(this,ra,void 0),Fo(this,eh,void 0),Fo(this,sa,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var r;this.mediaController&&!((r=this.mediaController)!=null&&r.breakpointsComputed)||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(ev[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(ir.BREAKPOINTS_COMPUTED,this.render),J0(this,iv,a1).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=tv(this,ra))!=null?e:this.constructor.template}set template(e){Zs(this,sa,null),Zs(this,ra,e),this.createRenderer()}get props(){var e,t,r;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>ev[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=ev[a.name])!=null?r:Iv(a.name),{value:l}=a;l!=null?(jo(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&J0(this,th,rv).call(this)}connectedCallback(){J0(this,th,rv).call(this)}createRenderer(){this.template&&this.template!==tv(this,eh)&&(Zs(this,eh,this.template),this.renderer=new mr(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(o1.content.cloneNode(!0),this.renderer))}render(){var e;(e=this.renderer)==null||e.update(this.props)}};ra=new WeakMap;eh=new WeakMap;sa=new WeakMap;iv=new WeakSet;a1=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};th=new WeakSet;rv=function(){var i;let e=this.getAttribute("template");if(!e||e===tv(this,sa))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){Zs(this,sa,e),Zs(this,ra,r),this.createRenderer();return}LM(e)&&(Zs(this,sa,e),kM(e).then(s=>{let n=O.createElement("template");n.innerHTML=s,Zs(this,ra,n),this.createRenderer()}).catch(console.error))};Bo(Vr,"template");Bo(Vr,"observedAttributes",["template"]);Bo(Vr,"processor",Jc);function LM(i){if(!/^(\/|\.\/|https?:\/\/)/.test(i))return!1;let e=/^https?:\/\//.test(i)?void 0:location.origin;try{new URL(i,e)}catch{return!1}return!0}async function kM(i){let e=await fetch(i);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}_.customElements.get("media-theme")||_.customElements.define("media-theme",Vr);var l1=`:host {
1672
1672
  --media-control-display: var(--controls);
1673
1673
  --media-loading-indicator-display: var(--loading-indicator);
1674
1674
  --media-dialog-display: var(--dialog);
@@ -1815,7 +1815,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1815
1815
  --media-duration-display-display: var(--duration-display, var(--bottom-duration-display));
1816
1816
  --media-title-display-display: var(--title-display, var(--bottom-title-display));
1817
1817
  }
1818
- `;var l1=`
1818
+ `;var u1=`
1819
1819
  :host {
1820
1820
  z-index: 100;
1821
1821
  display: var(--media-dialog-display, flex);
@@ -1867,17 +1867,17 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1867
1867
  text-align: center;
1868
1868
  line-height: 1.4;
1869
1869
  }
1870
- `,d1=Ut.createElement("template");d1.innerHTML=`
1870
+ `,c1=Ft.createElement("template");c1.innerHTML=`
1871
1871
  <style>
1872
- ${l1}
1872
+ ${u1}
1873
1873
  </style>
1874
1874
 
1875
1875
  <div class="dialog">
1876
1876
  <slot></slot>
1877
1877
  </div>
1878
- `;var qr=class extends $e.HTMLElement{constructor(){var t;super();this.attachShadow({mode:"open"}),(t=this.shadowRoot)==null||t.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),o1(this)}close(){this.hasAttribute("open")&&(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),LM(this))}attributeChangedCallback(t,r,s){t==="open"&&r!==s&&(s!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&o1(this)}};qr.styles=l1,qr.template=d1,qr.observedAttributes=["open"];function o1(i){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(i.dispatchEvent(e),e.defaultPrevented)return;let t=i.querySelector("[autofocus]:not([disabled])");!t&&i.tabIndex>=0&&(t=i),t||(t=u1(i.shadowRoot)),i._previouslyFocusedElement=Ut.activeElement,Ut.activeElement instanceof HTMLElement&&Ut.activeElement.blur(),i.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function u1(i){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let r=i==null?void 0:i.querySelector(t.join(", "));if(!r&&"attachShadow"in Element.prototype){let s=(i==null?void 0:i.querySelectorAll("*"))||[];for(let n=0;n<s.length&&!(s[n].tagName&&s[n].shadowRoot&&(r=u1(s[n].shadowRoot),r));n++);}return r}function LM(i){i._previouslyFocusedElement instanceof HTMLElement&&i._previouslyFocusedElement.focus()}$e.customElements.get("media-dialog")||($e.customElements.define("media-dialog",qr),$e.MediaDialog=qr);var rv=qr;var c1=Ut.createElement("template");c1.innerHTML=`
1878
+ `;var qr=class extends $e.HTMLElement{constructor(){var t;super();this.attachShadow({mode:"open"}),(t=this.shadowRoot)==null||t.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),d1(this)}close(){this.hasAttribute("open")&&(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),RM(this))}attributeChangedCallback(t,r,s){t==="open"&&r!==s&&(s!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&d1(this)}};qr.styles=u1,qr.template=c1,qr.observedAttributes=["open"];function d1(i){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(i.dispatchEvent(e),e.defaultPrevented)return;let t=i.querySelector("[autofocus]:not([disabled])");!t&&i.tabIndex>=0&&(t=i),t||(t=h1(i.shadowRoot)),i._previouslyFocusedElement=Ft.activeElement,Ft.activeElement instanceof HTMLElement&&Ft.activeElement.blur(),i.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function h1(i){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let r=i==null?void 0:i.querySelector(t.join(", "));if(!r&&"attachShadow"in Element.prototype){let s=(i==null?void 0:i.querySelectorAll("*"))||[];for(let n=0;n<s.length&&!(s[n].tagName&&s[n].shadowRoot&&(r=h1(s[n].shadowRoot),r));n++);}return r}function RM(i){i._previouslyFocusedElement instanceof HTMLElement&&i._previouslyFocusedElement.focus()}$e.customElements.get("media-dialog")||($e.customElements.define("media-dialog",qr),$e.MediaDialog=qr);var nv=qr;var f1=Ft.createElement("template");f1.innerHTML=`
1879
1879
  <style>
1880
- ${rv.styles}
1880
+ ${nv.styles}
1881
1881
 
1882
1882
  .close {
1883
1883
  background: none;
@@ -1906,23 +1906,23 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1906
1906
  </svg>
1907
1907
  </button>
1908
1908
  </slot>
1909
- `;var $o=class extends rv{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};$o.template=c1;$e.customElements.get("mxp-dialog")||($e.customElements.define("mxp-dialog",$o),$e.MxpDialog=$o);var Ho=new WeakMap,nv=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=Ho.get(this.element);r&&r.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=Ho.get(this.element);t&&t.delete(this.type)}}static for(e){Ho.has(e.element)||Ho.set(e.element,new Map);let t=e.attributeName.slice(2),r=Ho.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function kM(i,e){return i instanceof It&&i.attributeName.startsWith("on")?(nv.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function IM(i,e){return e instanceof eh&&i instanceof fr?(e.renderInto(i),!0):!1}function RM(i,e){return e instanceof DocumentFragment&&i instanceof fr?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function wM(i,e){if(i instanceof It){let t=i.attributeNamespace,r=i.element.getAttributeNS(t,i.attributeName);return String(e)!==r&&(i.value=String(e)),!0}return i.value=String(e),!0}function CM(i,e){if(i instanceof It&&e instanceof Element){let t=i.element;return t[i.attributeName]!==e&&(i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),t[i.attributeName]=e),!0}return!1}function DM(i,e){if(typeof e=="boolean"&&i instanceof It){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function MM(i,e){return e===!1&&i instanceof fr?(i.replace(""),!0):!1}function PM(i,e){CM(i,e)||DM(i,e)||kM(i,e)||MM(i,e)||IM(i,e)||RM(i,e)||wM(i,e)}var sv=new Map,h1=new WeakMap,f1=new WeakMap,eh=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(sv.has(this.stringsKey))return sv.get(this.stringsKey);{let e=Ut.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n<t?`{{ ${n} }}`:""),""),sv.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(h1.get(e)!==t){h1.set(e,t);let n=new hr(t,this.values,this.processor);f1.set(e,n),e instanceof fr?e.replace(...n.children):e.appendChild(n);return}let r=f1.get(e);(s=r==null?void 0:r.update)==null||s.call(r,this.values)}},OM={processCallback(i,e,t){var r;if(t){for(let[s,n]of e)if(s in t){let a=(r=t[s])!=null?r:"";PM(n,a)}}}};function mr(i,...e){return new eh(i,e,OM)}function m1(i,e){i.renderInto(e)}var NM=i=>{let{tokens:e}=i;return e.drm?":host { --_cast-button-drm-display: none; }":""},p1=i=>mr`
1909
+ `;var $o=class extends nv{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};$o.template=f1;$e.customElements.get("mxp-dialog")||($e.customElements.define("mxp-dialog",$o),$e.MxpDialog=$o);var Ho=new WeakMap,ov=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=Ho.get(this.element);r&&r.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=Ho.get(this.element);t&&t.delete(this.type)}}static for(e){Ho.has(e.element)||Ho.set(e.element,new Map);let t=e.attributeName.slice(2),r=Ho.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function wM(i,e){return i instanceof It&&i.attributeName.startsWith("on")?(ov.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function CM(i,e){return e instanceof ih&&i instanceof pr?(e.renderInto(i),!0):!1}function DM(i,e){return e instanceof DocumentFragment&&i instanceof pr?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function MM(i,e){if(i instanceof It){let t=i.attributeNamespace,r=i.element.getAttributeNS(t,i.attributeName);return String(e)!==r&&(i.value=String(e)),!0}return i.value=String(e),!0}function PM(i,e){if(i instanceof It&&e instanceof Element){let t=i.element;return t[i.attributeName]!==e&&(i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),t[i.attributeName]=e),!0}return!1}function OM(i,e){if(typeof e=="boolean"&&i instanceof It){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function NM(i,e){return e===!1&&i instanceof pr?(i.replace(""),!0):!1}function UM(i,e){PM(i,e)||OM(i,e)||wM(i,e)||NM(i,e)||CM(i,e)||DM(i,e)||MM(i,e)}var av=new Map,m1=new WeakMap,p1=new WeakMap,ih=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(av.has(this.stringsKey))return av.get(this.stringsKey);{let e=Ft.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n<t?`{{ ${n} }}`:""),""),av.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(m1.get(e)!==t){m1.set(e,t);let n=new mr(t,this.values,this.processor);p1.set(e,n),e instanceof pr?e.replace(...n.children):e.appendChild(n);return}let r=p1.get(e);(s=r==null?void 0:r.update)==null||s.call(r,this.values)}},FM={processCallback(i,e,t){var r;if(t){for(let[s,n]of e)if(s in t){let a=(r=t[s])!=null?r:"";UM(n,a)}}}};function gr(i,...e){return new ih(i,e,FM)}function g1(i,e){i.renderInto(e)}var BM=i=>{let{tokens:e}=i;return e.drm?":host { --_cast-button-drm-display: none; }":""},v1=i=>gr`
1910
1910
  <style>
1911
- ${NM(i)}
1912
- ${a1}
1911
+ ${BM(i)}
1912
+ ${l1}
1913
1913
  </style>
1914
- ${$M(i)}
1915
- `,UM=i=>{let e=i.hotKeys?`${i.hotKeys}`:"";return Do(i.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},FM={TOP:"top",CENTER:"center",BOTTOM:"bottom",LAYER:"layer",MEDIA_LAYER:"media-layer",POSTER_LAYER:"poster-layer",VERTICAL_LAYER:"vertical-layer",CENTERED_LAYER:"centered-layer",GESTURE_LAYER:"gesture-layer",CONTROLLER_LAYER:"controller",BUTTON:"button",RANGE:"range",DISPLAY:"display",CONTROL_BAR:"control-bar",SELECTMENU:"selectmenu",LISTBOX:"listbox",OPTION:"option",POSTER:"poster",LIVE:"live",PLAY:"play",PRE_PLAY:"pre-play",SEEK_BACKWARD:"seek-backward",SEEK_FORWARD:"seek-forward",MUTE:"mute",CAPTIONS:"captions",AIRPLAY:"airplay",PIP:"pip",FULLSCREEN:"fullscreen",CAST:"cast",PLAYBACK_RATE:"playback-rate",VOLUME:"volume",TIME:"time",TITLE:"title",AUDIO_TRACK:"audio-track",RENDITION:"rendition"},BM=Object.values(FM).join(", "),$M=i=>{var e,t,r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,T,y,S,A,L,x,w,P,k,D,U,F,z,j,K,se,oe,W,G,ne,Q;return mr`
1914
+ ${WM(i)}
1915
+ `,$M=i=>{let e=i.hotKeys?`${i.hotKeys}`:"";return Do(i.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},HM={TOP:"top",CENTER:"center",BOTTOM:"bottom",LAYER:"layer",MEDIA_LAYER:"media-layer",POSTER_LAYER:"poster-layer",VERTICAL_LAYER:"vertical-layer",CENTERED_LAYER:"centered-layer",GESTURE_LAYER:"gesture-layer",CONTROLLER_LAYER:"controller",BUTTON:"button",RANGE:"range",DISPLAY:"display",CONTROL_BAR:"control-bar",SELECTMENU:"selectmenu",LISTBOX:"listbox",OPTION:"option",POSTER:"poster",LIVE:"live",PLAY:"play",PRE_PLAY:"pre-play",SEEK_BACKWARD:"seek-backward",SEEK_FORWARD:"seek-forward",MUTE:"mute",CAPTIONS:"captions",AIRPLAY:"airplay",PIP:"pip",FULLSCREEN:"fullscreen",CAST:"cast",PLAYBACK_RATE:"playback-rate",VOLUME:"volume",TIME:"time",TITLE:"title",AUDIO_TRACK:"audio-track",RENDITION:"rendition"},GM=Object.values(HM).join(", "),WM=i=>{var e,t,r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,T,y,S,A,L,x,w,P,k,D,U,F,z,X,K,se,oe,W,G,ne,Q;return gr`
1916
1916
  <media-theme
1917
1917
  template="${i.themeTemplate||!1}"
1918
1918
  defaultstreamtype="${(e=i.defaultStreamType)!=null?e:!1}"
1919
- hotkeys="${UM(i)||!1}"
1919
+ hotkeys="${$M(i)||!1}"
1920
1920
  nohotkeys="${i.noHotKeys||!i.hasSrc||i.isDialogOpen||!1}"
1921
1921
  noautoseektolive="${!!((t=i.streamType)!=null&&t.includes(ye.LIVE))&&i.targetLiveWindow!==0}"
1922
1922
  novolumepref="${i.novolumepref||!1}"
1923
1923
  disabled="${!i.hasSrc||i.isDialogOpen}"
1924
1924
  audio="${(r=i.audio)!=null?r:!1}"
1925
- style="${(s=BA({"--media-primary-color":i.primaryColor,"--media-secondary-color":i.secondaryColor,"--media-accent-color":i.accentColor}))!=null?s:!1}"
1925
+ style="${(s=HA({"--media-primary-color":i.primaryColor,"--media-secondary-color":i.secondaryColor,"--media-accent-color":i.accentColor}))!=null?s:!1}"
1926
1926
  defaultsubtitles="${!i.defaultHiddenCaptions}"
1927
1927
  forwardseekoffset="${(n=i.forwardSeekOffset)!=null?n:!1}"
1928
1928
  backwardseekoffset="${(a=i.backwardSeekOffset)!=null?a:!1}"
@@ -1931,7 +1931,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1931
1931
  defaultduration="${(d=i.defaultDuration)!=null?d:!1}"
1932
1932
  hideduration="${(u=i.hideDuration)!=null?u:!1}"
1933
1933
  title="${(c=i.title)!=null?c:!1}"
1934
- exportparts="${BM}"
1934
+ exportparts="${GM}"
1935
1935
  >
1936
1936
  <mux-video
1937
1937
  slot="media"
@@ -1956,16 +1956,17 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1956
1956
  custom-domain="${(U=i.customDomain)!=null?U:!1}"
1957
1957
  src="${i.src?i.src:i.playbackId?_o(i):!1}"
1958
1958
  cast-src="${i.src?i.src:i.playbackId?_o(i):!1}"
1959
- drm-token="${(z=(F=i.tokens)==null?void 0:F.drm)!=null?z:!1}"
1959
+ cast-receiver="${(F=i.castReceiver)!=null?F:!1}"
1960
+ drm-token="${(X=(z=i.tokens)==null?void 0:z.drm)!=null?X:!1}"
1960
1961
  exportparts="video"
1961
1962
  >
1962
- ${i.storyboard?mr`<track label="thumbnails" default kind="metadata" src="${i.storyboard}" />`:mr``}
1963
+ ${i.storyboard?gr`<track label="thumbnails" default kind="metadata" src="${i.storyboard}" />`:gr``}
1963
1964
  </mux-video>
1964
1965
  <slot name="poster" slot="poster">
1965
1966
  <media-poster-image
1966
1967
  part="poster"
1967
1968
  exportparts="poster, img"
1968
- src="${i.poster===""?!1:(j=i.poster)!=null?j:!1}"
1969
+ src="${i.poster?i.poster:!1}"
1969
1970
  placeholdersrc="${(K=i.placeholder)!=null?K:!1}"
1970
1971
  ></media-poster-image>
1971
1972
  </slot>
@@ -1975,20 +1976,20 @@ media-poster-image:not([src]):not([placeholdersrc]) {
1975
1976
  onclose="${i.onCloseErrorDialog}"
1976
1977
  oninitfocus="${i.onInitFocusDialog}"
1977
1978
  >
1978
- ${(oe=i.dialog)!=null&&oe.title?mr`<h3>${i.dialog.title}</h3>`:mr``}
1979
+ ${(oe=i.dialog)!=null&&oe.title?gr`<h3>${i.dialog.title}</h3>`:gr``}
1979
1980
  <p>
1980
1981
  ${(W=i.dialog)==null?void 0:W.message}
1981
- ${(G=i.dialog)!=null&&G.linkUrl?mr`<a
1982
+ ${(G=i.dialog)!=null&&G.linkUrl?gr`<a
1982
1983
  href="${i.dialog.linkUrl}"
1983
1984
  target="_blank"
1984
1985
  rel="external noopener"
1985
- aria-label="${(ne=i.dialog.linkText)!=null?ne:""} ${ce("(opens in a new window)")}"
1986
+ aria-label="${(ne=i.dialog.linkText)!=null?ne:""} ${de("(opens in a new window)")}"
1986
1987
  >${(Q=i.dialog.linkText)!=null?Q:i.dialog.linkUrl}</a
1987
- >`:mr``}
1988
+ >`:gr``}
1988
1989
  </p>
1989
1990
  </mxp-dialog>
1990
1991
  </media-theme>
1991
- `};function th(i,e,t,r,s){var o,l,d;let n={},a={};switch(i.code){case bt.MEDIA_ERR_NETWORK:{switch(n.title=ce("Network Error",s),n.message=i.message,(o=i.data)==null?void 0:o.response.code){case 412:{n.title=ce("Video is not currently available",s),n.message=ce("The live stream or video file are not yet ready.",s),a.message=ce("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",s),a.file="412-not-playable.md";break}case 404:{n.title=ce("Video does not exist",s),n.message="",a.message=ce("This playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",s),a.file="404-not-found.md";break}case 403:{if(n.title=ce("Invalid playback URL",s),n.message=ce("The video URL or playback-token are formatted with incorrect or incomplete information.",s),a.message=ce("403 error trying to access this playback URL. If this is a signed URL, you might need to provide a playback-token.",s),a.file="missing-signed-tokens.md",!r)break;let{exp:u,aud:c,sub:h}=$r(r),f=Date.now()>u*1e3,m=h!==t,p=c!=="v",g={timeStyle:"medium",dateStyle:"medium"};if(f){n.title=ce("Video URL has expired",s),n.message=ce("The video\u2019s secured playback-token has expired.",s),a.message=ce("The video\u2019s secured playback-token has expired.",s),a.context=ce("Expired at: {expiredDate}. Current time: {currentDate}.",s).format({expiredDate:new Intl.DateTimeFormat(Ks.code,g).format(u*1e3),currentDate:new Intl.DateTimeFormat(Ks.code,g).format(Date.now())}),a.file="403-expired-token.md";break}if(m){n.title=ce("Video URL is formatted incorrectly",s),n.message=ce("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.message=ce("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.context=ce("Specified playback ID: {playbackId} and the playback ID encoded in the playback-token: {tokenPlaybackId}",s).format({playbackId:t,tokenPlaybackId:h}),a.file="403-playback-id-mismatch.md";break}if(p){n.title=ce("Video URL is formatted incorrectly",s),n.message=ce("The playback-token is formatted with incorrect information.",s),a.message=ce("The playback-token is formatted with incorrect information.",s),a.context=ce("The playback-token has an incorrect aud value: {tokenType}. aud value should be v.",s).format({tokenType:c}),a.file="403-incorrect-aud-value.md";break}a.message=ce("403 error trying to access this playback URL. If this is a signed playback ID, the token might not have been generated correctly.",s),a.file="403-malformatted-token.md";break}}break}case bt.MEDIA_ERR_DECODE:{let{message:u}=i;n={title:ce("Media Error",s),message:u},a.file="media-decode-error.md";break}case bt.MEDIA_ERR_SRC_NOT_SUPPORTED:{let u=(d=(l=i.data)==null?void 0:l.response)==null?void 0:d.code;if(u>=400&&u<500){i.code=bt.MEDIA_ERR_NETWORK,i.data={response:{code:u}},{dialog:n,devlog:a}=th(i,e,t,r);break}n={title:ce("Source Not Supported",s),message:i.message},a.file="media-src-not-supported.md";break}default:n={title:ce("Error",s),message:i.message};break}return e&&(n={title:ce("Your device appears to be offline",s),message:ce("Check your internet connection and try reloading this video.",s)}),{dialog:n,devlog:a}}var g1=`<template id="media-theme-gerwig">
1992
+ `};function rh(i,e,t,r,s){var o,l,d;let n={},a={};switch(i.code){case bt.MEDIA_ERR_NETWORK:{switch(n.title=de("Network Error",s),n.message=i.message,(o=i.data)==null?void 0:o.response.code){case 412:{n.title=de("Video is not currently available",s),n.message=de("The live stream or video file are not yet ready.",s),a.message=de("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",s),a.file="412-not-playable.md";break}case 404:{n.title=de("Video does not exist",s),n.message="",a.message=de("This playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",s),a.file="404-not-found.md";break}case 403:{if(n.title=de("Invalid playback URL",s),n.message=de("The video URL or playback-token are formatted with incorrect or incomplete information.",s),a.message=de("403 error trying to access this playback URL. If this is a signed URL, you might need to provide a playback-token.",s),a.file="missing-signed-tokens.md",!r)break;let{exp:u,aud:c,sub:h}=hr(r),f=Date.now()>u*1e3,m=h!==t,p=c!=="v",g={timeStyle:"medium",dateStyle:"medium"};if(f){n.title=de("Video URL has expired",s),n.message=de("The video\u2019s secured playback-token has expired.",s),a.message=de("The video\u2019s secured playback-token has expired.",s),a.context=de("Expired at: {expiredDate}. Current time: {currentDate}.",s).format({expiredDate:new Intl.DateTimeFormat(Ks.code,g).format(u*1e3),currentDate:new Intl.DateTimeFormat(Ks.code,g).format(Date.now())}),a.file="403-expired-token.md";break}if(m){n.title=de("Video URL is formatted incorrectly",s),n.message=de("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.message=de("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.context=de("Specified playback ID: {playbackId} and the playback ID encoded in the playback-token: {tokenPlaybackId}",s).format({playbackId:t,tokenPlaybackId:h}),a.file="403-playback-id-mismatch.md";break}if(p){n.title=de("Video URL is formatted incorrectly",s),n.message=de("The playback-token is formatted with incorrect information.",s),a.message=de("The playback-token is formatted with incorrect information.",s),a.context=de("The playback-token has an incorrect aud value: {tokenType}. aud value should be v.",s).format({tokenType:c}),a.file="403-incorrect-aud-value.md";break}a.message=de("403 error trying to access this playback URL. If this is a signed playback ID, the token might not have been generated correctly.",s),a.file="403-malformatted-token.md";break}}break}case bt.MEDIA_ERR_DECODE:{let{message:u}=i;n={title:de("Media Error",s),message:u},a.file="media-decode-error.md";break}case bt.MEDIA_ERR_SRC_NOT_SUPPORTED:{let u=(d=(l=i.data)==null?void 0:l.response)==null?void 0:d.code;if(u>=400&&u<500){i.code=bt.MEDIA_ERR_NETWORK,i.data={response:{code:u}},{dialog:n,devlog:a}=rh(i,e,t,r);break}n={title:de("Source Not Supported",s),message:i.message},a.file="media-src-not-supported.md";break}default:n={title:de("Error",s),message:i.message};break}return e&&(n={title:de("Your device appears to be offline",s),message:de("Check your internet connection and try reloading this video.",s)}),{dialog:n,devlog:a}}var E1=`<template id="media-theme-gerwig">
1992
1993
  <style>
1993
1994
  @keyframes pre-play-hide {
1994
1995
  0% {
@@ -2325,7 +2326,10 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2325
2326
  [breakpointsm]:is([mediahasplayed], :not([mediapaused])):not([audio])
2326
2327
  .center-controls.pre-playback
2327
2328
  media-play-button {
2328
- animation: 0.3s linear forwards pre-play-hide;
2329
+ /* Using \`forwards\` would lead to a laggy UI after the animation got in the end state */
2330
+ animation: 0.3s linear pre-play-hide;
2331
+ opacity: 0;
2332
+ pointer-events: none;
2329
2333
  }
2330
2334
 
2331
2335
  .autoplay-unmute {
@@ -2994,8 +2998,8 @@ media-poster-image:not([src]):not([placeholdersrc]) {
2994
2998
  <slot></slot>
2995
2999
  </media-controller>
2996
3000
  </template>
2997
- `;var av=Ut.createElement("template");"innerHTML"in av&&(av.innerHTML=g1);var v1,E1,ih=class extends Vr{};ih.template=(E1=(v1=av.content)==null?void 0:v1.children)==null?void 0:E1[0];$e.customElements.get("media-theme-gerwig")||$e.customElements.define("media-theme-gerwig",ih);var GM="gerwig";var pr={SRC:"src",POSTER:"poster"},$={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",DRM_TOKEN:"drm-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref"},ov=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function WM(i,e){var r;return{src:!i.playbackId&&i.src,playbackId:i.playbackId,hasSrc:!!i.playbackId||!!i.src||!!i.currentSrc,poster:i.poster,storyboard:i.storyboard,storyboardSrc:i.getAttribute($.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:KM(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute($.NOHOTKEYS),hotKeys:i.getAttribute($.HOTKEYS),muted:i.muted,paused:i.paused,preload:i.preload,envKey:i.envKey,preferCmcd:i.preferCmcd,debug:i.debug,disableTracking:i.disableTracking,disableCookies:i.disableCookies,tokens:i.tokens,beaconCollectionDomain:i.beaconCollectionDomain,maxResolution:i.maxResolution,minResolution:i.minResolution,programStartTime:i.programStartTime,programEndTime:i.programEndTime,renditionOrder:i.renditionOrder,metadata:i.metadata,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(M.TARGET_LIVE_WINDOW),streamType:Do(i.getAttribute(M.STREAM_TYPE)),primaryColor:i.getAttribute($.PRIMARY_COLOR),secondaryColor:i.getAttribute($.SECONDARY_COLOR),accentColor:i.getAttribute($.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:VM(i),playbackRates:i.getAttribute($.PLAYBACK_RATES),customDomain:(r=i.getAttribute(M.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute($.TITLE),novolumepref:i.hasAttribute($.NO_VOLUME_PREF),...e,extraSourceParams:i.extraSourceParams}}function KM(i){var t,r;let e=i.theme;if(e){let s=(r=(t=i.getRootNode())==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=$e.customElements.get(e);if(n!=null&&n.template)return n.template}}function VM(i){var t;let e=(t=i.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function b1(i){let e=i.hasAttribute($.TITLE)?{video_title:i.getAttribute($.TITLE)}:{};return i.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,r)=>{let s=i.getAttribute(r);return s!==null&&(t[r.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var qM=Object.values(M),YM=Object.values(pr),zM=Object.values($),jM=Vc(),XM="mux-player",y1={dialog:void 0,isDialogOpen:!1},QM={redundant_streams:!0},Wo,Ko,zr,Vo,tn,er,Yr,rh,T1,qo,lv,gr,en,sh,_1,nh,A1,ah,S1,oh,x1,Go=class extends z0{constructor(){super();qe(this,er);qe(this,rh);qe(this,qo);qe(this,gr);qe(this,sh);qe(this,nh);qe(this,ah);qe(this,oh);qe(this,Wo,!1);qe(this,Ko,{});qe(this,zr,!0);qe(this,Vo,new Kc(this,"hotkeys"));qe(this,tn,{...y1,onCloseErrorDialog:()=>Xe(this,qo,lv).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{V0(this,Ut.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),Xe(this,rh,T1).call(this),this.isConnected&&Xe(this,er,Yr).call(this)}static get observedAttributes(){var t;return[...(t=z0.observedAttributes)!=null?t:[],...YM,...qM,...zM]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,r;return(r=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:r.querySelector("media-controller")}connectedCallback(){var r;let t=(r=this.shadowRoot)==null?void 0:r.querySelector("mux-video");t&&(t.metadata=b1(this))}attributeChangedCallback(t,r,s){switch(Xe(this,er,Yr).call(this),super.attributeChangedCallback(t,r,s),t){case $.HOTKEYS:fe(this,Vo).value=s;break;case $.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Hr(ce("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case $.THUMBNAIL_TOKEN:{let{aud:a}=$r(s);s&&a!=="t"&&Hr(ce("The provided thumbnail-token should have audience value 't' instead of '{aud}'.").format({aud:a}));break}case $.STORYBOARD_TOKEN:{let{aud:a}=$r(s);s&&a!=="s"&&Hr(ce("The provided storyboard-token should have audience value 's' instead of '{aud}'.").format({aud:a}));break}case M.PLAYBACK_ID:{s!=null&&s.includes("?token")&&Gt(ce("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case M.STREAM_TYPE:s&&![ye.LIVE,ye.ON_DEMAND,ye.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:q0({file:"invalid-stream-type.md",message:ce("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===ye.LIVE?this.getAttribute($.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[M.PLAYBACK_ID,pr.SRC,$.PLAYBACK_TOKEN].includes(t)&&r!==s&&Wt(this,tn,{...fe(this,tn),...y1}),Xe(this,gr,en).call(this,{[WA(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(M.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?zn.includes(t)?this.setAttribute(M.PREFER_CMCD,t):Hr(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(M.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_TIME_IS_LIVE)}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute($.THEME))!=null?t:GM}set theme(t){this.setAttribute($.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if(ov.includes(s))continue;let n=t.getAttribute(s);r[Wc(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;Xe(this,er,Yr).call(this);let r={...this.themeProps,...t};for(let a in r){if(ov.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Gc(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(Gc(a),o)}}get playbackId(){var t;return(t=this.getAttribute(M.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(M.PLAYBACK_ID,t):this.removeAttribute(M.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Js(this,pr.SRC))!=null?t:void 0:(r=this.getAttribute(pr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(pr.SRC,t):this.removeAttribute(pr.SRC)}get poster(){var r;let t=this.getAttribute(pr.POSTER);if(t!=null)return t;if(this.playbackId&&!this.audio)return HA(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(r=this.thumbnailTime)!=null?r:this.startTime,programTime:this.programStartTime,token:this.tokens.thumbnail})}set poster(t){t||t===""?this.setAttribute(pr.POSTER,t):this.removeAttribute(pr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute($.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute($.STORYBOARD_SRC,t):this.removeAttribute($.STORYBOARD_SRC)}get storyboard(){if(this.storyboardSrc&&!this.tokens.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[ye.LIVE,ye.UNKNOWN].includes(this.streamType)))return GA(this.playbackId,{customDomain:this.customDomain,token:this.tokens.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute($.AUDIO)}set audio(t){if(!t){this.removeAttribute($.AUDIO);return}this.setAttribute($.AUDIO,"")}get hotkeys(){return fe(this,Vo)}get nohotkeys(){return this.hasAttribute($.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute($.NOHOTKEYS);return}this.setAttribute($.NOHOTKEYS,"")}get thumbnailTime(){return ti(this.getAttribute($.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute($.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute($.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute($.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Js(this,$.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute($.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute($.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute($.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute($.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute($.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute($.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute($.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute($.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute($.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute($.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute($.PLAYBACK_RATES))return this.getAttribute($.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,r)=>t-r)}set playbackRates(t){if(!t){this.removeAttribute($.PLAYBACK_RATES);return}this.setAttribute($.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=ti(this.getAttribute($.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute($.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=ti(this.getAttribute($.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute($.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute($.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute($.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute($.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return ti(this.getAttribute($.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute($.DEFAULT_DURATION):this.setAttribute($.DEFAULT_DURATION,`${t}`)}get playerSoftwareName(){var t;return(t=this.getAttribute(M.PLAYER_SOFTWARE_NAME))!=null?t:XM}get playerSoftwareVersion(){var t;return(t=this.getAttribute(M.PLAYER_SOFTWARE_VERSION))!=null?t:jM}get beaconCollectionDomain(){var t;return(t=this.getAttribute(M.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(M.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(M.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(M.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(M.MAX_RESOLUTION,t):this.removeAttribute(M.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(M.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(M.MIN_RESOLUTION,t):this.removeAttribute(M.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(M.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(M.RENDITION_ORDER,t):this.removeAttribute(M.RENDITION_ORDER))}get programStartTime(){return ti(this.getAttribute(M.PROGRAM_START_TIME))}set programStartTime(t){t==null?this.removeAttribute(M.PROGRAM_START_TIME):this.setAttribute(M.PROGRAM_START_TIME,`${t}`)}get programEndTime(){return ti(this.getAttribute(M.PROGRAM_END_TIME))}set programEndTime(t){t==null?this.removeAttribute(M.PROGRAM_END_TIME):this.setAttribute(M.PROGRAM_END_TIME,`${t}`)}get extraSourceParams(){return this.hasAttribute($.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute($.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):QM}set extraSourceParams(t){t==null?this.removeAttribute($.EXTRA_SOURCE_PARAMS):this.setAttribute($.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(M.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(M.CUSTOM_DOMAIN,t):this.removeAttribute(M.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Js(this,M.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(M.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute($.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute($.NO_VOLUME_PREF,""):this.removeAttribute($.NO_VOLUME_PREF)}get debug(){return Js(this,M.DEBUG)!=null}set debug(t){t?this.setAttribute(M.DEBUG,""):this.removeAttribute(M.DEBUG)}get disableTracking(){return Js(this,M.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(M.DISABLE_TRACKING,!!t)}get disableCookies(){return Js(this,M.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(M.DISABLE_COOKIES,""):this.removeAttribute(M.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(M.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:ye.UNKNOWN}set streamType(t){this.setAttribute(M.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute($.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute($.DEFAULT_STREAM_TYPE))!=null?s:ye.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute($.DEFAULT_STREAM_TYPE,t):this.removeAttribute($.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute($.TARGET_LIVE_WINDOW)?+this.getAttribute($.TARGET_LIVE_WINDOW):(r=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN}set targetLiveWindow(t){t==this.targetLiveWindow||Number.isNaN(t)&&Number.isNaN(this.targetLiveWindow)||(t==null?this.removeAttribute($.TARGET_LIVE_WINDOW):this.setAttribute($.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return ti(Js(this,M.START_TIME))}set startTime(t){this.setAttribute(M.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(M.PREFER_PLAYBACK);if(t===Jt.MSE||t===Jt.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===Jt.MSE||t===Jt.NATIVE?this.setAttribute(M.PREFER_PLAYBACK,t):this.removeAttribute(M.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(Xe(this,er,Yr).call(this),!this.media){Gt("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...b1(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(Xe(this,er,Yr).call(this),!this.media){Gt("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.");return}this.media._hlsConfig=t}async addCuePoints(t){var r;if(Xe(this,er,Yr).call(this),!this.media){Gt("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(r=this.media)==null?void 0:r.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,r;return(r=(t=this.media)==null?void 0:t.cuePoints)!=null?r:[]}addChapters(t){var r;if(Xe(this,er,Yr).call(this),!this.media){Gt("underlying media element missing when trying to addChapters. chapters will not be added.");return}return(r=this.media)==null?void 0:r.addChapters(t)}get activeChapter(){var t;return(t=this.media)==null?void 0:t.activeChapter}get chapters(){var t,r;return(r=(t=this.media)==null?void 0:t.chapters)!=null?r:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute($.PLAYBACK_TOKEN),r=this.getAttribute($.DRM_TOKEN),s=this.getAttribute($.THUMBNAIL_TOKEN),n=this.getAttribute($.STORYBOARD_TOKEN);return{...fe(this,Ko),...t!=null?{playback:t}:{},...r!=null?{drm:r}:{},...s!=null?{thumbnail:s}:{},...n!=null?{storyboard:n}:{}}}set tokens(t){Wt(this,Ko,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute($.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute($.PLAYBACK_TOKEN,`${t}`)}get drmToken(){var t;return(t=this.getAttribute($.DRM_TOKEN))!=null?t:void 0}set drmToken(t){this.setAttribute($.DRM_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute($.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute($.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute($.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute($.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return _c(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return eA(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}};Wo=new WeakMap,Ko=new WeakMap,zr=new WeakMap,Vo=new WeakMap,tn=new WeakMap,er=new WeakSet,Yr=function(){var t,r,s,n;if(!fe(this,Wo)){Wt(this,Wo,!0),Xe(this,gr,en).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof $e.HTMLElement))throw""}catch{Gt("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof UA))throw""}catch{Gt("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Mh))throw""}catch{Gt("<media-controller> failed to upgrade!")}this.init(),Xe(this,sh,_1).call(this),Xe(this,nh,A1).call(this),Xe(this,ah,S1).call(this),Wt(this,zr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(me.USER_INACTIVE))!=null?r:!0),Xe(this,oh,x1).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>Xe(this,gr,en).call(this)),(n=this.media)==null||n.addEventListener("loadstart",()=>Xe(this,gr,en).call(this))}},rh=new WeakSet,T1=function(){var t,r;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(r=window==null?void 0:window.CSS)==null||r.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},qo=new WeakSet,lv=function(t){Object.assign(fe(this,tn),t),Xe(this,gr,en).call(this)},gr=new WeakSet,en=function(t={}){m1(p1(WM(this,{...fe(this,tn),...t})),this.shadowRoot)},sh=new WeakSet,_1=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(ov.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},nh=new WeakSet,A1=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof bt||(n=new bt(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Hr(n),n.data&&Hr(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=th(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&q0(o),Gt(n),n.data&&Gt(`${n.name} data:`,n.data),Xe(this,qo,lv).call(this,{isDialogOpen:!0,dialog:a})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof bt))return s;let{devlog:n}=th((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(r=this.media)==null||r.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new bt(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},ah=new WeakSet,S1=function(){var r,s,n,a;let t=()=>Xe(this,gr,en).call(this);(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},oh=new WeakSet,x1=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===ye.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,a=(c,h,f=!1)=>{if(n())return;Array.from(c&&c.activeCues||[]).forEach(p=>{if(!(!p.snapToLines||p.line<-5||p.line>=0&&p.line<10))if(!h||this.paused){let g=p.text.split(`
2998
- `).length,E=-3;this.streamType===ye.LIVE&&(E=-2);let T=E-g;if(p.line===T&&!f)return;s.has(p)||s.set(p,p.line),p.line=T}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(me.USER_INACTIVE))!=null?h:!1)},l=()=>{var f,m;let h=Array.from(((m=(f=this.mediaController)==null?void 0:f.media)==null?void 0:m.textTracks)||[]).filter(p=>["subtitles","captions"].includes(p.kind)&&p.mode==="showing")[0];h!==r&&(r==null||r.removeEventListener("cuechange",o)),r=h,r==null||r.addEventListener("cuechange",o),a(r,fe(this,zr))};l(),(d=this.textTracks)==null||d.addEventListener("change",l),(u=this.textTracks)==null||u.addEventListener("addtrack",l),this.addEventListener("userinactivechange",()=>{var h,f;let c=(f=(h=this.mediaController)==null?void 0:h.hasAttribute(me.USER_INACTIVE))!=null?f:!0;fe(this,zr)!==c&&(Wt(this,zr,c),a(r,fe(this,zr)))})};function Js(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}$e.customElements.get("mux-player")||($e.customElements.define("mux-player",Go),$e.MuxPlayerElement=Go);var gB=Go;})();
3001
+ `;var lv=Ft.createElement("template");"innerHTML"in lv&&(lv.innerHTML=E1);var b1,y1,sh=class extends Vr{};sh.template=(y1=(b1=lv.content)==null?void 0:b1.children)==null?void 0:y1[0];$e.customElements.get("media-theme-gerwig")||$e.customElements.define("media-theme-gerwig",sh);var VM="gerwig";var vr={SRC:"src",POSTER:"poster"},$={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",DRM_TOKEN:"drm-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref",CAST_RECEIVER:"cast-receiver"},dv=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function qM(i,e){var r;return{src:!i.playbackId&&i.src,playbackId:i.playbackId,hasSrc:!!i.playbackId||!!i.src||!!i.currentSrc,poster:i.poster,storyboard:i.storyboard,storyboardSrc:i.getAttribute($.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:YM(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute($.NOHOTKEYS),hotKeys:i.getAttribute($.HOTKEYS),muted:i.muted,paused:i.paused,preload:i.preload,envKey:i.envKey,preferCmcd:i.preferCmcd,debug:i.debug,disableTracking:i.disableTracking,disableCookies:i.disableCookies,tokens:i.tokens,beaconCollectionDomain:i.beaconCollectionDomain,maxResolution:i.maxResolution,minResolution:i.minResolution,programStartTime:i.programStartTime,programEndTime:i.programEndTime,renditionOrder:i.renditionOrder,metadata:i.metadata,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(M.TARGET_LIVE_WINDOW),streamType:Do(i.getAttribute(M.STREAM_TYPE)),primaryColor:i.getAttribute($.PRIMARY_COLOR),secondaryColor:i.getAttribute($.SECONDARY_COLOR),accentColor:i.getAttribute($.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:zM(i),playbackRates:i.getAttribute($.PLAYBACK_RATES),customDomain:(r=i.getAttribute(M.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute($.TITLE),novolumepref:i.hasAttribute($.NO_VOLUME_PREF),castReceiver:i.castReceiver,...e,extraSourceParams:i.extraSourceParams}}function YM(i){var t,r;let e=i.theme;if(e){let s=(r=(t=i.getRootNode())==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=$e.customElements.get(e);if(n!=null&&n.template)return n.template}}function zM(i){var t;let e=(t=i.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function T1(i){let e=i.hasAttribute($.TITLE)?{video_title:i.getAttribute($.TITLE)}:{};return i.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,r)=>{let s=i.getAttribute(r);return s!==null&&(t[r.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var jM=Object.values(M),XM=Object.values(vr),QM=Object.values($),ZM=Yc(),JM="mux-player",_1={dialog:void 0,isDialogOpen:!1},eP={redundant_streams:!0},Wo,Ko,zr,Vo,tn,tr,Yr,nh,A1,qo,uv,Er,en,ah,S1,oh,x1,lh,L1,dh,k1,Go=class extends X0{constructor(){super();qe(this,tr);qe(this,nh);qe(this,qo);qe(this,Er);qe(this,ah);qe(this,oh);qe(this,lh);qe(this,dh);qe(this,Wo,!1);qe(this,Ko,{});qe(this,zr,!0);qe(this,Vo,new qc(this,"hotkeys"));qe(this,tn,{..._1,onCloseErrorDialog:()=>Xe(this,qo,uv).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{Y0(this,Ft.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),Xe(this,nh,A1).call(this),this.isConnected&&Xe(this,tr,Yr).call(this)}static get observedAttributes(){var t;return[...(t=X0.observedAttributes)!=null?t:[],...XM,...jM,...QM]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,r;return(r=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:r.querySelector("media-controller")}connectedCallback(){var r;let t=(r=this.shadowRoot)==null?void 0:r.querySelector("mux-video");t&&(t.metadata=T1(this))}attributeChangedCallback(t,r,s){switch(Xe(this,tr,Yr).call(this),super.attributeChangedCallback(t,r,s),t){case $.HOTKEYS:fe(this,Vo).value=s;break;case $.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Ji(de("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case $.THUMBNAIL_TOKEN:{if(s){let{aud:a}=hr(s);a!=="t"&&Ji(de("The provided thumbnail-token should have audience value 'd' instead of '{aud}'.").format({aud:a}))}break}case $.STORYBOARD_TOKEN:{if(s){let{aud:a}=hr(s);a!=="s"&&Ji(de("The provided storyboard-token should have audience value 'd' instead of '{aud}'.").format({aud:a}))}break}case $.DRM_TOKEN:{if(s){let{aud:a}=hr(s);a!=="d"&&Ji(de("The provided drm-token should have audience value 'd' instead of '{aud}'.").format({aud:a}))}break}case M.PLAYBACK_ID:{s!=null&&s.includes("?token")&&Ot(de("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case M.STREAM_TYPE:s&&![ye.LIVE,ye.ON_DEMAND,ye.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:z0({file:"invalid-stream-type.md",message:de("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===ye.LIVE?this.getAttribute($.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[M.PLAYBACK_ID,vr.SRC,$.PLAYBACK_TOKEN].includes(t)&&r!==s&&Wt(this,tn,{...fe(this,tn),..._1}),Xe(this,Er,en).call(this,{[VA(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(M.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?zn.includes(t)?this.setAttribute(M.PREFER_CMCD,t):Ji(`Invalid value for preferCmcd. Must be one of ${zn.join()}`):this.removeAttribute(M.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(b.MEDIA_TIME_IS_LIVE)}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute($.THEME))!=null?t:VM}set theme(t){this.setAttribute($.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if(dv.includes(s))continue;let n=t.getAttribute(s);r[Vc(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;Xe(this,tr,Yr).call(this);let r={...this.themeProps,...t};for(let a in r){if(dv.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Kc(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(Kc(a),o)}}get playbackId(){var t;return(t=this.getAttribute(M.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(M.PLAYBACK_ID,t):this.removeAttribute(M.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Js(this,vr.SRC))!=null?t:void 0:(r=this.getAttribute(vr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(vr.SRC,t):this.removeAttribute(vr.SRC)}get poster(){var s;let t=this.getAttribute(vr.POSTER);if(t!=null)return t;let{tokens:r}=this;if(r.playback&&!r.thumbnail){Ji("Missing expected thumbnail token. No poster image will be shown");return}if(this.playbackId&&!this.audio)return WA(this.playbackId,{customDomain:this.customDomain,thumbnailTime:(s=this.thumbnailTime)!=null?s:this.startTime,programTime:this.programStartTime,token:r.thumbnail})}set poster(t){t||t===""?this.setAttribute(vr.POSTER,t):this.removeAttribute(vr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute($.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute($.STORYBOARD_SRC,t):this.removeAttribute($.STORYBOARD_SRC)}get storyboard(){let{tokens:t}=this;if(this.storyboardSrc&&!t.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[ye.LIVE,ye.UNKNOWN].includes(this.streamType)||t.playback&&!t.storyboard))return KA(this.playbackId,{customDomain:this.customDomain,token:t.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute($.AUDIO)}set audio(t){if(!t){this.removeAttribute($.AUDIO);return}this.setAttribute($.AUDIO,"")}get hotkeys(){return fe(this,Vo)}get nohotkeys(){return this.hasAttribute($.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute($.NOHOTKEYS);return}this.setAttribute($.NOHOTKEYS,"")}get thumbnailTime(){return ti(this.getAttribute($.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute($.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute($.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute($.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Js(this,$.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute($.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute($.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute($.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute($.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute($.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute($.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=$e.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute($.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute($.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute($.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute($.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute($.PLAYBACK_RATES))return this.getAttribute($.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,r)=>t-r)}set playbackRates(t){if(!t){this.removeAttribute($.PLAYBACK_RATES);return}this.setAttribute($.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=ti(this.getAttribute($.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute($.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=ti(this.getAttribute($.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute($.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute($.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute($.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute($.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return ti(this.getAttribute($.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute($.DEFAULT_DURATION):this.setAttribute($.DEFAULT_DURATION,`${t}`)}get playerSoftwareName(){var t;return(t=this.getAttribute(M.PLAYER_SOFTWARE_NAME))!=null?t:JM}get playerSoftwareVersion(){var t;return(t=this.getAttribute(M.PLAYER_SOFTWARE_VERSION))!=null?t:ZM}get beaconCollectionDomain(){var t;return(t=this.getAttribute(M.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(M.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(M.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(M.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(M.MAX_RESOLUTION,t):this.removeAttribute(M.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(M.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(M.MIN_RESOLUTION,t):this.removeAttribute(M.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(M.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(M.RENDITION_ORDER,t):this.removeAttribute(M.RENDITION_ORDER))}get programStartTime(){return ti(this.getAttribute(M.PROGRAM_START_TIME))}set programStartTime(t){t==null?this.removeAttribute(M.PROGRAM_START_TIME):this.setAttribute(M.PROGRAM_START_TIME,`${t}`)}get programEndTime(){return ti(this.getAttribute(M.PROGRAM_END_TIME))}set programEndTime(t){t==null?this.removeAttribute(M.PROGRAM_END_TIME):this.setAttribute(M.PROGRAM_END_TIME,`${t}`)}get extraSourceParams(){return this.hasAttribute($.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute($.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):eP}set extraSourceParams(t){t==null?this.removeAttribute($.EXTRA_SOURCE_PARAMS):this.setAttribute($.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(M.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(M.CUSTOM_DOMAIN,t):this.removeAttribute(M.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Js(this,M.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(M.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute($.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute($.NO_VOLUME_PREF,""):this.removeAttribute($.NO_VOLUME_PREF)}get debug(){return Js(this,M.DEBUG)!=null}set debug(t){t?this.setAttribute(M.DEBUG,""):this.removeAttribute(M.DEBUG)}get disableTracking(){return Js(this,M.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(M.DISABLE_TRACKING,!!t)}get disableCookies(){return Js(this,M.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(M.DISABLE_COOKIES,""):this.removeAttribute(M.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(M.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:ye.UNKNOWN}set streamType(t){this.setAttribute(M.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute($.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute($.DEFAULT_STREAM_TYPE))!=null?s:ye.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute($.DEFAULT_STREAM_TYPE,t):this.removeAttribute($.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute($.TARGET_LIVE_WINDOW)?+this.getAttribute($.TARGET_LIVE_WINDOW):(r=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN}set targetLiveWindow(t){t==this.targetLiveWindow||Number.isNaN(t)&&Number.isNaN(this.targetLiveWindow)||(t==null?this.removeAttribute($.TARGET_LIVE_WINDOW):this.setAttribute($.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return ti(Js(this,M.START_TIME))}set startTime(t){this.setAttribute(M.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(M.PREFER_PLAYBACK);if(t===Jt.MSE||t===Jt.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===Jt.MSE||t===Jt.NATIVE?this.setAttribute(M.PREFER_PLAYBACK,t):this.removeAttribute(M.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(Xe(this,tr,Yr).call(this),!this.media){Ot("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...T1(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(Xe(this,tr,Yr).call(this),!this.media){Ot("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.");return}this.media._hlsConfig=t}async addCuePoints(t){var r;if(Xe(this,tr,Yr).call(this),!this.media){Ot("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(r=this.media)==null?void 0:r.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,r;return(r=(t=this.media)==null?void 0:t.cuePoints)!=null?r:[]}addChapters(t){var r;if(Xe(this,tr,Yr).call(this),!this.media){Ot("underlying media element missing when trying to addChapters. chapters will not be added.");return}return(r=this.media)==null?void 0:r.addChapters(t)}get activeChapter(){var t;return(t=this.media)==null?void 0:t.activeChapter}get chapters(){var t,r;return(r=(t=this.media)==null?void 0:t.chapters)!=null?r:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute($.PLAYBACK_TOKEN),r=this.getAttribute($.DRM_TOKEN),s=this.getAttribute($.THUMBNAIL_TOKEN),n=this.getAttribute($.STORYBOARD_TOKEN);return{...fe(this,Ko),...t!=null?{playback:t}:{},...r!=null?{drm:r}:{},...s!=null?{thumbnail:s}:{},...n!=null?{storyboard:n}:{}}}set tokens(t){Wt(this,Ko,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute($.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute($.PLAYBACK_TOKEN,`${t}`)}get drmToken(){var t;return(t=this.getAttribute($.DRM_TOKEN))!=null?t:void 0}set drmToken(t){this.setAttribute($.DRM_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute($.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute($.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute($.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute($.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return Ac(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return iA(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}get castReceiver(){var t;return(t=this.getAttribute($.CAST_RECEIVER))!=null?t:void 0}set castReceiver(t){t!==this.castReceiver&&(t?this.setAttribute($.CAST_RECEIVER,t):this.removeAttribute($.CAST_RECEIVER))}get castCustomData(){var t;return(t=this.media)==null?void 0:t.castCustomData}set castCustomData(t){if(!this.media){Ot("underlying media element missing when trying to set castCustomData. castCustomData will not be set.");return}this.media.castCustomData=t}};Wo=new WeakMap,Ko=new WeakMap,zr=new WeakMap,Vo=new WeakMap,tn=new WeakMap,tr=new WeakSet,Yr=function(){var t,r,s,n;if(!fe(this,Wo)){Wt(this,Wo,!0),Xe(this,Er,en).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof $e.HTMLElement))throw""}catch{Ot("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof BA))throw""}catch{Ot("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Oh))throw""}catch{Ot("<media-controller> failed to upgrade!")}this.init(),Xe(this,ah,S1).call(this),Xe(this,oh,x1).call(this),Xe(this,lh,L1).call(this),Wt(this,zr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(me.USER_INACTIVE))!=null?r:!0),Xe(this,dh,k1).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>Xe(this,Er,en).call(this)),(n=this.media)==null||n.addEventListener("loadstart",()=>Xe(this,Er,en).call(this))}},nh=new WeakSet,A1=function(){var t,r;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(r=window==null?void 0:window.CSS)==null||r.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},qo=new WeakSet,uv=function(t){Object.assign(fe(this,tn),t),Xe(this,Er,en).call(this)},Er=new WeakSet,en=function(t={}){g1(v1(qM(this,{...fe(this,tn),...t})),this.shadowRoot)},ah=new WeakSet,S1=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(dv.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},oh=new WeakSet,x1=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof bt||(n=new bt(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Ji(n),n.data&&Ji(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=rh(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&z0(o),Ot(n),n.data&&Ot(`${n.name} data:`,n.data),Xe(this,qo,uv).call(this,{isDialogOpen:!0,dialog:a})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof bt))return s;let{devlog:n}=rh((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(r=this.media)==null||r.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new bt(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},lh=new WeakSet,L1=function(){var r,s,n,a;let t=()=>Xe(this,Er,en).call(this);(s=(r=this.media)==null?void 0:r.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},dh=new WeakSet,k1=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===ye.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,a=(c,h,f=!1)=>{if(n())return;Array.from(c&&c.activeCues||[]).forEach(p=>{if(!(!p.snapToLines||p.line<-5||p.line>=0&&p.line<10))if(!h||this.paused){let g=p.text.split(`
3002
+ `).length,E=-3;this.streamType===ye.LIVE&&(E=-2);let T=E-g;if(p.line===T&&!f)return;s.has(p)||s.set(p,p.line),p.line=T}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(me.USER_INACTIVE))!=null?h:!1)},l=()=>{var f,m;let h=Array.from(((m=(f=this.mediaController)==null?void 0:f.media)==null?void 0:m.textTracks)||[]).filter(p=>["subtitles","captions"].includes(p.kind)&&p.mode==="showing")[0];h!==r&&(r==null||r.removeEventListener("cuechange",o)),r=h,r==null||r.addEventListener("cuechange",o),a(r,fe(this,zr))};l(),(d=this.textTracks)==null||d.addEventListener("change",l),(u=this.textTracks)==null||u.addEventListener("addtrack",l),this.addEventListener("userinactivechange",()=>{var h,f;let c=(f=(h=this.mediaController)==null?void 0:h.hasAttribute(me.USER_INACTIVE))!=null?f:!0;fe(this,zr)!==c&&(Wt(this,zr,c),a(r,fe(this,zr)))})};function Js(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}$e.customElements.get("mux-player")||($e.customElements.define("mux-player",Go),$e.MuxPlayerElement=Go);var bB=Go;})();
2999
3003
  /*! Bundled license information:
3000
3004
 
3001
3005
  mux-embed/dist/mux.mjs: