@mux/mux-player 3.3.2-canary.3 → 3.3.2
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.
- package/dist/index.cjs.js +194 -188
- package/dist/index.mjs +1 -1
- package/dist/mux-player.js +158 -152
- package/dist/mux-player.mjs +158 -152
- package/dist/themes/classic/index.cjs.js +158 -160
- package/dist/themes/classic/index.js +158 -160
- package/dist/themes/classic/index.mjs +158 -160
- package/dist/themes/gerwig/index.cjs.js +158 -160
- package/dist/themes/gerwig/index.js +158 -160
- package/dist/themes/gerwig/index.mjs +158 -160
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/dist/mux-player.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=(i,e,t)=>(gc(i,e,"read from private field"),t?t.call(i):e.get(i)),It=(i,e,t)=>e.has(i)?Wg("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),Bt=(i,e,t,r)=>(gc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ze=(i,e,t)=>(gc(i,e,"access private method"),t);var Gs=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Gs{}globalThis.DocumentFragment=i}var qn=class extends Gs{},vc=class extends Gs{},Q_={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(qn)}},jn,Ec=class{constructor(e,t={}){It(this,jn);Bt(this,jn,t==null?void 0:t.detail)}get detail(){return Se(this,jn)}initCustomEvent(){}};jn=new WeakMap;function Z_(i,e){return new qn}var Yg={document:{createElement:Z_},DocumentFragment,customElements:Q_,CustomEvent:Ec,EventTarget:Gs,HTMLElement:qn,HTMLVideoElement:vc},qg=typeof window=="undefined"||typeof globalThis.customElements=="undefined",kt=qg?Yg:globalThis,Ks=qg?Yg.document:globalThis.document;var $={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"},pe={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},bc={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_WIDTH:"mediaWidth"},jg=Object.entries(bc),y=jg.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{}),J_={USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"},Ki=jg.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{...J_}),AC=Object.entries(Ki).reduce((i,[e,t])=>{let r=y[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),zg=Object.entries(y).reduce((i,[e,t])=>{let r=Ki[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),Lt={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},or={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var yc={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},$t={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},Zt={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var Xg={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};function Qg(i){return i==null?void 0:i.map(tA).join(" ")}function Zg(i){return i==null?void 0:i.split(/\s+/).map(iA)}function tA(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function iA(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:+t,height:+r}}}function Jg(i){return i==null?void 0:i.map(rA).join(" ")}function e0(i){return i==null?void 0:i.split(/\s+/).map(sA)}function rA(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function sA(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function t0(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Vs(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function Co(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var Mo=i=>new Promise(e=>setTimeout(e,i));var i0=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],nA=(i,e)=>{let t=i===1?i0[e].singular:i0[e].plural;return`${i} ${t}`},Mr=i=>{if(!Vs(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&&nA(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function fi(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 RC=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 Tc={"Start airplay":"Start airplay","Stop airplay":"Stop airplay",Audio:"Audio",Captions:"Captions","Enable captions":"Enable captions","Disable captions":"Disable captions","Start casting":"Start casting","Stop casting":"Stop casting","Enter fullscreen mode":"Enter fullscreen mode","Exit fullscreen mode":"Exit fullscreen mode",Mute:"Mute",Unmute:"Unmute","Enter picture in picture mode":"Enter picture in picture mode","Exit picture in picture mode":"Exit picture in picture mode",Play:"Play",Pause:"Pause","Playback rate":"Playback rate","Playback rate {playbackRate}":"Playback rate {playbackRate}",Quality:"Quality","Seek backward":"Seek backward","Seek forward":"Seek forward",Settings:"Settings","audio player":"audio player","video player":"video player",volume:"volume",seek:"seek","closed captions":"closed captions","current playback rate":"current playback rate","playback time":"playback time","media loading":"media loading",settings:"settings","audio tracks":"audio tracks",quality:"quality",play:"play",pause:"pause",mute:"mute",unmute:"unmute",live:"live","start airplay":"start airplay","stop airplay":"stop airplay","start casting":"start casting","stop casting":"stop casting","enter fullscreen mode":"enter fullscreen mode","exit fullscreen mode":"exit fullscreen mode","enter picture in picture mode":"enter picture in picture mode","exit picture in picture mode":"exit picture in picture mode","seek to live":"seek to live","playing live":"playing live","seek back {seekOffset} seconds":"seek back {seekOffset} seconds","seek forward {seekOffset} seconds":"seek forward {seekOffset} seconds","Network Error":"Network Error","Decode Error":"Decode Error","Source Not Supported":"Source Not Supported","Encryption Error":"Encryption Error","A network error caused the media download to fail.":"A network error caused the media download to fail.","A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.":"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.","An unsupported error occurred. The server or network failed, or your browser does not support this format.":"An unsupported error occurred. The server or network failed, or your browser does not support this format.","The media is encrypted and there are no keys to decrypt it.":"The media is encrypted and there are no keys to decrypt it."};var oA={en:Tc};var lA=()=>{var i;return((i=globalThis.navigator)==null?void 0:i.language.split("-")[0])||"en"},H=(i,e={})=>{var t;return(((t=oA[lA()])==null?void 0:t[i])||Tc[i]).replace(/\{(\w+)\}/g,(s,n)=>e[n]!==void 0?String(e[n]):`{${n}}`)};var Po=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Oo=class extends Po{},No=class extends Oo{constructor(){super(...arguments),this.role=null}},_c=class{observe(){}unobserve(){}disconnect(){}},r0={createElement:function(){return new zn.HTMLElement},createElementNS:function(){return new zn.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},zn={ResizeObserver:_c,document:r0,Node:Oo,Element:No,HTMLElement:class extends No{constructor(){super(...arguments),this.innerHTML=""}get content(){return new zn.DocumentFragment}},DocumentFragment:class extends Po{},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}}},s0=typeof window=="undefined"||typeof window.customElements=="undefined",n0=Object.keys(zn).every(i=>i in globalThis),x=s0&&!n0?zn:globalThis,F=s0&&!n0?r0:globalThis.document;var a0=new WeakMap,Ac=i=>{let e=a0.get(i);return e||a0.set(i,e=new Set),e},o0=new x.ResizeObserver(i=>{for(let e of i)for(let t of Ac(e.target))t(e)});function Vi(i,e){Ac(i).add(e),o0.observe(i)}function Wi(i,e){let t=Ac(i);t.delete(e),t.size||o0.unobserve(i)}function l0(i){let e={};for(let t of i)e[t.name]=t.value;return e}function Ke(i){var e;return(e=Uo(i))!=null?e:mi(i,"media-controller")}function Uo(i){var e;let{MEDIA_CONTROLLER:t}=pe,r=i.getAttribute(t);if(r)return(e=Pr(i))==null?void 0:e.getElementById(r)}var Fo=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},dA=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},Bo=(i,e)=>dA(i,e)[0],At=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:At(i,e.getRootNode().host),mi=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||mi(i.getRootNode().host,e)};function Xn(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=Xn(t.shadowRoot))!=null?e:t:null}function Pr(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 $o(i,{depth:e=3,checkOpacity:t=!0,checkVisibilityCSS:r=!0}={}){if(i.checkVisibility)return i.checkVisibility({checkOpacity:t,checkVisibilityCSS:r});let s=i;for(;s&&e>0;){let n=getComputedStyle(s);if(t&&n.opacity==="0"||r&&n.visibility==="hidden"||n.display==="none")return!1;s=s.parentElement,e--}return!0}function d0(i,e,t,r){let s=Sc(t,r),n=Sc(t,{x:i,y:e}),a=Sc(r,{x:i,y:e});return n>s||a>s?n>a?1:0:n/s}function Sc(i,e){return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))}function Ce(i,e){let t=uA(i,r=>r===e);return t||xc(i,e)}function uA(i,e){var t,r;let s;for(s of(t=i.querySelectorAll("style:not([media])"))!=null?t:[]){let n;try{n=(r=s.sheet)==null?void 0:r.cssRules}catch{continue}for(let a of n!=null?n:[])if(e(a.selectorText))return a}}function xc(i,e){var t,r;let s=(t=i.querySelectorAll("style:not([media])"))!=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 ve(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function be(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}ve(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function ae(i,e){return i.hasAttribute(e)}function oe(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}ae(i,e)!=t&&i.toggleAttribute(e,t)}function ue(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function ce(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 u0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lr=(i,e,t)=>(u0(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)},Ho=(i,e,t,r)=>(u0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),wt,c0=F.createElement("template");c0.innerHTML=`
|
|
1
|
+
var Vg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Vg("Cannot "+t);var Se=(i,e,t)=>(gc(i,e,"read from private field"),t?t.call(i):e.get(i)),It=(i,e,t)=>e.has(i)?Vg("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),Bt=(i,e,t,r)=>(gc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ze=(i,e,t)=>(gc(i,e,"access private method"),t);var Gs=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Gs{}globalThis.DocumentFragment=i}var qn=class extends Gs{},vc=class extends Gs{},J_={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(qn)}},jn,Ec=class{constructor(e,t={}){It(this,jn);Bt(this,jn,t==null?void 0:t.detail)}get detail(){return Se(this,jn)}initCustomEvent(){}};jn=new WeakMap;function eA(i,e){return new qn}var Wg={document:{createElement:eA},DocumentFragment,customElements:J_,CustomEvent:Ec,EventTarget:Gs,HTMLElement:qn,HTMLVideoElement:vc},Yg=typeof window=="undefined"||typeof globalThis.customElements=="undefined",kt=Yg?Wg:globalThis,Ks=Yg?Wg.document:globalThis.document;var $={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"},pe={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},bc={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_WIDTH:"mediaWidth"},qg=Object.entries(bc),y=qg.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{}),tA={USER_INACTIVE_CHANGE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"},Ki=qg.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{...tA}),SC=Object.entries(Ki).reduce((i,[e,t])=>{let r=y[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),jg=Object.entries(y).reduce((i,[e,t])=>{let r=Ki[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),Lt={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},or={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var yc={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},$t={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},Zt={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var zg={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};function Xg(i){return i==null?void 0:i.map(rA).join(" ")}function Qg(i){return i==null?void 0:i.split(/\s+/).map(sA)}function rA(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(s=>s!=null).join(":")}}function sA(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:+t,height:+r}}}function Zg(i){return i==null?void 0:i.map(nA).join(" ")}function Jg(i){return i==null?void 0:i.split(/\s+/).map(aA)}function nA(i){if(i){let{id:e,kind:t,language:r,label:s}=i;return[e,t,r,s].filter(n=>n!=null).join(":")}}function aA(i){if(i){let[e,t,r,s]=i.split(":");return{id:e,kind:t,language:r,label:s}}}function e0(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Vs(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}function Co(i){return typeof i!="string"?!1:!isNaN(i)&&!isNaN(parseFloat(i))}var Mo=i=>new Promise(e=>setTimeout(e,i));var t0=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],oA=(i,e)=>{let t=i===1?t0[e].singular:t0[e].plural;return`${i} ${t}`},Mr=i=>{if(!Vs(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&&oA(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function fi(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 IC=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 Tc={"Start airplay":"Start airplay","Stop airplay":"Stop airplay",Audio:"Audio",Captions:"Captions","Enable captions":"Enable captions","Disable captions":"Disable captions","Start casting":"Start casting","Stop casting":"Stop casting","Enter fullscreen mode":"Enter fullscreen mode","Exit fullscreen mode":"Exit fullscreen mode",Mute:"Mute",Unmute:"Unmute","Enter picture in picture mode":"Enter picture in picture mode","Exit picture in picture mode":"Exit picture in picture mode",Play:"Play",Pause:"Pause","Playback rate":"Playback rate","Playback rate {playbackRate}":"Playback rate {playbackRate}",Quality:"Quality","Seek backward":"Seek backward","Seek forward":"Seek forward",Settings:"Settings","audio player":"audio player","video player":"video player",volume:"volume",seek:"seek","closed captions":"closed captions","current playback rate":"current playback rate","playback time":"playback time","media loading":"media loading",settings:"settings","audio tracks":"audio tracks",quality:"quality",play:"play",pause:"pause",mute:"mute",unmute:"unmute",live:"live","start airplay":"start airplay","stop airplay":"stop airplay","start casting":"start casting","stop casting":"stop casting","enter fullscreen mode":"enter fullscreen mode","exit fullscreen mode":"exit fullscreen mode","enter picture in picture mode":"enter picture in picture mode","exit picture in picture mode":"exit picture in picture mode","seek to live":"seek to live","playing live":"playing live","seek back {seekOffset} seconds":"seek back {seekOffset} seconds","seek forward {seekOffset} seconds":"seek forward {seekOffset} seconds","Network Error":"Network Error","Decode Error":"Decode Error","Source Not Supported":"Source Not Supported","Encryption Error":"Encryption Error","A network error caused the media download to fail.":"A network error caused the media download to fail.","A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.":"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.","An unsupported error occurred. The server or network failed, or your browser does not support this format.":"An unsupported error occurred. The server or network failed, or your browser does not support this format.","The media is encrypted and there are no keys to decrypt it.":"The media is encrypted and there are no keys to decrypt it."};var i0,dA={en:Tc},r0=((i0=globalThis.navigator)==null?void 0:i0.language.split("-")[0])||"en",s0=i=>{r0=i};var H=(i,e={})=>{var t;return(((t=dA[r0])==null?void 0:t[i])||Tc[i]).replace(/\{(\w+)\}/g,(s,n)=>e[n]!==void 0?String(e[n]):`{${n}}`)};var Po=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Oo=class extends Po{},No=class extends Oo{constructor(){super(...arguments),this.role=null}},_c=class{observe(){}unobserve(){}disconnect(){}},n0={createElement:function(){return new zn.HTMLElement},createElementNS:function(){return new zn.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},zn={ResizeObserver:_c,document:n0,Node:Oo,Element:No,HTMLElement:class extends No{constructor(){super(...arguments),this.innerHTML=""}get content(){return new zn.DocumentFragment}},DocumentFragment:class extends Po{},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}}},a0=typeof window=="undefined"||typeof window.customElements=="undefined",o0=Object.keys(zn).every(i=>i in globalThis),x=a0&&!o0?zn:globalThis,F=a0&&!o0?n0:globalThis.document;var l0=new WeakMap,Ac=i=>{let e=l0.get(i);return e||l0.set(i,e=new Set),e},d0=new x.ResizeObserver(i=>{for(let e of i)for(let t of Ac(e.target))t(e)});function Vi(i,e){Ac(i).add(e),d0.observe(i)}function Wi(i,e){let t=Ac(i);t.delete(e),t.size||d0.unobserve(i)}function u0(i){let e={};for(let t of i)e[t.name]=t.value;return e}function Ke(i){var e;return(e=Uo(i))!=null?e:mi(i,"media-controller")}function Uo(i){var e;let{MEDIA_CONTROLLER:t}=pe,r=i.getAttribute(t);if(r)return(e=Pr(i))==null?void 0:e.getElementById(r)}var Fo=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},uA=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},Bo=(i,e)=>uA(i,e)[0],At=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:At(i,e.getRootNode().host),mi=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||mi(i.getRootNode().host,e)};function Xn(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=Xn(t.shadowRoot))!=null?e:t:null}function Pr(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 $o(i,{depth:e=3,checkOpacity:t=!0,checkVisibilityCSS:r=!0}={}){if(i.checkVisibility)return i.checkVisibility({checkOpacity:t,checkVisibilityCSS:r});let s=i;for(;s&&e>0;){let n=getComputedStyle(s);if(t&&n.opacity==="0"||r&&n.visibility==="hidden"||n.display==="none")return!1;s=s.parentElement,e--}return!0}function c0(i,e,t,r){let s=r.x-t.x,n=r.y-t.y,a=s*s+n*n;if(a===0)return 0;let o=((i-t.x)*s+(e-t.y)*n)/a;return Math.max(0,Math.min(1,o))}function Ce(i,e){let t=cA(i,r=>r===e);return t||Sc(i,e)}function cA(i,e){var t,r;let s;for(s of(t=i.querySelectorAll("style:not([media])"))!=null?t:[]){let n;try{n=(r=s.sheet)==null?void 0:r.cssRules}catch{continue}for(let a of n!=null?n:[])if(e(a.selectorText))return a}}function Sc(i,e){var t,r;let s=(t=i.querySelectorAll("style:not([media])"))!=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 ve(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function ye(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}ve(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function ae(i,e){return i.hasAttribute(e)}function oe(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}ae(i,e)!=t&&i.toggleAttribute(e,t)}function ue(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function ce(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 h0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lr=(i,e,t)=>(h0(i,e,"read from private field"),t?t.call(i):e.get(i)),hA=(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)},Ho=(i,e,t,r)=>(h0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),wt,f0=F.createElement("template");f0.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
|
|
8
|
+
`;var xc=class extends x.HTMLElement{constructor(e={}){if(super(),hA(this,wt,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),r=f0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=F.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(r)}}static get observedAttributes(){return[pe.MEDIA_CONTROLLER,y.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===pe.MEDIA_CONTROLLER&&(t&&((n=(s=lr(this,wt))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ho(this,wt,null)),r&&this.isConnected&&(Ho(this,wt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=lr(this,wt))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),Ho(this,wt,fA(this)),this.getAttribute(pe.MEDIA_CONTROLLER)&&((t=(e=lr(this,wt))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=lr(this,wt))==null||r.addEventListener("pointerdown",this),(s=lr(this,wt))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,r,s;this.getAttribute(pe.MEDIA_CONTROLLER)&&((t=(e=lr(this,wt))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=lr(this,wt))==null||r.removeEventListener("pointerdown",this),(s=lr(this,wt))==null||s.removeEventListener("click",this),Ho(this,wt,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===yc.TOUCH){this.handleTap(e);return}else if(f===yc.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return ae(this,y.MEDIA_PAUSED)}set mediaPaused(e){oe(this,y.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?$.MEDIA_PLAY_REQUEST:$.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new x.CustomEvent(t,{composed:!0,bubbles:!0}))}};wt=new WeakMap;function fA(i){var e;let t=i.getAttribute(pe.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):mi(i,"media-controller")}x.customElements.get("media-gesture-receiver")||x.customElements.define("media-gesture-receiver",xc);var Lc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Gt=(i,e,t)=>(Lc(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)},Or=(i,e,t,r)=>(Lc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Wt=(i,e,t)=>(Lc(i,e,"access private method"),t),Vo,Ws,Zn,Ys,Go,Rc,m0,Qn,Ko,Ic,p0,kc,g0,Jn,Wo,Yo,wc,qs,ea,ee={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive",AUTOHIDE_OVER_CONTROLS:"autohideovercontrols"},v0=F.createElement("template");v0.innerHTML=`
|
|
9
9
|
<style>
|
|
10
10
|
|
|
11
11
|
:host([${y.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
|
|
@@ -20,7 +20,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
20
20
|
background-color: var(--media-background-color, #000);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
:host(:not([${
|
|
23
|
+
:host(:not([${ee.AUDIO}])) [part~=layer]:not([part~=media-layer]) {
|
|
24
24
|
position: absolute;
|
|
25
25
|
top: 0;
|
|
26
26
|
left: 0;
|
|
@@ -38,19 +38,19 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
:host([${
|
|
41
|
+
:host([${ee.AUDIO}]) slot[name=media] {
|
|
42
42
|
display: var(--media-slot-display, none);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
:host([${
|
|
46
|
+
:host([${ee.AUDIO}]) [part~=layer][part~=gesture-layer] {
|
|
47
47
|
height: 0;
|
|
48
48
|
display: block;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
:host(:not([${
|
|
53
|
-
:host(:not([${
|
|
52
|
+
:host(:not([${ee.AUDIO}])[${ee.GESTURES_DISABLED}]) ::slotted([slot=gestures-chrome]),
|
|
53
|
+
:host(:not([${ee.AUDIO}])[${ee.GESTURES_DISABLED}]) media-gesture-receiver[slot=gestures-chrome] {
|
|
54
54
|
display: none;
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -59,13 +59,13 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
59
59
|
pointer-events: auto;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
:host(:not([${
|
|
62
|
+
:host(:not([${ee.AUDIO}])) *[part~=layer][part~=centered-layer] {
|
|
63
63
|
align-items: center;
|
|
64
64
|
justify-content: center;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
:host(:not([${
|
|
68
|
-
:host(:not([${
|
|
67
|
+
:host(:not([${ee.AUDIO}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]),
|
|
68
|
+
:host(:not([${ee.AUDIO}])) media-gesture-receiver[slot=gestures-chrome] {
|
|
69
69
|
align-self: stretch;
|
|
70
70
|
flex-grow: 1;
|
|
71
71
|
}
|
|
@@ -85,7 +85,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
|
|
88
|
-
:host(:not([${
|
|
88
|
+
:host(:not([${ee.AUDIO}])) .spacer {
|
|
89
89
|
flex-grow: 1;
|
|
90
90
|
}
|
|
91
91
|
|
|
@@ -97,27 +97,33 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
::slotted(:not([slot=media]):not([slot=poster]):not([${
|
|
100
|
+
::slotted(:not([slot=media]):not([slot=poster]):not([${ee.NO_AUTOHIDE}]):not([hidden]):not([role=dialog])) {
|
|
101
101
|
opacity: 1;
|
|
102
102
|
transition: var(--media-control-transition-in, opacity 0.25s);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
:host([${
|
|
106
|
+
:host([${ee.USER_INACTIVE}]:not([${y.MEDIA_PAUSED}]):not([${y.MEDIA_IS_AIRPLAYING}]):not([${y.MEDIA_IS_CASTING}]):not([${ee.AUDIO}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${ee.NO_AUTOHIDE}]):not([role=dialog])) {
|
|
107
107
|
opacity: 0;
|
|
108
108
|
transition: var(--media-control-transition-out, opacity 1s);
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
:host([${
|
|
111
|
+
:host([${ee.USER_INACTIVE}]:not([${ee.NO_AUTOHIDE}]):not([${y.MEDIA_PAUSED}]):not([${y.MEDIA_IS_CASTING}]):not([${ee.AUDIO}])) ::slotted([slot=media]) {
|
|
112
112
|
cursor: none;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
:host([${ee.USER_INACTIVE}][${ee.AUTOHIDE_OVER_CONTROLS}]:not([${ee.NO_AUTOHIDE}]):not([${y.MEDIA_PAUSED}]):not([${y.MEDIA_IS_CASTING}]):not([${ee.AUDIO}])) * {
|
|
116
|
+
--media-cursor: none;
|
|
117
|
+
cursor: none;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
|
|
115
121
|
::slotted(media-control-bar) {
|
|
116
122
|
align-self: stretch;
|
|
117
123
|
}
|
|
118
124
|
|
|
119
125
|
|
|
120
|
-
:host(:not([${
|
|
126
|
+
:host(:not([${ee.AUDIO}])[${y.MEDIA_HAS_PLAYED}]) slot[name=poster] {
|
|
121
127
|
display: none;
|
|
122
128
|
}
|
|
123
129
|
|
|
@@ -145,7 +151,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
145
151
|
<slot part="bottom chrome"></slot>
|
|
146
152
|
</span>
|
|
147
153
|
<slot name="dialog" part="layer dialog-layer"></slot>
|
|
148
|
-
`;var fA=Object.values(y),mA="sm:384 md:576 lg:768 xl:960";function pA(i){g0(i.target,i.contentRect.width)}function g0(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(le.BREAKPOINTS))!=null?t:mA,s=gA(r),n=vA(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(Ki.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}i.breakpointsComputed||(i.breakpointsComputed=!0,i.dispatchEvent(new CustomEvent(Ki.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))}function gA(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function vA(i,e){return Object.keys(i).filter(t=>e>=parseInt(i[t]))}var ta=class extends x.HTMLElement{constructor(){super(),Ht(this,Ic),Ht(this,kc),Ht(this,Lc),Ht(this,Jn),Ht(this,Yo),Ht(this,qs),Ht(this,Vo,0),Ht(this,Ws,null),Ht(this,Zn,null),Ht(this,Ys,void 0),this.breakpointsComputed=!1,Ht(this,Go,new MutationObserver(Wt(this,Ic,h0).bind(this))),Ht(this,Qn,!1),Ht(this,Ko,t=>{Gt(this,Qn)||(setTimeout(()=>{pA(t),Or(this,Qn,!1)},0),Or(this,Qn,!0))}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(p0.content.cloneNode(!0)));let e=this.querySelector(":scope > slot[slot=media]");e&&e.addEventListener("slotchange",()=>{if(!e.assignedElements({flatten:!0}).length){Gt(this,Ws)&&this.mediaUnsetCallback(Gt(this,Ws));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[le.AUTOHIDE,le.GESTURES_DISABLED].concat(fA).filter(e=>![y.MEDIA_RENDITION_LIST,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_CHAPTERS_CUES,y.MEDIA_WIDTH,y.MEDIA_HEIGHT,y.MEDIA_ERROR,y.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==le.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&&(Or(this,Ws,e),e.localName.includes("-")&&await x.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;Gt(this,Go).observe(this,{childList:!0,subtree:!0}),Vi(this,Gt(this,Ko));let r=this.getAttribute(le.AUDIO)!=null?H("audio player"):H("video player");this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(le.USER_INACTIVE,""),g0(this,this.getBoundingClientRect().width),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=x.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;Gt(this,Go).disconnect(),Wi(this,Gt(this,Ko)),this.media&&this.mediaUnsetCallback(this.media),(e=x.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){Or(this,Ws,null)}handleEvent(e){switch(e.type){case"pointerdown":Or(this,Vo,e.timeStamp);break;case"pointermove":Wt(this,kc,f0).call(this,e);break;case"pointerup":Wt(this,Lc,m0).call(this,e);break;case"mouseleave":Wt(this,Jn,Wo).call(this);break;case"mouseup":this.removeAttribute(le.KEYBOARD_CONTROL);break;case"keyup":Wt(this,qs,ea).call(this),this.setAttribute(le.KEYBOARD_CONTROL,"");break}}set autohide(e){let t=Number(e);Or(this,Ys,isNaN(t)?0:t)}get autohide(){return(Gt(this,Ys)===void 0?2:Gt(this,Ys)).toString()}get breakpoints(){return ue(this,le.BREAKPOINTS)}set breakpoints(e){ce(this,le.BREAKPOINTS,e)}get audio(){return ae(this,le.AUDIO)}set audio(e){oe(this,le.AUDIO,e)}get gesturesDisabled(){return ae(this,le.GESTURES_DISABLED)}set gesturesDisabled(e){oe(this,le.GESTURES_DISABLED,e)}get keyboardControl(){return ae(this,le.KEYBOARD_CONTROL)}set keyboardControl(e){oe(this,le.KEYBOARD_CONTROL,e)}get noAutohide(){return ae(this,le.NO_AUTOHIDE)}set noAutohide(e){oe(this,le.NO_AUTOHIDE,e)}get userInteractive(){return ae(this,le.USER_INACTIVE)}set userInteractive(e){oe(this,le.USER_INACTIVE,e)}};Vo=new WeakMap;Ws=new WeakMap;Zn=new WeakMap;Ys=new WeakMap;Go=new WeakMap;Ic=new WeakSet;h0=function(i){let e=this.media;for(let t of i){if(t.type!=="childList")continue;let r=t.removedNodes;for(let s of r){if(s.slot!="media"||t.target!=this)continue;let n=t.previousSibling&&t.previousSibling.previousElementSibling;if(!n||!e)this.mediaUnsetCallback(s);else{let a=n.slot!=="media";for(;(n=n.previousSibling)!==null;)n.slot=="media"&&(a=!1);a&&this.mediaUnsetCallback(s)}}if(e)for(let s of t.addedNodes)s===e&&this.handleMediaUpdated(e)}};Qn=new WeakMap;Ko=new WeakMap;kc=new WeakSet;f0=function(i){i.pointerType!=="mouse"&&i.timeStamp-Gt(this,Vo)<250||(Wt(this,Yo,Dc).call(this),clearTimeout(Gt(this,Zn)),[this,this.media].includes(i.target)&&Wt(this,qs,ea).call(this))};Lc=new WeakSet;m0=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(le.USER_INACTIVE);[this,this.media].includes(i.target)&&e?Wt(this,Jn,Wo).call(this):Wt(this,qs,ea).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&Wt(this,qs,ea).call(this)};Jn=new WeakSet;Wo=function(){if(Gt(this,Ys)<0||this.hasAttribute(le.USER_INACTIVE))return;this.setAttribute(le.USER_INACTIVE,"");let i=new x.CustomEvent(Ki.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};Yo=new WeakSet;Dc=function(){if(!this.hasAttribute(le.USER_INACTIVE))return;this.removeAttribute(le.USER_INACTIVE);let i=new x.CustomEvent(Ki.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};qs=new WeakSet;ea=function(){Wt(this,Yo,Dc).call(this),clearTimeout(Gt(this,Zn));let i=parseInt(this.autohide);i<0||Or(this,Zn,setTimeout(()=>{Wt(this,Jn,Wo).call(this)},i*1e3))};x.customElements.get("media-container")||x.customElements.define("media-container",ta);var v0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ot=(i,e,t)=>(v0(i,e,"read from private field"),t?t.call(i):e.get(i)),ia=(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)},qo=(i,e,t,r)=>(v0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),js,zs,jo,Nr,Yi,dr,pi=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ia(this,Yi),ia(this,js,void 0),ia(this,zs,void 0),ia(this,jo,void 0),ia(this,Nr,new Set),qo(this,js,e),qo(this,zs,t),qo(this,jo,new Set(r))}[Symbol.iterator](){return ot(this,Yi,dr).values()}get length(){return ot(this,Yi,dr).size}get value(){var e;return(e=[...ot(this,Yi,dr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(qo(this,Nr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...ot(this,Yi,dr)][e]}values(){return ot(this,Yi,dr).values()}forEach(e,t){ot(this,Yi,dr).forEach(e,t)}add(...e){var t,r;e.forEach(s=>ot(this,Nr).add(s)),!(this.value===""&&!((t=ot(this,js))!=null&&t.hasAttribute(`${ot(this,zs)}`)))&&((r=ot(this,js))==null||r.setAttribute(`${ot(this,zs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>ot(this,Nr).delete(r)),(t=ot(this,js))==null||t.setAttribute(`${ot(this,zs)}`,`${this.value}`)}contains(e){return ot(this,Yi,dr).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}};js=new WeakMap;zs=new WeakMap;jo=new WeakMap;Nr=new WeakMap;Yi=new WeakSet;dr=function(){return ot(this,Nr).size?ot(this,Nr):ot(this,jo)};var EA=(i="")=>i.split(/\s+/),E0=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return{kind:e==="cc"?Lt.CAPTIONS:Lt.SUBTITLES,language:t,label:s}},Ur=(i="",e={})=>EA(i).map(t=>{let r=E0(t);return{...e,...r}}),Cc=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?E0(e):e):typeof i=="string"?Ur(i):[i]:[],zo=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,qi=(i=[])=>Array.prototype.map.call(i,zo).join(" "),bA=(i,e)=>t=>t[i]===e,b0=i=>{let e=Object.entries(i).map(([t,r])=>bA(t,r));return t=>e.every(r=>r(t))},Fr=(i,e=[],t=[])=>{let r=Cc(t).map(b0),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},Br=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:b0(e);return Array.from(i.textTracks).filter(t)},Xo=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(y.MEDIA_SUBTITLES_SHOWING)};var T0=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()},y0="exitFullscreen"in F?"exitFullscreen":"webkitExitFullscreen"in F?"webkitExitFullscreen":"webkitCancelFullScreen"in F?"webkitCancelFullScreen":void 0,_0=i=>{var e;let{documentElement:t}=i;if(y0){let r=(e=t==null?void 0:t[y0])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},ra="fullscreenElement"in F?"fullscreenElement":"webkitFullscreenElement"in F?"webkitFullscreenElement":void 0,yA=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[ra];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===Xg.FULLSCREEN?t:r},A0=i=>{var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;let n=yA(i);if(!n)return!1;if(n===s||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(ra in a))return At(n,s);for(;a!=null&&a[ra];){if(a[ra]===s)return!0;a=(e=a[ra])==null?void 0:e.shadowRoot}}return!1},TA="fullscreenEnabled"in F?"fullscreenEnabled":"webkitFullscreenEnabled"in F?"webkitFullscreenEnabled":void 0,S0=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[TA])||t&&"webkitSupportsFullscreen"in t};var Qo,Mc=()=>{var i,e;return Qo||(Qo=(e=(i=F)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),Qo)},x0=async(i=Mc())=>{if(!i)return!1;let e=i.volume;i.volume=e/2+.1;let t=new AbortController,r=await Promise.race([_A(i,t.signal),AA(i,e)]);return t.abort(),r},_A=(i,e)=>new Promise(t=>{i.addEventListener("volumechange",()=>t(!0),{signal:e})}),AA=async(i,e)=>{for(let t=0;t<10;t++){if(i.volume===e)return!1;await Mo(10)}return i.volume!==e},SA=/.*Version\/.*Safari\/.*/.test(x.navigator.userAgent),Pc=(i=Mc())=>x.matchMedia("(display-mode: standalone)").matches&&SA?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",Oc=(i=Mc())=>S0({documentElement:F,media:i}),R0=Oc(),I0=Pc(),k0=!!x.WebKitPlaybackTargetAvailabilityEvent,L0=!!x.chrome;var Xs=i=>Br(i.media,e=>[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Nc=i=>Br(i.media,e=>e.mode===or.SHOWING&&[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)),Zo=(i,e)=>{let t=Xs(i),r=Nc(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)Fr(or.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;Fr(or.DISABLED,t,r),Fr(or.SHOWING,t,[{language:o,label:l,kind:d}])}}},Jo=(i,e)=>i===e?!0:i==null||e==null||typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?xA(i,e):Object.entries(i).every(([t,r])=>t in e&&Jo(r,e[t])),xA=(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)=>Jo(s,e[n])):!0};var RA=Object.values(Zt),el,IA=x0().then(i=>(el=i,el)),w0=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof x.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=x.customElements.get(t);r&&e instanceof r||(await x.customElements.whenDefined(t),x.customElements.upgrade(e))}))},Qs={mediaError:{get(i,e){let{media:t}=i;if((e==null?void 0:e.type)!=="playing")return t==null?void 0:t.error},mediaEvents:["emptied","error","playing"]},mediaErrorCode:{get(i,e){var t;let{media:r}=i;if((e==null?void 0:e.type)!=="playing")return(t=r==null?void 0:r.error)==null?void 0:t.code},mediaEvents:["emptied","error","playing"]},mediaErrorMessage:{get(i,e){var t,r;let{media:s}=i;if((e==null?void 0:e.type)!=="playing")return(r=(t=s==null?void 0:s.error)==null?void 0:t.message)!=null?r:""},mediaEvents:["emptied","error","playing"]},mediaWidth:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoWidth)!=null?e:0},mediaEvents:["resize"]},mediaHeight:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoHeight)!=null?e:0},mediaEvents:["resize"]},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;if(t){try{x.localStorage.setItem("media-chrome-pref-muted",i?"true":"false")}catch(r){console.debug("Error setting muted pref",r)}t.muted=i}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noMutedPref:t}}=e,{media:r}=e;if(!(!r||r.muted||t))try{let s=x.localStorage.getItem("media-chrome-pref-muted")==="true";Qs.mediaMuted.set(s,e),i(s)}catch(s){console.debug("Error getting muted pref",s)}}]},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?x.localStorage.removeItem("media-chrome-pref-volume"):x.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch(r){console.debug("Error setting volume pref",r)}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let{media:r}=e;if(!r)return;let s=x.localStorage.getItem("media-chrome-pref-volume");if(s==null)return;Qs.mediaVolume.set(+s,e),i(+s)}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||!Vs(i)||(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=[Zt.LIVE,Zt.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(RA.includes(s))return s===Zt.UNKNOWN?r:s;let n=e.duration;return n===1/0?Zt.LIVE:Number.isFinite(n)?Zt.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=Qs.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===Zt.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(!(Qs.mediaStreamType.get(i)===Zt.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 Xs(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return Nc(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&&![Lt.CAPTIONS,Lt.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||Zo(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]=Br(t,{kind:Lt.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)=>{var t;let{media:r}=e;if(!r)return;let s=r.querySelector('track[kind="chapters"][default][src]'),n=(t=r.shadowRoot)==null?void 0:t.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return s==null||s.addEventListener("load",i),n==null||n.addEventListener("load",i),()=>{s==null||s.removeEventListener("load",i),n==null||n.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("-")?At(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(!F.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 F.pictureInPictureElement&&F.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 A0(i)},set(i,e){i?T0(e):_0(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&&x.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(!R0||!Oc(e))return $t.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!I0||!Pc(e))return $t.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(el===!1||(e==null?void 0:e.volume)==null)return $t.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{el==null&&IA.then(e=>i(e?void 0:$t.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!L0||!((t=r==null?void 0:r.remote)!=null&&t.state))return $t.UNSUPPORTED;if(!(e==null||e==="available"))return $t.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(!k0)return $t.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return $t.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 $t.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return $t.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return $t.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return $t.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var D0={[$.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]=Br(a,{kind:Lt.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(b=>+b),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}},[$.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[$.MEDIA_PLAY_REQUEST](i,e){var t;let r="mediaPaused";if(i.mediaStreamType.get(e)===Zt.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)},[$.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[$.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[$.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[$.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)},[$.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[$.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)},[$.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=Xs(e),a=Cc(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&x.localStorage.setItem("media-chrome-pref-subtitles-lang",o),Fr(or.SHOWING,n,a)},[$.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=Xs(e),s=t!=null?t:[];Fr(or.DISABLED,r,s)},[$.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){Zo(e,t)},[$.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[$.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[$.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[$.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[$.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[$.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var C0=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=Qs,requestMap:s=D0,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&&(Jo(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:b}])=>(g[E]=b(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,b,T,_,A,R,S,D,M,L,P,U,B,Q,X,W;let he=!!f;if(f={...l,...f!=null?f:{},...p},he)return;await w0(...Object.values(p));let me=o.length>0&&g===0&&a,Y=l.media!==f.media,K=((E=l.media)==null?void 0:E.textTracks)!==((b=f.media)==null?void 0:b.textTracks),ge=((T=l.media)==null?void 0:T.videoRenditions)!==((_=f.media)==null?void 0:_.videoRenditions),te=((A=l.media)==null?void 0:A.audioTracks)!==((R=f.media)==null?void 0:R.audioTracks),_e=((S=l.media)==null?void 0:S.remote)!==((D=f.media)==null?void 0:D.remote),$e=l.documentElement!==f.documentElement,Ve=!!l.media&&(Y||me),qe=!!((M=l.media)!=null&&M.textTracks)&&(K||me),_t=!!((L=l.media)!=null&&L.videoRenditions)&&(ge||me),ar=!!((P=l.media)!=null&&P.audioTracks)&&(te||me),$s=!!((U=l.media)!=null&&U.remote)&&(_e||me),Og=!!l.documentElement&&($e||me),Ng=Ve||qe||_t||ar||$s||Og,Hs=o.length===0&&g===1&&a,Ug=!!f.media&&(Y||Hs),Fg=!!((B=f.media)!=null&&B.textTracks)&&(K||Hs),Bg=!!((Q=f.media)!=null&&Q.videoRenditions)&&(ge||Hs),$g=!!((X=f.media)!=null&&X.audioTracks)&&(te||Hs),Hg=!!((W=f.media)!=null&&W.remote)&&(_e||Hs),Gg=!!f.documentElement&&($e||Hs),Kg=Ug||Fg||Bg||$g||Hg||Gg;if(!(Ng||Kg)){Object.entries(f).forEach(([Me,Yn])=>{l[Me]=Yn}),c(),f=void 0;return}Object.entries(r).forEach(([Me,{get:Yn,mediaEvents:V_=[],textTracksEvents:W_=[],videoRenditionsEvents:Y_=[],audioTracksEvents:q_=[],remoteEvents:j_=[],rootEvents:z_=[],stateOwnersUpdateHandlers:X_=[]}])=>{h[Me]||(h[Me]={});let Ut=je=>{let Ft=Yn(l,je);u({[Me]:Ft})},at;at=h[Me].mediaEvents,V_.forEach(je=>{at&&Ve&&(l.media.removeEventListener(je,at),h[Me].mediaEvents=void 0),Ug&&(f.media.addEventListener(je,Ut),h[Me].mediaEvents=Ut)}),at=h[Me].textTracksEvents,W_.forEach(je=>{var Ft,Qt;at&&qe&&((Ft=l.media.textTracks)==null||Ft.removeEventListener(je,at),h[Me].textTracksEvents=void 0),Fg&&((Qt=f.media.textTracks)==null||Qt.addEventListener(je,Ut),h[Me].textTracksEvents=Ut)}),at=h[Me].videoRenditionsEvents,Y_.forEach(je=>{var Ft,Qt;at&&_t&&((Ft=l.media.videoRenditions)==null||Ft.removeEventListener(je,at),h[Me].videoRenditionsEvents=void 0),Bg&&((Qt=f.media.videoRenditions)==null||Qt.addEventListener(je,Ut),h[Me].videoRenditionsEvents=Ut)}),at=h[Me].audioTracksEvents,q_.forEach(je=>{var Ft,Qt;at&&ar&&((Ft=l.media.audioTracks)==null||Ft.removeEventListener(je,at),h[Me].audioTracksEvents=void 0),$g&&((Qt=f.media.audioTracks)==null||Qt.addEventListener(je,Ut),h[Me].audioTracksEvents=Ut)}),at=h[Me].remoteEvents,j_.forEach(je=>{var Ft,Qt;at&&$s&&((Ft=l.media.remote)==null||Ft.removeEventListener(je,at),h[Me].remoteEvents=void 0),Hg&&((Qt=f.media.remote)==null||Qt.addEventListener(je,Ut),h[Me].remoteEvents=Ut)}),at=h[Me].rootEvents,z_.forEach(je=>{at&&Og&&(l.documentElement.removeEventListener(je,at),h[Me].rootEvents=void 0),Gg&&(f.documentElement.addEventListener(je,Ut),h[Me].rootEvents=Ut)});let Vg=h[Me].stateOwnersUpdateHandlers;X_.forEach(je=>{Vg&&Ng&&Vg(),Kg&&(h[Me].stateOwnersUpdateHandlers=je(Ut,f))})}),Object.entries(f).forEach(([Me,Yn])=>{l[Me]=Yn}),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]&&d.mediaErrorCode==null){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(([b,T])=>{l.options[b]=T})},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))}}}};var $c=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ye=(i,e,t)=>($c(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)},ur=(i,e,t,r)=>($c(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),cr=(i,e,t)=>($c(i,e,"access private method"),t),Hr,sa,He,na,gi,tl,il,Uc,Zs,aa,rl,Fc,U0=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],M0=10,Z={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"},sl=class extends ta{constructor(){super(),ji(this,il),ji(this,Zs),ji(this,rl),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,ji(this,Hr,new pi(this,Z.HOTKEYS)),ji(this,sa,void 0),ji(this,He,void 0),ji(this,na,void 0),ji(this,gi,void 0),ji(this,tl,t=>{var r;(r=ye(this,He))==null||r.dispatch(t)}),this.associateElement(this);let e={};ur(this,na,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 x.CustomEvent(zg[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(Z.NO_HOTKEYS,Z.HOTKEYS,Z.DEFAULT_STREAM_TYPE,Z.DEFAULT_SUBTITLES,Z.DEFAULT_DURATION)}get mediaStore(){return ye(this,He)}set mediaStore(e){var t,r;if(ye(this,He)&&((t=ye(this,gi))==null||t.call(this),ur(this,gi,void 0)),ur(this,He,e),!ye(this,He)&&!this.hasAttribute(Z.NO_DEFAULT_STORE)){cr(this,il,Uc).call(this);return}ur(this,gi,(r=ye(this,He))==null?void 0:r.subscribe(ye(this,na)))}get fullscreenElement(){var e;return(e=ye(this,sa))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(Z.FULLSCREEN_ELEMENT)&&this.removeAttribute(Z.FULLSCREEN_ELEMENT),ur(this,sa,e),(t=ye(this,He))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}get defaultSubtitles(){return ae(this,Z.DEFAULT_SUBTITLES)}set defaultSubtitles(e){oe(this,Z.DEFAULT_SUBTITLES,e)}get defaultStreamType(){return ue(this,Z.DEFAULT_STREAM_TYPE)}set defaultStreamType(e){ce(this,Z.DEFAULT_STREAM_TYPE,e)}get defaultDuration(){return ve(this,Z.DEFAULT_DURATION)}set defaultDuration(e){be(this,Z.DEFAULT_DURATION,e)}get noHotkeys(){return ae(this,Z.NO_HOTKEYS)}set noHotkeys(e){oe(this,Z.NO_HOTKEYS,e)}get keysUsed(){return ue(this,Z.KEYS_USED)}set keysUsed(e){ce(this,Z.KEYS_USED,e)}get liveEdgeOffset(){return ve(this,Z.LIVE_EDGE_OFFSET)}set liveEdgeOffset(e){be(this,Z.LIVE_EDGE_OFFSET,e)}get noAutoSeekToLive(){return ae(this,Z.NO_AUTO_SEEK_TO_LIVE)}set noAutoSeekToLive(e){oe(this,Z.NO_AUTO_SEEK_TO_LIVE,e)}get noVolumePref(){return ae(this,Z.NO_VOLUME_PREF)}set noVolumePref(e){oe(this,Z.NO_VOLUME_PREF,e)}get noSubtitlesLangPref(){return ae(this,Z.NO_SUBTITLES_LANG_PREF)}set noSubtitlesLangPref(e){oe(this,Z.NO_SUBTITLES_LANG_PREF,e)}get noDefaultStore(){return ae(this,Z.NO_DEFAULT_STORE)}set noDefaultStore(e){oe(this,Z.NO_DEFAULT_STORE,e)}attributeChangedCallback(e,t,r){var s,n,a,o,l,d;if(super.attributeChangedCallback(e,t,r),e===Z.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(Z.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===Z.HOTKEYS)ye(this,Hr).value=r;else if(e===Z.DEFAULT_SUBTITLES&&r!==t)(s=ye(this,He))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(Z.DEFAULT_SUBTITLES)}});else if(e===Z.DEFAULT_STREAM_TYPE)(a=ye(this,He))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(Z.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===Z.LIVE_EDGE_OFFSET)(o=ye(this,He))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(Z.LIVE_EDGE_OFFSET)?+this.getAttribute(Z.LIVE_EDGE_OFFSET):void 0}});else if(e===Z.FULLSCREEN_ELEMENT){let u=r?(l=this.getRootNode())==null?void 0:l.getElementById(r):void 0;ur(this,sa,u),(d=ye(this,He))==null||d.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}}connectedCallback(){var e,t;!ye(this,He)&&!this.hasAttribute(Z.NO_DEFAULT_STORE)&&cr(this,il,Uc).call(this),(e=ye(this,He))==null||e.dispatch({type:"documentelementchangerequest",detail:F}),super.connectedCallback(),ye(this,He)&&!ye(this,gi)&&ur(this,gi,(t=ye(this,He))==null?void 0:t.subscribe(ye(this,na))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),ye(this,He)&&((t=ye(this,He))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=ye(this,He))==null||r.dispatch({type:$.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),ye(this,gi)&&((s=ye(this,gi))==null||s.call(this),ur(this,gi,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=ye(this,He))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=ye(this,He))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){N0(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=MA(e,r,s);Object.values($).forEach(a=>{e.addEventListener(a,ye(this,tl))}),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($).forEach(s=>{e.removeEventListener(s,ye(this,tl))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),ye(this,He)&&Object.entries(ye(this,He).getState()).forEach(([s,n])=>{N0([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",cr(this,rl,Fc))}disableHotkeys(){this.removeEventListener("keydown",cr(this,rl,Fc)),this.removeEventListener("keyup",cr(this,Zs,aa))}get hotkeys(){return ue(this,Z.HOTKEYS)}set hotkeys(e){ce(this,Z.HOTKEYS,e)}keyboardShortcutHandler(e){var t,r,s,n,a;let o=e.target;if(((s=(r=(t=o.getAttribute(Z.KEYS_USED))==null?void 0:t.split(" "))!=null?r:o==null?void 0:o.keysUsed)!=null?s:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!ye(this,Hr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&ye(this,Hr).contains("nospace")))switch(e.key){case" ":case"k":d=ye(this,He).getState().mediaPaused?$.MEDIA_PLAY_REQUEST:$.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?$.MEDIA_UNMUTE_REQUEST:$.MEDIA_MUTE_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?$.MEDIA_EXIT_FULLSCREEN_REQUEST:$.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new x.CustomEvent($.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(Z.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(Z.KEYBOARD_BACKWARD_SEEK_OFFSET):M0;u=Math.max(((n=this.mediaStore.getState().mediaCurrentTime)!=null?n:0)-h,0),c=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(Z.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(Z.KEYBOARD_FORWARD_SEEK_OFFSET):M0;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)+h,0),c=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};Hr=new WeakMap;sa=new WeakMap;He=new WeakMap;na=new WeakMap;gi=new WeakMap;tl=new WeakMap;il=new WeakSet;Uc=function(){var i;this.mediaStore=C0({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(Z.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(Z.DEFAULT_DURATION)?+this.getAttribute(Z.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(Z.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(Z.LIVE_EDGE_OFFSET)?+this.getAttribute(Z.LIVE_EDGE_OFFSET):void 0,noVolumePref:this.hasAttribute(Z.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(Z.NO_SUBTITLES_LANG_PREF)}})};Zs=new WeakSet;aa=function(i){let{key:e}=i;if(!U0.includes(e)){this.removeEventListener("keyup",cr(this,Zs,aa));return}this.keyboardShortcutHandler(i)};rl=new WeakSet;Fc=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!U0.includes(r)){this.removeEventListener("keyup",cr(this,Zs,aa));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(ye(this,Hr).contains(`no${r.toLowerCase()}`)||r===" "&&ye(this,Hr).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",cr(this,Zs,aa),{once:!0})};var kA=Object.values(y),LA=Object.values(bc),F0=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(x.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,pe.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>kA.includes(o)):[]},wA=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&x.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof x.customElements.get(i.nodeName.toLowerCase()))&&x.customElements.upgrade(i),LA.some(r=>r in i)},Bc=i=>wA(i)||!!F0(i).length,P0=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},O0={[y.MEDIA_SUBTITLES_LIST]:qi,[y.MEDIA_SUBTITLES_SHOWING]:qi,[y.MEDIA_SEEKABLE]:P0,[y.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(P0).join(" "),[y.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[y.MEDIA_RENDITION_LIST]:Qg,[y.MEDIA_AUDIO_TRACK_LIST]:Jg},DA=async(i,e,t)=>{var r,s;if(i.isConnected||await Mo(0),typeof t=="boolean"||t==null)return oe(i,e,t);if(typeof t=="number")return be(i,e,t);if(typeof t=="string")return ce(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=O0[e])==null?void 0:r.call(O0,t))!=null?s:t;return i.setAttribute(e,n)},CA=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},$r=(i,e)=>{if(CA(i))return;let t=(s,n)=>{var a,o;Bc(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=>$r(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Bc(i)){x.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},N0=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=F0(r),n=e.toLowerCase();s.includes(n)&&DA(r,n,t)})},MA=(i,e,t)=>{$r(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($.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener($.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=>$r(E,e)),Array.prototype.forEach.call(f,E=>$r(E,t))):m==="attributes"&&g===pe.MEDIA_CHROME_ATTRIBUTES&&(Bc(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>$r(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>$r(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{$r(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener($.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener($.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};x.customElements.get("media-controller")||x.customElements.define("media-controller",sl);var Hc=sl;var Kc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Xe=(i,e,t)=>(Kc(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)},nl=(i,e,t,r)=>(Kc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),PA=(i,e,t)=>(Kc(i,e,"access private method"),t),vi,tn,fr,en,al,Gc,B0,hr={TOOLTIP_PLACEMENT:"tooltipplacement",DISABLED:"disabled",NO_TOOLTIP:"notooltip"},$0=F.createElement("template");$0.innerHTML=`
|
|
154
|
+
`;var mA=Object.values(y),pA="sm:384 md:576 lg:768 xl:960";function gA(i){E0(i.target,i.contentRect.width)}function E0(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(ee.BREAKPOINTS))!=null?t:pA,s=vA(r),n=EA(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(Ki.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(o)}i.breakpointsComputed||(i.breakpointsComputed=!0,i.dispatchEvent(new CustomEvent(Ki.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))}function vA(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function EA(i,e){return Object.keys(i).filter(t=>e>=parseInt(i[t]))}var ta=class extends x.HTMLElement{constructor(){super(),Ht(this,Rc),Ht(this,Ic),Ht(this,kc),Ht(this,Jn),Ht(this,Yo),Ht(this,qs),Ht(this,Vo,0),Ht(this,Ws,null),Ht(this,Zn,null),Ht(this,Ys,void 0),this.breakpointsComputed=!1,Ht(this,Go,new MutationObserver(Wt(this,Rc,m0).bind(this))),Ht(this,Qn,!1),Ht(this,Ko,t=>{Gt(this,Qn)||(setTimeout(()=>{gA(t),Or(this,Qn,!1)},0),Or(this,Qn,!0))}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(v0.content.cloneNode(!0)));let e=this.querySelector(":scope > slot[slot=media]");e&&e.addEventListener("slotchange",()=>{if(!e.assignedElements({flatten:!0}).length){Gt(this,Ws)&&this.mediaUnsetCallback(Gt(this,Ws));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[ee.AUTOHIDE,ee.GESTURES_DISABLED].concat(mA).filter(e=>![y.MEDIA_RENDITION_LIST,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_CHAPTERS_CUES,y.MEDIA_WIDTH,y.MEDIA_HEIGHT,y.MEDIA_ERROR,y.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==ee.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&&(Or(this,Ws,e),e.localName.includes("-")&&await x.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;Gt(this,Go).observe(this,{childList:!0,subtree:!0}),Vi(this,Gt(this,Ko));let r=this.getAttribute(ee.AUDIO)!=null?H("audio player"):H("video player");this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(ee.USER_INACTIVE,""),E0(this,this.getBoundingClientRect().width),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=x.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;Gt(this,Go).disconnect(),Wi(this,Gt(this,Ko)),this.media&&this.mediaUnsetCallback(this.media),(e=x.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){Or(this,Ws,null)}handleEvent(e){switch(e.type){case"pointerdown":Or(this,Vo,e.timeStamp);break;case"pointermove":Wt(this,Ic,p0).call(this,e);break;case"pointerup":Wt(this,kc,g0).call(this,e);break;case"mouseleave":Wt(this,Jn,Wo).call(this);break;case"mouseup":this.removeAttribute(ee.KEYBOARD_CONTROL);break;case"keyup":Wt(this,qs,ea).call(this),this.setAttribute(ee.KEYBOARD_CONTROL,"");break}}set autohide(e){let t=Number(e);Or(this,Ys,isNaN(t)?0:t)}get autohide(){return(Gt(this,Ys)===void 0?2:Gt(this,Ys)).toString()}get breakpoints(){return ue(this,ee.BREAKPOINTS)}set breakpoints(e){ce(this,ee.BREAKPOINTS,e)}get audio(){return ae(this,ee.AUDIO)}set audio(e){oe(this,ee.AUDIO,e)}get gesturesDisabled(){return ae(this,ee.GESTURES_DISABLED)}set gesturesDisabled(e){oe(this,ee.GESTURES_DISABLED,e)}get keyboardControl(){return ae(this,ee.KEYBOARD_CONTROL)}set keyboardControl(e){oe(this,ee.KEYBOARD_CONTROL,e)}get noAutohide(){return ae(this,ee.NO_AUTOHIDE)}set noAutohide(e){oe(this,ee.NO_AUTOHIDE,e)}get autohideOverControls(){return ae(this,ee.AUTOHIDE_OVER_CONTROLS)}set autohideOverControls(e){oe(this,ee.AUTOHIDE_OVER_CONTROLS,e)}get userInteractive(){return ae(this,ee.USER_INACTIVE)}set userInteractive(e){oe(this,ee.USER_INACTIVE,e)}};Vo=new WeakMap;Ws=new WeakMap;Zn=new WeakMap;Ys=new WeakMap;Go=new WeakMap;Rc=new WeakSet;m0=function(i){let e=this.media;for(let t of i){if(t.type!=="childList")continue;let r=t.removedNodes;for(let s of r){if(s.slot!="media"||t.target!=this)continue;let n=t.previousSibling&&t.previousSibling.previousElementSibling;if(!n||!e)this.mediaUnsetCallback(s);else{let a=n.slot!=="media";for(;(n=n.previousSibling)!==null;)n.slot=="media"&&(a=!1);a&&this.mediaUnsetCallback(s)}}if(e)for(let s of t.addedNodes)s===e&&this.handleMediaUpdated(e)}};Qn=new WeakMap;Ko=new WeakMap;Ic=new WeakSet;p0=function(i){if(i.pointerType!=="mouse"&&i.timeStamp-Gt(this,Vo)<250)return;Wt(this,Yo,wc).call(this),clearTimeout(Gt(this,Zn));let e=this.hasAttribute(ee.AUTOHIDE_OVER_CONTROLS);([this,this.media].includes(i.target)||e)&&Wt(this,qs,ea).call(this)};kc=new WeakSet;g0=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(ee.USER_INACTIVE);[this,this.media].includes(i.target)&&e?Wt(this,Jn,Wo).call(this):Wt(this,qs,ea).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&Wt(this,qs,ea).call(this)};Jn=new WeakSet;Wo=function(){if(Gt(this,Ys)<0||this.hasAttribute(ee.USER_INACTIVE))return;this.setAttribute(ee.USER_INACTIVE,"");let i=new x.CustomEvent(Ki.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};Yo=new WeakSet;wc=function(){if(!this.hasAttribute(ee.USER_INACTIVE))return;this.removeAttribute(ee.USER_INACTIVE);let i=new x.CustomEvent(Ki.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};qs=new WeakSet;ea=function(){Wt(this,Yo,wc).call(this),clearTimeout(Gt(this,Zn));let i=parseInt(this.autohide);i<0||Or(this,Zn,setTimeout(()=>{Wt(this,Jn,Wo).call(this)},i*1e3))};x.customElements.get("media-container")||x.customElements.define("media-container",ta);var b0=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ot=(i,e,t)=>(b0(i,e,"read from private field"),t?t.call(i):e.get(i)),ia=(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)},qo=(i,e,t,r)=>(b0(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),js,zs,jo,Nr,Yi,dr,pi=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){ia(this,Yi),ia(this,js,void 0),ia(this,zs,void 0),ia(this,jo,void 0),ia(this,Nr,new Set),qo(this,js,e),qo(this,zs,t),qo(this,jo,new Set(r))}[Symbol.iterator](){return ot(this,Yi,dr).values()}get length(){return ot(this,Yi,dr).size}get value(){var e;return(e=[...ot(this,Yi,dr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(qo(this,Nr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...ot(this,Yi,dr)][e]}values(){return ot(this,Yi,dr).values()}forEach(e,t){ot(this,Yi,dr).forEach(e,t)}add(...e){var t,r;e.forEach(s=>ot(this,Nr).add(s)),!(this.value===""&&!((t=ot(this,js))!=null&&t.hasAttribute(`${ot(this,zs)}`)))&&((r=ot(this,js))==null||r.setAttribute(`${ot(this,zs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>ot(this,Nr).delete(r)),(t=ot(this,js))==null||t.setAttribute(`${ot(this,zs)}`,`${this.value}`)}contains(e){return ot(this,Yi,dr).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}};js=new WeakMap;zs=new WeakMap;jo=new WeakMap;Nr=new WeakMap;Yi=new WeakSet;dr=function(){return ot(this,Nr).size?ot(this,Nr):ot(this,jo)};var bA=(i="")=>i.split(/\s+/),y0=(i="")=>{let[e,t,r]=i.split(":"),s=r?decodeURIComponent(r):void 0;return{kind:e==="cc"?Lt.CAPTIONS:Lt.SUBTITLES,language:t,label:s}},Ur=(i="",e={})=>bA(i).map(t=>{let r=y0(t);return{...e,...r}}),Dc=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?y0(e):e):typeof i=="string"?Ur(i):[i]:[],zo=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,qi=(i=[])=>Array.prototype.map.call(i,zo).join(" "),yA=(i,e)=>t=>t[i]===e,T0=i=>{let e=Object.entries(i).map(([t,r])=>yA(t,r));return t=>e.every(r=>r(t))},Fr=(i,e=[],t=[])=>{let r=Dc(t).map(T0),s=n=>r.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=i})},Br=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:T0(e);return Array.from(i.textTracks).filter(t)},Xo=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(y.MEDIA_SUBTITLES_SHOWING)};var A0=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()},_0="exitFullscreen"in F?"exitFullscreen":"webkitExitFullscreen"in F?"webkitExitFullscreen":"webkitCancelFullScreen"in F?"webkitCancelFullScreen":void 0,S0=i=>{var e;let{documentElement:t}=i;if(_0){let r=(e=t==null?void 0:t[_0])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},ra="fullscreenElement"in F?"fullscreenElement":"webkitFullscreenElement"in F?"webkitFullscreenElement":void 0,TA=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[ra];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===zg.FULLSCREEN?t:r},x0=i=>{var e;let{media:t,documentElement:r,fullscreenElement:s=t}=i;if(!t||!r)return!1;let n=TA(i);if(!n)return!1;if(n===s||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(ra in a))return At(n,s);for(;a!=null&&a[ra];){if(a[ra]===s)return!0;a=(e=a[ra])==null?void 0:e.shadowRoot}}return!1},_A="fullscreenEnabled"in F?"fullscreenEnabled":"webkitFullscreenEnabled"in F?"webkitFullscreenEnabled":void 0,R0=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[_A])||t&&"webkitSupportsFullscreen"in t};var Qo,Cc=()=>{var i,e;return Qo||(Qo=(e=(i=F)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),Qo)},I0=async(i=Cc())=>{if(!i)return!1;let e=i.volume;i.volume=e/2+.1;let t=new AbortController,r=await Promise.race([AA(i,t.signal),SA(i,e)]);return t.abort(),r},AA=(i,e)=>new Promise(t=>{i.addEventListener("volumechange",()=>t(!0),{signal:e})}),SA=async(i,e)=>{for(let t=0;t<10;t++){if(i.volume===e)return!1;await Mo(10)}return i.volume!==e},xA=/.*Version\/.*Safari\/.*/.test(x.navigator.userAgent),Mc=(i=Cc())=>x.matchMedia("(display-mode: standalone)").matches&&xA?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",Pc=(i=Cc())=>R0({documentElement:F,media:i}),k0=Pc(),L0=Mc(),w0=!!x.WebKitPlaybackTargetAvailabilityEvent,D0=!!x.chrome;var Xs=i=>Br(i.media,e=>[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Oc=i=>Br(i.media,e=>e.mode===or.SHOWING&&[Lt.SUBTITLES,Lt.CAPTIONS].includes(e.kind)),Zo=(i,e)=>{let t=Xs(i),r=Oc(i),s=!!r.length;if(t.length){if(e===!1||s&&e!==!0)Fr(or.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;Fr(or.DISABLED,t,r),Fr(or.SHOWING,t,[{language:o,label:l,kind:d}])}}},Jo=(i,e)=>i===e?!0:i==null||e==null||typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?RA(i,e):Object.entries(i).every(([t,r])=>t in e&&Jo(r,e[t])),RA=(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)=>Jo(s,e[n])):!0};var IA=Object.values(Zt),el,kA=I0().then(i=>(el=i,el)),C0=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof x.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=x.customElements.get(t);r&&e instanceof r||(await x.customElements.whenDefined(t),x.customElements.upgrade(e))}))},Qs={mediaError:{get(i,e){let{media:t}=i;if((e==null?void 0:e.type)!=="playing")return t==null?void 0:t.error},mediaEvents:["emptied","error","playing"]},mediaErrorCode:{get(i,e){var t;let{media:r}=i;if((e==null?void 0:e.type)!=="playing")return(t=r==null?void 0:r.error)==null?void 0:t.code},mediaEvents:["emptied","error","playing"]},mediaErrorMessage:{get(i,e){var t,r;let{media:s}=i;if((e==null?void 0:e.type)!=="playing")return(r=(t=s==null?void 0:s.error)==null?void 0:t.message)!=null?r:""},mediaEvents:["emptied","error","playing"]},mediaWidth:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoWidth)!=null?e:0},mediaEvents:["resize"]},mediaHeight:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoHeight)!=null?e:0},mediaEvents:["resize"]},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;if(t){try{x.localStorage.setItem("media-chrome-pref-muted",i?"true":"false")}catch(r){console.debug("Error setting muted pref",r)}t.muted=i}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noMutedPref:t}}=e,{media:r}=e;if(!(!r||r.muted||t))try{let s=x.localStorage.getItem("media-chrome-pref-muted")==="true";Qs.mediaMuted.set(s,e),i(s)}catch(s){console.debug("Error getting muted pref",s)}}]},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?x.localStorage.removeItem("media-chrome-pref-volume"):x.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch(r){console.debug("Error setting volume pref",r)}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let{media:r}=e;if(!r)return;let s=x.localStorage.getItem("media-chrome-pref-volume");if(s==null)return;Qs.mediaVolume.set(+s,e),i(+s)}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||!Vs(i)||(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=[Zt.LIVE,Zt.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:s}=e;if(IA.includes(s))return s===Zt.UNKNOWN?r:s;let n=e.duration;return n===1/0?Zt.LIVE:Number.isFinite(n)?Zt.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=Qs.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===Zt.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(!(Qs.mediaStreamType.get(i)===Zt.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 Xs(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return Oc(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&&![Lt.CAPTIONS,Lt.SUBTITLES].includes((l=o==null?void 0:o.track)==null?void 0:l.kind)||Zo(e,!0)};return s.addEventListener("loadstart",a),(t=s.textTracks)==null||t.addEventListener("addtrack",a),(r=s.textTracks)==null||r.addEventListener("removetrack",a),()=>{var o,l;s.removeEventListener("loadstart",a),(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]=Br(t,{kind:Lt.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)=>{var t;let{media:r}=e;if(!r)return;let s=r.querySelector('track[kind="chapters"][default][src]'),n=(t=r.shadowRoot)==null?void 0:t.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return s==null||s.addEventListener("load",i),n==null||n.addEventListener("load",i),()=>{s==null||s.removeEventListener("load",i),n==null||n.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("-")?At(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(!F.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 F.pictureInPictureElement&&F.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 x0(i)},set(i,e){i?A0(e):S0(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&&x.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(!k0||!Pc(e))return $t.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!L0||!Mc(e))return $t.UNSUPPORTED}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if(el===!1||(e==null?void 0:e.volume)==null)return $t.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{el==null&&kA.then(e=>i(e?void 0:$t.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!D0||!((t=r==null?void 0:r.remote)!=null&&t.state))return $t.UNSUPPORTED;if(!(e==null||e==="available"))return $t.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(!w0)return $t.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return $t.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 $t.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return $t.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return $t.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return $t.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]}};var M0={[$.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]=Br(a,{kind:Lt.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(b=>+b),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}},[$.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[$.MEDIA_PLAY_REQUEST](i,e){var t,r,s,n;let a="mediaPaused",l=i.mediaStreamType.get(e)===Zt.LIVE,d=!((t=e.options)!=null&&t.noAutoSeekToLive),u=i.mediaTargetLiveWindow.get(e)>0;if(l&&d&&!u){let c=(r=i.mediaSeekable.get(e))==null?void 0:r[1];if(c){let h=(n=(s=e.options)==null?void 0:s.seekToLiveOffset)!=null?n:0,f=c-h;i.mediaCurrentTime.set(f,e)}}i[a].set(!1,e)},[$.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",s=t;i[r].set(s,e)},[$.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[$.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[$.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)},[$.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",s=t;i[r].set(s,e)},[$.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t,r,s;let n="mediaCurrentTime",a=(t=i.mediaSeekable.get(e))==null?void 0:t[1];if(Number.isNaN(Number(a)))return;let o=(s=(r=e.options)==null?void 0:r.seekToLiveOffset)!=null?s:0,l=a-o;i[n].set(l,e)},[$.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:s}=e,n=Xs(e),a=Dc(t),o=(r=a[0])==null?void 0:r.language;o&&!s.noSubtitlesLangPref&&x.localStorage.setItem("media-chrome-pref-subtitles-lang",o),Fr(or.SHOWING,n,a)},[$.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=Xs(e),s=t!=null?t:[];Fr(or.DISABLED,r,s)},[$.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){Zo(e,t)},[$.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",s=t;i[r].set(s,e)},[$.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",s=t;i[r].set(s,e)},[$.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[$.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e){let t="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[$.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[$.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[$.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var P0=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=Qs,requestMap:s=M0,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&&(Jo(p,d)||(d=Object.freeze({...d,...p}),o.forEach(g=>g(d))))},c=()=>{let p=Object.entries(r).reduce((g,[E,{get:b}])=>(g[E]=b(l),g),{});u(p)},h={},f,m=async(p,g)=>{var E,b,T,_,A,R,S,D,M,L,P,U,B,Z,Q,Y;let he=!!f;if(f={...l,...f!=null?f:{},...p},he)return;await C0(...Object.values(p));let me=o.length>0&&g===0&&a,q=l.media!==f.media,K=((E=l.media)==null?void 0:E.textTracks)!==((b=f.media)==null?void 0:b.textTracks),ge=((T=l.media)==null?void 0:T.videoRenditions)!==((_=f.media)==null?void 0:_.videoRenditions),ie=((A=l.media)==null?void 0:A.audioTracks)!==((R=f.media)==null?void 0:R.audioTracks),_e=((S=l.media)==null?void 0:S.remote)!==((D=f.media)==null?void 0:D.remote),He=l.documentElement!==f.documentElement,Ve=!!l.media&&(q||me),qe=!!((M=l.media)!=null&&M.textTracks)&&(K||me),_t=!!((L=l.media)!=null&&L.videoRenditions)&&(ge||me),ar=!!((P=l.media)!=null&&P.audioTracks)&&(ie||me),$s=!!((U=l.media)!=null&&U.remote)&&(_e||me),Pg=!!l.documentElement&&(He||me),Og=Ve||qe||_t||ar||$s||Pg,Hs=o.length===0&&g===1&&a,Ng=!!f.media&&(q||Hs),Ug=!!((B=f.media)!=null&&B.textTracks)&&(K||Hs),Fg=!!((Z=f.media)!=null&&Z.videoRenditions)&&(ge||Hs),Bg=!!((Q=f.media)!=null&&Q.audioTracks)&&(ie||Hs),$g=!!((Y=f.media)!=null&&Y.remote)&&(_e||Hs),Hg=!!f.documentElement&&(He||Hs),Gg=Ng||Ug||Fg||Bg||$g||Hg;if(!(Og||Gg)){Object.entries(f).forEach(([Me,Yn])=>{l[Me]=Yn}),c(),f=void 0;return}Object.entries(r).forEach(([Me,{get:Yn,mediaEvents:Y_=[],textTracksEvents:q_=[],videoRenditionsEvents:j_=[],audioTracksEvents:z_=[],remoteEvents:X_=[],rootEvents:Q_=[],stateOwnersUpdateHandlers:Z_=[]}])=>{h[Me]||(h[Me]={});let Ut=je=>{let Ft=Yn(l,je);u({[Me]:Ft})},at;at=h[Me].mediaEvents,Y_.forEach(je=>{at&&Ve&&(l.media.removeEventListener(je,at),h[Me].mediaEvents=void 0),Ng&&(f.media.addEventListener(je,Ut),h[Me].mediaEvents=Ut)}),at=h[Me].textTracksEvents,q_.forEach(je=>{var Ft,Qt;at&&qe&&((Ft=l.media.textTracks)==null||Ft.removeEventListener(je,at),h[Me].textTracksEvents=void 0),Ug&&((Qt=f.media.textTracks)==null||Qt.addEventListener(je,Ut),h[Me].textTracksEvents=Ut)}),at=h[Me].videoRenditionsEvents,j_.forEach(je=>{var Ft,Qt;at&&_t&&((Ft=l.media.videoRenditions)==null||Ft.removeEventListener(je,at),h[Me].videoRenditionsEvents=void 0),Fg&&((Qt=f.media.videoRenditions)==null||Qt.addEventListener(je,Ut),h[Me].videoRenditionsEvents=Ut)}),at=h[Me].audioTracksEvents,z_.forEach(je=>{var Ft,Qt;at&&ar&&((Ft=l.media.audioTracks)==null||Ft.removeEventListener(je,at),h[Me].audioTracksEvents=void 0),Bg&&((Qt=f.media.audioTracks)==null||Qt.addEventListener(je,Ut),h[Me].audioTracksEvents=Ut)}),at=h[Me].remoteEvents,X_.forEach(je=>{var Ft,Qt;at&&$s&&((Ft=l.media.remote)==null||Ft.removeEventListener(je,at),h[Me].remoteEvents=void 0),$g&&((Qt=f.media.remote)==null||Qt.addEventListener(je,Ut),h[Me].remoteEvents=Ut)}),at=h[Me].rootEvents,Q_.forEach(je=>{at&&Pg&&(l.documentElement.removeEventListener(je,at),h[Me].rootEvents=void 0),Hg&&(f.documentElement.addEventListener(je,Ut),h[Me].rootEvents=Ut)});let Kg=h[Me].stateOwnersUpdateHandlers;Z_.forEach(je=>{Kg&&Og&&Kg(),Gg&&(h[Me].stateOwnersUpdateHandlers=je(Ut,f))})}),Object.entries(f).forEach(([Me,Yn])=>{l[Me]=Yn}),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]&&d.mediaErrorCode==null){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(([b,T])=>{l.options[b]=T})},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))}}}};var Bc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},be=(i,e,t)=>(Bc(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)},ur=(i,e,t,r)=>(Bc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),cr=(i,e,t)=>(Bc(i,e,"access private method"),t),Hr,sa,Pe,na,gi,tl,il,Nc,Zs,aa,rl,Uc,B0=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],O0=10,W={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",SEEK_TO_LIVE_OFFSET:"seektoliveoffset",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",LANG:"lang"},sl=class extends ta{constructor(){super(),ji(this,il),ji(this,Zs),ji(this,rl),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,ji(this,Hr,new pi(this,W.HOTKEYS)),ji(this,sa,void 0),ji(this,Pe,void 0),ji(this,na,void 0),ji(this,gi,void 0),ji(this,tl,t=>{var r;(r=be(this,Pe))==null||r.dispatch(t)}),this.associateElement(this);let e={};ur(this,na,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 x.CustomEvent(jg[n],{composed:!0,detail:s});this.dispatchEvent(a)}),e=t}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(W.NO_HOTKEYS,W.HOTKEYS,W.DEFAULT_STREAM_TYPE,W.DEFAULT_SUBTITLES,W.DEFAULT_DURATION,W.LANG)}get mediaStore(){return be(this,Pe)}set mediaStore(e){var t,r;if(be(this,Pe)&&((t=be(this,gi))==null||t.call(this),ur(this,gi,void 0)),ur(this,Pe,e),!be(this,Pe)&&!this.hasAttribute(W.NO_DEFAULT_STORE)){cr(this,il,Nc).call(this);return}ur(this,gi,(r=be(this,Pe))==null?void 0:r.subscribe(be(this,na)))}get fullscreenElement(){var e;return(e=be(this,sa))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(W.FULLSCREEN_ELEMENT)&&this.removeAttribute(W.FULLSCREEN_ELEMENT),ur(this,sa,e),(t=be(this,Pe))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}get defaultSubtitles(){return ae(this,W.DEFAULT_SUBTITLES)}set defaultSubtitles(e){oe(this,W.DEFAULT_SUBTITLES,e)}get defaultStreamType(){return ue(this,W.DEFAULT_STREAM_TYPE)}set defaultStreamType(e){ce(this,W.DEFAULT_STREAM_TYPE,e)}get defaultDuration(){return ve(this,W.DEFAULT_DURATION)}set defaultDuration(e){ye(this,W.DEFAULT_DURATION,e)}get noHotkeys(){return ae(this,W.NO_HOTKEYS)}set noHotkeys(e){oe(this,W.NO_HOTKEYS,e)}get keysUsed(){return ue(this,W.KEYS_USED)}set keysUsed(e){ce(this,W.KEYS_USED,e)}get liveEdgeOffset(){return ve(this,W.LIVE_EDGE_OFFSET)}set liveEdgeOffset(e){ye(this,W.LIVE_EDGE_OFFSET,e)}get noAutoSeekToLive(){return ae(this,W.NO_AUTO_SEEK_TO_LIVE)}set noAutoSeekToLive(e){oe(this,W.NO_AUTO_SEEK_TO_LIVE,e)}get noVolumePref(){return ae(this,W.NO_VOLUME_PREF)}set noVolumePref(e){oe(this,W.NO_VOLUME_PREF,e)}get noSubtitlesLangPref(){return ae(this,W.NO_SUBTITLES_LANG_PREF)}set noSubtitlesLangPref(e){oe(this,W.NO_SUBTITLES_LANG_PREF,e)}get noDefaultStore(){return ae(this,W.NO_DEFAULT_STORE)}set noDefaultStore(e){oe(this,W.NO_DEFAULT_STORE,e)}attributeChangedCallback(e,t,r){var s,n,a,o,l,d,u,c;if(super.attributeChangedCallback(e,t,r),e===W.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(W.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===W.HOTKEYS)be(this,Hr).value=r;else if(e===W.DEFAULT_SUBTITLES&&r!==t)(s=be(this,Pe))==null||s.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(W.DEFAULT_SUBTITLES)}});else if(e===W.DEFAULT_STREAM_TYPE)(a=be(this,Pe))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(W.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===W.LIVE_EDGE_OFFSET)(o=be(this,Pe))==null||o.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(W.LIVE_EDGE_OFFSET)?+this.getAttribute(W.LIVE_EDGE_OFFSET):void 0,seekToLiveOffset:this.hasAttribute(W.SEEK_TO_LIVE_OFFSET)?void 0:+this.getAttribute(W.LIVE_EDGE_OFFSET)}});else if(e===W.SEEK_TO_LIVE_OFFSET)(l=be(this,Pe))==null||l.dispatch({type:"optionschangerequest",detail:{seekToLiveOffset:this.hasAttribute(W.SEEK_TO_LIVE_OFFSET)?+this.getAttribute(W.SEEK_TO_LIVE_OFFSET):void 0}});else if(e===W.NO_AUTO_SEEK_TO_LIVE)(d=be(this,Pe))==null||d.dispatch({type:"optionschangerequest",detail:{noAutoSeekToLive:this.hasAttribute(W.NO_AUTO_SEEK_TO_LIVE)}});else if(e===W.FULLSCREEN_ELEMENT){let h=r?(u=this.getRootNode())==null?void 0:u.getElementById(r):void 0;ur(this,sa,h),(c=be(this,Pe))==null||c.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}else e===W.LANG&&r!==t&&s0(r)}connectedCallback(){var e,t;!be(this,Pe)&&!this.hasAttribute(W.NO_DEFAULT_STORE)&&cr(this,il,Nc).call(this),(e=be(this,Pe))==null||e.dispatch({type:"documentelementchangerequest",detail:F}),super.connectedCallback(),be(this,Pe)&&!be(this,gi)&&ur(this,gi,(t=be(this,Pe))==null?void 0:t.subscribe(be(this,na))),this.enableHotkeys()}disconnectedCallback(){var e,t,r,s;(e=super.disconnectedCallback)==null||e.call(this),be(this,Pe)&&((t=be(this,Pe))==null||t.dispatch({type:"documentelementchangerequest",detail:void 0}),(r=be(this,Pe))==null||r.dispatch({type:$.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})),be(this,gi)&&((s=be(this,gi))==null||s.call(this),ur(this,gi,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=be(this,Pe))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=be(this,Pe))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){F0(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=PA(e,r,s);Object.values($).forEach(a=>{e.addEventListener(a,be(this,tl))}),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($).forEach(s=>{e.removeEventListener(s,be(this,tl))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),be(this,Pe)&&Object.entries(be(this,Pe).getState()).forEach(([s,n])=>{F0([e],s,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",cr(this,rl,Uc))}disableHotkeys(){this.removeEventListener("keydown",cr(this,rl,Uc)),this.removeEventListener("keyup",cr(this,Zs,aa))}get hotkeys(){return ue(this,W.HOTKEYS)}set hotkeys(e){ce(this,W.HOTKEYS,e)}keyboardShortcutHandler(e){var t,r,s,n,a;let o=e.target;if(((s=(r=(t=o.getAttribute(W.KEYS_USED))==null?void 0:t.split(" "))!=null?r:o==null?void 0:o.keysUsed)!=null?s:[]).map(h=>h==="Space"?" ":h).filter(Boolean).includes(e.key))return;let d,u,c;if(!be(this,Hr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&be(this,Hr).contains("nospace")))switch(e.key){case" ":case"k":d=be(this,Pe).getState().mediaPaused?$.MEDIA_PLAY_REQUEST:$.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"m":d=this.mediaStore.getState().mediaVolumeLevel==="off"?$.MEDIA_UNMUTE_REQUEST:$.MEDIA_MUTE_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"f":d=this.mediaStore.getState().mediaIsFullscreen?$.MEDIA_EXIT_FULLSCREEN_REQUEST:$.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new x.CustomEvent(d,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new x.CustomEvent($.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":{let h=this.hasAttribute(W.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(W.KEYBOARD_BACKWARD_SEEK_OFFSET):O0;u=Math.max(((n=this.mediaStore.getState().mediaCurrentTime)!=null?n:0)-h,0),c=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":{let h=this.hasAttribute(W.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(W.KEYBOARD_FORWARD_SEEK_OFFSET):O0;u=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)+h,0),c=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}default:break}}};Hr=new WeakMap;sa=new WeakMap;Pe=new WeakMap;na=new WeakMap;gi=new WeakMap;tl=new WeakMap;il=new WeakSet;Nc=function(){var i;this.mediaStore=P0({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(W.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(W.DEFAULT_DURATION)?+this.getAttribute(W.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(W.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(W.LIVE_EDGE_OFFSET)?+this.getAttribute(W.LIVE_EDGE_OFFSET):void 0,seekToLiveOffset:this.hasAttribute(W.SEEK_TO_LIVE_OFFSET)?+this.getAttribute(W.SEEK_TO_LIVE_OFFSET):this.hasAttribute(W.LIVE_EDGE_OFFSET)?+this.getAttribute(W.LIVE_EDGE_OFFSET):void 0,noAutoSeekToLive:this.hasAttribute(W.NO_AUTO_SEEK_TO_LIVE),noVolumePref:this.hasAttribute(W.NO_VOLUME_PREF),noSubtitlesLangPref:this.hasAttribute(W.NO_SUBTITLES_LANG_PREF)}})};Zs=new WeakSet;aa=function(i){let{key:e}=i;if(!B0.includes(e)){this.removeEventListener("keyup",cr(this,Zs,aa));return}this.keyboardShortcutHandler(i)};rl=new WeakSet;Uc=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!B0.includes(r)){this.removeEventListener("keyup",cr(this,Zs,aa));return}[" ","ArrowLeft","ArrowRight"].includes(r)&&!(be(this,Hr).contains(`no${r.toLowerCase()}`)||r===" "&&be(this,Hr).contains("nospace"))&&i.preventDefault(),this.addEventListener("keyup",cr(this,Zs,aa),{once:!0})};var LA=Object.values(y),wA=Object.values(bc),$0=i=>{var e,t,r,s;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(x.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(s=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,pe.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:s.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>LA.includes(o)):[]},DA=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&x.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof x.customElements.get(i.nodeName.toLowerCase()))&&x.customElements.upgrade(i),wA.some(r=>r in i)},Fc=i=>DA(i)||!!$0(i).length,N0=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},U0={[y.MEDIA_SUBTITLES_LIST]:qi,[y.MEDIA_SUBTITLES_SHOWING]:qi,[y.MEDIA_SEEKABLE]:N0,[y.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(N0).join(" "),[y.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[y.MEDIA_RENDITION_LIST]:Xg,[y.MEDIA_AUDIO_TRACK_LIST]:Zg},CA=async(i,e,t)=>{var r,s;if(i.isConnected||await Mo(0),typeof t=="boolean"||t==null)return oe(i,e,t);if(typeof t=="number")return ye(i,e,t);if(typeof t=="string")return ce(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(s=(r=U0[e])==null?void 0:r.call(U0,t))!=null?s:t;return i.setAttribute(e,n)},MA=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},$r=(i,e)=>{if(MA(i))return;let t=(s,n)=>{var a,o;Fc(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=>$r(c,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!Fc(i)){x.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},F0=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let s=$0(r),n=e.toLowerCase();s.includes(n)&&CA(r,n,t)})},PA=(i,e,t)=>{$r(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($.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener($.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=>$r(E,e)),Array.prototype.forEach.call(f,E=>$r(E,t))):m==="attributes"&&g===pe.MEDIA_CHROME_ATTRIBUTES&&(Fc(p)?e(p):t(p))})},a=[],o=u=>{let c=u.target;c.name!=="media"&&(a.forEach(h=>$r(h,t)),a=[...c.assignedElements({flatten:!0})],a.forEach(h=>$r(h,e)))};i.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{$r(i,t),i.removeEventListener("slotchange",o),l.disconnect(),i.removeEventListener($.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener($.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};x.customElements.get("media-controller")||x.customElements.define("media-controller",sl);var $c=sl;var Gc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Xe=(i,e,t)=>(Gc(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)},nl=(i,e,t,r)=>(Gc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),OA=(i,e,t)=>(Gc(i,e,"access private method"),t),vi,tn,fr,en,al,Hc,H0,hr={TOOLTIP_PLACEMENT:"tooltipplacement",DISABLED:"disabled",NO_TOOLTIP:"notooltip"},G0=F.createElement("template");G0.innerHTML=`
|
|
149
155
|
<style>
|
|
150
156
|
:host {
|
|
151
157
|
position: relative;
|
|
@@ -164,7 +170,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
164
170
|
box-sizing: border-box;
|
|
165
171
|
transition: background .15s linear;
|
|
166
172
|
pointer-events: auto;
|
|
167
|
-
cursor: pointer;
|
|
173
|
+
cursor: var(--media-cursor, pointer);
|
|
168
174
|
-webkit-tap-highlight-color: transparent;
|
|
169
175
|
}
|
|
170
176
|
|
|
@@ -220,10 +226,10 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
220
226
|
<slot name="tooltip-content"></slot>
|
|
221
227
|
</media-tooltip>
|
|
222
228
|
</slot>
|
|
223
|
-
`;var
|
|
229
|
+
`;var Oe=class extends x.HTMLElement{constructor(e={}){var t;if(super(),Js(this,Hc),Js(this,vi,void 0),this.preventClick=!1,this.tooltipEl=null,this.tooltipContent="",Js(this,tn,r=>{this.preventClick||this.handleClick(r),setTimeout(Xe(this,fr),0)}),Js(this,fr,()=>{var r,s;(s=(r=this.tooltipEl)==null?void 0:r.updateXOffset)==null||s.call(r)}),Js(this,en,r=>{let{key:s}=r;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",Xe(this,en));return}this.preventClick||this.handleClick(r)}),Js(this,al,r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",Xe(this,en));return}this.addEventListener("keyup",Xe(this,en),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let r=G0.content.cloneNode(!0);this.nativeEl=r;let s=e.slotTemplate;s||(s=F.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),e.tooltipContent&&(r.querySelector('slot[name="tooltip-content"]').innerHTML=(t=e.tooltipContent)!=null?t:"",this.tooltipContent=e.tooltipContent),this.nativeEl.appendChild(s.content.cloneNode(!0)),this.shadowRoot.appendChild(r)}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",hr.TOOLTIP_PLACEMENT,pe.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",Xe(this,tn)),this.addEventListener("keydown",Xe(this,al)),this.tabIndex=0}disable(){this.removeEventListener("click",Xe(this,tn)),this.removeEventListener("keydown",Xe(this,al)),this.removeEventListener("keyup",Xe(this,en)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===pe.MEDIA_CONTROLLER?(t&&((n=(s=Xe(this,vi))==null?void 0:s.unassociateElement)==null||n.call(s,this),nl(this,vi,null)),r&&this.isConnected&&(nl(this,vi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Xe(this,vi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&r!==t?r==null?this.enable():this.disable():e===hr.TOOLTIP_PLACEMENT&&this.tooltipEl&&r!==t&&(this.tooltipEl.placement=r),Xe(this,fr).call(this)}connectedCallback(){var e,t,r;let{style:s}=Ce(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")?this.disable():this.enable(),this.setAttribute("role","button");let n=this.getAttribute(pe.MEDIA_CONTROLLER);n&&(nl(this,vi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Xe(this,vi))==null?void 0:t.associateElement)==null||r.call(t,this)),x.customElements.whenDefined("media-tooltip").then(()=>OA(this,Hc,H0).call(this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=Xe(this,vi))==null?void 0:e.unassociateElement)==null||t.call(e,this),nl(this,vi,null),this.removeEventListener("mouseenter",Xe(this,fr)),this.removeEventListener("focus",Xe(this,fr)),this.removeEventListener("click",Xe(this,tn))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return ue(this,hr.TOOLTIP_PLACEMENT)}set tooltipPlacement(e){ce(this,hr.TOOLTIP_PLACEMENT,e)}get mediaController(){return ue(this,pe.MEDIA_CONTROLLER)}set mediaController(e){ce(this,pe.MEDIA_CONTROLLER,e)}get disabled(){return ae(this,hr.DISABLED)}set disabled(e){oe(this,hr.DISABLED,e)}get noTooltip(){return ae(this,hr.NO_TOOLTIP)}set noTooltip(e){oe(this,hr.NO_TOOLTIP,e)}handleClick(e){}};vi=new WeakMap;tn=new WeakMap;fr=new WeakMap;en=new WeakMap;al=new WeakMap;Hc=new WeakSet;H0=function(){this.addEventListener("mouseenter",Xe(this,fr)),this.addEventListener("focus",Xe(this,fr)),this.addEventListener("click",Xe(this,tn));let i=this.tooltipPlacement;i&&this.tooltipEl&&(this.tooltipEl.placement=i)};x.customElements.get("media-chrome-button")||x.customElements.define("media-chrome-button",Oe);var K0=`<svg aria-hidden="true" viewBox="0 0 26 24">
|
|
224
230
|
<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"/>
|
|
225
231
|
</svg>
|
|
226
|
-
`,
|
|
232
|
+
`,W0=F.createElement("template");W0.innerHTML=`
|
|
227
233
|
<style>
|
|
228
234
|
:host([${y.MEDIA_IS_AIRPLAYING}]) slot[name=icon] slot:not([name=exit]) {
|
|
229
235
|
display: none !important;
|
|
@@ -241,17 +247,17 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
241
247
|
</style>
|
|
242
248
|
|
|
243
249
|
<slot name="icon">
|
|
244
|
-
<slot name="enter">${
|
|
245
|
-
<slot name="exit">${
|
|
250
|
+
<slot name="enter">${K0}</slot>
|
|
251
|
+
<slot name="exit">${K0}</slot>
|
|
246
252
|
</slot>
|
|
247
|
-
`;var
|
|
253
|
+
`;var NA=`
|
|
248
254
|
<slot name="tooltip-enter">${H("start airplay")}</slot>
|
|
249
255
|
<slot name="tooltip-exit">${H("stop airplay")}</slot>
|
|
250
|
-
`,
|
|
256
|
+
`,V0=i=>{let e=i.mediaIsAirplaying?H("stop airplay"):H("start airplay");i.setAttribute("aria-label",e)},Kc=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_AIRPLAYING,y.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:W0,tooltipContent:NA,...e})}connectedCallback(){super.connectedCallback(),V0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_AIRPLAYING&&V0(this)}get mediaIsAirplaying(){return ae(this,y.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){oe(this,y.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return ue(this,y.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){ce(this,y.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new x.CustomEvent($.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};x.customElements.get("media-airplay-button")||x.customElements.define("media-airplay-button",Kc);var UA=`<svg aria-hidden="true" viewBox="0 0 26 24">
|
|
251
257
|
<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"/>
|
|
252
|
-
</svg>`,
|
|
258
|
+
</svg>`,FA=`<svg aria-hidden="true" viewBox="0 0 26 24">
|
|
253
259
|
<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"/>
|
|
254
|
-
</svg>`,
|
|
260
|
+
</svg>`,z0=F.createElement("template");z0.innerHTML=`
|
|
255
261
|
<style>
|
|
256
262
|
:host([aria-checked="true"]) slot[name=off] {
|
|
257
263
|
display: none !important;
|
|
@@ -269,13 +275,13 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
269
275
|
</style>
|
|
270
276
|
|
|
271
277
|
<slot name="icon">
|
|
272
|
-
<slot name="on">${
|
|
273
|
-
<slot name="off">${
|
|
278
|
+
<slot name="on">${UA}</slot>
|
|
279
|
+
<slot name="off">${FA}</slot>
|
|
274
280
|
</slot>
|
|
275
|
-
`;var
|
|
281
|
+
`;var BA=`
|
|
276
282
|
<slot name="tooltip-enable">${H("Enable captions")}</slot>
|
|
277
283
|
<slot name="tooltip-disable">${H("Disable captions")}</slot>
|
|
278
|
-
`,
|
|
284
|
+
`,Y0=i=>{i.setAttribute("aria-checked",Xo(i).toString())},Vc=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:z0,tooltipContent:BA,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",H("closed captions")),Y0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&Y0(this)}get mediaSubtitlesList(){return q0(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){j0(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return q0(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){j0(this,y.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new x.CustomEvent($.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}},q0=(i,e)=>{let t=i.getAttribute(e);return t?Ur(t):[]},j0=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=qi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};x.customElements.get("media-captions-button")||x.customElements.define("media-captions-button",Vc);var $A='<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>',HA='<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>',Q0=F.createElement("template");Q0.innerHTML=`
|
|
279
285
|
<style>
|
|
280
286
|
:host([${y.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) {
|
|
281
287
|
display: none !important;
|
|
@@ -293,13 +299,13 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
293
299
|
</style>
|
|
294
300
|
|
|
295
301
|
<slot name="icon">
|
|
296
|
-
<slot name="enter">${
|
|
297
|
-
<slot name="exit">${
|
|
302
|
+
<slot name="enter">${$A}</slot>
|
|
303
|
+
<slot name="exit">${HA}</slot>
|
|
298
304
|
</slot>
|
|
299
|
-
`;var
|
|
305
|
+
`;var GA=`
|
|
300
306
|
<slot name="tooltip-enter">${H("Start casting")}</slot>
|
|
301
307
|
<slot name="tooltip-exit">${H("Stop casting")}</slot>
|
|
302
|
-
`,
|
|
308
|
+
`,X0=i=>{let e=i.mediaIsCasting?H("stop casting"):H("start casting");i.setAttribute("aria-label",e)},Wc=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_CASTING,y.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Q0,tooltipContent:GA,...e})}connectedCallback(){super.connectedCallback(),X0(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_CASTING&&X0(this)}get mediaIsCasting(){return ae(this,y.MEDIA_IS_CASTING)}set mediaIsCasting(e){oe(this,y.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return ue(this,y.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){ce(this,y.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?$.MEDIA_EXIT_CAST_REQUEST:$.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-cast-button")||x.customElements.define("media-cast-button",Wc);var Zc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Kr=(i,e,t)=>(Zc(i,e,"read from private field"),t?t.call(i):e.get(i)),zi=(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)},Jc=(i,e,t,r)=>(Zc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Gr=(i,e,t)=>(Zc(i,e,"access private method"),t),ll,la,Vr,ol,Yc,qc,Z0,jc,J0,zc,ev,Xc,tv,Qc,iv;function KA(i){return`
|
|
303
309
|
<style>
|
|
304
310
|
:host {
|
|
305
311
|
font: var(--media-font,
|
|
@@ -340,11 +346,11 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
340
346
|
}
|
|
341
347
|
</style>
|
|
342
348
|
${this.getSlotTemplateHTML(i)}
|
|
343
|
-
`}function
|
|
349
|
+
`}function VA(i){return`
|
|
344
350
|
<slot id="content"></slot>
|
|
345
|
-
`}var oa={OPEN:"open",ANCHOR:"anchor"},Wr=class extends x.HTMLElement{constructor(){super(),zi(this,ol),zi(this,
|
|
351
|
+
`}var oa={OPEN:"open",ANCHOR:"anchor"},Wr=class extends x.HTMLElement{constructor(){super(),zi(this,ol),zi(this,qc),zi(this,jc),zi(this,zc),zi(this,Xc),zi(this,Qc),zi(this,ll,!1),zi(this,la,null),zi(this,Vr,null),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[oa.OPEN,oa.ANCHOR]}get open(){return ae(this,oa.OPEN)}set open(e){oe(this,oa.OPEN,e)}handleEvent(e){switch(e.type){case"invoke":Gr(this,zc,ev).call(this,e);break;case"focusout":Gr(this,Xc,tv).call(this,e);break;case"keydown":Gr(this,Qc,iv).call(this,e);break}}connectedCallback(){Gr(this,ol,Yc).call(this),this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){Gr(this,ol,Yc).call(this),e===oa.OPEN&&r!==t&&(this.open?Gr(this,qc,Z0).call(this):Gr(this,jc,J0).call(this))}focus(){Jc(this,la,Xn());let e=!this.dispatchEvent(new Event("focus",{composed:!0,cancelable:!0})),t=!this.dispatchEvent(new Event("focusin",{composed:!0,bubbles:!0,cancelable:!0}));if(e||t)return;let r=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');r==null||r.focus()}get keysUsed(){return["Escape","Tab"]}};ll=new WeakMap;la=new WeakMap;Vr=new WeakMap;ol=new WeakSet;Yc=function(){if(!Kr(this,ll)&&(Jc(this,ll,!0),!this.shadowRoot)){this.attachShadow({mode:"open"});let i=u0(this.attributes);this.shadowRoot.innerHTML=`
|
|
346
352
|
${this.constructor.getTemplateHTML(i)}
|
|
347
|
-
`,queueMicrotask(()=>{let{style:e}=Ce(this.shadowRoot,":host");e.setProperty("transition","display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in")})}};
|
|
353
|
+
`,queueMicrotask(()=>{let{style:e}=Ce(this.shadowRoot,":host");e.setProperty("transition","display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in")})}};qc=new WeakSet;Z0=function(){var i;(i=Kr(this,Vr))==null||i.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};jc=new WeakSet;J0=function(){var i;(i=Kr(this,Vr))==null||i.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))};zc=new WeakSet;ev=function(i){Jc(this,Vr,i.relatedTarget),At(this,i.relatedTarget)||(this.open=!this.open)};Xc=new WeakSet;tv=function(i){var e;At(this,i.relatedTarget)||((e=Kr(this,la))==null||e.focus(),Kr(this,Vr)&&Kr(this,Vr)!==i.relatedTarget&&this.open&&(this.open=!1))};Qc=new WeakSet;iv=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=Kr(this,la))==null||n.focus(),this.open=!1))};Wr.getTemplateHTML=KA;Wr.getSlotTemplateHTML=VA;x.customElements.get("media-chrome-dialog")||x.customElements.define("media-chrome-dialog",Wr);var ah=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},We=(i,e,t)=>(ah(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)},mr=(i,e,t,r)=>(ah(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Jt=(i,e,t)=>(ah(i,e,"access private method"),t),Ei,El,dl,ul,ei,gl,cl,hl,fl,oh,rv,ml,eh,pl,th,vl,lh,ih,sv,rh,nv,sh,av,nh,ov,lv=F.createElement("template");lv.innerHTML=`
|
|
348
354
|
<style>
|
|
349
355
|
:host {
|
|
350
356
|
--_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
|
|
@@ -361,7 +367,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
361
367
|
position: relative;
|
|
362
368
|
width: 100px;
|
|
363
369
|
transition: background .15s linear;
|
|
364
|
-
cursor: pointer;
|
|
370
|
+
cursor: var(--media-cursor, pointer);
|
|
365
371
|
pointer-events: auto;
|
|
366
372
|
touch-action: none;
|
|
367
373
|
}
|
|
@@ -413,7 +419,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
413
419
|
height: var(--media-time-range-hover-height, max(100% + 7px, 25px));
|
|
414
420
|
width: 100%;
|
|
415
421
|
position: absolute;
|
|
416
|
-
cursor: pointer;
|
|
422
|
+
cursor: var(--media-cursor, pointer);
|
|
417
423
|
|
|
418
424
|
-webkit-appearance: none;
|
|
419
425
|
-webkit-tap-highlight-color: transparent;
|
|
@@ -510,7 +516,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
510
516
|
translate: -50%;
|
|
511
517
|
position: absolute;
|
|
512
518
|
left: 0;
|
|
513
|
-
cursor: pointer;
|
|
519
|
+
cursor: var(--media-cursor, pointer);
|
|
514
520
|
}
|
|
515
521
|
|
|
516
522
|
#thumb {
|
|
@@ -572,7 +578,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
572
578
|
<input id="range" type="range" min="0" max="1" step="any" value="0">
|
|
573
579
|
</div>
|
|
574
580
|
<div id="rightgap"></div>
|
|
575
|
-
`;var Yr=class extends x.HTMLElement{constructor(){super(),gt(this,
|
|
581
|
+
`;var Yr=class extends x.HTMLElement{constructor(){super(),gt(this,oh),gt(this,ml),gt(this,pl),gt(this,vl),gt(this,ih),gt(this,rh),gt(this,sh),gt(this,nh),gt(this,Ei,void 0),gt(this,El,void 0),gt(this,dl,void 0),gt(this,ul,void 0),gt(this,ei,{}),gt(this,gl,[]),gt(this,cl,()=>{if(this.range.matches(":focus-visible")){let{style:e}=Ce(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),gt(this,hl,()=>{let{style:e}=Ce(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),gt(this,fl,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(lv.content.cloneNode(!0))),this.container=this.shadowRoot.querySelector("#container"),mr(this,dl,this.shadowRoot.querySelector("#startpoint")),mr(this,ul,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",pe.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===pe.MEDIA_CONTROLLER?(t&&((n=(s=We(this,Ei))==null?void 0:s.unassociateElement)==null||n.call(s,this),mr(this,Ei,null)),r&&this.isConnected&&(mr(this,Ei,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=We(this,Ei))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),Jt(this,ml,eh).call(this)):(this.range.setAttribute(e,r),Jt(this,pl,th).call(this)))}connectedCallback(){var e,t,r;let{style:s}=Ce(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),We(this,ei).pointer=Ce(this.shadowRoot,"#pointer"),We(this,ei).progress=Ce(this.shadowRoot,"#progress"),We(this,ei).thumb=Ce(this.shadowRoot,'#thumb, ::slotted([slot="thumb"])'),We(this,ei).activeSegment=Ce(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let n=this.getAttribute(pe.MEDIA_CONTROLLER);n&&(mr(this,Ei,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=We(this,Ei))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",We(this,cl)),this.shadowRoot.addEventListener("focusout",We(this,hl)),Jt(this,ml,eh).call(this),Vi(this.container,We(this,fl))}disconnectedCallback(){var e,t;Jt(this,pl,th).call(this),(t=(e=We(this,Ei))==null?void 0:e.unassociateElement)==null||t.call(e,this),mr(this,Ei,null),this.shadowRoot.removeEventListener("focusin",We(this,cl)),this.shadowRoot.removeEventListener("focusout",We(this,hl)),Wi(this.container,We(this,fl))}updatePointerBar(e){var t;(t=We(this,ei).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=We(this,ei).progress)==null||e.style.setProperty("width",`${r}%`),(t=We(this,ei).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;let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];mr(this,gl,[...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=F.createElementNS("http://www.w3.org/2000/svg","rect"),f=Ce(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);f.style.setProperty("x",d),f.style.setProperty("width",c),t.append(h)}}getPointerRatio(e){return c0(e.clientX,e.clientY,We(this,dl).getBoundingClientRect(),We(this,ul).getBoundingClientRect())}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":Jt(this,nh,ov).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":Jt(this,ih,sv).call(this,e);break;case"pointerdown":Jt(this,vl,lh).call(this,e);break;case"pointerup":Jt(this,rh,nv).call(this);break;case"pointerleave":Jt(this,sh,av).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};Ei=new WeakMap;El=new WeakMap;dl=new WeakMap;ul=new WeakMap;ei=new WeakMap;gl=new WeakMap;cl=new WeakMap;hl=new WeakMap;fl=new WeakMap;oh=new WeakSet;rv=function(i){let e=We(this,ei).activeSegment;if(!e)return;let t=this.getPointerRatio(i),s=`#segments-clipping rect:nth-child(${We(this,gl).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))"))};ml=new WeakSet;eh=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};pl=new WeakSet;th=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=x.window)==null||i.removeEventListener("pointerup",this),(e=x.window)==null||e.removeEventListener("pointermove",this)};vl=new WeakSet;lh=function(i){var e;mr(this,El,i.composedPath().includes(this.range)),(e=x.window)==null||e.addEventListener("pointerup",this)};ih=new WeakSet;sv=function(i){var e;i.pointerType!=="mouse"&&Jt(this,vl,lh).call(this,i),this.addEventListener("pointerleave",this),(e=x.window)==null||e.addEventListener("pointermove",this)};rh=new WeakSet;nv=function(){var i;(i=x.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};sh=new WeakSet;av=function(){var i,e;this.removeEventListener("pointerleave",this),(i=x.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=We(this,ei).activeSegment)==null||e.style.removeProperty("transform")};nh=new WeakSet;ov=function(i){this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),Jt(this,oh,rv).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!We(this,El))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})))};x.customElements.get("media-chrome-range")||x.customElements.define("media-chrome-range",Yr);var dv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},bl=(i,e,t)=>(dv(i,e,"read from private field"),t?t.call(i):e.get(i)),WA=(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)},yl=(i,e,t,r)=>(dv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),bi,uv=F.createElement("template");uv.innerHTML=`
|
|
576
582
|
<style>
|
|
577
583
|
:host {
|
|
578
584
|
|
|
@@ -598,7 +604,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
598
604
|
</style>
|
|
599
605
|
|
|
600
606
|
<slot></slot>
|
|
601
|
-
`;var
|
|
607
|
+
`;var dh=class extends x.HTMLElement{constructor(){super(),WA(this,bi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(uv.content.cloneNode(!0)))}static get observedAttributes(){return[pe.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===pe.MEDIA_CONTROLLER&&(t&&((n=(s=bl(this,bi))==null?void 0:s.unassociateElement)==null||n.call(s,this),yl(this,bi,null)),r&&this.isConnected&&(yl(this,bi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=bl(this,bi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(pe.MEDIA_CONTROLLER);s&&(yl(this,bi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=bl(this,bi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=bl(this,bi))==null?void 0:e.unassociateElement)==null||t.call(e,this),yl(this,bi,null)}};bi=new WeakMap;x.customElements.get("media-control-bar")||x.customElements.define("media-control-bar",dh);var cv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Tl=(i,e,t)=>(cv(i,e,"read from private field"),t?t.call(i):e.get(i)),YA=(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)},_l=(i,e,t,r)=>(cv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),yi,hv=F.createElement("template");hv.innerHTML=`
|
|
602
608
|
<style>
|
|
603
609
|
:host {
|
|
604
610
|
font: var(--media-font,
|
|
@@ -631,7 +637,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
631
637
|
}
|
|
632
638
|
</style>
|
|
633
639
|
<slot></slot>
|
|
634
|
-
`;var ti=class extends x.HTMLElement{constructor(){super(),
|
|
640
|
+
`;var ti=class extends x.HTMLElement{constructor(){super(),YA(this,yi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(hv.content.cloneNode(!0)))}static get observedAttributes(){return[pe.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===pe.MEDIA_CONTROLLER&&(t&&((n=(s=Tl(this,yi))==null?void 0:s.unassociateElement)==null||n.call(s,this),_l(this,yi,null)),r&&this.isConnected&&(_l(this,yi,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=Tl(this,yi))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let{style:s}=Ce(this.shadowRoot,":host");s.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(pe.MEDIA_CONTROLLER);n&&(_l(this,yi,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=Tl(this,yi))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Tl(this,yi))==null?void 0:e.unassociateElement)==null||t.call(e,this),_l(this,yi,null)}};yi=new WeakMap;x.customElements.get("media-text-display")||x.customElements.define("media-text-display",ti);var mv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},fv=(i,e,t)=>(mv(i,e,"read from private field"),t?t.call(i):e.get(i)),qA=(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)},jA=(i,e,t,r)=>(mv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),da,uh=class extends ti{constructor(){super(),qA(this,da,void 0),jA(this,da,this.shadowRoot.querySelector("slot")),fv(this,da).textContent=fi(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===y.MEDIA_DURATION&&(fv(this,da).textContent=fi(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return ve(this,y.MEDIA_DURATION)}set mediaDuration(e){ye(this,y.MEDIA_DURATION,e)}};da=new WeakMap;x.customElements.get("media-duration-display")||x.customElements.define("media-duration-display",uh);var zA={2:H("Network Error"),3:H("Decode Error"),4:H("Source Not Supported"),5:H("Encryption Error")},XA={2:H("A network error caused the media download to fail."),3:H("A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format."),4:H("An unsupported error occurred. The server or network failed, or your browser does not support this format."),5:H("The media is encrypted and there are no keys to decrypt it.")},ch=i=>{var e,t;return i.code===1?null:{title:(e=zA[i.code])!=null?e:`Error ${i.code}`,message:(t=XA[i.code])!=null?t:i.message}};var gv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},QA=(i,e,t)=>(gv(i,e,"read from private field"),t?t.call(i):e.get(i)),ZA=(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)},JA=(i,e,t,r)=>(gv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Al;function e1(i){return`
|
|
635
641
|
<style>
|
|
636
642
|
:host {
|
|
637
643
|
background: rgb(20 20 30 / .8);
|
|
@@ -648,13 +654,13 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
648
654
|
}
|
|
649
655
|
</style>
|
|
650
656
|
<slot name="error-${i.mediaerrorcode}" id="content">
|
|
651
|
-
${
|
|
657
|
+
${vv({code:+i.mediaerrorcode,message:i.mediaerrormessage})}
|
|
652
658
|
</slot>
|
|
653
|
-
`}function
|
|
659
|
+
`}function t1(i){return i.code&&ch(i)!==null}function vv(i){var e;let{title:t,message:r}=(e=ch(i))!=null?e:{},s="";return t&&(s+=`<slot name="error-${i.code}-title"><h3>${t}</h3></slot>`),r&&(s+=`<slot name="error-${i.code}-message"><p>${r}</p></slot>`),s}var pv=[y.MEDIA_ERROR_CODE,y.MEDIA_ERROR_MESSAGE],rn=class extends Wr{constructor(){super(...arguments),ZA(this,Al,null)}static get observedAttributes(){return[...super.observedAttributes,...pv]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,r){var s;if(super.attributeChangedCallback(e,t,r),!pv.includes(e))return;let n=(s=this.mediaError)!=null?s:{code:this.mediaErrorCode,message:this.mediaErrorMessage};this.open=t1(n),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(n))}get mediaError(){return QA(this,Al)}set mediaError(e){JA(this,Al,e)}get mediaErrorCode(){return ve(this,"mediaerrorcode")}set mediaErrorCode(e){ye(this,"mediaerrorcode",e)}get mediaErrorMessage(){return ue(this,"mediaerrormessage")}set mediaErrorMessage(e){ce(this,"mediaerrormessage",e)}};Al=new WeakMap;rn.getSlotTemplateHTML=e1;rn.formatErrorMessage=vv;x.customElements.get("media-error-dialog")||x.customElements.define("media-error-dialog",rn);var Sl=rn;var i1=`<svg aria-hidden="true" viewBox="0 0 26 24">
|
|
654
660
|
<path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/>
|
|
655
|
-
</svg>`,
|
|
661
|
+
</svg>`,r1=`<svg aria-hidden="true" viewBox="0 0 26 24">
|
|
656
662
|
<path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/>
|
|
657
|
-
</svg>`,
|
|
663
|
+
</svg>`,bv=F.createElement("template");bv.innerHTML=`
|
|
658
664
|
<style>
|
|
659
665
|
:host([${y.MEDIA_IS_FULLSCREEN}]) slot[name=icon] slot:not([name=exit]) {
|
|
660
666
|
display: none !important;
|
|
@@ -672,13 +678,13 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
672
678
|
</style>
|
|
673
679
|
|
|
674
680
|
<slot name="icon">
|
|
675
|
-
<slot name="enter">${
|
|
676
|
-
<slot name="exit">${
|
|
681
|
+
<slot name="enter">${i1}</slot>
|
|
682
|
+
<slot name="exit">${r1}</slot>
|
|
677
683
|
</slot>
|
|
678
|
-
`;var
|
|
684
|
+
`;var s1=`
|
|
679
685
|
<slot name="tooltip-enter">${H("Enter fullscreen mode")}</slot>
|
|
680
686
|
<slot name="tooltip-exit">${H("Exit fullscreen mode")}</slot>
|
|
681
|
-
`,
|
|
687
|
+
`,Ev=i=>{let e=i.mediaIsFullscreen?H("exit fullscreen mode"):H("enter fullscreen mode");i.setAttribute("aria-label",e)},hh=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_FULLSCREEN,y.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:bv,tooltipContent:s1,...e})}connectedCallback(){super.connectedCallback(),Ev(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_IS_FULLSCREEN&&Ev(this)}get mediaFullscreenUnavailable(){return ue(this,y.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){ce(this,y.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return ae(this,y.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){oe(this,y.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?$.MEDIA_EXIT_FULLSCREEN_REQUEST:$.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-fullscreen-button")||x.customElements.define("media-fullscreen-button",hh);var{MEDIA_TIME_IS_LIVE:xl,MEDIA_PAUSED:ua}=y,{MEDIA_SEEK_TO_LIVE_REQUEST:n1,MEDIA_PLAY_REQUEST:a1}=$,o1='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',Tv=F.createElement("template");Tv.innerHTML=`
|
|
682
688
|
<style>
|
|
683
689
|
:host { --media-tooltip-display: none; }
|
|
684
690
|
|
|
@@ -697,7 +703,7 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
697
703
|
}
|
|
698
704
|
|
|
699
705
|
:host([${xl}]:not([${ua}])) {
|
|
700
|
-
cursor: not-allowed;
|
|
706
|
+
cursor: var(--media-cursor, not-allowed);
|
|
701
707
|
}
|
|
702
708
|
|
|
703
709
|
slot[name=text]{
|
|
@@ -706,10 +712,10 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
706
712
|
|
|
707
713
|
</style>
|
|
708
714
|
|
|
709
|
-
<slot name="indicator">${
|
|
715
|
+
<slot name="indicator">${o1}</slot>
|
|
710
716
|
|
|
711
717
|
<slot name="spacer"> </slot><slot name="text">${H("live")}</slot>
|
|
712
|
-
`;var
|
|
718
|
+
`;var yv=i=>{let e=i.mediaPaused||!i.mediaTimeIsLive,t=e?H("seek to live"):H("playing live");i.setAttribute("aria-label",t),e?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},fh=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,ua,xl]}constructor(e={}){super({slotTemplate:Tv,...e})}connectedCallback(){yv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),yv(this)}get mediaPaused(){return ae(this,y.MEDIA_PAUSED)}set mediaPaused(e){oe(this,y.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return ae(this,y.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){oe(this,y.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new x.CustomEvent(n1,{composed:!0,bubbles:!0})),this.hasAttribute(ua)&&this.dispatchEvent(new x.CustomEvent(a1,{composed:!0,bubbles:!0})))}};x.customElements.get("media-live-button")||x.customElements.define("media-live-button",fh);var Av=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ca=(i,e,t)=>(Av(i,e,"read from private field"),t?t.call(i):e.get(i)),_v=(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)},ha=(i,e,t,r)=>(Av(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ti,Il,Rl={LOADING_DELAY:"loadingdelay",NO_AUTOHIDE:"noautohide"},Sv=500,xv=F.createElement("template"),l1=`
|
|
713
719
|
<svg aria-hidden="true" viewBox="0 0 100 100">
|
|
714
720
|
<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">
|
|
715
721
|
<animateTransform
|
|
@@ -722,13 +728,13 @@ var Wg=i=>{throw TypeError(i)};var gc=(i,e,t)=>e.has(i)||Wg("Cannot "+t);var Se=
|
|
|
722
728
|
repeatCount="indefinite" />
|
|
723
729
|
</path>
|
|
724
730
|
</svg>
|
|
725
|
-
`;
|
|
731
|
+
`;xv.innerHTML=`
|
|
726
732
|
<style>
|
|
727
733
|
:host {
|
|
728
734
|
display: var(--media-control-display, var(--media-loading-indicator-display, inline-block));
|
|
729
735
|
vertical-align: middle;
|
|
730
736
|
box-sizing: border-box;
|
|
731
|
-
--_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${
|
|
737
|
+
--_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${Sv}ms);
|
|
732
738
|
}
|
|
733
739
|
|
|
734
740
|
#status {
|
|
@@ -767,15 +773,15 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
767
773
|
}
|
|
768
774
|
</style>
|
|
769
775
|
|
|
770
|
-
<slot name="icon">${
|
|
776
|
+
<slot name="icon">${l1}</slot>
|
|
771
777
|
<div id="status" role="status" aria-live="polite">${H("media loading")}</div>
|
|
772
|
-
`;var
|
|
778
|
+
`;var mh=class extends x.HTMLElement{constructor(){if(super(),_v(this,Ti,void 0),_v(this,Il,Sv),!this.shadowRoot){let e=this.attachShadow({mode:"open"}),t=xv.content.cloneNode(!0);e.appendChild(t)}}static get observedAttributes(){return[pe.MEDIA_CONTROLLER,y.MEDIA_PAUSED,y.MEDIA_LOADING,Rl.LOADING_DELAY]}attributeChangedCallback(e,t,r){var s,n,a,o,l;e===Rl.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===pe.MEDIA_CONTROLLER&&(t&&((n=(s=ca(this,Ti))==null?void 0:s.unassociateElement)==null||n.call(s,this),ha(this,Ti,null)),r&&this.isConnected&&(ha(this,Ti,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=ca(this,Ti))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,r;let s=this.getAttribute(pe.MEDIA_CONTROLLER);s&&(ha(this,Ti,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=ca(this,Ti))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ca(this,Ti))==null?void 0:e.unassociateElement)==null||t.call(e,this),ha(this,Ti,null)}get loadingDelay(){return ca(this,Il)}set loadingDelay(e){ha(this,Il,e);let{style:t}=Ce(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return ae(this,y.MEDIA_PAUSED)}set mediaPaused(e){oe(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return ae(this,y.MEDIA_LOADING)}set mediaLoading(e){oe(this,y.MEDIA_LOADING,e)}get mediaController(){return ue(this,pe.MEDIA_CONTROLLER)}set mediaController(e){ce(this,pe.MEDIA_CONTROLLER,e)}get noAutohide(){return ae(this,Rl.NO_AUTOHIDE)}set noAutohide(e){oe(this,Rl.NO_AUTOHIDE,e)}};Ti=new WeakMap;Il=new WeakMap;x.customElements.get("media-loading-indicator")||x.customElements.define("media-loading-indicator",mh);var{MEDIA_VOLUME_LEVEL:qr}=y,d1=`<svg aria-hidden="true" viewBox="0 0 24 24">
|
|
773
779
|
<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"/>
|
|
774
|
-
</svg>`,
|
|
780
|
+
</svg>`,Rv=`<svg aria-hidden="true" viewBox="0 0 24 24">
|
|
775
781
|
<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"/>
|
|
776
|
-
</svg>`,
|
|
782
|
+
</svg>`,u1=`<svg aria-hidden="true" viewBox="0 0 24 24">
|
|
777
783
|
<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"/>
|
|
778
|
-
</svg>`,
|
|
784
|
+
</svg>`,kv=F.createElement("template");kv.innerHTML=`
|
|
779
785
|
<style>
|
|
780
786
|
|
|
781
787
|
:host(:not([${qr}])) slot[name=icon] slot:not([name=high]),
|
|
@@ -802,17 +808,17 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
802
808
|
</style>
|
|
803
809
|
|
|
804
810
|
<slot name="icon">
|
|
805
|
-
<slot name="off">${
|
|
806
|
-
<slot name="low">${
|
|
807
|
-
<slot name="medium">${
|
|
808
|
-
<slot name="high">${
|
|
811
|
+
<slot name="off">${d1}</slot>
|
|
812
|
+
<slot name="low">${Rv}</slot>
|
|
813
|
+
<slot name="medium">${Rv}</slot>
|
|
814
|
+
<slot name="high">${u1}</slot>
|
|
809
815
|
</slot>
|
|
810
|
-
`;var
|
|
816
|
+
`;var c1=`
|
|
811
817
|
<slot name="tooltip-mute">${H("Mute")}</slot>
|
|
812
818
|
<slot name="tooltip-unmute">${H("Unmute")}</slot>
|
|
813
|
-
`,
|
|
819
|
+
`,Iv=i=>{let t=i.mediaVolumeLevel==="off"?H("unmute"):H("mute");i.setAttribute("aria-label",t)},ph=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:kv,tooltipContent:c1,...e})}connectedCallback(){Iv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_VOLUME_LEVEL&&Iv(this),super.attributeChangedCallback(e,t,r)}get mediaVolumeLevel(){return ue(this,y.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){ce(this,y.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?$.MEDIA_UNMUTE_REQUEST:$.MEDIA_MUTE_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-mute-button")||x.customElements.define("media-mute-button",ph);var Lv=`<svg aria-hidden="true" viewBox="0 0 28 24">
|
|
814
820
|
<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"/>
|
|
815
|
-
</svg>`,
|
|
821
|
+
</svg>`,Dv=F.createElement("template");Dv.innerHTML=`
|
|
816
822
|
<style>
|
|
817
823
|
:host([${y.MEDIA_IS_PIP}]) slot[name=icon] slot:not([name=exit]) {
|
|
818
824
|
display: none !important;
|
|
@@ -830,13 +836,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
830
836
|
</style>
|
|
831
837
|
|
|
832
838
|
<slot name="icon">
|
|
833
|
-
<slot name="enter">${
|
|
834
|
-
<slot name="exit">${
|
|
839
|
+
<slot name="enter">${Lv}</slot>
|
|
840
|
+
<slot name="exit">${Lv}</slot>
|
|
835
841
|
</slot>
|
|
836
|
-
`;var
|
|
842
|
+
`;var h1=`
|
|
837
843
|
<slot name="tooltip-enter">${H("Enter picture in picture mode")}</slot>
|
|
838
844
|
<slot name="tooltip-exit">${H("Exit picture in picture mode")}</slot>
|
|
839
|
-
`,
|
|
845
|
+
`,wv=i=>{let e=i.mediaIsPip?H("exit picture in picture mode"):H("enter picture in picture mode");i.setAttribute("aria-label",e)},gh=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_IS_PIP,y.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Dv,tooltipContent:h1,...e})}connectedCallback(){wv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_IS_PIP&&wv(this),super.attributeChangedCallback(e,t,r)}get mediaPipUnavailable(){return ue(this,y.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){ce(this,y.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return ae(this,y.MEDIA_IS_PIP)}set mediaIsPip(e){oe(this,y.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?$.MEDIA_EXIT_PIP_REQUEST:$.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-pip-button")||x.customElements.define("media-pip-button",gh);var f1=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},kl=(i,e,t)=>(f1(i,e,"read from private field"),t?t.call(i):e.get(i)),m1=(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)},sn,vh={RATES:"rates"},bh=[1,1.2,1.5,1.7,2],nn=1,Cv=F.createElement("template");Cv.innerHTML=`
|
|
840
846
|
<style>
|
|
841
847
|
:host {
|
|
842
848
|
min-width: 5ch;
|
|
@@ -844,11 +850,11 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
844
850
|
}
|
|
845
851
|
</style>
|
|
846
852
|
<slot name="icon"></slot>
|
|
847
|
-
`;var
|
|
853
|
+
`;var Eh=class extends Oe{constructor(e={}){super({slotTemplate:Cv,tooltipContent:H("Playback rate"),...e}),m1(this,sn,new pi(this,vh.RATES,{defaultValue:bh})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${nn}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,vh.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===vh.RATES&&(kl(this,sn).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?nn:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",H("Playback rate {playbackRate}",{playbackRate:n}))}}get rates(){return kl(this,sn)}set rates(e){e?Array.isArray(e)&&(kl(this,sn).value=e.join(" ")):kl(this,sn).value=""}get mediaPlaybackRate(){return ve(this,y.MEDIA_PLAYBACK_RATE,nn)}set mediaPlaybackRate(e){ye(this,y.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:nn,n=new x.CustomEvent($.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};sn=new WeakMap;x.customElements.get("media-playback-rate-button")||x.customElements.define("media-playback-rate-button",Eh);var p1=`<svg aria-hidden="true" viewBox="0 0 24 24">
|
|
848
854
|
<path d="m6 21 15-9L6 3v18Z"/>
|
|
849
|
-
</svg>`,
|
|
855
|
+
</svg>`,g1=`<svg aria-hidden="true" viewBox="0 0 24 24">
|
|
850
856
|
<path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/>
|
|
851
|
-
</svg>`,
|
|
857
|
+
</svg>`,Pv=F.createElement("template");Pv.innerHTML=`
|
|
852
858
|
<style>
|
|
853
859
|
:host([${y.MEDIA_PAUSED}]) slot[name=pause],
|
|
854
860
|
:host(:not([${y.MEDIA_PAUSED}])) slot[name=play] {
|
|
@@ -862,13 +868,13 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
862
868
|
</style>
|
|
863
869
|
|
|
864
870
|
<slot name="icon">
|
|
865
|
-
<slot name="play">${
|
|
866
|
-
<slot name="pause">${
|
|
871
|
+
<slot name="play">${p1}</slot>
|
|
872
|
+
<slot name="pause">${g1}</slot>
|
|
867
873
|
</slot>
|
|
868
|
-
`;var
|
|
874
|
+
`;var v1=`
|
|
869
875
|
<slot name="tooltip-play">${H("Play")}</slot>
|
|
870
876
|
<slot name="tooltip-pause">${H("Pause")}</slot>
|
|
871
|
-
`,
|
|
877
|
+
`,Mv=i=>{let e=i.mediaPaused?H("play"):H("pause");i.setAttribute("aria-label",e)},yh=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Pv,tooltipContent:v1,...e})}connectedCallback(){Mv(this),super.connectedCallback()}attributeChangedCallback(e,t,r){e===y.MEDIA_PAUSED&&Mv(this),super.attributeChangedCallback(e,t,r)}get mediaPaused(){return ae(this,y.MEDIA_PAUSED)}set mediaPaused(e){oe(this,y.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?$.MEDIA_PLAY_REQUEST:$.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new x.CustomEvent(e,{composed:!0,bubbles:!0}))}};x.customElements.get("media-play-button")||x.customElements.define("media-play-button",yh);var _i={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},Ov=F.createElement("template");Ov.innerHTML=`
|
|
872
878
|
<style>
|
|
873
879
|
:host {
|
|
874
880
|
pointer-events: none;
|
|
@@ -890,7 +896,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
890
896
|
</style>
|
|
891
897
|
|
|
892
898
|
<img part="poster img" aria-hidden="true" id="image"/>
|
|
893
|
-
`;var
|
|
899
|
+
`;var E1=i=>{i.style.removeProperty("background-image")},b1=(i,e)=>{i.style["background-image"]=`url('${e}')`},Th=class extends x.HTMLElement{static get observedAttributes(){return[_i.PLACEHOLDER_SRC,_i.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Ov.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===_i.SRC&&(r==null?this.image.removeAttribute(_i.SRC):this.image.setAttribute(_i.SRC,r)),e===_i.PLACEHOLDER_SRC&&(r==null?E1(this.image):b1(this.image,r))}get placeholderSrc(){return ue(this,_i.PLACEHOLDER_SRC)}set placeholderSrc(e){ce(this,_i.SRC,e)}get src(){return ue(this,_i.SRC)}set src(e){ce(this,_i.SRC,e)}};x.customElements.get("media-poster-image")||x.customElements.define("media-poster-image",Th);var Nv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},y1=(i,e,t)=>(Nv(i,e,"read from private field"),t?t.call(i):e.get(i)),T1=(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)},_1=(i,e,t,r)=>(Nv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ll,_h=class extends ti{constructor(){super(),T1(this,Ll,void 0),_1(this,Ll,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_CHAPTER]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_CHAPTER&&r!==t&&r!=null&&(y1(this,Ll).textContent=r,r!==""?this.setAttribute("aria-valuetext",`chapter: ${r}`):this.removeAttribute("aria-valuetext"))}get mediaPreviewChapter(){return ue(this,y.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){ce(this,y.MEDIA_PREVIEW_CHAPTER,e)}};Ll=new WeakMap;x.customElements.get("media-preview-chapter-display")||x.customElements.define("media-preview-chapter-display",_h);var Uv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},wl=(i,e,t)=>(Uv(i,e,"read from private field"),t?t.call(i):e.get(i)),A1=(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)},Dl=(i,e,t,r)=>(Uv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ai,Fv=F.createElement("template");Fv.innerHTML=`
|
|
894
900
|
<style>
|
|
895
901
|
:host {
|
|
896
902
|
box-sizing: border-box;
|
|
@@ -904,11 +910,11 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
904
910
|
}
|
|
905
911
|
</style>
|
|
906
912
|
<img crossorigin loading="eager" decoding="async">
|
|
907
|
-
`;var
|
|
908
|
-
<slot name="icon">${
|
|
909
|
-
`;var
|
|
910
|
-
<slot name="icon">${
|
|
911
|
-
`;var
|
|
913
|
+
`;var Ah=class extends x.HTMLElement{constructor(){super(),A1(this,Ai,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Fv.content.cloneNode(!0)))}static get observedAttributes(){return[pe.MEDIA_CONTROLLER,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let s=this.getAttribute(pe.MEDIA_CONTROLLER);s&&(Dl(this,Ai,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(r=(t=wl(this,Ai))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=wl(this,Ai))==null?void 0:e.unassociateElement)==null||t.call(e,this),Dl(this,Ai,null)}attributeChangedCallback(e,t,r){var s,n,a,o,l;[y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===pe.MEDIA_CONTROLLER&&(t&&((n=(s=wl(this,Ai))==null?void 0:s.unassociateElement)==null||n.call(s,this),Dl(this,Ai,null)),r&&this.isConnected&&(Dl(this,Ai,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(l=(o=wl(this,Ai))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return ue(this,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ce(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(y.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(y.MEDIA_PREVIEW_COORDS);return}this.setAttribute(y.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}=Ce(this.shadowRoot,":host"),b=Ce(this.shadowRoot,"img").style,T=this.shadowRoot.querySelector("img"),_=p?"min":"max";E.setProperty(`${_}-width`,"initial","important"),E.setProperty(`${_}-height`,"initial","important"),E.width=`${n*g}px`,E.height=`${a*g}px`;let A=()=>{b.width=`${this.imgWidth*g}px`,b.height=`${this.imgHeight*g}px`,b.display="block"};T.src!==o&&(T.onload=()=>{this.imgWidth=T.naturalWidth,this.imgHeight=T.naturalHeight,A()},T.src=o,A()),A(),b.transform=`translate(-${r*g}px, -${s*g}px)`}};Ai=new WeakMap;x.customElements.get("media-preview-thumbnail")||x.customElements.define("media-preview-thumbnail",Ah);var $v=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Bv=(i,e,t)=>($v(i,e,"read from private field"),t?t.call(i):e.get(i)),S1=(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)},x1=(i,e,t,r)=>($v(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fa,Sh=class extends ti{constructor(){super(),S1(this,fa,void 0),x1(this,fa,this.shadowRoot.querySelector("slot")),Bv(this,fa).textContent=fi(0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PREVIEW_TIME&&r!=null&&(Bv(this,fa).textContent=fi(parseFloat(r)))}get mediaPreviewTime(){return ve(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ye(this,y.MEDIA_PREVIEW_TIME,e)}};fa=new WeakMap;x.customElements.get("media-preview-time-display")||x.customElements.define("media-preview-time-display",Sh);var an={SEEK_OFFSET:"seekoffset"},Cl=30,R1=`<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)">${Cl}</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>`,Hv=F.createElement("template");Hv.innerHTML=`
|
|
914
|
+
<slot name="icon">${R1}</slot>
|
|
915
|
+
`;var I1=0,xh=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,an.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Hv,tooltipContent:H("Seek backward"),...e})}connectedCallback(){this.seekOffset=ve(this,an.SEEK_OFFSET,Cl),super.connectedCallback()}attributeChangedCallback(e,t,r){e===an.SEEK_OFFSET&&(this.seekOffset=ve(this,an.SEEK_OFFSET,Cl)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return ve(this,an.SEEK_OFFSET,Cl)}set seekOffset(e){ye(this,an.SEEK_OFFSET,e),this.setAttribute("aria-label",H("seek back {seekOffset} seconds",{seekOffset:this.seekOffset})),Fo(Bo(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return ve(this,y.MEDIA_CURRENT_TIME,I1)}set mediaCurrentTime(e){ye(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};x.customElements.get("media-seek-backward-button")||x.customElements.define("media-seek-backward-button",xh);var on={SEEK_OFFSET:"seekoffset"},Ml=30,k1=`<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)">${Ml}</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>`,Gv=F.createElement("template");Gv.innerHTML=`
|
|
916
|
+
<slot name="icon">${k1}</slot>
|
|
917
|
+
`;var L1=0,Rh=class extends Oe{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_CURRENT_TIME,on.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Gv,tooltipContent:H("Seek forward"),...e})}connectedCallback(){this.seekOffset=ve(this,on.SEEK_OFFSET,Ml),super.connectedCallback()}attributeChangedCallback(e,t,r){e===on.SEEK_OFFSET&&(this.seekOffset=ve(this,on.SEEK_OFFSET,Ml)),super.attributeChangedCallback(e,t,r)}get seekOffset(){return ve(this,on.SEEK_OFFSET,Ml)}set seekOffset(e){ye(this,on.SEEK_OFFSET,e),this.setAttribute("aria-label",H("seek forward {seekOffset} seconds",{seekOffset:this.seekOffset})),Fo(Bo(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return ve(this,y.MEDIA_CURRENT_TIME,L1)}set mediaCurrentTime(e){ye(this,y.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};x.customElements.get("media-seek-forward-button")||x.customElements.define("media-seek-forward-button",Rh);var Yv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ih=(i,e,t)=>(Yv(i,e,"read from private field"),t?t.call(i):e.get(i)),w1=(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)},D1=(i,e,t,r)=>(Yv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ln,ii={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Kv=[...Object.values(ii),y.MEDIA_CURRENT_TIME,y.MEDIA_DURATION,y.MEDIA_SEEKABLE],Vv=["Enter"," "],C1=" / ",Wv=(i,{timesSep:e=C1}={})=>{var t,r;let s=i.hasAttribute(ii.REMAINING),n=i.hasAttribute(ii.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?fi(0-(l-a)):fi(a);return n?`${d}${e}${fi(l)}`:d},M1="video not loaded, unknown time.",P1=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",M1);return}let n=i.hasAttribute(ii.REMAINING),a=i.hasAttribute(ii.SHOW_DURATION),o=n?Mr(0-(s-t)):Mr(t);if(!a){i.setAttribute("aria-valuetext",o);return}let l=Mr(s),d=`${o} of ${l}`;i.setAttribute("aria-valuetext",d)},kh=class extends ti{constructor(){super(),w1(this,ln,void 0),D1(this,ln,this.shadowRoot.querySelector("slot")),Ih(this,ln).innerHTML=`${Wv(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Kv,"disabled"]}connectedCallback(){let{style:e}=Ce(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","var(--media-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",H("playback time"));let t=r=>{let{key:s}=r;if(!Vv.includes(s)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:s,altKey:n,key:a}=r;if(s||n||!Vv.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){Kv.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 ae(this,ii.REMAINING)}set remaining(e){oe(this,ii.REMAINING,e)}get showDuration(){return ae(this,ii.SHOW_DURATION)}set showDuration(e){oe(this,ii.SHOW_DURATION,e)}get noToggle(){return ae(this,ii.NO_TOGGLE)}set noToggle(e){oe(this,ii.NO_TOGGLE,e)}get mediaDuration(){return ve(this,y.MEDIA_DURATION)}set mediaDuration(e){ye(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return ve(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ye(this,y.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.MEDIA_SEEKABLE,e.join(":"))}update(){let e=Wv(this);P1(this),e!==Ih(this,ln).innerHTML&&(Ih(this,ln).innerHTML=e)}};ln=new WeakMap;x.customElements.get("media-time-display")||x.customElements.define("media-time-display",kh);var qv=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},lt=(i,e,t)=>(qv(i,e,"read from private field"),t?t.call(i):e.get(i)),Si=(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)},Kt=(i,e,t,r)=>(qv(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),O1=(i,e,t,r)=>({set _(s){Kt(i,e,s,t)},get _(){return lt(i,e,r)}}),dn,Pl,un,ma,Ol,Nl,Ul,cn,jr,Fl,Bl=class{constructor(e,t,r){Si(this,dn,void 0),Si(this,Pl,void 0),Si(this,un,void 0),Si(this,ma,void 0),Si(this,Ol,void 0),Si(this,Nl,void 0),Si(this,Ul,void 0),Si(this,cn,void 0),Si(this,jr,0),Si(this,Fl,(s=performance.now())=>{Kt(this,jr,requestAnimationFrame(lt(this,Fl))),Kt(this,ma,performance.now()-lt(this,un));let n=1e3/this.fps;if(lt(this,ma)>n){Kt(this,un,s-lt(this,ma)%n);let a=1e3/((s-lt(this,Pl))/++O1(this,Ol)._),o=(s-lt(this,Nl))/1e3/this.duration,l=lt(this,Ul)+o*this.playbackRate;l-lt(this,dn).valueAsNumber>0?Kt(this,cn,this.playbackRate/this.duration/a):(Kt(this,cn,.995*lt(this,cn)),l=lt(this,dn).valueAsNumber+lt(this,cn)),this.callback(l)}}),Kt(this,dn,e),this.callback=t,this.fps=r}start(){lt(this,jr)===0&&(Kt(this,un,performance.now()),Kt(this,Pl,lt(this,un)),Kt(this,Ol,0),lt(this,Fl).call(this))}stop(){lt(this,jr)!==0&&(cancelAnimationFrame(lt(this,jr)),Kt(this,jr,0))}update({start:e,duration:t,playbackRate:r}){let s=e-lt(this,dn).valueAsNumber,n=Math.abs(t-this.duration);(s>0||s<-.03||n>=.5)&&this.callback(e),Kt(this,Ul,e),Kt(this,Nl,performance.now()),this.duration=t,this.playbackRate=r}};dn=new WeakMap;Pl=new WeakMap;un=new WeakMap;ma=new WeakMap;Ol=new WeakMap;Nl=new WeakMap;Ul=new WeakMap;cn=new WeakMap;jr=new WeakMap;Fl=new WeakMap;var Mh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},it=(i,e,t)=>(Mh(i,e,"read from private field"),t?t.call(i):e.get(i)),dt=(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)},xi=(i,e,t,r)=>(Mh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),bt=(i,e,t)=>(Mh(i,e,"access private method"),t),hn,zr,Gl,ga,Kl,Hl,va,Ea,fn,mn,pa,Ph,jv,Lh,Vl,Oh,Wl,Nh,Yl,Uh,wh,zv,ba,ql,Dh,Xv,N1="video not loaded, unknown time.",U1=i=>{let e=i.range,t=Mr(+Zv(i)),r=Mr(+i.mediaSeekableEnd),s=t&&r?`${t} of ${r}`:N1;e.setAttribute("aria-valuetext",s)},Qv=F.createElement("template");Qv.innerHTML=`
|
|
912
918
|
<style>
|
|
913
919
|
:host {
|
|
914
920
|
--media-box-border-radius: 4px;
|
|
@@ -1121,7 +1127,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
1121
1127
|
|
|
1122
1128
|
</slot>
|
|
1123
1129
|
</div>
|
|
1124
|
-
`;var $l=(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))},
|
|
1130
|
+
`;var $l=(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))},Zv=(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},Ch=class extends Yr{constructor(){super(),dt(this,mn),dt(this,Ph),dt(this,Vl),dt(this,Wl),dt(this,Yl),dt(this,wh),dt(this,ba),dt(this,Dh),dt(this,hn,void 0),dt(this,zr,void 0),dt(this,Gl,void 0),dt(this,ga,void 0),dt(this,Kl,void 0),dt(this,Hl,void 0),dt(this,va,void 0),dt(this,Ea,void 0),dt(this,fn,void 0),dt(this,Lh,r=>{this.dragging||(Vs(r)&&(this.range.valueAsNumber=r),this.updateBar())}),this.container.appendChild(Qv.content.cloneNode(!0)),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),xi(this,Gl,this.shadowRoot.querySelectorAll('[part~="box"]')),xi(this,Kl,this.shadowRoot.querySelector('[part~="preview-box"]')),xi(this,Hl,this.shadowRoot.querySelector('[part~="current-box"]'));let t=getComputedStyle(this);xi(this,va,parseInt(t.getPropertyValue("--media-box-padding-left"))),xi(this,Ea,parseInt(t.getPropertyValue("--media-box-padding-right"))),xi(this,zr,new Bl(this.range,it(this,Lh),60))}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PAUSED,y.MEDIA_DURATION,y.MEDIA_SEEKABLE,y.MEDIA_CURRENT_TIME,y.MEDIA_PREVIEW_IMAGE,y.MEDIA_PREVIEW_TIME,y.MEDIA_PREVIEW_CHAPTER,y.MEDIA_BUFFERED,y.MEDIA_PLAYBACK_RATE,y.MEDIA_LOADING,y.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",H("seek")),bt(this,mn,pa).call(this),xi(this,hn,this.getRootNode()),(e=it(this,hn))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),bt(this,mn,pa).call(this),(e=it(this,hn))==null||e.removeEventListener("transitionstart",this),xi(this,hn,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===y.MEDIA_CURRENT_TIME||e===y.MEDIA_PAUSED||e===y.MEDIA_ENDED||e===y.MEDIA_LOADING||e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE?(it(this,zr).update({start:$l(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),bt(this,mn,pa).call(this),U1(this)):e===y.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===y.MEDIA_DURATION||e===y.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=it(this,fn),this.updateBar()))}get mediaChaptersCues(){return it(this,fn)}set mediaChaptersCues(e){var t;xi(this,fn,e),this.updateSegments((t=it(this,fn))==null?void 0:t.map(r=>({start:$l(this,r.startTime),end:$l(this,r.endTime)})))}get mediaPaused(){return ae(this,y.MEDIA_PAUSED)}set mediaPaused(e){oe(this,y.MEDIA_PAUSED,e)}get mediaLoading(){return ae(this,y.MEDIA_LOADING)}set mediaLoading(e){oe(this,y.MEDIA_LOADING,e)}get mediaDuration(){return ve(this,y.MEDIA_DURATION)}set mediaDuration(e){ye(this,y.MEDIA_DURATION,e)}get mediaCurrentTime(){return ve(this,y.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ye(this,y.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return ve(this,y.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ye(this,y.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(y.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(y.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(y.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(y.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(y.MEDIA_SEEKABLE);return}this.setAttribute(y.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,y.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ce(this,y.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return ve(this,y.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ye(this,y.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return ae(this,y.MEDIA_ENDED)}set mediaEnded(e){oe(this,y.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=$l(this,a)}let{style:s}=Ce(this.shadowRoot,"#buffered");s.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=Ce(this.shadowRoot,"#current-rail"),r=Ce(this.shadowRoot,'[part~="current-box"]'),s=bt(this,Vl,Oh).call(this,it(this,Hl)),n=bt(this,Wl,Nh).call(this,s,this.range.valueAsNumber),a=bt(this,Yl,Uh).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":bt(this,Dh,Xv).call(this);break;case"pointermove":bt(this,wh,zv).call(this,e);break;case"pointerup":case"pointerleave":bt(this,ba,ql).call(this,null);break;case"transitionstart":At(e.target,this)&&setTimeout(()=>bt(this,mn,pa).call(this),0);break}}};hn=new WeakMap;zr=new WeakMap;Gl=new WeakMap;ga=new WeakMap;Kl=new WeakMap;Hl=new WeakMap;va=new WeakMap;Ea=new WeakMap;fn=new WeakMap;mn=new WeakSet;pa=function(){bt(this,Ph,jv).call(this)?it(this,zr).start():it(this,zr).stop()};Ph=new WeakSet;jv=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&$o(this)};Lh=new WeakMap;Vl=new WeakSet;Oh=function(i){var e;let r=((e=this.getAttribute("bounds")?mi(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}};Wl=new WeakSet;Nh=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};Yl=new WeakSet;Uh=function(i,e){let{width:t,min:r,max:s}=i.box,n=e*i.range.width;if(n<r+it(this,va)){let a=i.range.left-i.bounds.left-it(this,va);return`${n-t/2+a}px`}if(n>s-it(this,Ea)){let a=i.bounds.right-i.range.right-it(this,Ea);return`${n+t/2-a-i.range.width}px`}return 0};wh=new WeakSet;zv=function(i){let e=[...it(this,Gl)].some(u=>i.composedPath().includes(u));if(!this.dragging&&(e||!i.composedPath().includes(this))){bt(this,ba,ql).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=Ce(this.shadowRoot,"#preview-rail"),s=Ce(this.shadowRoot,'[part~="preview-box"]'),n=bt(this,Vl,Oh).call(this,it(this,Kl)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let o=bt(this,Wl,Nh).call(this,n,a),l=bt(this,Yl,Uh).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(it(this,ga))-Math.round(a*t);Math.abs(d)<1&&a>.01&&a<.99||(xi(this,ga,a*t),bt(this,ba,ql).call(this,it(this,ga)))};ba=new WeakSet;ql=function(i){this.dispatchEvent(new x.CustomEvent($.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};Dh=new WeakSet;Xv=function(){it(this,zr).stop();let i=Zv(this);this.dispatchEvent(new x.CustomEvent($.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};x.customElements.get("media-time-range")||x.customElements.define("media-time-range",Ch);var pn={PLACEMENT:"placement",BOUNDS:"bounds"},Jv=F.createElement("template");Jv.innerHTML=`
|
|
1125
1131
|
<style>
|
|
1126
1132
|
:host {
|
|
1127
1133
|
--_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7)));
|
|
@@ -1231,9 +1237,9 @@ svg, img, ::slotted(svg), ::slotted(img) {
|
|
|
1231
1237
|
</style>
|
|
1232
1238
|
<slot></slot>
|
|
1233
1239
|
<div id="arrow"></div>
|
|
1234
|
-
`;var Bh=class extends x.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!$o(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if(t==="left"||t==="right"){this.style.removeProperty("--media-tooltip-offset-x");return}let r=getComputedStyle(this),s=(e=mi(this,"#"+this.bounds))!=null?e:Ke(this);if(!s)return;let{x:n,width:a}=s.getBoundingClientRect(),{x:o,width:l}=this.getBoundingClientRect(),d=o+l,u=n+a,c=r.getPropertyValue("--media-tooltip-offset-x"),h=c?parseFloat(c.replace("px","")):0,f=r.getPropertyValue("--media-tooltip-container-margin"),m=f?parseFloat(f.replace("px","")):0,p=o-n+h-m,g=d-u+h+m;if(p<0){this.style.setProperty("--media-tooltip-offset-x",`${p}px`);return}if(g>0){this.style.setProperty("--media-tooltip-offset-x",`${g}px`);return}this.style.removeProperty("--media-tooltip-offset-x")},this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Qv.content.cloneNode(!0))),this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){let e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[pn.PLACEMENT,pn.BOUNDS]}get placement(){return ue(this,pn.PLACEMENT)}set placement(e){ce(this,pn.PLACEMENT,e)}get bounds(){return ue(this,pn.BOUNDS)}set bounds(e){ce(this,pn.BOUNDS,e)}};x.customElements.get("media-tooltip")||x.customElements.define("media-tooltip",Bh);var U1=1,F1=i=>i.mediaMuted?0:i.mediaVolume,B1=i=>`${Math.round(i*100)}%`,$h=class extends Yr{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME,y.MEDIA_MUTED,y.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new x.CustomEvent($.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",H("volume"))}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===y.MEDIA_VOLUME||e===y.MEDIA_MUTED)&&(this.range.valueAsNumber=F1(this),this.range.setAttribute("aria-valuetext",B1(this.range.valueAsNumber)),this.updateBar())}get mediaVolume(){return ve(this,y.MEDIA_VOLUME,U1)}set mediaVolume(e){be(this,y.MEDIA_VOLUME,e)}get mediaMuted(){return ae(this,y.MEDIA_MUTED)}set mediaMuted(e){oe(this,y.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return ue(this,y.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){ce(this,y.MEDIA_VOLUME_UNAVAILABLE,e)}};x.customElements.get("media-volume-range")||x.customElements.define("media-volume-range",$h);var $1=Object.create,aE=Object.defineProperty,H1=Object.getOwnPropertyDescriptor,G1=Object.getOwnPropertyNames,K1=Object.getPrototypeOf,V1=Object.prototype.hasOwnProperty,oE=function(i,e){return function(){return i&&(e=i(i=0)),e}},Dt=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},W1=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=G1(e),n=0,a=s.length,o;n<a;n++)o=s[n],!V1.call(i,o)&&o!==t&&aE(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=H1(e,o))||r.enumerable});return i},Vt=function(i,e,t){return t=i!=null?$1(K1(i)):{},W1(e||!i||!i.__esModule?aE(t,"default",{value:i,enumerable:!0}):t,i)},ai=Dt(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 Jr(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):Jr(i,e)}var es=oE(function(){es()});function lE(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var dE=oE(function(){}),uE=Dt(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))}}}),Y1=Dt(function(i,e){es(),e.exports=t;function t(r,s){if(!Jr(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]"}}),q1=Dt(function(i,e){es(),e.exports=t;function t(r,s){if(!Jr(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}}),cE=Dt(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)}}),hE=Dt(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)}}),fE=Dt(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)}}}),j1=Dt(function(i,e){dE(),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=lE(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],b=(E.prefix?E.prefix+":":"")+g;f.push({name:b,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,"&").replace(/</g,"<").replace(/>/g,">")}function c(h){return u(h).replace(/"/g,""")}}),mE=Dt(function(i,e){es();var t=uE(),r=cE(),s=hE(),n=fE(),a=j1(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!Jr(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}}),z1=Dt(function(i,e){es();var t=mE();e.exports=r;function r(s){if(!Jr(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("")}}),X1=Dt(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(){}}),Q1=Dt(function(i,e){es();var t=uE(),r=Y1(),s=q1(),n=mE(),a=z1(),o=X1(),l=cE(),d=hE(),u=fE();e.exports=c;function c(){if(!Jr(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}),Z1=Dt(function(i,e){var t=Q1();e.exports=new t}),pE=Dt(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=Z1(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function J1(i){if(Array.isArray(i))return i}function eS(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 tS(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1235
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function
|
|
1236
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function si(i){return sS(i)||nS(i)||gE(i)||aS()}var Qr={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},oS=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t,r,s,n,a,o=i?[console,i]:[console],l=(t=console.trace).bind.apply(t,si(o)),d=(r=console.info).bind.apply(r,si(o)),u=(s=console.debug).bind.apply(s,si(o)),c=(n=console.warn).bind.apply(n,si(o)),h=(a=console.error).bind.apply(a,si(o)),f=e;return{trace:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.TRACE))return l.apply(void 0,si(p))},debug:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.DEBUG))return u.apply(void 0,si(p))},info:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.INFO))return d.apply(void 0,si(p))},warn:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.WARN))return c.apply(void 0,si(p))},error:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.ERROR))return h.apply(void 0,si(p))},get level(){return f},set level(m){m!==this.level&&(f=m!=null?m:e)}}},Oe=oS("[mux]"),Hh=Vt(ai());function qh(){var i=Hh.default.doNotTrack||Hh.default.navigator&&Hh.default.navigator.doNotTrack;return i==="1"}function de(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}es();function ut(i,e){if(!Jr(i,e))throw new TypeError("Cannot call a class as a function")}function Jv(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 Ri(i,e,t){return e&&Jv(i.prototype,e),t&&Jv(i,t),i}function G(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vn(i){return vn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},vn(i)}function lS(i,e){for(;!Object.prototype.hasOwnProperty.call(i,e)&&(i=vn(i),i!==null););return i}function zl(i,e,t){return typeof Reflect!="undefined"&&Reflect.get?zl=Reflect.get:zl=function(r,s,n){var a=lS(r,s);if(a){var o=Object.getOwnPropertyDescriptor(a,s);return o.get?o.get.call(n||r):o.value}},zl(i,e,t||i)}function jh(i,e){return jh=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},jh(i,e)}function dS(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&&jh(i,e)}function uS(){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}}dE();function cS(i,e){return e&&(lE(e)==="object"||typeof e=="function")?e:de(i)}function hS(i){var e=uS();return function(){var t=vn(i),r;if(e){var s=vn(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return cS(this,r)}}var ni=function(i){return xa(i)[0]},xa=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]},Gh=Vt(ai()),fS={exists:function(){var i=Gh.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=Gh.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=Gh.default.performance,e=i&&i.timing;return e&&e.navigationStart}},Ql=fS;function Ze(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function Zl(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){G(i,s,t[s])})}return i}function mS(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 Xh(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):mS(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var pS=["x-cdn","content-type"],EE=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],gS=pS.concat(EE);function Qh(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&&(gS.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function Jl(i){if(i){var e=EE.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var vS=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},bE=vS,jl=function(i){if(!i)return{};var e=Ql.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)}},ya=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return Qh(i.getAllResponseHeaders())},ES=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 b=parseInt(s.version),T;return b===1&&E.programDateTime!==null&&(T=E.programDateTime),b===0&&E.pdt!==null&&(T=E.pdt),T};if(!Ql.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,b){return i.emit(e,E,b)},d=function(E,b){var T=b.levels,_=b.audioTracks,A=b.url,R=b.stats,S=b.networkDetails,D=b.sessionData,M={},L={};T.forEach(function(W,he){M[he]={width:W.width,height:W.height,bitrate:W.bitrate,attrs:W.attrs}}),_.forEach(function(W,he){L[he]={name:W.name,language:W.lang,bitrate:W.bitrate}});var P=jl(R),U=P.bytesLoaded,B=P.requestStart,Q=P.responseStart,X=P.responseEnd;l("requestcompleted",Xh(Zl({},bE(D)),{request_event_type:E,request_bytes_loaded:U,request_start:B,request_response_start:Q,request_response_end:X,request_type:"manifest",request_hostname:ni(A),request_response_headers:ya(S),request_rendition_lists:{media:M,audio:L,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,b){var T=b.details,_=b.level,A=b.networkDetails,R=b.stats,S=jl(R),D=S.bytesLoaded,M=S.requestStart,L=S.responseStart,P=S.responseEnd,U=T.fragments[T.fragments.length-1],B=o(U)+a(U.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:D,request_start:M,request_response_start:L,request_response_end:P,request_current_level:_,request_type:"manifest",request_hostname:ni(T.url),request_response_headers:ya(A),video_holdback:T.holdBack&&a(T.holdBack),video_part_holdback:T.partHoldBack&&a(T.partHoldBack),video_part_target_duration:T.partTarget&&a(T.partTarget),video_target_duration:T.targetduration&&a(T.targetduration),video_source_is_live:T.live,player_manifest_newest_program_time:isNaN(B)?void 0:B})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,b){var T=b.details,_=b.networkDetails,A=b.stats,R=jl(A),S=R.bytesLoaded,D=R.requestStart,M=R.responseStart,L=R.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:S,request_start:D,request_response_start:M,request_response_end:L,request_type:"manifest",request_hostname:ni(T.url),request_response_headers:ya(_)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,b){var T=b.stats,_=b.networkDetails,A=b.frag;T=T||A.stats;var R=jl(T),S=R.bytesLoaded,D=R.requestStart,M=R.responseStart,L=R.responseEnd,P=_?ya(_):void 0,U={request_event_type:E,request_bytes_loaded:S,request_start:D,request_response_start:M,request_response_end:L,request_hostname:_?ni(_.responseURL):void 0,request_id:P?Jl(P):void 0,request_response_headers:P,request_media_duration:A.duration,request_url:_==null?void 0:_.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,b){var T=b.frag,_=T.start,A=o(T),R={currentFragmentPDT:A,currentFragmentStart:a(_)};l("fragmentchange",R)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,b){var T=b.type,_=b.details,A=b.response,R=b.fatal,S=b.frag,D=b.networkDetails,M=(S==null?void 0:S.url)||b.url||"",L=D?ya(D):void 0;if((_===s.ErrorDetails.MANIFEST_LOAD_ERROR||_===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT||_===s.ErrorDetails.LEVEL_LOAD_ERROR||_===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:_,request_url:M,request_hostname:ni(M),request_id:L?Jl(L):void 0,request_type:_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":_===s.ErrorDetails.KEY_LOAD_ERROR||_===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}),R){var P,U="".concat(M?"url: ".concat(M,`
|
|
1240
|
+
`;var Fh=class extends x.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!$o(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if(t==="left"||t==="right"){this.style.removeProperty("--media-tooltip-offset-x");return}let r=getComputedStyle(this),s=(e=mi(this,"#"+this.bounds))!=null?e:Ke(this);if(!s)return;let{x:n,width:a}=s.getBoundingClientRect(),{x:o,width:l}=this.getBoundingClientRect(),d=o+l,u=n+a,c=r.getPropertyValue("--media-tooltip-offset-x"),h=c?parseFloat(c.replace("px","")):0,f=r.getPropertyValue("--media-tooltip-container-margin"),m=f?parseFloat(f.replace("px","")):0,p=o-n+h-m,g=d-u+h+m;if(p<0){this.style.setProperty("--media-tooltip-offset-x",`${p}px`);return}if(g>0){this.style.setProperty("--media-tooltip-offset-x",`${g}px`);return}this.style.removeProperty("--media-tooltip-offset-x")},this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Jv.content.cloneNode(!0))),this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){let e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[pn.PLACEMENT,pn.BOUNDS]}get placement(){return ue(this,pn.PLACEMENT)}set placement(e){ce(this,pn.PLACEMENT,e)}get bounds(){return ue(this,pn.BOUNDS)}set bounds(e){ce(this,pn.BOUNDS,e)}};x.customElements.get("media-tooltip")||x.customElements.define("media-tooltip",Fh);var F1=1,B1=i=>i.mediaMuted?0:i.mediaVolume,$1=i=>`${Math.round(i*100)}%`,Bh=class extends Yr{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_VOLUME,y.MEDIA_MUTED,y.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new x.CustomEvent($.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",H("volume"))}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===y.MEDIA_VOLUME||e===y.MEDIA_MUTED)&&(this.range.valueAsNumber=B1(this),this.range.setAttribute("aria-valuetext",$1(this.range.valueAsNumber)),this.updateBar())}get mediaVolume(){return ve(this,y.MEDIA_VOLUME,F1)}set mediaVolume(e){ye(this,y.MEDIA_VOLUME,e)}get mediaMuted(){return ae(this,y.MEDIA_MUTED)}set mediaMuted(e){oe(this,y.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return ue(this,y.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){ce(this,y.MEDIA_VOLUME_UNAVAILABLE,e)}};x.customElements.get("media-volume-range")||x.customElements.define("media-volume-range",Bh);var H1=Object.create,lE=Object.defineProperty,G1=Object.getOwnPropertyDescriptor,K1=Object.getOwnPropertyNames,V1=Object.getPrototypeOf,W1=Object.prototype.hasOwnProperty,dE=function(i,e){return function(){return i&&(e=i(i=0)),e}},Dt=function(i,e){return function(){return e||i((e={exports:{}}).exports,e),e.exports}},Y1=function(i,e,t,r){if(e&&typeof e=="object"||typeof e=="function")for(var s=K1(e),n=0,a=s.length,o;n<a;n++)o=s[n],!W1.call(i,o)&&o!==t&&lE(i,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(r=G1(e,o))||r.enumerable});return i},Vt=function(i,e,t){return t=i!=null?H1(V1(i)):{},Y1(e||!i||!i.__esModule?lE(t,"default",{value:i,enumerable:!0}):t,i)},ai=Dt(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 Jr(i,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](i):Jr(i,e)}var es=dE(function(){es()});function uE(i){"@swc/helpers - typeof";return i&&typeof Symbol!="undefined"&&i.constructor===Symbol?"symbol":typeof i}var cE=dE(function(){}),hE=Dt(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))}}}),q1=Dt(function(i,e){es(),e.exports=t;function t(r,s){if(!Jr(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]"}}),j1=Dt(function(i,e){es(),e.exports=t;function t(r,s){if(!Jr(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}}),fE=Dt(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)}}),mE=Dt(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)}}),pE=Dt(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)}}}),z1=Dt(function(i,e){cE(),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=uE(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],b=(E.prefix?E.prefix+":":"")+g;f.push({name:b,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,"&").replace(/</g,"<").replace(/>/g,">")}function c(h){return u(h).replace(/"/g,""")}}),gE=Dt(function(i,e){es();var t=hE(),r=fE(),s=mE(),n=pE(),a=z1(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(d,u,c){if(!Jr(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}}),X1=Dt(function(i,e){es();var t=gE();e.exports=r;function r(s){if(!Jr(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("")}}),Q1=Dt(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(){}}),Z1=Dt(function(i,e){es();var t=hE(),r=q1(),s=j1(),n=gE(),a=X1(),o=Q1(),l=fE(),d=mE(),u=pE();e.exports=c;function c(){if(!Jr(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}),J1=Dt(function(i,e){var t=Z1();e.exports=new t}),vE=Dt(function(i,e){var t=typeof global!="undefined"?global:typeof window!="undefined"?window:{},r=J1(),s;typeof document!="undefined"?s=document:(s=t["__GLOBAL_DOCUMENT_CACHE@4"],s||(s=t["__GLOBAL_DOCUMENT_CACHE@4"]=r)),e.exports=s});function eS(i){if(Array.isArray(i))return i}function tS(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 iS(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1241
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wh(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 EE(i,e){if(i){if(typeof i=="string")return Wh(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 Wh(i,e)}}function Xi(i,e){return eS(i)||tS(i,e)||EE(i,e)||iS()}var _a=Vt(ai()),eE=Vt(ai()),rS=Vt(ai()),sS={now:function(){var i=rS.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)}},Je=sS,Sa=function(){var i,e,t;if(typeof((i=eE.default.crypto)===null||i===void 0?void 0:i.getRandomValues)=="function"){t=new Uint8Array(32),eE.default.crypto.getRandomValues(t);for(var r=0;r<32;r++)t[r]=t[r]%16}else{t=[];for(var s=0;s<32;s++)t[s]=Math.random()*16|0}var n=0;e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(l){var d=l==="x"?t[n]:t[n]&3|8;return n++,d.toString(16)});var a=Je.now(),o=a==null?void 0:a.toString(16).substring(3);return o?e.substring(0,28)+o:e},bE=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},ri=function(i){if(i&&typeof i.nodeName!="undefined")return i.muxId||(i.muxId=bE()),i.muxId;var e;try{e=document.querySelector(i)}catch{}return e&&!e.muxId&&(e.muxId=i),(e==null?void 0:e.muxId)||i},Xl=function(i){var e;i&&typeof i.nodeName!="undefined"?(e=i,i=ri(e)):e=document.querySelector(i);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,i,t]};function nS(i){if(Array.isArray(i))return Wh(i)}function aS(i){if(typeof Symbol!="undefined"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function oS(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
1242
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function si(i){return nS(i)||aS(i)||EE(i)||oS()}var Qr={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},lS=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t,r,s,n,a,o=i?[console,i]:[console],l=(t=console.trace).bind.apply(t,si(o)),d=(r=console.info).bind.apply(r,si(o)),u=(s=console.debug).bind.apply(s,si(o)),c=(n=console.warn).bind.apply(n,si(o)),h=(a=console.error).bind.apply(a,si(o)),f=e;return{trace:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.TRACE))return l.apply(void 0,si(p))},debug:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.DEBUG))return u.apply(void 0,si(p))},info:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.INFO))return d.apply(void 0,si(p))},warn:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.WARN))return c.apply(void 0,si(p))},error:function(){for(var m=arguments.length,p=new Array(m),g=0;g<m;g++)p[g]=arguments[g];if(!(f>Qr.ERROR))return h.apply(void 0,si(p))},get level(){return f},set level(m){m!==this.level&&(f=m!=null?m:e)}}},Ne=lS("[mux]"),$h=Vt(ai());function Yh(){var i=$h.default.doNotTrack||$h.default.navigator&&$h.default.navigator.doNotTrack;return i==="1"}function de(i){if(i===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return i}es();function ut(i,e){if(!Jr(i,e))throw new TypeError("Cannot call a class as a function")}function tE(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 Ri(i,e,t){return e&&tE(i.prototype,e),t&&tE(i,t),i}function G(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function vn(i){return vn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},vn(i)}function dS(i,e){for(;!Object.prototype.hasOwnProperty.call(i,e)&&(i=vn(i),i!==null););return i}function zl(i,e,t){return typeof Reflect!="undefined"&&Reflect.get?zl=Reflect.get:zl=function(r,s,n){var a=dS(r,s);if(a){var o=Object.getOwnPropertyDescriptor(a,s);return o.get?o.get.call(n||r):o.value}},zl(i,e,t||i)}function qh(i,e){return qh=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},qh(i,e)}function uS(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&&qh(i,e)}function cS(){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}}cE();function hS(i,e){return e&&(uE(e)==="object"||typeof e=="function")?e:de(i)}function fS(i){var e=cS();return function(){var t=vn(i),r;if(e){var s=vn(this).constructor;r=Reflect.construct(t,arguments,s)}else r=t.apply(this,arguments);return hS(this,r)}}var ni=function(i){return xa(i)[0]},xa=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]},Hh=Vt(ai()),mS={exists:function(){var i=Hh.default.performance,e=i&&i.timing;return e!==void 0},domContentLoadedEventEnd:function(){var i=Hh.default.performance,e=i&&i.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var i=Hh.default.performance,e=i&&i.timing;return e&&e.navigationStart}},Ql=mS;function Ze(i,e,t){t=t===void 0?1:t,i[e]=i[e]||0,i[e]+=t}function Zl(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){G(i,s,t[s])})}return i}function pS(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 zh(i,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(e)):pS(Object(e)).forEach(function(t){Object.defineProperty(i,t,Object.getOwnPropertyDescriptor(e,t))}),i}var gS=["x-cdn","content-type"],yE=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],vS=gS.concat(yE);function Xh(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&&(vS.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function Jl(i){if(i){var e=yE.find(function(t){return i[t]!==void 0});return e?i[e]:void 0}}var ES=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},TE=ES,jl=function(i){if(!i)return{};var e=Ql.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)}},ya=function(i){if(!(!i||typeof i.getAllResponseHeaders!="function"))return Xh(i.getAllResponseHeaders())},bS=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 b=parseInt(s.version),T;return b===1&&E.programDateTime!==null&&(T=E.programDateTime),b===0&&E.pdt!==null&&(T=E.pdt),T};if(!Ql.exists()){n.warn("performance timing not supported. Not tracking HLS.js.");return}var l=function(E,b){return i.emit(e,E,b)},d=function(E,b){var T=b.levels,_=b.audioTracks,A=b.url,R=b.stats,S=b.networkDetails,D=b.sessionData,M={},L={};T.forEach(function(Y,he){M[he]={width:Y.width,height:Y.height,bitrate:Y.bitrate,attrs:Y.attrs}}),_.forEach(function(Y,he){L[he]={name:Y.name,language:Y.lang,bitrate:Y.bitrate}});var P=jl(R),U=P.bytesLoaded,B=P.requestStart,Z=P.responseStart,Q=P.responseEnd;l("requestcompleted",zh(Zl({},TE(D)),{request_event_type:E,request_bytes_loaded:U,request_start:B,request_response_start:Z,request_response_end:Q,request_type:"manifest",request_hostname:ni(A),request_response_headers:ya(S),request_rendition_lists:{media:M,audio:L,video:{}}}))};t.on(s.Events.MANIFEST_LOADED,d);var u=function(E,b){var T=b.details,_=b.level,A=b.networkDetails,R=b.stats,S=jl(R),D=S.bytesLoaded,M=S.requestStart,L=S.responseStart,P=S.responseEnd,U=T.fragments[T.fragments.length-1],B=o(U)+a(U.duration);l("requestcompleted",{request_event_type:E,request_bytes_loaded:D,request_start:M,request_response_start:L,request_response_end:P,request_current_level:_,request_type:"manifest",request_hostname:ni(T.url),request_response_headers:ya(A),video_holdback:T.holdBack&&a(T.holdBack),video_part_holdback:T.partHoldBack&&a(T.partHoldBack),video_part_target_duration:T.partTarget&&a(T.partTarget),video_target_duration:T.targetduration&&a(T.targetduration),video_source_is_live:T.live,player_manifest_newest_program_time:isNaN(B)?void 0:B})};t.on(s.Events.LEVEL_LOADED,u);var c=function(E,b){var T=b.details,_=b.networkDetails,A=b.stats,R=jl(A),S=R.bytesLoaded,D=R.requestStart,M=R.responseStart,L=R.responseEnd;l("requestcompleted",{request_event_type:E,request_bytes_loaded:S,request_start:D,request_response_start:M,request_response_end:L,request_type:"manifest",request_hostname:ni(T.url),request_response_headers:ya(_)})};t.on(s.Events.AUDIO_TRACK_LOADED,c);var h=function(E,b){var T=b.stats,_=b.networkDetails,A=b.frag;T=T||A.stats;var R=jl(T),S=R.bytesLoaded,D=R.requestStart,M=R.responseStart,L=R.responseEnd,P=_?ya(_):void 0,U={request_event_type:E,request_bytes_loaded:S,request_start:D,request_response_start:M,request_response_end:L,request_hostname:_?ni(_.responseURL):void 0,request_id:P?Jl(P):void 0,request_response_headers:P,request_media_duration:A.duration,request_url:_==null?void 0:_.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,b){var T=b.frag,_=T.start,A=o(T),R={currentFragmentPDT:A,currentFragmentStart:a(_)};l("fragmentchange",R)};t.on(s.Events.FRAG_CHANGED,f);var m=function(E,b){var T=b.type,_=b.details,A=b.response,R=b.fatal,S=b.frag,D=b.networkDetails,M=(S==null?void 0:S.url)||b.url||"",L=D?ya(D):void 0;if((_===s.ErrorDetails.MANIFEST_LOAD_ERROR||_===s.ErrorDetails.MANIFEST_LOAD_TIMEOUT||_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT||_===s.ErrorDetails.LEVEL_LOAD_ERROR||_===s.ErrorDetails.LEVEL_LOAD_TIMEOUT||_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||_===s.ErrorDetails.KEY_LOAD_ERROR||_===s.ErrorDetails.KEY_LOAD_TIMEOUT)&&l("requestfailed",{request_error:_,request_url:M,request_hostname:ni(M),request_id:L?Jl(L):void 0,request_type:_===s.ErrorDetails.FRAG_LOAD_ERROR||_===s.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":_===s.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||_===s.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":_===s.ErrorDetails.SUBTITLE_LOAD_ERROR||_===s.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":_===s.ErrorDetails.KEY_LOAD_ERROR||_===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}),R){var P,U="".concat(M?"url: ".concat(M,`
|
|
1237
1243
|
`):"")+"".concat(A&&(A.code||A.text)?"response: ".concat(A.code,", ").concat(A.text,`
|
|
1238
1244
|
`):"")+"".concat(b.reason?"failure reason: ".concat(b.reason,`
|
|
1239
1245
|
`):"")+"".concat(b.level?"level: ".concat(b.level,`
|
|
@@ -1242,38 +1248,38 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1242
1248
|
`):"")+"".concat(b.error?"error: ".concat(b.error,`
|
|
1243
1249
|
`):"")+"".concat(b.event?"event: ".concat(b.event,`
|
|
1244
1250
|
`):"")+"".concat(b.err?"error message: ".concat((P=b.err)===null||P===void 0?void 0:P.message,`
|
|
1245
|
-
`):"");l("error",{player_error_code:T,player_error_message:_,player_error_context:U})}};t.on(s.Events.ERROR,m);var p=function(E,b){var T=b.frag,_=T&&T._url||"";l("requestcanceled",{request_event_type:E,request_url:_,request_type:"media",request_hostname:ni(_)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,b){var T=b.level,_=t.levels[T];if(_&&_.attrs&&_.attrs.BANDWIDTH){var A=_.attrs.BANDWIDTH,R,S=parseFloat(_.attrs["FRAME-RATE"]);isNaN(S)||(R=S),A?l("renditionchange",{video_source_fps:R,video_source_bitrate:A,video_source_width:_.width,video_source_height:_.height,video_source_rendition_name:_.name,video_source_codec:_==null?void 0:_.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)},
|
|
1251
|
+
`):"");l("error",{player_error_code:T,player_error_message:_,player_error_context:U})}};t.on(s.Events.ERROR,m);var p=function(E,b){var T=b.frag,_=T&&T._url||"";l("requestcanceled",{request_event_type:E,request_url:_,request_type:"media",request_hostname:ni(_)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,p);var g=function(E,b){var T=b.level,_=t.levels[T];if(_&&_.attrs&&_.attrs.BANDWIDTH){var A=_.attrs.BANDWIDTH,R,S=parseFloat(_.attrs["FRAME-RATE"]);isNaN(S)||(R=S),A?l("renditionchange",{video_source_fps:R,video_source_bitrate:A,video_source_width:_.width,video_source_height:_.height,video_source_rendition_name:_.name,video_source_codec:_==null?void 0:_.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)},yS=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},iE=function(i,e){if(!i||!i.requestEndDate)return{};var t=ni(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=Xh(d[d.length-1]._responseHeaders||""));var c=u?Jl(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:r,requestId:c}},TS=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}:{}},_S=function(i){var e;return(e=i.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},AS=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}},SS=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=AS(t),a=function(T,_){return i.emit(e,T,_)},o=function(T){var _=T.type,A=T.data,R=(A||{}).url;a("requestcompleted",{request_event_type:_,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:ni(R),request_url:R})};t.on("manifestLoaded",o);var l={},d=function(T){if(typeof T.getRequests!="function")return null;var _=T.getRequests({state:"executed"});return _.length===0?null:_[_.length-1]},u=function(T){var _=T.type,A=T.fragmentModel,R=T.chunk,S=d(A);c({type:_,request:S,chunk:R})},c=function(T){var _=T.type,A=T.chunk,R=T.request,S=(A||{}).mediaInfo,D=S||{},M=D.type,L=D.bitrateList;L=L||[];var P={};L.forEach(function(ge,ie){P[ie]={},P[ie].width=ge.width,P[ie].height=ge.height,P[ie].bitrate=ge.bandwidth,P[ie].attrs={}}),M==="video"?l.video=P:M==="audio"?l.audio=P:l.media=P;var U=iE(R,t),B=U.requestStart,Z=U.requestResponseStart,Q=U.requestResponseEnd,Y=U.requestResponseHeaders,he=U.requestMediaDuration,me=U.requestHostname,q=U.requestUrl,K=U.requestId;a("requestcompleted",{request_event_type:_,request_start:B,request_response_start:Z,request_response_end:Q,request_bytes_loaded:-1,request_type:M+"_init",request_response_headers:Y,request_hostname:me,request_id:K,request_url:q,request_media_duration:he,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",c):t.on("initFragmentLoaded",u);var h=function(T){var _=T.type,A=T.fragmentModel,R=T.chunk,S=d(A);f({type:_,request:S,chunk:R})},f=function(T){var _=T.type,A=T.chunk,R=T.request,S=A||{},D=S.mediaInfo,M=S.start,L=D||{},P=L.type,U=iE(R,t),B=U.requestStart,Z=U.requestResponseStart,Q=U.requestResponseEnd,Y=U.requestBytesLoaded,he=U.requestResponseHeaders,me=U.requestMediaDuration,q=U.requestHostname,K=U.requestUrl,ge=U.requestId,ie=TS(P,t),_e=ie.currentLevel,He=ie.renditionWidth,Ve=ie.renditionHeight,qe=ie.renditionBitrate;a("requestcompleted",{request_event_type:_,request_start:B,request_response_start:Z,request_response_end:Q,request_bytes_loaded:Y,request_type:P,request_response_headers:he,request_hostname:q,request_id:ge,request_url:K,request_media_start_time:M,request_media_duration:me,request_current_level:_e,request_labeled_bitrate:qe,request_video_width:He,request_video_height:Ve})};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 T=m.video.bitrate;if(m.audio&&typeof m.audio.bitrate=="number"&&(T+=m.audio.bitrate),T!==m.totalBitrate)return m.totalBitrate=T,{video_source_bitrate:T,video_source_height:m.video.height,video_source_width:m.video.width,video_source_codec:_S(m.video.codec)}}},g=function(T,_,A){if(typeof T.newQuality!="number"){s.warn("missing evt.newQuality in qualityChangeRendered event",T);return}var R=T.mediaType;if(R==="audio"||R==="video"){var S=t.getBitrateInfoListFor(R).find(function(M){var L=M.qualityIndex;return L===T.newQuality});if(!(S&&typeof S.bitrate=="number")){s.warn("missing bitrate info for ".concat(R));return}m[R]=zh(Zl({},S),{codec:t.getCurrentTrackFor(R).codec});var D=p();D&&a("renditionchange",D)}};t.on("qualityChangeRendered",g);var E=function(T){var _=T.request,A=T.mediaType;_=_||{},a("requestcanceled",{request_event_type:_.type+"_"+_.action,request_url:_.url,request_type:A,request_hostname:ni(_.url)})};t.on("fragmentLoadingAbandoned",E);var b=function(T){var _=T.error,A,R,S=(_==null||(A=_.data)===null||A===void 0?void 0:A.request)||{},D=(_==null||(R=_.data)===null||R===void 0?void 0:R.response)||{};(_==null?void 0:_.code)===27&&a("requestfailed",{request_error:S.type+"_"+S.action,request_url:S.url,request_hostname:ni(S.url),request_type:S.mediaType,request_error_code:D.status,request_error_text:D.statusText});var M="".concat(S!=null&&S.url?"url: ".concat(S.url,`
|
|
1246
1252
|
`):"")+"".concat(D!=null&&D.status||D!=null&&D.statusText?"response: ".concat(D==null?void 0:D.status,", ").concat(D==null?void 0:D.statusText,`
|
|
1247
|
-
`):"");a("error",{player_error_code:_==null?void 0:_.code,player_error_message:_==null?void 0:_.message,player_error_context:M})};t.on("error",b),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",b),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},SS=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},tE=0,xS=function(){"use strict";function i(){ut(this,i),G(this,"_listeners",void 0)}return Ri(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++tE,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||++tE;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}(),RS=xS,Kh=Vt(ai()),IS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_playbackHeartbeatInterval",void 0),G(this,"_playheadShouldBeProgressing",void 0),G(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&&(Kh.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Ri(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=Kh.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(Kh.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),kS=IS,LS=function i(e){"use strict";var t=this;ut(this,i),G(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})},wS=LS,DS=function(){"use strict";function i(e){ut(this,i),G(this,"_watchTimeTrackerLastCheckedTime",void 0),G(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 Ri(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Ze(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}(),CS=DS,MS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),G(this,"_lastTime",void 0),G(this,"_isAdPlaying",void 0),G(this,"_callbackUpdatePlaybackTime",void 0),G(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=Je.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=Je.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Ri(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=Je.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Ze(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),PS=MS,OS=function(){"use strict";function i(e){ut(this,i),G(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 Ri(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}(),NS=OS,iE=5*60*1e3,US=function i(e){"use strict";if(ut(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;Ze(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>iE&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(iE,"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||(Ze(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)})}},FS=US,BS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_lastCheckedTime",void 0),G(this,"_lastPlayheadTime",void 0),G(this,"_lastPlayheadTimeUpdatedTime",void 0),G(this,"_rebuffering",void 0),G(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:Je.now()})}))}return Ri(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}(),$S=BS,HS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"NAVIGATION_START",void 0),G(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||Je.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Ri(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}(),GS=HS,KS=function i(e){"use strict";var t=this;ut(this,i),G(this,"_lastPlayerHeight",void 0),G(this,"_lastPlayerWidth",void 0),G(this,"_lastPlayheadPosition",void 0),G(this,"_lastSourceHeight",void 0),G(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),Ze(e.data,"view_total_content_playback_time",a),Ze(e.data,"view_total_upscaling",l*a),Ze(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})})},VS=KS,WS=2e3,YS=function i(e){"use strict";var t=this;ut(this,i),G(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=Je.now(),a=(e.data.viewer_time||n)-(r||n);Ze(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<=WS){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Ze(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})},qS=YS,rE=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},jS=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],zS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_adHasPlayed",void 0),G(this,"_adRequests",void 0),G(this,"_adResponses",void 0),G(this,"_currentAdRequestNumber",void 0),G(this,"_currentAdResponseNumber",void 0),G(this,"_prerollPlayTime",void 0),G(this,"_wouldBeNewAdPlay",void 0),G(this,"isAdBreak",void 0),G(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}),jS.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),rE(t._adRequests,n),Ze(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Ze(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),rE(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Ze(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,Ze(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||Ze(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Ze(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Ri(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=Xi(xa(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=Xi(xa(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}(),XS=zS,sE=Vt(ai()),QS=function i(e){"use strict";ut(this,i);var t,r,s=function(){e.disableRebufferTracking||(Ze(e.data,"view_waiting_rebuffer_count",1),t=Je.now(),r=sE.default.setInterval(function(){if(t){var d=Je.now();Ze(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Ze(e.data,"view_waiting_rebuffer_duration",Je.now()-t),t=!1,sE.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)},ZS=QS,JS=function i(e){"use strict";var t=this;ut(this,i),G(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=Je.now(),e.on("before*",s)},s=function(n){var a=Je.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)})},ex=JS,Vh=Vt(ai()),yE=function(i){return i()}(function(){var i=function(){for(var t=0,r={};t<arguments.length;t++){var s=arguments[t];for(var n in s)r[n]=s[n]}return r};function e(t){function r(s,n,a){var o;if(typeof document!="undefined"){if(arguments.length>1){if(a=i({path:"/"},r.defaults,a),typeof a.expires=="number"){var l=new Date;l.setMilliseconds(l.getMilliseconds()+a.expires*864e5),a.expires=l}try{o=JSON.stringify(n),/^[\{\[]/.test(o)&&(n=o)}catch{}return t.write?n=t.write(n,s):n=encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),s=encodeURIComponent(String(s)),s=s.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),s=s.replace(/[\(\)]/g,escape),document.cookie=[s,"=",n,a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}s||(o={});for(var d=document.cookie?document.cookie.split("; "):[],u=/(%[0-9A-Z]{2})+/g,c=0;c<d.length;c++){var h=d[c].split("="),f=h.slice(1).join("=");f.charAt(0)==='"'&&(f=f.slice(1,-1));try{var m=h[0].replace(u,decodeURIComponent);if(f=t.read?t.read(f,m):t(f,m)||f.replace(u,decodeURIComponent),this.json)try{f=JSON.parse(f)}catch{}if(s===m){o=f;break}s||(o[m]=f)}catch{}}return o}}return r.set=r,r.get=function(s){return r.call(r,s)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(s,n){r(s,"",i(n,{expires:-1}))},r.withConverter=e,r}return e(function(){})}),TE="muxData",tx=function(i){return Object.entries(i).map(function(e){var t=Xi(e,2),r=t[0],s=t[1];return"".concat(r,"=").concat(s)}).join("&")},ix=function(i){return i.split("&").reduce(function(e,t){var r=Xi(t.split("="),2),s=r[0],n=r[1],a=+n,o=n&&a==n?a:n;return e[s]=o,e},{})},_E=function(){var i;try{i=ix(yE.get(TE)||"")}catch{i={}}return i},AE=function(i){try{yE.set(TE,tx(i),{expires:365})}catch{}},rx=function(){var i=_E();return i.mux_viewer_id=i.mux_viewer_id||Sa(),i.msn=i.msn||Math.random(),AE(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},sx=function(){var i=_E(),e=Je.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=Sa(),i.sst=e),i.sex=e+25*60*1e3,AE(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function nx(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 ax=Vt(ai()),SE=function(){var i;switch(xE()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},xE=function(){var i=ax.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};SE.getConnectionFromAPI=xE;var ox=SE,lx={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"},dx=RE(lx),ux={ad:"ad",af:"affiliate",ag:"aggregate",ap:"api",al:"application",ao:"audio",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",bn:"brand",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ci:"client",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cq:"creator",cr:"creative",cs:"captions",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",dy:"dynamic",eb:"enabled",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",or:"origin",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pp:"pip",pr:"preload",ps:"position",pt:"part",py:"property",px:"pop",pz:"plan",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rg:"range",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sh:"shift",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",ss:"status",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"},nE=RE(ux);function RE(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function zh(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=dx[a];o||(Oe.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),nE[l]?o+=nE[l]:Number.isInteger(Number(l))?o+=l:(Oe.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 Zr=Vt(ai()),cx=Vt(pE()),hx={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},fx=56*1024,mx=["hb","requestcompleted","requestfailed","requestcanceled"],px="https://img.litix.io",Qi=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||px,this._eventQueue=[],this._postInFlight=!1,this._resendAfterPost=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},hx,e)};Qi.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};Qi.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()};Qi.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),Zr.default.clearTimeout(this._sendTimeout)};Qi.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],zh({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);IE(this._beaconUrl,t,!0,function(){})};Qi.prototype._sendBeaconQueue=function(){var i=this;if(this._postInFlight){this._resendAfterPost=!0;return}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=Je.now();IE(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Oe.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=Je.now()-r,i._postInFlight=!1,i._resendAfterPost&&(i._resendAfterPost=!1,i._eventQueue.length>0&&i._sendBeaconQueue())})};Qi.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};Qi.prototype._startBeaconSending=function(){var i=this;Zr.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=Zr.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};Qi.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(Je.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()||(Oe.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return mx.indexOf(l.e)===-1}),a()),o()||(Oe.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 gx=typeof cx.default.exitPictureInPicture=="function"?function(i){return i.length<=fx}:function(i){return!1},IE=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(Zr.default.fetch){Zr.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:gx(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(Zr.default.XMLHttpRequest){var s=new Zr.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()},vx=Qi,Ex=["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"],bx=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],yx=["ad_id","ad_creative_id","ad_universal_id"],Tx=["viewstart","error","ended","viewend"],_x=10*60*1e3,Ax=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ut(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;G(this,"mux",void 0),G(this,"envKey",void 0),G(this,"options",void 0),G(this,"eventQueue",void 0),G(this,"sampleRate",void 0),G(this,"disableCookies",void 0),G(this,"respectDoNotTrack",void 0),G(this,"previousBeaconData",void 0),G(this,"lastEventTime",void 0),G(this,"rateLimited",void 0),G(this,"pageLevelData",void 0),G(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 vx(nx(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 b;this.respectDoNotTrack=(b=this.options.respectDoNotTrack)!==null&&b!==void 0?b:!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:ox(),page_url:Vh.default===null||Vh.default===void 0||(p=Vh.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:rx()}return Ri(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&qh())return Oe.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Oe.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:sx(),s=Xh(Zl({},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=zh(o);if(this.lastEventTime=this.mux.utils.now(),a)return Oe.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Oe.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(Oe.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):Tx.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=zh(s),this.eventQueue.queueEvent(s.event,l),Oe.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>=_x)s=Zl({},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=Xi(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||Ex.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||yx.includes(t)&&bx.includes(e))}}]),i}(),Sx=function i(e){"use strict";ut(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 b,T;if(p?(b=p-(m!=null?m:0),T=(g!=null?g:0)-p):T=(g!=null?g:0)-(m!=null?m:0),T>0&&E&&E>0){var _=E/T*8e3;a++,r+=E,s+=T,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,_),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,b>0&&(t+=b,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,b),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)},xx=Sx,Rx=60*60*1e3,Ix=function i(e){"use strict";var t=this;ut(this,i),G(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=Je.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Rx){var l=Object.keys(e.data).reduce(function(u,c){return c.indexOf("video_")===0?Object.assign(u,G({},c,e.data[c])):u},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view");var d=e.playbackHeartbeat._playheadShouldBeProgressing;e._resetView(Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing=d,e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},kx=Ix,Lx=["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"],wx=new Set(["requestcompleted","requestfailed","requestcanceled"]),Dx=function(i){"use strict";dS(t,i);var e=hS(t);function t(r,s,n){ut(this,t);var a;a=e.call(this),G(de(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),G(de(a),"NAVIGATION_START",void 0),G(de(a),"_destroyed",void 0),G(de(a),"_heartBeatTimeout",void 0),G(de(a),"adTracker",void 0),G(de(a),"dashjs",void 0),G(de(a),"data",void 0),G(de(a),"disablePlayheadRebufferTracking",void 0),G(de(a),"disableRebufferTracking",void 0),G(de(a),"errorTracker",void 0),G(de(a),"errorTranslator",void 0),G(de(a),"emitTranslator",void 0),G(de(a),"getAdData",void 0),G(de(a),"getPlayheadTime",void 0),G(de(a),"getStateData",void 0),G(de(a),"stateDataTranslator",void 0),G(de(a),"hlsjs",void 0),G(de(a),"id",void 0),G(de(a),"longResumeTracker",void 0),G(de(a),"minimumRebufferDuration",void 0),G(de(a),"mux",void 0),G(de(a),"playbackEventDispatcher",void 0),G(de(a),"playbackHeartbeat",void 0),G(de(a),"playbackHeartbeatTime",void 0),G(de(a),"playheadTime",void 0),G(de(a),"seekingTracker",void 0),G(de(a),"sustainedRebufferThreshold",void 0),G(de(a),"watchTimeTracker",void 0),G(de(a),"currentFragmentPDT",void 0),G(de(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=Ql.domContentLoadedEventEnd(),a.NAVIGATION_START=Ql.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(h){return h},emitTranslator:function(){for(var h=arguments.length,f=new Array(h),m=0;m<h;m++)f[m]=arguments[m];return f},stateDataTranslator:function(h){return h}};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),Oe.level=n.debug?Qr.DEBUG:Qr.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.emitTranslator=n.emitTranslator,a.stateDataTranslator=n.stateDataTranslator,a.playbackEventDispatcher=new Ax(r,n.data.env_key,n),a.data={player_instance_id:Sa(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1;var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(de(a));if(a.on("viewinit",function(h,f){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,f),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)}),a.on("videochange",function(h,f){this._resetView(f)}),a.on("programchange",function(h,f){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),this._resetView(Object.assign(f,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(h,f){this.currentFragmentPDT=f.currentFragmentPDT,this.currentFragmentStart=f.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var d=function(){var h=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",h&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",d,!1);var u=function(h){h.persisted||a.destroy()};window.addEventListener("pagehide",u,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",d),window.removeEventListener("pagehide",u)})}a.on("playerready",function(h,f){Object.assign(this.data,f)}),Lx.forEach(function(h){a.on(h,function(f,m){h.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,m),this._sanitizeData()}),a.on("after"+h,function(){(h!=="error"||this.errorTracker.viewErrored)&&this.send(h)})}),a.on("viewend",function(h,f){Object.assign(a.data,f)});var c=function(h){var f=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=f-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",c),a.longResumeTracker=new kx(de(a)),a.errorTracker=new wS(de(a)),new ex(de(a)),a.seekingTracker=new qS(de(a)),a.playheadTime=new NS(de(a)),a.playbackHeartbeat=new kS(de(a)),new VS(de(a)),a.watchTimeTracker=new CS(de(a)),new PS(de(a)),a.adTracker=new XS(de(a)),new $S(de(a)),new FS(de(a)),new GS(de(a)),new ZS(de(a)),new xx(de(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Ri(t,[{key:"emit",value:function(r,s){var n,a=Object.assign({viewer_time:this.mux.utils.now()},s),o=[r,a];if(this.emitTranslator)try{o=this.emitTranslator(r,a)}catch(l){this.mux.log.warn("Exception in emit translator callback.",l)}o!=null&&o.length&&(n=zl(vn(t.prototype),"emit",this)).call.apply(n,[this].concat(si(o)))}},{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=Xi(xa(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++,wx.has(r)||this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_resetView",value:function(r){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",r)}},{key:"_updateStateData",value:function(){var r=this.getStateData();if(typeof this.stateDataTranslator=="function")try{r=this.stateDataTranslator(r)}catch(s){this.mux.log.warn("Exception in stateDataTranslator translator callback.",s)}Object.assign(this.data,r),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=Sa(),n=function(){s===r.data.view_id&&Ze(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._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,ES(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(bS(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,AS(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(SS(this.dashjs),this.dashjs=void 0)}}]),t}(RS),Cx=Dx,Ta=Vt(pE());function Mx(){return Ta.default&&!!(Ta.default.fullscreenElement||Ta.default.webkitFullscreenElement||Ta.default.mozFullScreenElement||Ta.default.msFullscreenElement)}var Px=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Ox={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function Nx(i,e,t){var r=Xi(Xl(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"));var c={getPlayheadTime:function(){return d(s.currentTime)},getStateData:function(){var f,m,p,g=((f=(m=this).getPlayheadTime)===null||f===void 0?void 0:f.call(m))||d(s.currentTime),E=this.hlsjs&&this.hlsjs.url,b=this.dashjs&&typeof this.dashjs.getSource=="function"&&this.dashjs.getSource(),T={player_is_paused:s.paused,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:Mx(),video_poster_url:s.poster,video_source_url:E||b||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(p=s.getVideoPlaybackQuality)===null||p===void 0?void 0:p.call(s).droppedVideoFrames};if(s.getStartDate&&g>0){var _=s.getStartDate();if(_&&typeof _.getTime=="function"&&_.getTime()){var A=_.getTime();if(T.player_program_time=A+g,s.seekable.length>0){var R=A+s.seekable.end(s.seekable.length-1);T.player_live_edge_program_time=R}}}return T}};t=Object.assign(u,t,c),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(f,m){i.emit(n,f,m)},s.mux.updateData=function(f){s.mux.emit("hb",f)};var h=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(f){s.removeEventListener(f,s.mux.listeners[f],!1)}),delete s.mux.listeners,s.mux.destroy=h,s.mux.swapElement=h,s.mux.emit=h,s.mux.addHLSJS=h,s.mux.addDashJS=h,s.mux.removeHLSJS=h,s.mux.removeDashJS=h,s.mux.updateData=h,s.mux.setEmitTranslator=h,s.mux.setStateDataTranslator=h,s.mux.setGetPlayheadTime=h,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(f){var m=Xi(Xl(f),3),p=m[0],g=m[1],E=m[2];if(p){if(E!=="video"&&E!=="audio")return i.log.error("The element of `"+g+"` was not a media element.")}else return i.log.error("No element was found with the `"+g+"` query selector.");p.muxId=s.muxId,delete s.muxId,p.mux=p.mux||{},p.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(p.mux.listeners).forEach(function(b){s.removeEventListener(b,p.mux.listeners[b],!1),p.addEventListener(b,p.mux.listeners[b],!1)}),p.mux.swapElement=s.mux.swapElement,p.mux.destroy=s.mux.destroy,delete s.mux,s=p},s.mux.addHLSJS=function(f){i.addHLSJS(n,f)},s.mux.addDashJS=function(f){i.addDashJS(n,f)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},s.mux.setEmitTranslator=function(f){i.setEmitTranslator(n,f)},s.mux.setStateDataTranslator=function(f){i.setStateDataTranslator(n,f)},s.mux.setGetPlayheadTime=function(f){f||(f=t.getPlayheadTime),i.setGetPlayheadTime(n,f)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Px.forEach(function(f){f==="error"&&!t.automaticErrorTracking||(s.mux.listeners[f]=function(){var m={};if(f==="error"){if(!s.error||s.error.code===1)return;m.player_error_code=s.error.code,m.player_error_message=Ox[s.error.code]||s.error.message}i.emit(n,f,m)},s.addEventListener(f,s.mux.listeners[f],!1))})}function Ux(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Oe.info("safeCall error",n)}return s}var Aa=Vt(ai()),gn;Aa.default&&Aa.default.WeakMap&&(gn=new WeakMap);function Fx(i,e){if(!i||!e||!Aa.default||typeof Aa.default.getComputedStyle!="function")return"";var t;return gn&&gn.has(i)&&(t=gn.get(i)),t||(t=Aa.default.getComputedStyle(i,null),gn&&gn.set(i,t)),t.getPropertyValue(e)}function Bx(i){return Math.floor(i*1e3)}var Xr={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"},ed=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};ed.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
|
|
1253
|
+
`):"");a("error",{player_error_code:_==null?void 0:_.code,player_error_message:_==null?void 0:_.message,player_error_context:M})};t.on("error",b),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",c),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",g),t.off("error",b),t.off("fragmentLoadingAbandoned",E),delete t._stopMuxMonitor}},xS=function(i){i&&typeof i._stopMuxMonitor=="function"&&i._stopMuxMonitor()},rE=0,RS=function(){"use strict";function i(){ut(this,i),G(this,"_listeners",void 0)}return Ri(i,[{key:"on",value:function(e,t,r){return t._eventEmitterGuid=t._eventEmitterGuid||++rE,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||++rE;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}(),IS=RS,Gh=Vt(ai()),kS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_playbackHeartbeatInterval",void 0),G(this,"_playheadShouldBeProgressing",void 0),G(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&&(Gh.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return Ri(i,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=Gh.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(Gh.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),i}(),LS=kS,wS=function i(e){"use strict";var t=this;ut(this,i),G(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})},DS=wS,CS=function(){"use strict";function i(e){ut(this,i),G(this,"_watchTimeTrackerLastCheckedTime",void 0),G(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 Ri(i,[{key:"_updateWatchTime",value:function(e,t){var r=t.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=r),Ze(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}(),MS=CS,PS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),G(this,"_lastTime",void 0),G(this,"_isAdPlaying",void 0),G(this,"_callbackUpdatePlaybackTime",void 0),G(this,"pm",void 0),this.pm=e,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=Je.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=Je.now(),t._isAdPlaying=!1,t._callbackUpdatePlaybackTime=null})}return Ri(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=Je.now(),r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=t-this._lastTime),r>0&&r<=1e3&&Ze(this.pm.data,"view_content_playback_time",r),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),i}(),OS=PS,NS=function(){"use strict";function i(e){ut(this,i),G(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 Ri(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}(),US=NS,sE=5*60*1e3,FS=function i(e){"use strict";if(ut(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;Ze(e.data,"view_rebuffer_duration",a),t=n.viewer_time,e.data.view_rebuffer_duration>sE&&(e.emit("viewend"),e.send("viewend"),e.mux.log.warn("Ending view after rebuffering for longer than ".concat(sE,"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||(Ze(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)})}},BS=FS,$S=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_lastCheckedTime",void 0),G(this,"_lastPlayheadTime",void 0),G(this,"_lastPlayheadTimeUpdatedTime",void 0),G(this,"_rebuffering",void 0),G(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:Je.now()})}))}return Ri(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}(),HS=$S,GS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"NAVIGATION_START",void 0),G(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||Je.now(),s)};e.one("playing",n),e.one("adplaying",n),e.one("viewend",function(){e.off("playing",n),e.off("adplaying",n)})}})}return Ri(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}(),KS=GS,VS=function i(e){"use strict";var t=this;ut(this,i),G(this,"_lastPlayerHeight",void 0),G(this,"_lastPlayerWidth",void 0),G(this,"_lastPlayheadPosition",void 0),G(this,"_lastSourceHeight",void 0),G(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),Ze(e.data,"view_total_content_playback_time",a),Ze(e.data,"view_total_upscaling",l*a),Ze(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})})},WS=VS,YS=2e3,qS=function i(e){"use strict";var t=this;ut(this,i),G(this,"isSeeking",void 0),this.isSeeking=!1;var r=-1,s=function(){var n=Je.now(),a=(e.data.viewer_time||n)-(r||n);Ze(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<=YS){r=a.viewer_time;return}t.isSeeking&&s(),t.isSeeking=!0,r=a.viewer_time,Ze(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})},jS=qS,nE=function(i,e){i.push(e),i.sort(function(t,r){return t.viewer_time-r.viewer_time})},zS=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],XS=function(){"use strict";function i(e){var t=this;ut(this,i),G(this,"_adHasPlayed",void 0),G(this,"_adRequests",void 0),G(this,"_adResponses",void 0),G(this,"_currentAdRequestNumber",void 0),G(this,"_currentAdResponseNumber",void 0),G(this,"_prerollPlayTime",void 0),G(this,"_wouldBeNewAdPlay",void 0),G(this,"isAdBreak",void 0),G(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}),zS.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),nE(t._adRequests,n),Ze(e.data,"view_ad_request_count"),t.inPrerollPosition()&&(e.data.view_preroll_requested=!0,t._adHasPlayed||Ze(e.data,"view_preroll_request_count"))}),e.on("adresponse",function(s,n){n=Object.assign({ad_request_id:"generatedAdRequestId"+t._currentAdResponseNumber++},n),nE(t._adResponses,n);var a=t.findAdRequest(n.ad_request_id);a&&Ze(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,Ze(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||Ze(e.data,"view_ad_clicked_count")}),e.on("adskipped",function(s,n){t._wouldBeNewAdPlay||Ze(e.data,"view_ad_skipped_count")}),e.on("adended",function(){t._wouldBeNewAdPlay=!0}),e.on("aderror",function(){t._wouldBeNewAdPlay=!0})}return Ri(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=Xi(xa(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=Xi(xa(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}(),QS=XS,aE=Vt(ai()),ZS=function i(e){"use strict";ut(this,i);var t,r,s=function(){e.disableRebufferTracking||(Ze(e.data,"view_waiting_rebuffer_count",1),t=Je.now(),r=aE.default.setInterval(function(){if(t){var d=Je.now();Ze(e.data,"view_waiting_rebuffer_duration",d-t),t=d}},250))},n=function(){e.disableRebufferTracking||t&&(Ze(e.data,"view_waiting_rebuffer_duration",Je.now()-t),t=!1,aE.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)},JS=ZS,ex=function i(e){"use strict";var t=this;ut(this,i),G(this,"lastWallClockTime",void 0);var r=function(){t.lastWallClockTime=Je.now(),e.on("before*",s)},s=function(n){var a=Je.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)})},tx=ex,Kh=Vt(ai()),_E=function(i){return i()}(function(){var i=function(){for(var t=0,r={};t<arguments.length;t++){var s=arguments[t];for(var n in s)r[n]=s[n]}return r};function e(t){function r(s,n,a){var o;if(typeof document!="undefined"){if(arguments.length>1){if(a=i({path:"/"},r.defaults,a),typeof a.expires=="number"){var l=new Date;l.setMilliseconds(l.getMilliseconds()+a.expires*864e5),a.expires=l}try{o=JSON.stringify(n),/^[\{\[]/.test(o)&&(n=o)}catch{}return t.write?n=t.write(n,s):n=encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),s=encodeURIComponent(String(s)),s=s.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),s=s.replace(/[\(\)]/g,escape),document.cookie=[s,"=",n,a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}s||(o={});for(var d=document.cookie?document.cookie.split("; "):[],u=/(%[0-9A-Z]{2})+/g,c=0;c<d.length;c++){var h=d[c].split("="),f=h.slice(1).join("=");f.charAt(0)==='"'&&(f=f.slice(1,-1));try{var m=h[0].replace(u,decodeURIComponent);if(f=t.read?t.read(f,m):t(f,m)||f.replace(u,decodeURIComponent),this.json)try{f=JSON.parse(f)}catch{}if(s===m){o=f;break}s||(o[m]=f)}catch{}}return o}}return r.set=r,r.get=function(s){return r.call(r,s)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(s,n){r(s,"",i(n,{expires:-1}))},r.withConverter=e,r}return e(function(){})}),AE="muxData",ix=function(i){return Object.entries(i).map(function(e){var t=Xi(e,2),r=t[0],s=t[1];return"".concat(r,"=").concat(s)}).join("&")},rx=function(i){return i.split("&").reduce(function(e,t){var r=Xi(t.split("="),2),s=r[0],n=r[1],a=+n,o=n&&a==n?a:n;return e[s]=o,e},{})},SE=function(){var i;try{i=rx(_E.get(AE)||"")}catch{i={}}return i},xE=function(i){try{_E.set(AE,ix(i),{expires:365})}catch{}},sx=function(){var i=SE();return i.mux_viewer_id=i.mux_viewer_id||Sa(),i.msn=i.msn||Math.random(),xE(i),{mux_viewer_id:i.mux_viewer_id,mux_sample_number:i.msn}},nx=function(){var i=SE(),e=Je.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=Sa(),i.sst=e),i.sex=e+25*60*1e3,xE(i),{session_id:i.sid,session_start:i.sst,session_expires:i.sex}};function ax(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 ox=Vt(ai()),RE=function(){var i;switch(IE()){case"cellular":i="cellular";break;case"ethernet":i="wired";break;case"wifi":i="wifi";break;case void 0:break;default:i="other"}return i},IE=function(){var i=ox.default.navigator,e=i&&(i.connection||i.mozConnection||i.webkitConnection);return e&&e.type};RE.getConnectionFromAPI=IE;var lx=RE,dx={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"},ux=kE(dx),cx={ad:"ad",af:"affiliate",ag:"aggregate",ap:"api",al:"application",ao:"audio",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",bn:"brand",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ci:"client",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cq:"creator",cr:"creative",cs:"captions",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",dy:"dynamic",eb:"enabled",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",or:"origin",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pp:"pip",pr:"preload",ps:"position",pt:"part",py:"property",px:"pop",pz:"plan",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rg:"range",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sh:"shift",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",ss:"status",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"},oE=kE(cx);function kE(i){var e={};for(var t in i)i.hasOwnProperty(t)&&(e[i[t]]=t);return e}function jh(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=ux[a];o||(Ne.info("Data key word `"+n[0]+"` not expected in "+r),o=a+"_"),n.splice(1).forEach(function(l){l==="url"&&(s=!0),oE[l]?o+=oE[l]:Number.isInteger(Number(l))?o+=l:(Ne.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 Zr=Vt(ai()),hx=Vt(vE()),fx={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},mx=56*1024,px=["hb","requestcompleted","requestfailed","requestcanceled"],gx="https://img.litix.io",Qi=function(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=i||gx,this._eventQueue=[],this._postInFlight=!1,this._resendAfterPost=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},fx,e)};Qi.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};Qi.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()};Qi.prototype.destroy=function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.destroyed=!0,i?this._clearBeaconQueue():this.flushEvents(),Zr.default.clearTimeout(this._sendTimeout)};Qi.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],jh({mux_view_message:"event queue truncated"}));var t=this._createPayload(e);LE(this._beaconUrl,t,!0,function(){})};Qi.prototype._sendBeaconQueue=function(){var i=this;if(this._postInFlight){this._resendAfterPost=!0;return}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=Je.now();LE(this._beaconUrl,t,!1,function(s,n){n?(i._eventQueue=e.concat(i._eventQueue),i._failureCount+=1,Ne.info("Error sending beacon: "+n)):i._failureCount=0,i._roundTripTime=Je.now()-r,i._postInFlight=!1,i._resendAfterPost&&(i._resendAfterPost=!1,i._eventQueue.length>0&&i._sendBeaconQueue())})};Qi.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};Qi.prototype._startBeaconSending=function(){var i=this;Zr.default.clearTimeout(this._sendTimeout),!this.destroyed&&(this._sendTimeout=Zr.default.setTimeout(function(){i._eventQueue.length&&i._sendBeaconQueue(),i._startBeaconSending()},this._getNextBeaconTime()))};Qi.prototype._createPayload=function(i){var e=this,t={transmission_timestamp:Math.round(Je.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()||(Ne.info("Payload size is too big ("+n+" kb). Removing unnecessary events."),s=i.filter(function(l){return px.indexOf(l.e)===-1}),a()),o()||(Ne.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 vx=typeof hx.default.exitPictureInPicture=="function"?function(i){return i.length<=mx}:function(i){return!1},LE=function(i,e,t,r){if(t&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(i,e)){r();return}if(Zr.default.fetch){Zr.default.fetch(i,{method:"POST",body:e,headers:{"Content-Type":"text/plain"},keepalive:vx(e)}).then(function(n){return r(null,n.ok?null:"Error")}).catch(function(n){return r(null,n)});return}if(Zr.default.XMLHttpRequest){var s=new Zr.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()},Ex=Qi,bx=["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"],yx=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],Tx=["ad_id","ad_creative_id","ad_universal_id"],_x=["viewstart","error","ended","viewend"],Ax=10*60*1e3,Sx=function(){"use strict";function i(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ut(this,i);var s,n,a,o,l,d,u,c,h,f,m,p;G(this,"mux",void 0),G(this,"envKey",void 0),G(this,"options",void 0),G(this,"eventQueue",void 0),G(this,"sampleRate",void 0),G(this,"disableCookies",void 0),G(this,"respectDoNotTrack",void 0),G(this,"previousBeaconData",void 0),G(this,"lastEventTime",void 0),G(this,"rateLimited",void 0),G(this,"pageLevelData",void 0),G(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 Ex(ax(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 b;this.respectDoNotTrack=(b=this.options.respectDoNotTrack)!==null&&b!==void 0?b:!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:lx(),page_url:Kh.default===null||Kh.default===void 0||(p=Kh.default.location)===null||p===void 0?void 0:p.href},this.viewerData=this.disableCookies?{}:sx()}return Ri(i,[{key:"send",value:function(e,t){if(!(!e||!(t!=null&&t.view_id))){if(this.respectDoNotTrack&&Yh())return Ne.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||typeof t!="object")return Ne.error("A data object was expected in send() but was not provided");var r=this.disableCookies?{}:nx(),s=zh(Zl({},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=jh(o);if(this.lastEventTime=this.mux.utils.now(),a)return Ne.info("Not sending event due to sample rate restriction",e,s,l);if(this.envKey||Ne.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(Ne.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):_x.indexOf(e)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return s.event="eventrateexceeded",l=jh(s),this.eventQueue.queueEvent(s.event,l),Ne.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>=Ax)s=Zl({},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=Xi(o,2),d=l[0],u=l[1];r.previousBeaconData&&(u!==r.previousBeaconData[d]||bx.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||Tx.includes(t)&&yx.includes(e))}}]),i}(),xx=function i(e){"use strict";ut(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 b,T;if(p?(b=p-(m!=null?m:0),T=(g!=null?g:0)-p):T=(g!=null?g:0)-(m!=null?m:0),T>0&&E&&E>0){var _=E/T*8e3;a++,r+=E,s+=T,e.data.view_min_request_throughput=Math.min(e.data.view_min_request_throughput||1/0,_),e.data.view_average_request_throughput=r/s*8e3,e.data.view_request_count=n,b>0&&(t+=b,e.data.view_max_request_latency=Math.max(e.data.view_max_request_latency||0,b),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)},Rx=xx,Ix=60*60*1e3,kx=function i(e){"use strict";var t=this;ut(this,i),G(this,"_lastEventTime",void 0),e.on("before*",function(r,s){var n=s.viewer_time,a=Je.now(),o=t._lastEventTime;if(t._lastEventTime=a,o&&a-o>Ix){var l=Object.keys(e.data).reduce(function(u,c){return c.indexOf("video_")===0?Object.assign(u,G({},c,e.data[c])):u},{});e.mux.log.info("Received event after at least an hour inactivity, creating a new view");var d=e.playbackHeartbeat._playheadShouldBeProgressing;e._resetView(Object.assign({viewer_time:n},l)),e.playbackHeartbeat._playheadShouldBeProgressing=d,e.playbackHeartbeat._playheadShouldBeProgressing&&r.type!=="play"&&r.type!=="adbreakstart"&&(e.emit("play",{viewer_time:n}),r.type!=="playing"&&e.emit("playing",{viewer_time:n}))}})},Lx=kx,wx=["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"],Dx=new Set(["requestcompleted","requestfailed","requestcanceled"]),Cx=function(i){"use strict";uS(t,i);var e=fS(t);function t(r,s,n){ut(this,t);var a;a=e.call(this),G(de(a),"DOM_CONTENT_LOADED_EVENT_END",void 0),G(de(a),"NAVIGATION_START",void 0),G(de(a),"_destroyed",void 0),G(de(a),"_heartBeatTimeout",void 0),G(de(a),"adTracker",void 0),G(de(a),"dashjs",void 0),G(de(a),"data",void 0),G(de(a),"disablePlayheadRebufferTracking",void 0),G(de(a),"disableRebufferTracking",void 0),G(de(a),"errorTracker",void 0),G(de(a),"errorTranslator",void 0),G(de(a),"emitTranslator",void 0),G(de(a),"getAdData",void 0),G(de(a),"getPlayheadTime",void 0),G(de(a),"getStateData",void 0),G(de(a),"stateDataTranslator",void 0),G(de(a),"hlsjs",void 0),G(de(a),"id",void 0),G(de(a),"longResumeTracker",void 0),G(de(a),"minimumRebufferDuration",void 0),G(de(a),"mux",void 0),G(de(a),"playbackEventDispatcher",void 0),G(de(a),"playbackHeartbeat",void 0),G(de(a),"playbackHeartbeatTime",void 0),G(de(a),"playheadTime",void 0),G(de(a),"seekingTracker",void 0),G(de(a),"sustainedRebufferThreshold",void 0),G(de(a),"watchTimeTracker",void 0),G(de(a),"currentFragmentPDT",void 0),G(de(a),"currentFragmentStart",void 0),a.DOM_CONTENT_LOADED_EVENT_END=Ql.domContentLoadedEventEnd(),a.NAVIGATION_START=Ql.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(h){return h},emitTranslator:function(){for(var h=arguments.length,f=new Array(h),m=0;m<h;m++)f[m]=arguments[m];return f},stateDataTranslator:function(h){return h}};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),Ne.level=n.debug?Qr.DEBUG:Qr.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.emitTranslator=n.emitTranslator,a.stateDataTranslator=n.stateDataTranslator,a.playbackEventDispatcher=new Sx(r,n.data.env_key,n),a.data={player_instance_id:Sa(),mux_sample_rate:n.sampleRate,beacon_domain:n.beaconCollectionDomain||n.beaconDomain},a.data.view_sequence_number=1,a.data.player_sequence_number=1;var l=function(){typeof this.data.view_start=="undefined"&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(de(a));if(a.on("viewinit",function(h,f){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,f),this._initializeViewData(),this.one("play",l),this.one("adbreakstart",l)}),a.on("videochange",function(h,f){this._resetView(f)}),a.on("programchange",function(h,f){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),this._resetView(Object.assign(f,{view_program_changed:!0})),l(),this.emit("play"),this.emit("playing")}),a.on("fragmentchange",function(h,f){this.currentFragmentPDT=f.currentFragmentPDT,this.currentFragmentStart=f.currentFragmentStart}),a.on("destroy",a.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var d=function(){var h=typeof a.data.view_start!="undefined";a.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",h&&a.mux.WINDOW_HIDDEN&&(a.data.player_is_paused||a.emit("hb"))};window.addEventListener("visibilitychange",d,!1);var u=function(h){h.persisted||a.destroy()};window.addEventListener("pagehide",u,!1),a.on("destroy",function(){window.removeEventListener("visibilitychange",d),window.removeEventListener("pagehide",u)})}a.on("playerready",function(h,f){Object.assign(this.data,f)}),wx.forEach(function(h){a.on(h,function(f,m){h.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,m),this._sanitizeData()}),a.on("after"+h,function(){(h!=="error"||this.errorTracker.viewErrored)&&this.send(h)})}),a.on("viewend",function(h,f){Object.assign(a.data,f)});var c=function(h){var f=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=f-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",c),a.longResumeTracker=new Lx(de(a)),a.errorTracker=new DS(de(a)),new tx(de(a)),a.seekingTracker=new jS(de(a)),a.playheadTime=new US(de(a)),a.playbackHeartbeat=new LS(de(a)),new WS(de(a)),a.watchTimeTracker=new MS(de(a)),new OS(de(a)),a.adTracker=new QS(de(a)),new HS(de(a)),new BS(de(a)),new KS(de(a)),new JS(de(a)),new Rx(de(a)),n.hlsjs&&a.addHLSJS(n),n.dashjs&&a.addDashJS(n),a.emit("viewinit",n.data),a}return Ri(t,[{key:"emit",value:function(r,s){var n,a=Object.assign({viewer_time:this.mux.utils.now()},s),o=[r,a];if(this.emitTranslator)try{o=this.emitTranslator(r,a)}catch(l){this.mux.log.warn("Exception in emit translator callback.",l)}o!=null&&o.length&&(n=zl(vn(t.prototype),"emit",this)).call.apply(n,[this].concat(si(o)))}},{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=Xi(xa(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++,Dx.has(r)||this._restartHeartBeat(),r==="viewend"&&delete this.data.view_id}}},{key:"_resetView",value:function(r){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",r)}},{key:"_updateStateData",value:function(){var r=this.getStateData();if(typeof this.stateDataTranslator=="function")try{r=this.stateDataTranslator(r)}catch(s){this.mux.log.warn("Exception in stateDataTranslator translator callback.",s)}Object.assign(this.data,r),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=Sa(),n=function(){s===r.data.view_id&&Ze(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._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,bS(this.mux,this.id,r.hlsjs,{},r.Hls||window.Hls)}},{key:"removeHLSJS",value:function(){this.hlsjs&&(yS(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,SS(this.mux,this.id,r.dashjs)}},{key:"removeDashJS",value:function(){this.dashjs&&(xS(this.dashjs),this.dashjs=void 0)}}]),t}(IS),Mx=Cx,Ta=Vt(vE());function Px(){return Ta.default&&!!(Ta.default.fullscreenElement||Ta.default.webkitFullscreenElement||Ta.default.mozFullScreenElement||Ta.default.msFullscreenElement)}var Ox=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],Nx={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};function Ux(i,e,t){var r=Xi(Xl(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"));var c={getPlayheadTime:function(){return d(s.currentTime)},getStateData:function(){var f,m,p,g=((f=(m=this).getPlayheadTime)===null||f===void 0?void 0:f.call(m))||d(s.currentTime),E=this.hlsjs&&this.hlsjs.url,b=this.dashjs&&typeof this.dashjs.getSource=="function"&&this.dashjs.getSource(),T={player_is_paused:s.paused,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:Px(),video_poster_url:s.poster,video_source_url:E||b||s.currentSrc,video_source_duration:d(s.duration),video_source_height:s.videoHeight,video_source_width:s.videoWidth,view_dropped_frame_count:s==null||(p=s.getVideoPlaybackQuality)===null||p===void 0?void 0:p.call(s).droppedVideoFrames};if(s.getStartDate&&g>0){var _=s.getStartDate();if(_&&typeof _.getTime=="function"&&_.getTime()){var A=_.getTime();if(T.player_program_time=A+g,s.seekable.length>0){var R=A+s.seekable.end(s.seekable.length-1);T.player_live_edge_program_time=R}}}return T}};t=Object.assign(u,t,c),t.data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:i.VERSION},t.data),s.mux=s.mux||{},s.mux.deleted=!1,s.mux.emit=function(f,m){i.emit(n,f,m)},s.mux.updateData=function(f){s.mux.emit("hb",f)};var h=function(){o.error("The monitor for this video element has already been destroyed.")};s.mux.destroy=function(){Object.keys(s.mux.listeners).forEach(function(f){s.removeEventListener(f,s.mux.listeners[f],!1)}),delete s.mux.listeners,s.mux.destroy=h,s.mux.swapElement=h,s.mux.emit=h,s.mux.addHLSJS=h,s.mux.addDashJS=h,s.mux.removeHLSJS=h,s.mux.removeDashJS=h,s.mux.updateData=h,s.mux.setEmitTranslator=h,s.mux.setStateDataTranslator=h,s.mux.setGetPlayheadTime=h,s.mux.deleted=!0,i.emit(n,"destroy")},s.mux.swapElement=function(f){var m=Xi(Xl(f),3),p=m[0],g=m[1],E=m[2];if(p){if(E!=="video"&&E!=="audio")return i.log.error("The element of `"+g+"` was not a media element.")}else return i.log.error("No element was found with the `"+g+"` query selector.");p.muxId=s.muxId,delete s.muxId,p.mux=p.mux||{},p.mux.listeners=Object.assign({},s.mux.listeners),delete s.mux.listeners,Object.keys(p.mux.listeners).forEach(function(b){s.removeEventListener(b,p.mux.listeners[b],!1),p.addEventListener(b,p.mux.listeners[b],!1)}),p.mux.swapElement=s.mux.swapElement,p.mux.destroy=s.mux.destroy,delete s.mux,s=p},s.mux.addHLSJS=function(f){i.addHLSJS(n,f)},s.mux.addDashJS=function(f){i.addDashJS(n,f)},s.mux.removeHLSJS=function(){i.removeHLSJS(n)},s.mux.removeDashJS=function(){i.removeDashJS(n)},s.mux.setEmitTranslator=function(f){i.setEmitTranslator(n,f)},s.mux.setStateDataTranslator=function(f){i.setStateDataTranslator(n,f)},s.mux.setGetPlayheadTime=function(f){f||(f=t.getPlayheadTime),i.setGetPlayheadTime(n,f)},i.init(n,t),i.emit(n,"playerready"),s.paused||(i.emit(n,"play"),s.readyState>2&&i.emit(n,"playing")),s.mux.listeners={},Ox.forEach(function(f){f==="error"&&!t.automaticErrorTracking||(s.mux.listeners[f]=function(){var m={};if(f==="error"){if(!s.error||s.error.code===1)return;m.player_error_code=s.error.code,m.player_error_message=Nx[s.error.code]||s.error.message}i.emit(n,f,m)},s.addEventListener(f,s.mux.listeners[f],!1))})}function Fx(i,e,t,r){var s=r;if(i&&typeof i[e]=="function")try{s=i[e].apply(i,t)}catch(n){Ne.info("safeCall error",n)}return s}var Aa=Vt(ai()),gn;Aa.default&&Aa.default.WeakMap&&(gn=new WeakMap);function Bx(i,e){if(!i||!e||!Aa.default||typeof Aa.default.getComputedStyle!="function")return"";var t;return gn&&gn.has(i)&&(t=gn.get(i)),t||(t=Aa.default.getComputedStyle(i,null),gn&&gn.set(i,t)),t.getPropertyValue(e)}function $x(i){return Math.floor(i*1e3)}var Xr={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"},ed=function(i){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(i),this.manifest};ed.prototype.process=function(i){var e;for(this.buffer+=i,e=this.buffer.indexOf(`
|
|
1248
1254
|
`);e>-1;e=this.buffer.indexOf(`
|
|
1249
|
-
`))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};ed.prototype.processLine=function(i){var e=i.indexOf(":"),t=Kx(i,e),r=t[0],s=t.length===2?Zh(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 Xr.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case Xr.PART_INF:{Wh(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case Xr.SERVER_CONTROL:{Wh(this.manifest,t),this.setHoldBack();break}case Xr.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case Xr.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 Xr.VERSION:{Wh(this.manifest,t);break}case Xr.SESSION_DATA:{var o=Vx(t[1]),l=bE(o);Object.assign(this.manifest.sessionData,l)}}};ed.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 Wh=function(i,e){var t=kE(e[0].replace("#EXT-X-","")),r;Gx(e[1])?(r={},r=Object.assign(Hx(e[1]),r)):r=Zh(e[1]),i[t]=r},kE=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},Zh=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},$x=function(i){var e={},t=i.split("=");if(t.length>1){var r=kE(t[0]);e[r]=Zh(t[1])}return e},Hx=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=$x(s);t=Object.assign(n,t)}return t},Gx=function(i){return i.indexOf("=")>-1},Kx=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Vx=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}}},Wx=ed,Yx={safeCall:Ux,safeIncrement:Ze,getComputedStyle:Fx,secondsToMs:Bx,assign:Object.assign,headersStringToObject:Qh,cdnHeadersToRequestId:Jl,extractHostnameAndDomain:xa,extractHostname:ni,manifestParser:Wx,generateShortID:vE,generateUUID:Sa,now:Je.now,findMediaElement:Xl},qx=Yx,jx={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",HEARTBEAT:"hb",DESTROY:"destroy"},zx=jx,Xx="mux-embed",Qx="5.8.3",Zx="2.1",Qe={},pr=function(i){var e=arguments;typeof i=="string"?pr.hasOwnProperty(i)?_a.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),pr[i].apply(null,e)},0):Oe.warn("`"+i+"` is an unknown task"):typeof i=="function"?_a.default.setTimeout(function(){i(pr)},0):Oe.warn("`"+i+"` is invalid.")},Jx={loaded:Je.now(),NAME:Xx,VERSION:Qx,API_VERSION:Zx,PLAYER_TRACKED:!1,monitor:function(i,e){return Nx(pr,i,e)},destroyMonitor:function(i){var e=Xi(Xl(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Oe.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=ri(i);Qe[t]?Qe[t].addHLSJS(e):Oe.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=ri(i);Qe[t]?Qe[t].addDashJS(e):Oe.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=ri(i);Qe[e]?Qe[e].removeHLSJS():Oe.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=ri(i);Qe[e]?Qe[e].removeDashJS():Oe.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){qh()&&e&&e.respectDoNotTrack&&Oe.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=ri(i);Qe[t]=new Cx(pr,t,e)},emit:function(i,e,t){var r=ri(i);Qe[r]?(Qe[r].emit(e,t),e==="destroy"&&delete Qe[r]):Oe.error("A monitor for `"+r+"` has not been initialized.")},updateData:function(i,e){var t=ri(i);Qe[t]?Qe[t].emit("hb",e):Oe.error("A monitor for `"+t+"` has not been initialized.")},setEmitTranslator:function(i,e){var t=ri(i);Qe[t]?Qe[t].emitTranslator=e:Oe.error("A monitor for `"+t+"` has not been initialized.")},setStateDataTranslator:function(i,e){var t=ri(i);Qe[t]?Qe[t].stateDataTranslator=e:Oe.error("A monitor for `"+t+"` has not been initialized.")},setGetPlayheadTime:function(i,e){var t=ri(i);Qe[t]?Qe[t].getPlayheadTime=e:Oe.error("A monitor for `"+t+"` has not been initialized.")},checkDoNotTrack:qh,log:Oe,utils:qx,events:zx,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(pr,Jx);typeof _a.default!="undefined"&&typeof _a.default.addEventListener=="function"&&_a.default.addEventListener("pagehide",function(i){i.persisted||(pr.WINDOW_UNLOADING=!0)},!1);var td=pr;function eR(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Tb={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})()})(Tb);var wm=Tb.exports;function LE(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 mt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?LE(Object(t),!0).forEach(function(r){rR(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):LE(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function tR(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 iR(i){var e=tR(i,"string");return typeof e=="symbol"?e:String(e)}function rR(i,e,t){return e=iR(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function et(){return et=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},et.apply(this,arguments)}var j=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},sR=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=nR},nR=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}({}),ne=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}({}),is=function(){},Tf={trace:is,debug:is,log:is,warn:is,info:is,error:is},Ia=Tf;function aR(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):is}function oR(i,...e){e.forEach(function(t){Ia[t]=i[t]?i[t].bind(i):aR(t)})}function lR(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){oR(i,"debug","log","info","warn","error");try{Ia.log(`Debug logs enabled for "${e}" in hls.js version 1.5.20`)}catch{Ia=Tf}}else Ia=Tf}var k=Ia,dR=/^(\d+)x(\d+)$/,wE=/(.+?)=(".*?"|.*?)(?:,|$)/g,Ye=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),et(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=dR.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(wE.lastIndex=0;(t=wE.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 uR(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function cR(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var Td=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]){k.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=et(new Ye({}),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"]);j(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(j(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&&j(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Sn=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}}},De={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},_d=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[De.AUDIO]:null,[De.VIDEO]:null,[De.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=wm.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},ka=class extends _d{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 Sn,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||!j(this.programDateTime))return null;let e=j(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[De.AUDIO]=null,e[De.VIDEO]=null,e[De.AUDIOVIDEO]=null}},_f=class extends _d{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 Sn,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)}},hR=10,Af=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?j(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||hR}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 Dm(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function fR(i){let e=Sf(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function mR(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 pR(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=Dm(a)):t=fR(a)}}return t}function Sf(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var xn=typeof self!="undefined"?self:void 0,Ie={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 Jh(i){switch(i){case Pt.FAIRPLAY:return Ie.FAIRPLAY;case Pt.PLAYREADY:return Ie.PLAYREADY;case Pt.WIDEVINE:return Ie.WIDEVINE;case Pt.CLEARKEY:return Ie.CLEARKEY}}var id={CENC:"1077efecc0b24d02ace33c1e52e2fb4b",CLEARKEY:"e2719d58a985b3c9781ab030af78d30e",FAIRPLAY:"94ce86fb07ff4f43adb893d2fa968ca2",PLAYREADY:"9a04f07998404286ab92e65be0885f95",WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function ef(i){if(i===id.WIDEVINE)return Ie.WIDEVINE;if(i===id.PLAYREADY)return Ie.PLAYREADY;if(i===id.CENC||i===id.CLEARKEY)return Ie.CLEARKEY}function tf(i){switch(i){case Ie.FAIRPLAY:return Pt.FAIRPLAY;case Ie.PLAYREADY:return Pt.PLAYREADY;case Ie.WIDEVINE:return Pt.WIDEVINE;case Ie.CLEARKEY:return Pt.CLEARKEY}}function rd(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Ie.FAIRPLAY,Ie.WIDEVINE,Ie.PLAYREADY,Ie.CLEARKEY].filter(s=>!!e[s]):[];return!r[Ie.WIDEVINE]&&t&&r.push(Ie.WIDEVINE),r}var _b=function(i){return xn!=null&&(i=xn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function gR(i,e,t,r){let s;switch(i){case Ie.FAIRPLAY:s=["cenc","sinf"];break;case Ie.WIDEVINE:case Ie.PLAYREADY:s=["cenc"];break;case Ie.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return vR(s,e,t,r)}function vR(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 Ab(i){let e=new Uint16Array(i.buffer,i.byteOffset,i.byteLength/2),t=String.fromCharCode.apply(null,Array.from(e)),r=t.substring(t.indexOf("<"),t.length),a=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(a){let o=a.childNodes[0]?a.childNodes[0].nodeValue:a.getAttribute("VALUE");if(o){let l=Dm(o).subarray(0,16);return mR(l),l}}return null}function as(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var Cm=(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,Sb=(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,wa=(i,e)=>{let t=e,r=0;for(;Cm(i,e);){r+=10;let s=jd(i,e+6);r+=s,Sb(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},jd=(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},ER=(i,e)=>Cm(i,e)&&jd(i,e+6)+10<=i.length-e,Mm=i=>{let e=Rb(i);for(let t=0;t<e.length;t++){let r=e[t];if(xb(r))return SR(r)}},xb=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",bR=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=jd(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},Rb=i=>{let e=0,t=[];for(;Cm(i,e);){let r=jd(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=bR(i.subarray(e)),a=yR(n);a&&t.push(a),e+=n.size+10}Sb(i,e)&&(e+=10)}return t},yR=i=>i.type==="PRIV"?TR(i):i.type[0]==="W"?AR(i):_R(i),TR=i=>{if(i.size<2)return;let e=Di(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},_R=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Di(i.data.subarray(t),!0);t+=r.length+1;let s=Di(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Di(i.data.subarray(1));return{key:i.type,data:e}},AR=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Di(i.data.subarray(t),!0);t+=r.length+1;let s=Di(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Di(i.data);return{key:i.type,data:e}},SR=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)}},Di=(i,e=!1)=>{let t=xR();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},rf;function xR(){if(!navigator.userAgent.includes("PlayStation 4"))return!rf&&typeof self.TextDecoder!="undefined"&&(rf=new self.TextDecoder("utf-8")),rf}var ki={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}},Ad=Math.pow(2,32)-1,RR=[].push,Ib={video:1,audio:2,id3:3,text:4};function rt(i){return String.fromCharCode.apply(null,i)}function kb(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function ie(i,e){let t=Lb(i,e);return t<0?4294967296+t:t}function DE(i,e){let t=ie(i,e);return t*=Math.pow(2,32),t+=ie(i,e+4),t}function Lb(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function sf(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 IR(i){let e=i.byteLength;for(let t=0;t<e;){let r=ie(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 fe(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=ie(i,s),a=rt(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=fe(i.subarray(s+8,o),e.slice(1));l.length&&RR.apply(t,l)}s=o}return t}function kR(i){let e=[],t=i[0],r=8,s=ie(i,r);r+=4;let n=0,a=0;t===0?(n=ie(i,r),a=ie(i,r+4),r+=8):(n=DE(i,r),a=DE(i,r+8),r+=16),r+=2;let o=i.length+a,l=kb(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=ie(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return k.warn("SIDX has hierarchical references (not supported)"),null;let m=ie(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 wb(i){let e=[],t=fe(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=fe(n,["tkhd"])[0];if(a){let o=a[0],l=ie(a,o===0?12:20),d=fe(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=ie(d,o===0?12:20),c=fe(n,["mdia","hdlr"])[0];if(c){let h=rt(c.subarray(8,12)),f={soun:De.AUDIO,vide:De.VIDEO}[h];if(f){let m=fe(n,["mdia","minf","stbl","stsd"])[0],p=LR(m);e[l]={timescale:u,type:f},e[f]=mt({timescale:u,id:l},p)}}}}}return fe(i,["moov","mvex","trex"]).forEach(s=>{let n=ie(s,4),a=e[n];a&&(a.default={duration:ie(s,12),flags:ie(s,20)})}),e}function LR(i){let e=i.subarray(8),t=e.subarray(86),r=rt(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=fe(e,[r])[0].subarray(r==="enca"?28:78);fe(o,["sinf"]).forEach(d=>{let u=fe(d,["schm"])[0];if(u){let c=rt(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=fe(d,["frma"])[0];h&&(s=rt(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=fe(t,["avcC"])[0];s+="."+sd(a[1])+sd(a[2])+sd(a[3]);break}case"mp4a":{let a=fe(e,[r])[0],o=fe(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=nf(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=nf(o,l);let u=o[l++];if(u===64)s+="."+sd(u);else break;if(l+=12,o[l++]!==5)break;l=nf(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=fe(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=ie(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=fe(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+Ii(o)+"."+Ii(l);break}case"vp09":{let a=fe(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+Ii(o)+"."+Ii(l)+"."+Ii(d);break}case"av01":{let a=fe(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;s+="."+o+"."+Ii(l)+d+"."+Ii(h)+"."+f+"."+m+p+g+"."+Ii(1)+"."+Ii(1)+"."+Ii(1)+"."+0;break}}return{codec:s,encrypted:n}}function nf(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function sd(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function Ii(i){return(i<10?"0":"")+i}function wR(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&fe(i,["moov","trak"]).forEach(s=>{let a=fe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=fe(a,["enca"]),l=o.length>0;l||(o=fe(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);fe(u,["sinf"]).forEach(h=>{let f=Db(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(k.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${ki.hexDump(m)} -> ${ki.hexDump(t)}`),f.set(t,8))}})})}),i}function Db(i){let e=fe(i,["schm"])[0];if(e){let t=rt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return fe(i,["schi","tenc"])[0]}return null}function DR(i,e){return fe(e,["moof","traf"]).reduce((t,r)=>{let s=fe(r,["tfdt"])[0],n=s[0],a=fe(r,["tfhd"]).reduce((o,l)=>{let d=ie(l,4),u=i[d];if(u){let c=ie(s,4);if(n===1){if(c===Ad)return k.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=Ad+1,c+=ie(s,8)}let h=u.timescale||9e4,f=c/h;if(j(f)&&(o===null||f<o))return f}return o},null);return a!==null&&j(a)&&(t===null||a<t)?a:t},null)}function CR(i,e){let t=0,r=0,s=0,n=fe(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=fe(o,["tfhd"])[0],d=ie(l,4),u=e[d];if(!u)continue;let c=u.default,h=ie(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=ie(l,12):f=ie(l,8));let m=u.timescale||9e4,p=fe(o,["trun"]);for(let g=0;g<p.length;g++){if(t=MR(p[g]),!t&&f){let E=ie(p[g],4);t=f*E}u.type===De.VIDEO?r+=t/m:u.type===De.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=fe(i,["sidx"]);for(let u=0;u<d.length;u++){let c=kR(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&&j(l))return l}return r||s}function MR(i){let e=ie(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=ie(i,4);for(let n=0;n<s;n++){if(e&256){let a=ie(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function PR(i,e,t){fe(e,["moof","traf"]).forEach(r=>{fe(r,["tfhd"]).forEach(s=>{let n=ie(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;fe(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=ie(l,4);if(d===0)c-=u,c=Math.max(c,0),sf(l,4,c);else{c*=Math.pow(2,32),c+=ie(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(Ad+1)),f=Math.floor(c%(Ad+1));sf(l,4,h),sf(l,8,f)}}})})})}function OR(i){let e={valid:null,remainder:null},t=fe(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=as(i,0,r.byteOffset-8),e.remainder=as(i,r.byteOffset-8),e}function qt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function CE(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return fe(r,["moof"]).map(l=>{let d=l.byteOffset-8;fe(l,["traf"]).map(c=>{let h=fe(c,["tfdt"]).map(f=>{let m=f[0],p=ie(f,4);return m===1&&(p*=Math.pow(2,32),p+=ie(f,8)),p/s})[0];return h!==void 0&&(i=h),fe(c,["tfhd"]).map(f=>{let m=ie(f,4),p=ie(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,b=(p&8)!==0,T=0,_=(p&16)!==0,A=0,R=(p&32)!==0,S=8;m===n&&(g&&(S+=8),E&&(S+=4),b&&(T=ie(f,S),S+=4),_&&(A=ie(f,S),S+=4),R&&(S+=4),e.type==="video"&&(a=NR(e.codec)),fe(c,["trun"]).map(D=>{let M=D[0],L=ie(D,0)&16777215,P=(L&1)!==0,U=0,B=(L&4)!==0,Q=(L&256)!==0,X=0,W=(L&512)!==0,he=0,me=(L&1024)!==0,Y=(L&2048)!==0,K=0,ge=ie(D,4),te=8;P&&(U=ie(D,te),te+=4),B&&(te+=4);let _e=U+d;for(let $e=0;$e<ge;$e++){if(Q?(X=ie(D,te),te+=4):X=T,W?(he=ie(D,te),te+=4):he=A,me&&(te+=4),Y&&(M===0?K=ie(D,te):K=Lb(D,te),te+=4),e.type===De.VIDEO){let Ve=0;for(;Ve<he;){let qe=ie(r,_e);if(_e+=4,UR(a,r[_e])){let _t=r.subarray(_e,_e+qe);Cb(_t,a?2:1,i+K/s,t)}_e+=qe,Ve+=qe+4}}i+=X/s}}))})})}),t}function NR(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 UR(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Cb(i,e,t,r){let s=Mb(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){k.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=kb(s,u);if(u+=2,h===49){let f=ie(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,b=E?2+g*3:0,T=new Uint8Array(b);if(E){T[0]=p;for(let _=1;_<b;_++)T[_]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:T})}}}}}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:Di(f),userDataBytes:f})}}}function Mb(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 FR(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;rt(i.subarray(d,d+1))!=="\0";)t+=rt(i.subarray(d,d+1)),d+=1;for(t+=rt(i.subarray(d,d+1)),d+=1;rt(i.subarray(d,d+1))!=="\0";)r+=rt(i.subarray(d,d+1)),d+=1;r+=rt(i.subarray(d,d+1)),d+=1,s=ie(i,12),n=ie(i,16),o=ie(i,20),l=ie(i,24),d=28}else if(e===1){d+=4,s=ie(i,d),d+=4;let c=ie(i,d);d+=4;let h=ie(i,d);for(d+=4,a=2**32*c+h,sR(a)||(a=Number.MAX_SAFE_INTEGER,k.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=ie(i,d),d+=4,l=ie(i,d),d+=4;rt(i.subarray(d,d+1))!=="\0";)t+=rt(i.subarray(d,d+1)),d+=1;for(t+=rt(i.subarray(d,d+1)),d+=1;rt(i.subarray(d,d+1))!=="\0";)r+=rt(i.subarray(d,d+1)),d+=1;r+=rt(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 BR(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 $R(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),BR([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function HR(i){let e=[];if(i instanceof ArrayBuffer){let t=i.byteLength,r=0;for(;r+32<t;){let s=new DataView(i,r),n=GR(s);e.push(n),r+=n.size}}return e}function GR(i){let e=i.getUint32(0),t=i.byteOffset,r=i.byteLength;if(r<e)return{offset:t,size:r};if(i.getUint32(4)!==1886614376)return{offset:t,size:e};let n=i.getUint32(8)>>>24;if(n!==0&&n!==1)return{offset:t,size:e};let a=i.buffer,o=ki.hexDump(new Uint8Array(a,t+12,16)),l=i.getUint32(28),d=null,u=null;if(n===0){if(e-32<l||l<22)return{offset:t,size:e};u=new Uint8Array(a,t+32,l)}else if(n===1){if(!l||r<t+32+l*16+16)return{offset:t,size:e};d=[];for(let c=0;c<l;c++)d.push(new Uint8Array(a,t+32+c*16,16))}return{version:n,systemId:o,kids:d,data:u,offset:t,size:e}}var nd={},Da=class i{static clearKeyUriToKeyIdMap(){nd={}}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&&k.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=KR(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=pR(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=$R(r,null,t),this.keyId=Ab(t);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=nd[this.uri];if(!r){let s=Object.keys(nd).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),nd[this.uri]=r}this.keyId=r}return this}};function KR(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var Pb=/\{\$([a-zA-Z0-9-_]+)\}/g;function ME(i){return Pb.test(i)}function Ct(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]=xf(i,n))}}function xf(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(Pb,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 PE(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 VR(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 ls(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function WR(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var Sd={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 YR(i,e){let t=Sd[e];return!!t&&!!t[i.slice(0,4)]}function af(i,e,t=!0){return!i.split(",").some(r=>!Ob(r,e,t))}function Ob(i,e,t=!0){var r;let s=ls(t);return(r=s==null?void 0:s.isTypeSupported(Ca(i,e)))!=null?r:!1}function Ca(i,e){return`${e}/mp4;codecs="${i}"`}function OE(i){if(i){let e=i.substring(0,4);return Sd.video[e]}return 2}function xd(i){return i.split(",").reduce((e,t)=>{let r=Sd.video[t];return r?(r*2+e)/(e?3:2):(Sd.audio[t]+e)/(e?2:1)},0)}var of={};function qR(i,e=!0){if(of[i])return of[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(Ob(t[r],"audio",e))return of[i]=t[r],t[r];return i}var jR=/flac|opus/i;function Rd(i,e=!0){return i.replace(jR,t=>qR(t.toLowerCase(),e))}function NE(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function zR(i){let e=i.split(",");for(let t=0;t<e.length;t++){let r=e[t].split(".");if(r.length>2){let s=r.shift()+".";s+=parseInt(r.shift()).toString(16),s+=("000"+parseInt(r.shift()).toString(16)).slice(-4),e[t]=s}}return e.join(",")}var UE=/#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,FE=/#EXT-X-MEDIA:(.*)/g,XR=/^#EXT(?:INF|-X-TARGETDURATION):/m,BE=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"),QR=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 wm.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return XR.test(e)}static parseMasterPlaylist(e,t){let r=ME(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];UE.lastIndex=0;let a;for(;(a=UE.exec(e))!=null;)if(a[1]){var o;let d=new Ye(a[1]);Ct(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=xf(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),ZR(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 Ye(u);Ct(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=$E(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):k.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new Ye(u);Ct(s,c,["NAME","VALUE","QUERYPARAM"]),PE(s,c,t)}break}case"CONTENT-STEERING":{let c=new Ye(u);Ct(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=HE(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(FE.lastIndex=0;(s=FE.exec(e))!==null;){let d=new Ye(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,Ct(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"],b={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&&(b.assocLang=m),p&&(b.channels=p),g&&(b.characteristics=g),E&&(b.instreamId=E),c!=null&&c.length){let T=i.findGroup(c,b.groupId)||c[0];GE(b,T,"audioCodec"),GE(b,T,"textCodec")}h.push(b)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new Af(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new ka(s,t),g,E,b,T=-1,_=!1,A=null;for(BE.lastIndex=0,o.m3u8=e,o.hasVariableRefs=ME(e);(g=BE.exec(e))!==null;){_&&(_=!1,p=new ka(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 M=g[1];if(M){p.duration=parseFloat(M);let L=(" "+g[2]).slice(1);p.title=L||null,p.tagList.push(L?["INF",M,L]:["INF",M])}else if(g[3]){if(j(p.duration)){p.start=h,b&&WE(p,b,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let L=(" "+g[3]).slice(1);p.relurl=xf(o,L),KE(p,m),m=p,h+=p.duration,u++,c=0,_=!0}}else if(g[4]){let L=(" "+g[4]).slice(1);m?p.setByteRange(L,m):p.setByteRange(L)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),T===-1&&(T=l.length);else{if(g=g[0].match(QR),!g){k.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let L=(" "+g[E]).slice(1),P=(" "+g[E+1]).slice(1),U=g[E+2]?(" "+g[E+2]).slice(1):"";switch(L){case"PLAYLIST-TYPE":o.type=P.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(P);break;case"SKIP":{let B=new Ye(P);Ct(o,B,["RECENTLY-REMOVED-DATERANGES"]);let Q=B.decimalInteger("SKIPPED-SEGMENTS");if(j(Q)){o.skippedSegments=Q;for(let W=Q;W--;)l.unshift(null);u+=Q}let X=B.enumeratedString("RECENTLY-REMOVED-DATERANGES");X&&(o.recentlyRemovedDateranges=X.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(P),1);break;case"VERSION":o.version=parseInt(P);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(P||U)&&p.tagList.push(U?[P,U]:[P]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([L]);break;case"BITRATE":p.tagList.push([L,P]);break;case"DATERANGE":{let B=new Ye(P);Ct(o,B,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Ct(o,B,B.clientAttrs);let Q=new Td(B,o.dateRanges[B.ID]);Q.isValid||o.skippedSegments?o.dateRanges[Q.id]=Q:k.warn(`Ignoring invalid DATERANGE tag: "${P}"`),p.tagList.push(["EXT-X-DATERANGE",P]);break}case"DEFINE":{{let B=new Ye(P);Ct(o,B,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in B?VR(o,B,a):PE(o,B,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(P);break;case"KEY":{let B=$E(P,t,o);if(B.isSupported()){if(B.method==="NONE"){b=void 0;break}b||(b={}),b[B.keyFormat]&&(b=et({},b)),b[B.keyFormat]=B}else k.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${P}"`);break}case"START":o.startTimeOffset=HE(P);break;case"MAP":{let B=new Ye(P);if(Ct(o,B,["BYTERANGE","URI"]),p.duration){let Q=new ka(s,t);VE(Q,B,r,b),d=Q,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let Q=p.byteRangeEndOffset;if(Q){let X=p.byteRangeStartOffset;A=`${Q-X}@${X}`}else A=null;VE(p,B,r,b),d=p,_=!0}break}case"SERVER-CONTROL":{let B=new Ye(P);o.canBlockReload=B.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=B.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&B.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=B.optionalFloat("PART-HOLD-BACK",0),o.holdBack=B.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let B=new Ye(P);o.partTarget=B.decimalFloatingPoint("PART-TARGET");break}case"PART":{let B=o.partList;B||(B=o.partList=[]);let Q=c>0?B[B.length-1]:void 0,X=c++,W=new Ye(P);Ct(o,W,["BYTERANGE","URI"]);let he=new _f(W,p,t,X,Q);B.push(he),p.duration+=he.duration;break}case"PRELOAD-HINT":{let B=new Ye(P);Ct(o,B,["URI"]),o.preloadHint=B;break}case"RENDITION-REPORT":{let B=new Ye(P);Ct(o,B,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(B);break}default:k.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(KE(p,m),p.cc=f,o.fragmentHint=p,b&&WE(p,b,o));let R=l.length,S=l[0],D=l[R-1];if(h+=o.skippedSegments*o.targetduration,h>0&&R&&D){o.averagetargetduration=h/R;let M=D.sn;o.endSN=M!=="initSegment"?M:0,o.live||(D.endList=!0),S&&(o.startCC=S.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,T>0&&JR(l,T),o}};function $E(i,e,t){var r,s;let n=new Ye(i);Ct(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&&k.error(`Invalid IV: ${n.IV}`);let c=o?ss.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Da(a,c,u,h,l)}function HE(i){let t=new Ye(i).decimalFloatingPoint("TIME-OFFSET");return j(t)?t:null}function ZR(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>YR(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function GE(i,e,t){let r=e[t];r&&(i[t]=r)}function JR(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 KE(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),j(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function VE(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 WE(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 Ae={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},re={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function YE(i){let{type:e}=i;switch(e){case Ae.AUDIO_TRACK:return re.AUDIO;case Ae.SUBTITLE_TRACK:return re.SUBTITLE;default:return re.MAIN}}function lf(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var Rf=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:Ae.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:Ae.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:Ae.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:Ae.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){k.trace("[playlist-loader]: playlist request ongoing");return}k.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===Ae.MANIFEST?n=r.manifestLoadPolicy.default:n=et({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),j((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===Ae.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===Ae.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===Ae.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=et({},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=lf(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(T=>!T.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(k.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 Ye({}),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=lf(e,r),c=0,h=j(l)?l:j(o)?o:0,f=YE(r),m=ss.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===Ae.MANIFEST){let p={attrs:new Ye({}),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:ne.NETWORK_ERROR,details:C.MANIFEST_PARSING_ERROR,fatal:t.type===Ae.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===Ae.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===Ae.AUDIO_TRACK||e.type===Ae.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);k.warn(`[playlist-loader]: ${a}`);let l=C.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case Ae.MANIFEST:l=r?C.MANIFEST_LOAD_TIMEOUT:C.MANIFEST_LOAD_ERROR,d=!0;break;case Ae.LEVEL:l=r?C.LEVEL_LOAD_TIMEOUT:C.LEVEL_LOAD_ERROR,d=!1;break;case Ae.AUDIO_TRACK:l=r?C.AUDIO_TRACK_LOAD_TIMEOUT:C.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case Ae.SUBTITLE_TRACK:l=r?C.SUBTITLE_TRACK_LOAD_TIMEOUT:C.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:ne.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=mt({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=lf(t,s),m=YE(s),p=typeof s.level=="number"&&m===re.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:ne.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:ne.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 Ae.MANIFEST:case Ae.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case Ae.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case Ae.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function Nb(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 Ub(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){k.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){k.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function Tn(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 If(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=tI(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 eI(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 tI(i,e,t){let r=[],s=eI(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 md(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 ui={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},iI=.25;function kf(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function qE(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?mt({type:s},r):r))}return n}var ad=(()=>{let i=kf();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function df(i,e){return i.getTime()/1e3-e}function rI(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Lf=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&&(Tn(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 Nb(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=kf();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===ui.emsg&&!r||!s)continue;let d=Rb(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>ad&&(c=ad),c-u<=0&&(c=u+iI);for(let f=0;f<d.length;f++){let m=d[f];if(!xb(m)){this.updateId3CueEnds(u,l);let p=qE(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===ad&&(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===ui.audioId3&&l:s==="video"?d=u=>u.type===ui.emsg&&o:d=u=>u.type===ui.audioId3&&l||u.type===ui.emsg&&o,If(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||!j(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=kf();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=df(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=ad,b=h.endDate;if(b)E=df(b,l),g=!0;else if(h.endOnNext&&!g){let _=a.reduce((A,R)=>{if(R!==h.id){let S=n[R];if(S.class===h.class&&S.startDate>h.startDate&&(!A||h.startDate<A.startDate))return S}return A},null);_&&(E=df(_.startDate,l),g=!0)}let T=Object.keys(h.attr);for(let _=0;_<T.length;_++){let A=T[_];if(!uR(A))continue;let R=p[A];if(R)g&&!m.durationKnown&&(R.endTime=E);else if(d){let S=h.attr[A];cR(A)&&(S=rI(S));let D=qE(d,f,E,{key:A,data:S},ui.dateRange);D&&(D.id=c,this.id3Track.addCue(D),p[A]=D)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},wf=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;return d+Math.min(this.stallCount*1,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&&k.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}},Df=["NONE","TYPE-0","TYPE-1",null];function sI(i){return Df.indexOf(i)>-1}var Id=["SDR","PQ","HLG"];function nI(i){return!!i&&Id.indexOf(i)>-1}var pd={No:"",Yes:"YES",v2:"v2"};function jE(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?pd.v2:pd.Yes:pd.No}var kd=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}},Er=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 zE(this._audioGroups,e)}hasSubtitleGroup(e){return zE(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 zE(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function uf(i,e){let t=e.startPTS;if(j(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 Fb(i,e,t,r,s,n){r-t<=0&&(k.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(j(d)){let g=Math.abs(d-t);j(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--)uf(p[f],p[f-1]);for(f=m;f<p.length-1;f++)uf(p[f],p[f+1]);return i.fragmentHint&&uf(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function aI(i,e){let t=null,r=i.fragments;for(let o=r.length-1;o>=0;o--){let l=r[o].initSegment;if(l){t=l;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s;dI(i,e,(o,l,d,u)=>{if(e.skippedSegments&&l.cc!==o.cc){let c=o.cc-l.cc;for(let h=d;h<u.length;h++)u[h].cc+=c}j(o.startPTS)&&j(o.endPTS)&&(l.start=l.startPTS=o.startPTS,l.startDTS=o.startDTS,l.maxStartPTS=o.maxStartPTS,l.endPTS=o.endPTS,l.endDTS=o.endDTS,l.minEndPTS=o.minEndPTS,l.duration=o.endPTS-o.startPTS,l.duration&&(s=l),e.PTSKnown=e.alignedSliding=!0),l.elementaryStreams=o.elementaryStreams,l.loader=o.loader,l.stats=o.stats,o.initSegment&&(l.initSegment=o.initSegment,t=o.initSegment)});let n=e.fragments;if(t&&(e.fragmentHint?n.concat(e.fragmentHint):n).forEach(l=>{var d;l&&(!l.initSegment||l.initSegment.relurl===((d=t)==null?void 0:d.relurl))&&(l.initSegment=t)}),e.skippedSegments){if(e.deltaUpdateFailed=n.some(o=>!o),e.deltaUpdateFailed){k.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let o=e.skippedSegments;o--;)n.shift();e.startSN=n[0].sn}else e.canSkipDateRanges&&(e.dateRanges=oI(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));e.startCC=e.fragments[0].cc,e.endCC=n[n.length-1].cc}lI(i.partList,e.partList,(o,l)=>{l.elementaryStreams=o.elementaryStreams,l.stats=o.stats}),s?Fb(e,s,s.startPTS,s.endPTS,s.startDTS,s.endDTS):Bb(i,e),n.length&&(e.totalduration=e.edge-n[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let a=e.advancedDateTime;if(e.advanced&&a){let o=e.edge;e.driftStart||(e.driftStartTime=a,e.driftStart=o),e.driftEndTime=a,e.driftEnd=o}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function oI(i,e,t){let r=et({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new Td(e[s].attr,r[s]);n.isValid?r[s]=n:k.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function lI(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 dI(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,d,o)}}function Bb(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||Cf(e,r[t].start)}function Cf(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 uI(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments;if(r.length&&t*4>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function cI(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 XE(i,e,t){var r;return i!=null&&i.details?$b((r=i.details)==null?void 0:r.partList,e,t):null}function $b(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 Hb(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function Ld(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 QE(i,e){let t=Ld(e);return i.default[`${t?"timeout":"error"}Retry`]}function Pm(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function ZE(i){return mt(mt({},i),{errorRetry:null,timeoutRetry:null})}function wd(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(hI(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function hI(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var Gb={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 fI(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!j(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(pI(e,t,a))return a}return null}function Dd(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)&&Mf(t,r,n)===0||mI(n,i,Math.min(s,r))))return n;let a=Gb.search(e,Mf.bind(null,t,r));return a&&(a!==i||!n)?a:n}function mI(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 Mf(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 pI(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function gI(i,e){return Gb.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ht={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},oi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Pf=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=k.log.bind(k,"[info]:"),this.warn=k.warn.bind(k,"[warning]:"),this.error=k.error.bind(k,"[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)===re.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:ht.DoNothing,flags:oi.None};return}case C.FRAG_GAP:case C.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ht.SendAlternateToPenaltyBox;return}case C.LEVEL_EMPTY_ERROR:case C.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===re.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===Ae.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===Ae.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ht.SendAlternateToPenaltyBox,t.errorAction.flags=oi.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:ht.SendAlternateToPenaltyBox,flags:oi.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:ht.DoNothing,flags:oi.None};return}t.type===ne.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=QE(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(wd(s,n,Ld(e),e.response))return{action:ht.RetryRequest,flags:oi.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=QE(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++,wd(o,l,Ld(e),e.response)))return{action:ht.RetryRequest,flags:oi.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===re.AUDIO&&d===C.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:R})=>s.audioCodec!==R),T=e.sourceBufferName==="video"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR)&&c.some(({codecSet:R,audioCodec:S})=>s.codecSet!==R&&s.audioCodec===S),{type:_,groupId:A}=(a=e.context)!=null?a:{};for(let R=c.length;R--;){let S=(R+h)%c.length;if(S!==h&&S>=f&&S<=m&&c[S].loadError===0){var o,l;let D=c[S];if(d===C.FRAG_GAP&&p===re.MAIN&&e.frag){let M=c[S].details;if(M){let L=Dd(e.frag,M.fragments,e.frag.start);if(L!=null&&L.gap)continue}}else{if(_===Ae.AUDIO_TRACK&&D.hasAudioGroup(A)||_===Ae.SUBTITLE_TRACK&&D.hasSubtitleGroup(A))continue;if(p===re.AUDIO&&(o=s.audioGroups)!=null&&o.some(M=>D.hasAudioGroup(M))||p===re.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(M=>D.hasSubtitleGroup(M))||E&&s.audioCodec===D.audioCodec||!E&&s.audioCodec!==D.audioCodec||T&&s.codecSet===D.codecSet)continue}u=S;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ht.SendAlternateToPenaltyBox,flags:oi.None,nextAutoLevel:u}}return{action:ht.SendAlternateToPenaltyBox,flags:oi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ht.DoNothing:break;case ht.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 ht.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 oi.None:this.switchLevel(e,a);break;case oi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=Df[Df.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)}},Ma=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=k.log.bind(k,`${t}:`),this.warn=k.warn.bind(k,`${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){k.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&&jE(r);return new kd(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&&aI(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,b=s.endSN,T=s.lastPartIndex,_=T!==-1,A=E===b,R=g?0:T;_?(d=A?b+1:E,u=A?R:T+1):d=b+1;let S=s.age,D=S+s.ageHeader,M=Math.min(D-s.partTarget,s.targetduration*1.5);if(M>0){if(r&&M>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${M} with playlist age: ${s.age}`),M=0;else{let L=Math.floor(M/s.targetduration);if(d+=L,u!==void 0){let P=Math.round(M%s.targetduration/s.partTarget);u+=P}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${S.toFixed(2)}s goal: ${M} skip sn ${L} to part ${u}`)}s.tuneInGoal=M}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=uI(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=jE(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=pd.No),new kd(r,s,n)}checkRetry(e){let t=e.details,r=Ld(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ht.RetryRequest||!s.resolved&&n===ht.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=Pm(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}},vr=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_}},Of=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 vr(e),this.fast_=new vr(t),this.defaultTTFB_=s,this.ttfb_=new vr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new vr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new vr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new vr(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(){}},Kb={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},JE={};function vI(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&&j(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function EI(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(Kb);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:mt(mt({},n),{},{contentType:Ca(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);j(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:Ca(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=bI(l);return JE[d]||(JE[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 bI(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 yI(){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 TI(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||Id.slice(0),t=e.preferHDR!==void 0?e.preferHDR:yI(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function _I(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}=TI(e,s);for(let A=n.length;A--;){let R=i[n[A]];d=R.channels[2]>0,c=Math.min(c,R.minHeight),h=Math.min(h,R.minFramerate),f=Math.min(f,R.minBitrate);let S=E.filter(D=>R.videoRanges[D]>0);S.length>0&&(u=!0,p=S)}c=j(c)?c:0,h=j(h)?h:0;let b=Math.max(1080,c),T=Math.max(30,h);return f=j(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((A,R)=>{let S=i[R];if(R===A)return A;if(S.minBitrate>t)return Zi(R,`min bitrate of ${S.minBitrate} > current estimate of ${t}`),A;if(!S.hasDefaultAudio)return Zi(R,"no renditions with default or auto-select sound found"),A;if(o&&R.indexOf(o.substring(0,4))%5!==0)return Zi(R,`audio codec preference "${o}" not found`),A;if(a&&!l){if(!S.channels[a])return Zi(R,`no renditions with ${a} channel sound found (channels options: ${Object.keys(S.channels)})`),A}else if((!o||l)&&d&&S.channels[2]===0)return Zi(R,"no renditions with stereo sound found"),A;return S.minHeight>b?(Zi(R,`min resolution of ${S.minHeight} > maximum of ${b}`),A):S.minFramerate>T?(Zi(R,`min framerate of ${S.minFramerate} > maximum of ${T}`),A):p.some(D=>S.videoRanges[D]>0)?S.maxScore<m?(Zi(R,`max score of ${S.maxScore} < selected max of ${m}`),A):A&&(xd(R)>=xd(A)||S.fragmentError>i[A].fragmentError)?A:(m=S.maxScore,R):(Zi(R,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),A)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function Zi(i,e){k.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function AI(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 SI(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 wi(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(os(i,s,t))return r}return-1}function os(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,default:o}=i,l=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)&&(o===void 0||e.default===o)&&(l===void 0||e.forced===l)&&(!("characteristics"in i)||xI(i.characteristics||"",e.characteristics))&&(t===void 0||t(i,e))}function xI(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function rs(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 RI(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=eb(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 wi(i,m,s)>-1});return c>-1?c:eb(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return wi(i,m,s)>-1})}function eb(i,e,t){for(let r=e;r>-1;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 Nf=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,b=this.getBwEstimate(),T=s.levels,_=T[t.level],A=l.total||Math.max(l.loaded,Math.round(d*_.averageBitrate/8)),R=E?u-g:u;R<1&&E&&(R=Math.min(u,l.loaded*8/b));let S=E?l.loaded*1e3/R:0,D=S?(A-l.loaded)/S:A*8/b+f/1e3;if(D<=p)return;let M=S?S*8:b,L=Number.POSITIVE_INFINITY,P;for(P=t.level-1;P>c;P--){let B=T[P].maxBitrate;if(L=this.getTimeToLoadFrag(f/1e3,M,d*B,!T[P].details),L<p)break}if(L>=D||L>d*10)return;s.nextLoadLevel=s.nextAutoLevel=P,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let U=T[P].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>U&&this.resetEstimator(U),this.clearTimer(),k.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
|
|
1255
|
+
`))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};ed.prototype.processLine=function(i){var e=i.indexOf(":"),t=Vx(i,e),r=t[0],s=t.length===2?Qh(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 Xr.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case Xr.PART_INF:{Vh(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case Xr.SERVER_CONTROL:{Vh(this.manifest,t),this.setHoldBack();break}case Xr.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case Xr.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 Xr.VERSION:{Vh(this.manifest,t);break}case Xr.SESSION_DATA:{var o=Wx(t[1]),l=TE(o);Object.assign(this.manifest.sessionData,l)}}};ed.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 Vh=function(i,e){var t=wE(e[0].replace("#EXT-X-","")),r;Kx(e[1])?(r={},r=Object.assign(Gx(e[1]),r)):r=Qh(e[1]),i[t]=r},wE=function(i){return i.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},Qh=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},Hx=function(i){var e={},t=i.split("=");if(t.length>1){var r=wE(t[0]);e[r]=Qh(t[1])}return e},Gx=function(i){for(var e=i.split(","),t={},r=0;e.length>r;r++){var s=e[r],n=Hx(s);t=Object.assign(n,t)}return t},Kx=function(i){return i.indexOf("=")>-1},Vx=function(i,e){return e===-1?[i]:[i.substring(0,e),i.substring(e+1)]},Wx=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}}},Yx=ed,qx={safeCall:Fx,safeIncrement:Ze,getComputedStyle:Bx,secondsToMs:$x,assign:Object.assign,headersStringToObject:Xh,cdnHeadersToRequestId:Jl,extractHostnameAndDomain:xa,extractHostname:ni,manifestParser:Yx,generateShortID:bE,generateUUID:Sa,now:Je.now,findMediaElement:Xl},jx=qx,zx={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",HEARTBEAT:"hb",DESTROY:"destroy"},Xx=zx,Qx="mux-embed",Zx="5.8.3",Jx="2.1",Qe={},pr=function(i){var e=arguments;typeof i=="string"?pr.hasOwnProperty(i)?_a.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),pr[i].apply(null,e)},0):Ne.warn("`"+i+"` is an unknown task"):typeof i=="function"?_a.default.setTimeout(function(){i(pr)},0):Ne.warn("`"+i+"` is invalid.")},eR={loaded:Je.now(),NAME:Qx,VERSION:Zx,API_VERSION:Jx,PLAYER_TRACKED:!1,monitor:function(i,e){return Ux(pr,i,e)},destroyMonitor:function(i){var e=Xi(Xl(i),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():Ne.error("A video element monitor for `"+i+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(i,e){var t=ri(i);Qe[t]?Qe[t].addHLSJS(e):Ne.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(i,e){var t=ri(i);Qe[t]?Qe[t].addDashJS(e):Ne.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(i){var e=ri(i);Qe[e]?Qe[e].removeHLSJS():Ne.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(i){var e=ri(i);Qe[e]?Qe[e].removeDashJS():Ne.error("A monitor for `"+e+"` has not been initialized.")},init:function(i,e){Yh()&&e&&e.respectDoNotTrack&&Ne.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=ri(i);Qe[t]=new Mx(pr,t,e)},emit:function(i,e,t){var r=ri(i);Qe[r]?(Qe[r].emit(e,t),e==="destroy"&&delete Qe[r]):Ne.error("A monitor for `"+r+"` has not been initialized.")},updateData:function(i,e){var t=ri(i);Qe[t]?Qe[t].emit("hb",e):Ne.error("A monitor for `"+t+"` has not been initialized.")},setEmitTranslator:function(i,e){var t=ri(i);Qe[t]?Qe[t].emitTranslator=e:Ne.error("A monitor for `"+t+"` has not been initialized.")},setStateDataTranslator:function(i,e){var t=ri(i);Qe[t]?Qe[t].stateDataTranslator=e:Ne.error("A monitor for `"+t+"` has not been initialized.")},setGetPlayheadTime:function(i,e){var t=ri(i);Qe[t]?Qe[t].getPlayheadTime=e:Ne.error("A monitor for `"+t+"` has not been initialized.")},checkDoNotTrack:Yh,log:Ne,utils:jx,events:Xx,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(pr,eR);typeof _a.default!="undefined"&&typeof _a.default.addEventListener=="function"&&_a.default.addEventListener("pagehide",function(i){i.persisted||(pr.WINDOW_UNLOADING=!0)},!1);var td=pr;function tR(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Ab={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})()})(Ab);var Lm=Ab.exports;function DE(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 mt(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?DE(Object(t),!0).forEach(function(r){sR(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):DE(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function iR(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 rR(i){var e=iR(i,"string");return typeof e=="symbol"?e:String(e)}function sR(i,e,t){return e=rR(e),e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function et(){return et=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},et.apply(this,arguments)}var z=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},nR=Number.isSafeInteger||function(i){return typeof i=="number"&&Math.abs(i)<=aR},aR=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}({}),le=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}({}),is=function(){},yf={trace:is,debug:is,log:is,warn:is,info:is,error:is},Ia=yf;function oR(i){let e=self.console[i];return e?e.bind(self.console,`[${i}] >`):is}function lR(i,...e){e.forEach(function(t){Ia[t]=i[t]?i[t].bind(i):oR(t)})}function dR(i,e){if(typeof console=="object"&&i===!0||typeof i=="object"){lR(i,"debug","log","info","warn","error");try{Ia.log(`Debug logs enabled for "${e}" in hls.js version 1.5.20`)}catch{Ia=yf}}else Ia=yf}var k=Ia,uR=/^(\d+)x(\d+)$/,CE=/(.+?)=(".*?"|.*?)(?:,|$)/g,Ye=class i{constructor(e){typeof e=="string"&&(e=i.parseAttrList(e)),et(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=uR.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(CE.lastIndex=0;(t=CE.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 cR(i){return i!=="ID"&&i!=="CLASS"&&i!=="START-DATE"&&i!=="DURATION"&&i!=="END-DATE"&&i!=="END-ON-NEXT"}function hR(i){return i==="SCTE35-OUT"||i==="SCTE35-IN"}var Td=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]){k.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=et(new Ye({}),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"]);z(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(z(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&&z(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Sn=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}}},De={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},_d=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[De.AUDIO]:null,[De.VIDEO]:null,[De.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=Lm.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},ka=class extends _d{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 Sn,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||!z(this.programDateTime))return null;let e=z(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[De.AUDIO]=null,e[De.VIDEO]=null,e[De.AUDIOVIDEO]=null}},Tf=class extends _d{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 Sn,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)}},fR=10,_f=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?z(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||fR}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 wm(i){return Uint8Array.from(atob(i),e=>e.charCodeAt(0))}function mR(i){let e=Af(i).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function pR(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 gR(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=wm(a)):t=mR(a)}}return t}function Af(i){return Uint8Array.from(unescape(encodeURIComponent(i)),e=>e.charCodeAt(0))}var xn=typeof self!="undefined"?self:void 0,Ie={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 Zh(i){switch(i){case Pt.FAIRPLAY:return Ie.FAIRPLAY;case Pt.PLAYREADY:return Ie.PLAYREADY;case Pt.WIDEVINE:return Ie.WIDEVINE;case Pt.CLEARKEY:return Ie.CLEARKEY}}var id={CENC:"1077efecc0b24d02ace33c1e52e2fb4b",CLEARKEY:"e2719d58a985b3c9781ab030af78d30e",FAIRPLAY:"94ce86fb07ff4f43adb893d2fa968ca2",PLAYREADY:"9a04f07998404286ab92e65be0885f95",WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function Jh(i){if(i===id.WIDEVINE)return Ie.WIDEVINE;if(i===id.PLAYREADY)return Ie.PLAYREADY;if(i===id.CENC||i===id.CLEARKEY)return Ie.CLEARKEY}function ef(i){switch(i){case Ie.FAIRPLAY:return Pt.FAIRPLAY;case Ie.PLAYREADY:return Pt.PLAYREADY;case Ie.WIDEVINE:return Pt.WIDEVINE;case Ie.CLEARKEY:return Pt.CLEARKEY}}function rd(i){let{drmSystems:e,widevineLicenseUrl:t}=i,r=e?[Ie.FAIRPLAY,Ie.WIDEVINE,Ie.PLAYREADY,Ie.CLEARKEY].filter(s=>!!e[s]):[];return!r[Ie.WIDEVINE]&&t&&r.push(Ie.WIDEVINE),r}var Sb=function(i){return xn!=null&&(i=xn.navigator)!=null&&i.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function vR(i,e,t,r){let s;switch(i){case Ie.FAIRPLAY:s=["cenc","sinf"];break;case Ie.WIDEVINE:case Ie.PLAYREADY:s=["cenc"];break;case Ie.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${i}`)}return ER(s,e,t,r)}function ER(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 xb(i){let e=new Uint16Array(i.buffer,i.byteOffset,i.byteLength/2),t=String.fromCharCode.apply(null,Array.from(e)),r=t.substring(t.indexOf("<"),t.length),a=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(a){let o=a.childNodes[0]?a.childNodes[0].nodeValue:a.getAttribute("VALUE");if(o){let l=wm(o).subarray(0,16);return pR(l),l}}return null}function as(i,e,t){return Uint8Array.prototype.slice?i.slice(e,t):new Uint8Array(Array.prototype.slice.call(i,e,t))}var Dm=(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,Rb=(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,wa=(i,e)=>{let t=e,r=0;for(;Dm(i,e);){r+=10;let s=jd(i,e+6);r+=s,Rb(i,e+10)&&(r+=10),e+=r}if(r>0)return i.subarray(t,t+r)},jd=(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},bR=(i,e)=>Dm(i,e)&&jd(i,e+6)+10<=i.length-e,Cm=i=>{let e=kb(i);for(let t=0;t<e.length;t++){let r=e[t];if(Ib(r))return xR(r)}},Ib=i=>i&&i.key==="PRIV"&&i.info==="com.apple.streaming.transportStreamTimestamp",yR=i=>{let e=String.fromCharCode(i[0],i[1],i[2],i[3]),t=jd(i,4),r=10;return{type:e,size:t,data:i.subarray(r,r+t)}},kb=i=>{let e=0,t=[];for(;Dm(i,e);){let r=jd(i,e+6);e+=10;let s=e+r;for(;e+8<s;){let n=yR(i.subarray(e)),a=TR(n);a&&t.push(a),e+=n.size+10}Rb(i,e)&&(e+=10)}return t},TR=i=>i.type==="PRIV"?_R(i):i.type[0]==="W"?SR(i):AR(i),_R=i=>{if(i.size<2)return;let e=Di(i.data,!0),t=new Uint8Array(i.data.subarray(e.length+1));return{key:i.type,info:e,data:t.buffer}},AR=i=>{if(i.size<2)return;if(i.type==="TXXX"){let t=1,r=Di(i.data.subarray(t),!0);t+=r.length+1;let s=Di(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Di(i.data.subarray(1));return{key:i.type,data:e}},SR=i=>{if(i.type==="WXXX"){if(i.size<2)return;let t=1,r=Di(i.data.subarray(t),!0);t+=r.length+1;let s=Di(i.data.subarray(t));return{key:i.type,info:r,data:s}}let e=Di(i.data);return{key:i.type,data:e}},xR=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)}},Di=(i,e=!1)=>{let t=RR();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},tf;function RR(){if(!navigator.userAgent.includes("PlayStation 4"))return!tf&&typeof self.TextDecoder!="undefined"&&(tf=new self.TextDecoder("utf-8")),tf}var ki={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}},Ad=Math.pow(2,32)-1,IR=[].push,Lb={video:1,audio:2,id3:3,text:4};function rt(i){return String.fromCharCode.apply(null,i)}function wb(i,e){let t=i[e]<<8|i[e+1];return t<0?65536+t:t}function re(i,e){let t=Db(i,e);return t<0?4294967296+t:t}function ME(i,e){let t=re(i,e);return t*=Math.pow(2,32),t+=re(i,e+4),t}function Db(i,e){return i[e]<<24|i[e+1]<<16|i[e+2]<<8|i[e+3]}function rf(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 kR(i){let e=i.byteLength;for(let t=0;t<e;){let r=re(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 fe(i,e){let t=[];if(!e.length)return t;let r=i.byteLength;for(let s=0;s<r;){let n=re(i,s),a=rt(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=fe(i.subarray(s+8,o),e.slice(1));l.length&&IR.apply(t,l)}s=o}return t}function LR(i){let e=[],t=i[0],r=8,s=re(i,r);r+=4;let n=0,a=0;t===0?(n=re(i,r),a=re(i,r+4),r+=8):(n=ME(i,r),a=ME(i,r+8),r+=16),r+=2;let o=i.length+a,l=wb(i,r);r+=2;for(let d=0;d<l;d++){let u=r,c=re(i,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return k.warn("SIDX has hierarchical references (not supported)"),null;let m=re(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 Cb(i){let e=[],t=fe(i,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=fe(n,["tkhd"])[0];if(a){let o=a[0],l=re(a,o===0?12:20),d=fe(n,["mdia","mdhd"])[0];if(d){o=d[0];let u=re(d,o===0?12:20),c=fe(n,["mdia","hdlr"])[0];if(c){let h=rt(c.subarray(8,12)),f={soun:De.AUDIO,vide:De.VIDEO}[h];if(f){let m=fe(n,["mdia","minf","stbl","stsd"])[0],p=wR(m);e[l]={timescale:u,type:f},e[f]=mt({timescale:u,id:l},p)}}}}}return fe(i,["moov","mvex","trex"]).forEach(s=>{let n=re(s,4),a=e[n];a&&(a.default={duration:re(s,12),flags:re(s,20)})}),e}function wR(i){let e=i.subarray(8),t=e.subarray(86),r=rt(e.subarray(4,8)),s=r,n=r==="enca"||r==="encv";if(n){let o=fe(e,[r])[0].subarray(r==="enca"?28:78);fe(o,["sinf"]).forEach(d=>{let u=fe(d,["schm"])[0];if(u){let c=rt(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=fe(d,["frma"])[0];h&&(s=rt(h))}}})}switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let a=fe(t,["avcC"])[0];s+="."+sd(a[1])+sd(a[2])+sd(a[3]);break}case"mp4a":{let a=fe(e,[r])[0],o=fe(a.subarray(28),["esds"])[0];if(o&&o.length>12){let l=4;if(o[l++]!==3)break;l=sf(o,l),l+=2;let d=o[l++];if(d&128&&(l+=2),d&64&&(l+=o[l++]),o[l++]!==4)break;l=sf(o,l);let u=o[l++];if(u===64)s+="."+sd(u);else break;if(l+=12,o[l++]!==5)break;l=sf(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=fe(t,["hvcC"])[0],o=a[1],l=["","A","B","C"][o>>6],d=o&31,u=re(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=fe(t,["dvcC"])[0],o=a[2]>>1&127,l=a[2]<<5&32|a[3]>>3&31;s+="."+Ii(o)+"."+Ii(l);break}case"vp09":{let a=fe(t,["vpcC"])[0],o=a[4],l=a[5],d=a[6]>>4&15;s+="."+Ii(o)+"."+Ii(l)+"."+Ii(d);break}case"av01":{let a=fe(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;s+="."+o+"."+Ii(l)+d+"."+Ii(h)+"."+f+"."+m+p+g+"."+Ii(1)+"."+Ii(1)+"."+Ii(1)+"."+0;break}}return{codec:s,encrypted:n}}function sf(i,e){let t=e+5;for(;i[e++]&128&&e<t;);return e}function sd(i){return("0"+i.toString(16).toUpperCase()).slice(-2)}function Ii(i){return(i<10?"0":"")+i}function DR(i,e){if(!i||!e)return i;let t=e.keyId;return t&&e.isCommonEncryption&&fe(i,["moov","trak"]).forEach(s=>{let a=fe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=fe(a,["enca"]),l=o.length>0;l||(o=fe(a,["encv"])),o.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);fe(u,["sinf"]).forEach(h=>{let f=Mb(h);if(f){let m=f.subarray(8,24);m.some(p=>p!==0)||(k.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${ki.hexDump(m)} -> ${ki.hexDump(t)}`),f.set(t,8))}})})}),i}function Mb(i){let e=fe(i,["schm"])[0];if(e){let t=rt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return fe(i,["schi","tenc"])[0]}return null}function CR(i,e){return fe(e,["moof","traf"]).reduce((t,r)=>{let s=fe(r,["tfdt"])[0],n=s[0],a=fe(r,["tfhd"]).reduce((o,l)=>{let d=re(l,4),u=i[d];if(u){let c=re(s,4);if(n===1){if(c===Ad)return k.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;c*=Ad+1,c+=re(s,8)}let h=u.timescale||9e4,f=c/h;if(z(f)&&(o===null||f<o))return f}return o},null);return a!==null&&z(a)&&(t===null||a<t)?a:t},null)}function MR(i,e){let t=0,r=0,s=0,n=fe(i,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=fe(o,["tfhd"])[0],d=re(l,4),u=e[d];if(!u)continue;let c=u.default,h=re(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=re(l,12):f=re(l,8));let m=u.timescale||9e4,p=fe(o,["trun"]);for(let g=0;g<p.length;g++){if(t=PR(p[g]),!t&&f){let E=re(p[g],4);t=f*E}u.type===De.VIDEO?r+=t/m:u.type===De.AUDIO&&(s+=t/m)}}if(r===0&&s===0){let a=1/0,o=0,l=0,d=fe(i,["sidx"]);for(let u=0;u<d.length;u++){let c=LR(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&&z(l))return l}return r||s}function PR(i){let e=re(i,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let r=0,s=re(i,4);for(let n=0;n<s;n++){if(e&256){let a=re(i,t);r+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return r}function OR(i,e,t){fe(e,["moof","traf"]).forEach(r=>{fe(r,["tfhd"]).forEach(s=>{let n=re(s,4),a=i[n];if(!a)return;let o=a.timescale||9e4;fe(r,["tfdt"]).forEach(l=>{let d=l[0],u=t*o;if(u){let c=re(l,4);if(d===0)c-=u,c=Math.max(c,0),rf(l,4,c);else{c*=Math.pow(2,32),c+=re(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(Ad+1)),f=Math.floor(c%(Ad+1));rf(l,4,h),rf(l,8,f)}}})})})}function NR(i){let e={valid:null,remainder:null},t=fe(i,["moof"]);if(t.length<2)return e.remainder=i,e;let r=t[t.length-1];return e.valid=as(i,0,r.byteOffset-8),e.remainder=as(i,r.byteOffset-8),e}function qt(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function PE(i,e){let t=[],r=e.samples,s=e.timescale,n=e.id,a=!1;return fe(r,["moof"]).map(l=>{let d=l.byteOffset-8;fe(l,["traf"]).map(c=>{let h=fe(c,["tfdt"]).map(f=>{let m=f[0],p=re(f,4);return m===1&&(p*=Math.pow(2,32),p+=re(f,8)),p/s})[0];return h!==void 0&&(i=h),fe(c,["tfhd"]).map(f=>{let m=re(f,4),p=re(f,0)&16777215,g=(p&1)!==0,E=(p&2)!==0,b=(p&8)!==0,T=0,_=(p&16)!==0,A=0,R=(p&32)!==0,S=8;m===n&&(g&&(S+=8),E&&(S+=4),b&&(T=re(f,S),S+=4),_&&(A=re(f,S),S+=4),R&&(S+=4),e.type==="video"&&(a=UR(e.codec)),fe(c,["trun"]).map(D=>{let M=D[0],L=re(D,0)&16777215,P=(L&1)!==0,U=0,B=(L&4)!==0,Z=(L&256)!==0,Q=0,Y=(L&512)!==0,he=0,me=(L&1024)!==0,q=(L&2048)!==0,K=0,ge=re(D,4),ie=8;P&&(U=re(D,ie),ie+=4),B&&(ie+=4);let _e=U+d;for(let He=0;He<ge;He++){if(Z?(Q=re(D,ie),ie+=4):Q=T,Y?(he=re(D,ie),ie+=4):he=A,me&&(ie+=4),q&&(M===0?K=re(D,ie):K=Db(D,ie),ie+=4),e.type===De.VIDEO){let Ve=0;for(;Ve<he;){let qe=re(r,_e);if(_e+=4,FR(a,r[_e])){let _t=r.subarray(_e,_e+qe);Pb(_t,a?2:1,i+K/s,t)}_e+=qe,Ve+=qe+4}}i+=Q/s}}))})})}),t}function UR(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 FR(i,e){if(i){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Pb(i,e,t,r){let s=Ob(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){k.error(`Malformed SEI payload. ${o} is too small, only ${d} bytes left to parse.`);break}if(a===4){if(s[u++]===181){let h=wb(s,u);if(u+=2,h===49){let f=re(s,u);if(u+=4,f===1195456820){let m=s[u++];if(m===3){let p=s[u++],g=31&p,E=64&p,b=E?2+g*3:0,T=new Uint8Array(b);if(E){T[0]=p;for(let _=1;_<b;_++)T[_]=s[u++]}r.push({type:m,payloadType:a,pts:t,bytes:T})}}}}}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:Di(f),userDataBytes:f})}}}function Ob(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 BR(i){let e=i[0],t="",r="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;rt(i.subarray(d,d+1))!=="\0";)t+=rt(i.subarray(d,d+1)),d+=1;for(t+=rt(i.subarray(d,d+1)),d+=1;rt(i.subarray(d,d+1))!=="\0";)r+=rt(i.subarray(d,d+1)),d+=1;r+=rt(i.subarray(d,d+1)),d+=1,s=re(i,12),n=re(i,16),o=re(i,20),l=re(i,24),d=28}else if(e===1){d+=4,s=re(i,d),d+=4;let c=re(i,d);d+=4;let h=re(i,d);for(d+=4,a=2**32*c+h,nR(a)||(a=Number.MAX_SAFE_INTEGER,k.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=re(i,d),d+=4,l=re(i,d),d+=4;rt(i.subarray(d,d+1))!=="\0";)t+=rt(i.subarray(d,d+1)),d+=1;for(t+=rt(i.subarray(d,d+1)),d+=1;rt(i.subarray(d,d+1))!=="\0";)r+=rt(i.subarray(d,d+1)),d+=1;r+=rt(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 $R(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 HR(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),$R([112,115,115,104],new Uint8Array([r,0,0,0]),i,n,s,a,t||new Uint8Array)}function GR(i){let e=[];if(i instanceof ArrayBuffer){let t=i.byteLength,r=0;for(;r+32<t;){let s=new DataView(i,r),n=KR(s);e.push(n),r+=n.size}}return e}function KR(i){let e=i.getUint32(0),t=i.byteOffset,r=i.byteLength;if(r<e)return{offset:t,size:r};if(i.getUint32(4)!==1886614376)return{offset:t,size:e};let n=i.getUint32(8)>>>24;if(n!==0&&n!==1)return{offset:t,size:e};let a=i.buffer,o=ki.hexDump(new Uint8Array(a,t+12,16)),l=i.getUint32(28),d=null,u=null;if(n===0){if(e-32<l||l<22)return{offset:t,size:e};u=new Uint8Array(a,t+32,l)}else if(n===1){if(!l||r<t+32+l*16+16)return{offset:t,size:e};d=[];for(let c=0;c<l;c++)d.push(new Uint8Array(a,t+32+c*16,16))}return{version:n,systemId:o,kids:d,data:u,offset:t,size:e}}var nd={},Da=class i{static clearKeyUriToKeyIdMap(){nd={}}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&&k.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let r=VR(e);return new i(this.method,this.uri,"identity",this.keyFormatVersions,r)}let t=gR(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=HR(r,null,t),this.keyId=xb(t);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=nd[this.uri];if(!r){let s=Object.keys(nd).length%Number.MAX_SAFE_INTEGER;r=new Uint8Array(16),new DataView(r.buffer,12,4).setUint32(0,s),nd[this.uri]=r}this.keyId=r}return this}};function VR(i){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=i>>8*(15-t)&255;return e}var Nb=/\{\$([a-zA-Z0-9-_]+)\}/g;function OE(i){return Nb.test(i)}function Ct(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]=Sf(i,n))}}function Sf(i,e){if(i.variableList!==null||i.hasVariableRefs){let t=i.variableList;return e.replace(Nb,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 NE(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 WR(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 ls(i=!0){return typeof self=="undefined"?void 0:(i||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function YR(i){return typeof self!="undefined"&&i===self.ManagedMediaSource}var Sd={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 qR(i,e){let t=Sd[e];return!!t&&!!t[i.slice(0,4)]}function nf(i,e,t=!0){return!i.split(",").some(r=>!Ub(r,e,t))}function Ub(i,e,t=!0){var r;let s=ls(t);return(r=s==null?void 0:s.isTypeSupported(Ca(i,e)))!=null?r:!1}function Ca(i,e){return`${e}/mp4;codecs="${i}"`}function UE(i){if(i){let e=i.substring(0,4);return Sd.video[e]}return 2}function xd(i){return i.split(",").reduce((e,t)=>{let r=Sd.video[t];return r?(r*2+e)/(e?3:2):(Sd.audio[t]+e)/(e?2:1)},0)}var af={};function jR(i,e=!0){if(af[i])return af[i];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[i];for(let r=0;r<t.length;r++)if(Ub(t[r],"audio",e))return af[i]=t[r],t[r];return i}var zR=/flac|opus/i;function Rd(i,e=!0){return i.replace(zR,t=>jR(t.toLowerCase(),e))}function FE(i,e){return i&&i!=="mp4a"?i:e&&e.split(",")[0]}function XR(i){let e=i.split(",");for(let t=0;t<e.length;t++){let r=e[t].split(".");if(r.length>2){let s=r.shift()+".";s+=parseInt(r.shift()).toString(16),s+=("000"+parseInt(r.shift()).toString(16)).slice(-4),e[t]=s}}return e.join(",")}var BE=/#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,$E=/#EXT-X-MEDIA:(.*)/g,QR=/^#EXT(?:INF|-X-TARGETDURATION):/m,HE=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"),ZR=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 Lm.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return QR.test(e)}static parseMasterPlaylist(e,t){let r=OE(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:r},n=[];BE.lastIndex=0;let a;for(;(a=BE.exec(e))!=null;)if(a[1]){var o;let d=new Ye(a[1]);Ct(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=Sf(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),JR(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 Ye(u);Ct(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=GE(u,t,s);c.encrypted&&c.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(c)):k.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break}case"DEFINE":{{let c=new Ye(u);Ct(s,c,["NAME","VALUE","QUERYPARAM"]),NE(s,c,t)}break}case"CONTENT-STEERING":{let c=new Ye(u);Ct(s,c,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:i.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=KE(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($E.lastIndex=0;(s=$E.exec(e))!==null;){let d=new Ye(s[1]),u=d.TYPE;if(u){let c=o[u],h=n[u]||[];n[u]=h,Ct(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"],b={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&&(b.assocLang=m),p&&(b.channels=p),g&&(b.characteristics=g),E&&(b.instreamId=E),c!=null&&c.length){let T=i.findGroup(c,b.groupId)||c[0];VE(b,T,"audioCodec"),VE(b,T,"textCodec")}h.push(b)}}return n}static parseLevelPlaylist(e,t,r,s,n,a){let o=new _f(t),l=o.fragments,d=null,u=0,c=0,h=0,f=0,m=null,p=new ka(s,t),g,E,b,T=-1,_=!1,A=null;for(HE.lastIndex=0,o.m3u8=e,o.hasVariableRefs=OE(e);(g=HE.exec(e))!==null;){_&&(_=!1,p=new ka(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 M=g[1];if(M){p.duration=parseFloat(M);let L=(" "+g[2]).slice(1);p.title=L||null,p.tagList.push(L?["INF",M,L]:["INF",M])}else if(g[3]){if(z(p.duration)){p.start=h,b&&qE(p,b,o),p.sn=u,p.level=r,p.cc=f,l.push(p);let L=(" "+g[3]).slice(1);p.relurl=Sf(o,L),WE(p,m),m=p,h+=p.duration,u++,c=0,_=!0}}else if(g[4]){let L=(" "+g[4]).slice(1);m?p.setByteRange(L,m):p.setByteRange(L)}else if(g[5])p.rawProgramDateTime=(" "+g[5]).slice(1),p.tagList.push(["PROGRAM-DATE-TIME",p.rawProgramDateTime]),T===-1&&(T=l.length);else{if(g=g[0].match(ZR),!g){k.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<g.length&&typeof g[E]=="undefined";E++);let L=(" "+g[E]).slice(1),P=(" "+g[E+1]).slice(1),U=g[E+2]?(" "+g[E+2]).slice(1):"";switch(L){case"PLAYLIST-TYPE":o.type=P.toUpperCase();break;case"MEDIA-SEQUENCE":u=o.startSN=parseInt(P);break;case"SKIP":{let B=new Ye(P);Ct(o,B,["RECENTLY-REMOVED-DATERANGES"]);let Z=B.decimalInteger("SKIPPED-SEGMENTS");if(z(Z)){o.skippedSegments=Z;for(let Y=Z;Y--;)l.unshift(null);u+=Z}let Q=B.enumeratedString("RECENTLY-REMOVED-DATERANGES");Q&&(o.recentlyRemovedDateranges=Q.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(P),1);break;case"VERSION":o.version=parseInt(P);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(P||U)&&p.tagList.push(U?[P,U]:[P]);break;case"DISCONTINUITY":f++,p.tagList.push(["DIS"]);break;case"GAP":p.gap=!0,p.tagList.push([L]);break;case"BITRATE":p.tagList.push([L,P]);break;case"DATERANGE":{let B=new Ye(P);Ct(o,B,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Ct(o,B,B.clientAttrs);let Z=new Td(B,o.dateRanges[B.ID]);Z.isValid||o.skippedSegments?o.dateRanges[Z.id]=Z:k.warn(`Ignoring invalid DATERANGE tag: "${P}"`),p.tagList.push(["EXT-X-DATERANGE",P]);break}case"DEFINE":{{let B=new Ye(P);Ct(o,B,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in B?WR(o,B,a):NE(o,B,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(P);break;case"KEY":{let B=GE(P,t,o);if(B.isSupported()){if(B.method==="NONE"){b=void 0;break}b||(b={}),b[B.keyFormat]&&(b=et({},b)),b[B.keyFormat]=B}else k.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${P}"`);break}case"START":o.startTimeOffset=KE(P);break;case"MAP":{let B=new Ye(P);if(Ct(o,B,["BYTERANGE","URI"]),p.duration){let Z=new ka(s,t);YE(Z,B,r,b),d=Z,p.initSegment=d,d.rawProgramDateTime&&!p.rawProgramDateTime&&(p.rawProgramDateTime=d.rawProgramDateTime)}else{let Z=p.byteRangeEndOffset;if(Z){let Q=p.byteRangeStartOffset;A=`${Z-Q}@${Q}`}else A=null;YE(p,B,r,b),d=p,_=!0}break}case"SERVER-CONTROL":{let B=new Ye(P);o.canBlockReload=B.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=B.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&B.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=B.optionalFloat("PART-HOLD-BACK",0),o.holdBack=B.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let B=new Ye(P);o.partTarget=B.decimalFloatingPoint("PART-TARGET");break}case"PART":{let B=o.partList;B||(B=o.partList=[]);let Z=c>0?B[B.length-1]:void 0,Q=c++,Y=new Ye(P);Ct(o,Y,["BYTERANGE","URI"]);let he=new Tf(Y,p,t,Q,Z);B.push(he),p.duration+=he.duration;break}case"PRELOAD-HINT":{let B=new Ye(P);Ct(o,B,["URI"]),o.preloadHint=B;break}case"RENDITION-REPORT":{let B=new Ye(P);Ct(o,B,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(B);break}default:k.warn(`line parsed but not handled: ${g}`);break}}}m&&!m.relurl?(l.pop(),h-=m.duration,o.partList&&(o.fragmentHint=m)):o.partList&&(WE(p,m),p.cc=f,o.fragmentHint=p,b&&qE(p,b,o));let R=l.length,S=l[0],D=l[R-1];if(h+=o.skippedSegments*o.targetduration,h>0&&R&&D){o.averagetargetduration=h/R;let M=D.sn;o.endSN=M!=="initSegment"?M:0,o.live||(D.endList=!0),S&&(o.startCC=S.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,T>0&&eI(l,T),o}};function GE(i,e,t){var r,s;let n=new Ye(i);Ct(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&&k.error(`Invalid IV: ${n.IV}`);let c=o?ss.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Da(a,c,u,h,l)}function KE(i){let t=new Ye(i).decimalFloatingPoint("TIME-OFFSET");return z(t)?t:null}function JR(i,e){let t=(i||"").split(/[ ,]+/).filter(r=>r);["video","audio","text"].forEach(r=>{let s=t.filter(n=>qR(n,r));s.length&&(e[`${r}Codec`]=s.join(","),t=t.filter(n=>s.indexOf(n)===-1))}),e.unknownCodecs=t}function VE(i,e,t){let r=e[t];r&&(i[t]=r)}function eI(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 WE(i,e){i.rawProgramDateTime?i.programDateTime=Date.parse(i.rawProgramDateTime):e!=null&&e.programDateTime&&(i.programDateTime=e.endProgramDateTime),z(i.programDateTime)||(i.programDateTime=null,i.rawProgramDateTime=null)}function YE(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 qE(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 Ae={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},se={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function jE(i){let{type:e}=i;switch(e){case Ae.AUDIO_TRACK:return se.AUDIO;case Ae.SUBTITLE_TRACK:return se.SUBTITLE;default:return se.MAIN}}function of(i,e){let t=i.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var xf=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:Ae.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:Ae.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:Ae.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:Ae.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){k.trace("[playlist-loader]: playlist request ongoing");return}k.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===Ae.MANIFEST?n=r.manifestLoadPolicy.default:n=et({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),z((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===Ae.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===Ae.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===Ae.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=et({},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=of(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(T=>!T.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(k.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 Ye({}),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=of(e,r),c=0,h=z(l)?l:z(o)?o:0,f=jE(r),m=ss.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===Ae.MANIFEST){let p={attrs:new Ye({}),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:le.NETWORK_ERROR,details:C.MANIFEST_PARSING_ERROR,fatal:t.type===Ae.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===Ae.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===Ae.AUDIO_TRACK||e.type===Ae.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);k.warn(`[playlist-loader]: ${a}`);let l=C.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case Ae.MANIFEST:l=r?C.MANIFEST_LOAD_TIMEOUT:C.MANIFEST_LOAD_ERROR,d=!0;break;case Ae.LEVEL:l=r?C.LEVEL_LOAD_TIMEOUT:C.LEVEL_LOAD_ERROR,d=!1;break;case Ae.AUDIO_TRACK:l=r?C.AUDIO_TRACK_LOAD_TIMEOUT:C.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case Ae.SUBTITLE_TRACK:l=r?C.SUBTITLE_TRACK_LOAD_TIMEOUT:C.SUBTITLE_LOAD_ERROR,d=!1;break}u&&this.resetInternalLoader(e.type);let c={type:le.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=mt({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=of(t,s),m=jE(s),p=typeof s.level=="number"&&m===se.MAIN?d:void 0;if(!e.fragments.length){let E=new Error("No Segments found in Playlist");o.trigger(v.ERROR,{type:le.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:le.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 Ae.MANIFEST:case Ae.LEVEL:o.trigger(v.LEVEL_LOADED,{details:e,level:p||0,id:u||0,stats:r,networkDetails:n,deliveryDirectives:h});break;case Ae.AUDIO_TRACK:o.trigger(v.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break;case Ae.SUBTITLE_TRACK:o.trigger(v.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:r,networkDetails:n,deliveryDirectives:h});break}}};function Fb(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 Bb(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){k.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){k.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(i.mode=t)}function Tn(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 Rf(i,e,t,r){let s=i.mode;if(s==="disabled"&&(i.mode="hidden"),i.cues&&i.cues.length>0){let n=iI(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 tI(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 iI(i,e,t){let r=[],s=tI(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 md(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 ui={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},rI=.25;function If(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function zE(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?mt({type:s},r):r))}return n}var ad=(()=>{let i=If();try{i&&new i(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function lf(i,e){return i.getTime()/1e3-e}function sI(i){return Uint8Array.from(i.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var kf=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&&(Tn(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 Fb(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=If();if(a)for(let o=0;o<n.length;o++){let l=n[o].type;if(l===ui.emsg&&!r||!s)continue;let d=kb(n[o].data);if(d){let u=n[o].pts,c=u+n[o].duration;c>ad&&(c=ad),c-u<=0&&(c=u+rI);for(let f=0;f<d.length;f++){let m=d[f];if(!Ib(m)){this.updateId3CueEnds(u,l);let p=zE(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===ad&&(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===ui.audioId3&&l:s==="video"?d=u=>u.type===ui.emsg&&o:d=u=>u.type===ui.audioId3&&l||u.type===ui.emsg&&o,Rf(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||!z(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=If();for(let u=0;u<a.length;u++){let c=a[u],h=n[c],f=lf(h.startDate,l),m=r[c],p=(m==null?void 0:m.cues)||{},g=(m==null?void 0:m.durationKnown)||!1,E=ad,b=h.endDate;if(b)E=lf(b,l),g=!0;else if(h.endOnNext&&!g){let _=a.reduce((A,R)=>{if(R!==h.id){let S=n[R];if(S.class===h.class&&S.startDate>h.startDate&&(!A||h.startDate<A.startDate))return S}return A},null);_&&(E=lf(_.startDate,l),g=!0)}let T=Object.keys(h.attr);for(let _=0;_<T.length;_++){let A=T[_];if(!cR(A))continue;let R=p[A];if(R)g&&!m.durationKnown&&(R.endTime=E);else if(d){let S=h.attr[A];hR(A)&&(S=sI(S));let D=zE(d,f,E,{key:A,data:S},ui.dateRange);D&&(D.id=c,this.id3Track.addCue(D),p[A]=D)}}r[c]={cues:p,dateRange:h,durationKnown:g}}}},Lf=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;return d+Math.min(this.stallCount*1,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&&k.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}},wf=["NONE","TYPE-0","TYPE-1",null];function nI(i){return wf.indexOf(i)>-1}var Id=["SDR","PQ","HLG"];function aI(i){return!!i&&Id.indexOf(i)>-1}var pd={No:"",Yes:"YES",v2:"v2"};function XE(i){let{canSkipUntil:e,canSkipDateRanges:t,age:r}=i,s=r<e/2;return e&&s?t?pd.v2:pd.Yes:pd.No}var kd=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}},Er=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 QE(this._audioGroups,e)}hasSubtitleGroup(e){return QE(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 QE(i,e){return!e||!i?!1:i.indexOf(e)!==-1}function df(i,e){let t=e.startPTS;if(z(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 $b(i,e,t,r,s,n){r-t<=0&&(k.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(z(d)){let g=Math.abs(d-t);z(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--)df(p[f],p[f-1]);for(f=m;f<p.length-1;f++)df(p[f],p[f+1]);return i.fragmentHint&&df(p[p.length-1],i.fragmentHint),i.PTSKnown=i.alignedSliding=!0,c}function oI(i,e){let t=null,r=i.fragments;for(let o=r.length-1;o>=0;o--){let l=r[o].initSegment;if(l){t=l;break}}i.fragmentHint&&delete i.fragmentHint.endPTS;let s;uI(i,e,(o,l,d,u)=>{if(e.skippedSegments&&l.cc!==o.cc){let c=o.cc-l.cc;for(let h=d;h<u.length;h++)u[h].cc+=c}z(o.startPTS)&&z(o.endPTS)&&(l.start=l.startPTS=o.startPTS,l.startDTS=o.startDTS,l.maxStartPTS=o.maxStartPTS,l.endPTS=o.endPTS,l.endDTS=o.endDTS,l.minEndPTS=o.minEndPTS,l.duration=o.endPTS-o.startPTS,l.duration&&(s=l),e.PTSKnown=e.alignedSliding=!0),l.elementaryStreams=o.elementaryStreams,l.loader=o.loader,l.stats=o.stats,o.initSegment&&(l.initSegment=o.initSegment,t=o.initSegment)});let n=e.fragments;if(t&&(e.fragmentHint?n.concat(e.fragmentHint):n).forEach(l=>{var d;l&&(!l.initSegment||l.initSegment.relurl===((d=t)==null?void 0:d.relurl))&&(l.initSegment=t)}),e.skippedSegments){if(e.deltaUpdateFailed=n.some(o=>!o),e.deltaUpdateFailed){k.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let o=e.skippedSegments;o--;)n.shift();e.startSN=n[0].sn}else e.canSkipDateRanges&&(e.dateRanges=lI(i.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));e.startCC=e.fragments[0].cc,e.endCC=n[n.length-1].cc}dI(i.partList,e.partList,(o,l)=>{l.elementaryStreams=o.elementaryStreams,l.stats=o.stats}),s?$b(e,s,s.startPTS,s.endPTS,s.startDTS,s.endDTS):Hb(i,e),n.length&&(e.totalduration=e.edge-n[0].start),e.driftStartTime=i.driftStartTime,e.driftStart=i.driftStart;let a=e.advancedDateTime;if(e.advanced&&a){let o=e.edge;e.driftStart||(e.driftStartTime=a,e.driftStart=o),e.driftEndTime=a,e.driftEnd=o}else e.driftEndTime=i.driftEndTime,e.driftEnd=i.driftEnd,e.advancedDateTime=i.advancedDateTime}function lI(i,e,t){let r=et({},i);return t&&t.forEach(s=>{delete r[s]}),Object.keys(e).forEach(s=>{let n=new Td(e[s].attr,r[s]);n.isValid?r[s]=n:k.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),r}function dI(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 uI(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,d,o)}}function Hb(i,e){let t=e.startSN+e.skippedSegments-i.startSN,r=i.fragments;t<0||t>=r.length||Df(e,r[t].start)}function Df(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 cI(i,e=1/0){let t=1e3*i.targetduration;if(i.updated){let r=i.fragments;if(r.length&&t*4>e){let n=r[r.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function hI(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 ZE(i,e,t){var r;return i!=null&&i.details?Gb((r=i.details)==null?void 0:r.partList,e,t):null}function Gb(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 Kb(i){i.forEach((e,t)=>{let{details:r}=e;r!=null&&r.fragments&&r.fragments.forEach(s=>{s.level=t})})}function Ld(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 JE(i,e){let t=Ld(e);return i.default[`${t?"timeout":"error"}Retry`]}function Mm(i,e){let t=i.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*i.retryDelayMs,i.maxRetryDelayMs)}function eb(i){return mt(mt({},i),{errorRetry:null,timeoutRetry:null})}function wd(i,e,t,r){if(!i)return!1;let s=r==null?void 0:r.code,n=e<i.maxNumRetry&&(fI(s)||!!t);return i.shouldRetry?i.shouldRetry(i,e,t,r,n):n}function fI(i){return i===0&&navigator.onLine===!1||!!i&&(i<400||i>499)}var Vb={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 mI(i,e,t){if(e===null||!Array.isArray(i)||!i.length||!z(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(gI(e,t,a))return a}return null}function Dd(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)&&Cf(t,r,n)===0||pI(n,i,Math.min(s,r))))return n;let a=Vb.search(e,Cf.bind(null,t,r));return a&&(a!==i||!n)?a:n}function pI(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 Cf(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 gI(i,e,t){let r=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-r>i}function vI(i,e){return Vb.search(i,t=>t.cc<e?1:t.cc>e?-1:0)}var ht={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},oi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Mf=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=k.log.bind(k,"[info]:"),this.warn=k.warn.bind(k,"[warning]:"),this.error=k.error.bind(k,"[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)===se.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:ht.DoNothing,flags:oi.None};return}case C.FRAG_GAP:case C.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ht.SendAlternateToPenaltyBox;return}case C.LEVEL_EMPTY_ERROR:case C.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===se.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===Ae.AUDIO_TRACK&&d.hasAudioGroup(a.groupId)||a.type===Ae.SUBTITLE_TRACK&&d.hasSubtitleGroup(a.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=ht.SendAlternateToPenaltyBox,t.errorAction.flags=oi.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:ht.SendAlternateToPenaltyBox,flags:oi.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:ht.DoNothing,flags:oi.None};return}t.type===le.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=JE(r.config.playlistLoadPolicy,e),n=this.playlistError++;if(wd(s,n,Ld(e),e.response))return{action:ht.RetryRequest,flags:oi.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=JE(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++,wd(o,l,Ld(e),e.response)))return{action:ht.RetryRequest,flags:oi.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===se.AUDIO&&d===C.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:R})=>s.audioCodec!==R),T=e.sourceBufferName==="video"&&(d===C.BUFFER_ADD_CODEC_ERROR||d===C.BUFFER_APPEND_ERROR)&&c.some(({codecSet:R,audioCodec:S})=>s.codecSet!==R&&s.audioCodec===S),{type:_,groupId:A}=(a=e.context)!=null?a:{};for(let R=c.length;R--;){let S=(R+h)%c.length;if(S!==h&&S>=f&&S<=m&&c[S].loadError===0){var o,l;let D=c[S];if(d===C.FRAG_GAP&&p===se.MAIN&&e.frag){let M=c[S].details;if(M){let L=Dd(e.frag,M.fragments,e.frag.start);if(L!=null&&L.gap)continue}}else{if(_===Ae.AUDIO_TRACK&&D.hasAudioGroup(A)||_===Ae.SUBTITLE_TRACK&&D.hasSubtitleGroup(A))continue;if(p===se.AUDIO&&(o=s.audioGroups)!=null&&o.some(M=>D.hasAudioGroup(M))||p===se.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(M=>D.hasSubtitleGroup(M))||E&&s.audioCodec===D.audioCodec||!E&&s.audioCodec!==D.audioCodec||T&&s.codecSet===D.codecSet)continue}u=S;break}}if(u>-1&&r.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ht.SendAlternateToPenaltyBox,flags:oi.None,nextAutoLevel:u}}return{action:ht.SendAlternateToPenaltyBox,flags:oi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var r;switch((r=t.errorAction)==null?void 0:r.action){case ht.DoNothing:break;case ht.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 ht.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 oi.None:this.switchLevel(e,a);break;case oi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=wf[wf.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)}},Ma=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=k.log.bind(k,`${t}:`),this.warn=k.warn.bind(k,`${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){k.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&&XE(r);return new kd(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&&oI(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,b=s.endSN,T=s.lastPartIndex,_=T!==-1,A=E===b,R=g?0:T;_?(d=A?b+1:E,u=A?R:T+1):d=b+1;let S=s.age,D=S+s.ageHeader,M=Math.min(D-s.partTarget,s.targetduration*1.5);if(M>0){if(r&&M>r.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${r.tuneInGoal} to: ${M} with playlist age: ${s.age}`),M=0;else{let L=Math.floor(M/s.targetduration);if(d+=L,u!==void 0){let P=Math.round(M%s.targetduration/s.partTarget);u+=P}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${S.toFixed(2)}s goal: ${M} skip sn ${L} to part ${u}`)}s.tuneInGoal=M}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=cI(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=XE(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(r=t.msn,s=t.part,n=pd.No),new kd(r,s,n)}checkRetry(e){let t=e.details,r=Ld(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===ht.RetryRequest||!s.resolved&&n===ht.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=Mm(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}},vr=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_}},Pf=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 vr(e),this.fast_=new vr(t),this.defaultTTFB_=s,this.ttfb_=new vr(e)}update(e,t){let{slow_:r,fast_:s,ttfb_:n}=this;r.halfLife!==e&&(this.slow_=new vr(e,r.getEstimate(),r.getTotalWeight())),s.halfLife!==t&&(this.fast_=new vr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new vr(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(){}},Wb={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},tb={};function EI(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&&z(d)&&Object.keys(u).some(c=>parseInt(c)>d)}function bI(i,e,t){let r=i.videoCodec,s=i.audioCodec;if(!r||!s||!t)return Promise.resolve(Wb);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:mt(mt({},n),{},{contentType:Ca(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);z(h)&&h>2&&o.push.apply(o,s.split(",").map(f=>({type:"media-source",audio:{contentType:Ca(f,"audio"),channels:""+h}})))}}))}),Promise.all(o.map(l=>{let d=yI(l);return tb[d]||(tb[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 yI(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 TI(){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 _I(i,e){let t=!1,r=[];return i&&(t=i!=="SDR",r=[i]),e&&(r=e.allowedVideoRanges||Id.slice(0),t=e.preferHDR!==void 0?e.preferHDR:TI(),t?r=r.filter(s=>s!=="SDR"):r=["SDR"]),{preferHDR:t,allowedVideoRanges:r}}function AI(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}=_I(e,s);for(let A=n.length;A--;){let R=i[n[A]];d=R.channels[2]>0,c=Math.min(c,R.minHeight),h=Math.min(h,R.minFramerate),f=Math.min(f,R.minBitrate);let S=E.filter(D=>R.videoRanges[D]>0);S.length>0&&(u=!0,p=S)}c=z(c)?c:0,h=z(h)?h:0;let b=Math.max(1080,c),T=Math.max(30,h);return f=z(f)?f:t,t=Math.max(f,t),u||(e=void 0,p=[]),{codecSet:n.reduce((A,R)=>{let S=i[R];if(R===A)return A;if(S.minBitrate>t)return Zi(R,`min bitrate of ${S.minBitrate} > current estimate of ${t}`),A;if(!S.hasDefaultAudio)return Zi(R,"no renditions with default or auto-select sound found"),A;if(o&&R.indexOf(o.substring(0,4))%5!==0)return Zi(R,`audio codec preference "${o}" not found`),A;if(a&&!l){if(!S.channels[a])return Zi(R,`no renditions with ${a} channel sound found (channels options: ${Object.keys(S.channels)})`),A}else if((!o||l)&&d&&S.channels[2]===0)return Zi(R,"no renditions with stereo sound found"),A;return S.minHeight>b?(Zi(R,`min resolution of ${S.minHeight} > maximum of ${b}`),A):S.minFramerate>T?(Zi(R,`min framerate of ${S.minFramerate} > maximum of ${T}`),A):p.some(D=>S.videoRanges[D]>0)?S.maxScore<m?(Zi(R,`max score of ${S.maxScore} < selected max of ${m}`),A):A&&(xd(R)>=xd(A)||S.fragmentError>i[A].fragmentError)?A:(m=S.maxScore,R):(Zi(R,`no variants with VIDEO-RANGE of ${JSON.stringify(p)} found`),A)},void 0),videoRanges:p,preferHDR:g,minFramerate:h,minBitrate:f}}function Zi(i,e){k.log(`[abr] start candidates with "${i}" ignored because ${e}`)}function SI(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 xI(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 wi(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(os(i,s,t))return r}return-1}function os(i,e,t){let{groupId:r,name:s,lang:n,assocLang:a,default:o}=i,l=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)&&(o===void 0||e.default===o)&&(l===void 0||e.forced===l)&&(!("characteristics"in i)||RI(i.characteristics||"",e.characteristics))&&(t===void 0||t(i,e))}function RI(i,e=""){let t=i.split(","),r=e.split(",");return t.length===r.length&&!t.some(s=>r.indexOf(s)===-1)}function rs(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 II(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=ib(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 wi(i,m,s)>-1});return c>-1?c:ib(e,r,h=>{let f=h.audioGroups,m=t.filter(p=>!f||f.indexOf(p.groupId)!==-1);return wi(i,m,s)>-1})}function ib(i,e,t){for(let r=e;r>-1;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 Of=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,b=this.getBwEstimate(),T=s.levels,_=T[t.level],A=l.total||Math.max(l.loaded,Math.round(d*_.averageBitrate/8)),R=E?u-g:u;R<1&&E&&(R=Math.min(u,l.loaded*8/b));let S=E?l.loaded*1e3/R:0,D=S?(A-l.loaded)/S:A*8/b+f/1e3;if(D<=p)return;let M=S?S*8:b,L=Number.POSITIVE_INFINITY,P;for(P=t.level-1;P>c;P--){let B=T[P].maxBitrate;if(L=this.getTimeToLoadFrag(f/1e3,M,d*B,!T[P].details),L<p)break}if(L>=D||L>d*10)return;s.nextLoadLevel=s.nextAutoLevel=P,E?this.bwEstimator.sample(u-Math.min(f,g),l.loaded):this.bwEstimator.sampleTTFB(u);let U=T[P].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>U&&this.resetEstimator(U),this.clearTimer(),k.warn(`[abr] Fragment ${t.sn}${r?" part "+r.index:""} of level ${t.level} is loading too slowly;
|
|
1250
1256
|
Time to underbuffer: ${p.toFixed(3)} s
|
|
1251
1257
|
Estimated load time for current fragment: ${D.toFixed(3)} s
|
|
1252
1258
|
Estimated load time for down switch fragment: ${L.toFixed(3)} s
|
|
1253
1259
|
TTFB estimate: ${g|0} ms
|
|
1254
|
-
Current BW estimate: ${
|
|
1260
|
+
Current BW estimate: ${z(b)?b|0:"Unknown"} bps
|
|
1255
1261
|
New BW estimate: ${this.getBwEstimate()|0} bps
|
|
1256
|
-
Switching to level ${P} @ ${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&&(k.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 Of(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;j(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===re.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!==re.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 k.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,k.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(k.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 b=m[c],T=!!(b!=null&&(l=b.details)!=null&&l.live),_=g===-1||u===-1,A,R="SDR",S=(b==null?void 0:b.frameRate)||0,{audioPreference:D,videoPreference:M}=E,L=this.audioTracksByGroup||(this.audioTracksByGroup=AI(p));if(_){if(this.firstSelection!==-1)return this.firstSelection;let X=this.codecTiers||(this.codecTiers=SI(m,L,t,r)),W=_I(X,R,e,D,M),{codecSet:he,videoRanges:me,minFramerate:Y,minBitrate:K,preferHDR:ge}=W;A=he,R=ge?me[me.length-1]:me[0],S=Y,e=Math.max(e,K),k.log(`[abr] picked start tier ${JSON.stringify(W)}`)}else A=b==null?void 0:b.codecSet,R=b==null?void 0:b.videoRange;let P=f?f.duration:h?h.duration:0,U=this.bwEstimator.getEstimateTTFB()/1e3,B=[];for(let X=r;X>=t;X--){var Q;let W=m[X],he=X>c;if(!W)continue;if(E.useMediaCapabilities&&!W.supportedResult&&!W.supportedPromise){let $e=navigator.mediaCapabilities;typeof($e==null?void 0:$e.decodingInfo)=="function"&&vI(W,L,R,S,e,D)?(W.supportedPromise=EI(W,L,$e),W.supportedPromise.then(Ve=>{if(!this.hls)return;W.supportedResult=Ve;let qe=this.hls.levels,_t=qe.indexOf(W);Ve.error?k.warn(`[abr] MediaCapabilities decodingInfo error: "${Ve.error}" for level ${_t} ${JSON.stringify(Ve)}`):Ve.supported||(k.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${_t} ${JSON.stringify(Ve)}`),_t>-1&&qe.length>1&&(k.log(`[abr] Removing unsupported level ${_t}`),this.hls.removeLevel(_t)))})):W.supportedResult=Kb}if(A&&W.codecSet!==A||R&&W.videoRange!==R||he&&S>W.frameRate||!he&&S>0&&S<W.frameRate||W.supportedResult&&!((Q=W.supportedResult.decodingInfoResults)!=null&&Q[0].smooth)){B.push(X);continue}let me=W.details,Y=(f?me==null?void 0:me.partTarget:me==null?void 0:me.averagetargetduration)||P,K;he?K=o*e:K=a*e;let ge=P&&s>=P*2&&n===0?m[X].averageBitrate:m[X].maxBitrate,te=this.getTimeToLoadFrag(U,K,ge*Y,me===void 0);if(K>=ge&&(X===u||W.loadError===0&&W.fragmentError===0)&&(te<=U||!j(te)||T&&!this.bitrateTestDelay||te<d)){let $e=this.forcedAutoLevel;return X!==g&&($e===-1||$e!==g)&&(B.length&&k.trace(`[abr] Skipped level(s) ${B.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[B[0]].codecs}" ${m[B[0]].videoRange}; not compatible with "${b.codecs}" ${R}`),k.info(`[abr] switch candidate:${c}->${X} adjustedbw(${Math.round(K)})-bitrate=${Math.round(K-ge)} ttfb:${U.toFixed(1)} avgDuration:${Y.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${te.toFixed(1)} firstSelection:${_} codecSet:${A} videoRange:${R} hls.loadLevel:${g}`)),_&&(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)}},Uf=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(){}},ft={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Ff=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=En(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),od(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=En(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&&od(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||od(t))}getState(e){let t=En(e),r=this.fragments[t];return r?r.buffered?od(r)?ft.PARTIAL:ft.OK:ft.APPENDING:ft.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=En(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=En(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=En(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 od(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 En(i){return`${i.type}_${i.level}_${i.sn}`}var II={length:0,start:()=>0,end:()=>0},Ge=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 k.log("failed to get media.buffered",t),II}}},Pa=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=ld(),this.buffering={audio:ld(),video:ld(),audiovideo:ld()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function ld(){return{start:0,executeStart:0,executeEnd:0,end:0}}function gd(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 kI(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function LI(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){k.log("No fragments to align");return}let s=gd(t,r[0].cc);if(!s||s&&!s.startPTS){k.log("No frag in previous level to align on");return}return s}function tb(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function Vb(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)tb(t[r],i);e.fragmentHint&&tb(e.fragmentHint,i),e.alignedSliding=!0}function wI(i,e,t){e&&(DI(i,t,e),!t.alignedSliding&&e&&Cd(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&Bb(e,t))}function DI(i,e,t){if(kI(i,t,e)){let r=LI(t,e);r&&j(r.start)&&(k.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),Vb(r.start,e))}}function Cd(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=gd(r,a),n=gd(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=gd(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);Vb(d,i)}var ib=Math.pow(2,17),Bf=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 di({type:ne.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(sb(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=rb(e),c=ZE(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:ib};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 di({type:ne.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:mt({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 di({type:ne.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 di({type:ne.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(sb(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=rb(e,t),c=ZE(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:ib};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 di({type:ne.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:mt({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 di({type:ne.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 di({type:ne.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 rb(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(j(s)&&j(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 sb(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:ne.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 di(r)}var di=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},$f=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)}},Hf=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 CI(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?as(i,0,e-t):i}var Gf=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 b=f[m],T=f[b],_=f[T],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=_*16843009^T*65537^b*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=b^f[f[f[_^b]]],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],b,T;for(o=0;o<a;o++){if(o<n){b=d[o]=t[o];continue}T=b,o%n===0?(T=T<<8|T>>>24,T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255],T^=h[o/n|0]<<24):n>6&&o%n===4&&(T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255]),d[o]=b=(d[o-n]^T)>>>0}for(l=0;l<a;l++)o=a-l,l&3?T=d[o]:T=d[o-4],l<4||o<=4?u[l]=T:u[l]=m[c[T>>>24]]^p[c[T>>>16&255]]^g[c[T>>>8&255]]^E[c[T&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),b=new Int32Array(E.length),T,_,A,R,S,D,M,L,P,U,B,Q,X,W,he=this.networkToHostOrderSwap;for(;t<E.length;){for(P=he(E[t]),U=he(E[t+1]),B=he(E[t+2]),Q=he(E[t+3]),S=P^n[0],D=Q^n[1],M=B^n[2],L=U^n[3],X=4,W=1;W<s;W++)T=l[S>>>24]^d[D>>16&255]^u[M>>8&255]^c[L&255]^n[X],_=l[D>>>24]^d[M>>16&255]^u[L>>8&255]^c[S&255]^n[X+1],A=l[M>>>24]^d[L>>16&255]^u[S>>8&255]^c[D&255]^n[X+2],R=l[L>>>24]^d[S>>16&255]^u[D>>8&255]^c[M&255]^n[X+3],S=T,D=_,M=A,L=R,X=X+4;T=a[S>>>24]<<24^a[D>>16&255]<<16^a[M>>8&255]<<8^a[L&255]^n[X],_=a[D>>>24]<<24^a[M>>16&255]<<16^a[L>>8&255]<<8^a[S&255]^n[X+1],A=a[M>>>24]<<24^a[L>>16&255]<<16^a[S>>8&255]<<8^a[D&255]^n[X+2],R=a[L>>>24]<<24^a[S>>16&255]<<16^a[D>>8&255]<<8^a[M&255]^n[X+3],b[t]=he(T^f),b[t+1]=he(R^m),b[t+2]=he(A^p),b[t+3]=he(_^g),f=P,m=U,p=B,g=Q,t=t+4}return b.buffer}},MI=16,Oa=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?CI(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=qt(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 Gf),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=as(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 Hf(this.subtle,t)}return this.fastAesKey.expandKey().then(s=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new $f(this.subtle,new Uint8Array(r)).decrypt(e.buffer,s)):Promise.reject(new Error("web crypto not initialized"))).catch(s=>(k.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%MI;return r!==e.length&&(t=as(e,0,r),this.remainderData=as(e,r)),t}logOnce(e){this.logEnabled&&(k.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},PI={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}},O={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"},Na=class extends Uf{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=O.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.buffering=!0,this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=k.log.bind(k,`${s}:`),this.warn=k.warn.bind(k,`${s}:`),this.hls=e,this.fragmentLoader=new Bf(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Oa(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=O.STOPPED}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}_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 Ge.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===O.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=Ge.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${j(a)?a.toFixed(3):a}, state: ${n}`),this.state===O.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=O.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===O.FRAG_LOADING||!this.fragCurrent&&a===O.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=O.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===O.STOPPED||this.state===O.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)===ft.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,e.duration))&&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)===ft.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:ne.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===O.STOPPED||this.state===O.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=O.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===re.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?PI.toString(Ge.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==re.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=O.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=O.IDLE,o&&(!this.loadedmetadata&&e.type==re.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 Pa(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=O.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===O.KEY_LOADING&&(this.state=O.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=O.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))}`),j(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=O.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=XE(r,e.sn,c.index+1)||$b(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:ne.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!==O.PARSING){!this.fragCurrent&&this.state!==O.STOPPED&&this.state!==O.ERROR&&(this.state=O.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?XE(o,n,a):null,d=l?l.fragment:cI(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!==O.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=qt(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(!Ge.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=Ge.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 j(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=Ge.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 Ge.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,t){let r=this.config,s=Math.max(Math.min(e-t,r.maxBufferLength),t),n=Math.max(e-t*3,r.maxMaxBufferLength/2,s);return n>=s?(r.maxMaxBufferLength=n,this.warn(`Reduce max buffer length to ${n}s`),!0):!1}getAppendedFrag(e,t=re.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,re.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===ft.OK||r===ft.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=fI(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=gI(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=Dd(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===ft.OK||m===ft.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)!==ft.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&&j(n);if(a||!o&&!n){let{fragPrevious:l}=this;wI(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&&j(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!==O.FRAG_LOADING_WAITING_RETRY)&&(this.state=O.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===ht.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=Pm(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=O.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ht.RemoveAlternatePermanently&&(a.resolved=!0);else{k.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ht.SendAlternateToPenaltyBox?this.state=O.WAITING_LEVEL:this.state=O.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===O.PARSING||this.state===O.PARSED){let t=e.frag,r=e.parent,s=this.getFwdBufferInfo(this.mediaBuffer,r),n=s&&s.len>.5;n&&this.reduceMaxBufferLength(s.len,(t==null?void 0:t.duration)||10);let a=!n;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${r} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===re.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==O.STOPPED&&(this.state=O.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=Ge.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===O.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=O.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:Fb(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:ne.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=O.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}},Md=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=OI(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function OI(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 NI(){return typeof __HLS_WORKER_BUNDLE__=="function"}function UI(){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 FI(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Li(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var Ua=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=qt(this.cachedData,e),this.cachedData=null);let r=wa(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?Mm(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&j(l))&&(this.basePTS=BI(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:ui.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 ER(e,s)?(r=wa(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:ui.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=as(e,n);this.cachedData?this.cachedData=qt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:Li(),id3Track:o,textTrack:Li()}}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:Li(),id3Track:this._id3Track,textTrack:Li()}}destroy(){}},BI=(i,e,t)=>{if(j(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function $I(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:ne.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,k.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 Wb(i,e){return i[e]===255&&(i[e+1]&246)===240}function Yb(i,e){return i[e+1]&1?7:9}function Om(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function HI(i,e){return e+5<i.length}function Pd(i,e){return e+1<i.length&&Wb(i,e)}function GI(i,e){return HI(i,e)&&Wb(i,e)&&Om(i,e)<=i.length-e}function KI(i,e){if(Pd(i,e)){let t=Yb(i,e);if(e+t>=i.length)return!1;let r=Om(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||Pd(i,s)}return!1}function qb(i,e,t,r,s){if(!i.samplerate){let n=$I(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,k.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function jb(i){return 1024*9e4/i}function VI(i,e){let t=Yb(i,e);if(e+t<=i.length){let r=Om(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function zb(i,e,t,r,s){let n=jb(i.samplerate),a=r+s*n,o=VI(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 dd=null,WI=[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],YI=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],qI=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],jI=[0,1,1,4];function Xb(i,e,t,r,s){if(t+24>e.length)return;let n=Qb(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 Qb(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=WI[l*14+s-1]*1e3,c=YI[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=qI[t][r],m=jI[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(dd===null){let T=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);dd=T?parseInt(T[1]):0}return!!dd&&dd<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function Nm(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function Zb(i,e){return e+1<i.length&&Nm(i,e)}function zI(i,e){return Nm(i,e)&&4<=i.length-e}function Jb(i,e){if(e+1<i.length&&Nm(i,e)){let r=Qb(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||Zb(i,n)}return!1}var Kf=class extends Ua{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=wa(e,0),r=(t==null?void 0:t.length)||0;if(Jb(e,r))return!1;for(let s=e.length;r<s;r++)if(KI(e,r))return k.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return GI(e,t)}appendFrame(e,t,r){qb(e,this.observer,t,r,e.manifestCodec);let s=zb(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},XI=/\/emsg[-/]ID3/i,Vf=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=Li("video",1),a=this.audioTrack=Li("audio",1),o=this.txtTrack=Li("text",1);if(this.id3Track=Li("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=wb(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=Ib.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return IR(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=qt(this.remainderData,e));let o=OR(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=CE(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=CE(e,t),{videoTrack:t,audioTrack:Li(),id3Track:s,textTrack:Li()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=fe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=FR(n);if(XI.test(a.schemeIdUri)){let o=j(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:ui.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},ey=(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},Wf=class extends Ua{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=ty(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=wa(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&Mm(t)!==void 0&&ey(e,r)<16}};function ty(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,b=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),T=1536/o*9e4,_=r+s*T,A=e.subarray(t,t+u);return i.config=b,i.channelCount=p,i.samplerate=o,i.samples.push({unit:A,pts:_}),u}var Yf=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&&k.log(e.pts+"/"+e.dts+":"+e.debug)}},Od=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&&k.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 R=u();if(R===3&&h(1),m(),m(),h(1),c())for(a=R!==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 b=u(),T=u(),_=d(1);_===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((b+1)*16-e*2-t*2),height:(2-_)*(T+1)*16-(_?2:4)*(r+s),pixelRatio:A}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},qf=class extends Yf{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 Od(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,Cb(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new Od(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 b=p.subarray(1,4),T="avc1.";for(let _=0;_<3;_++){let A=b[_].toString(16);A.length<2&&(A="0"+A),T+=A}e.codec=T}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=qt(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=qt(f.data,t))}return e.naluState=s,a}},jf=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new Oa(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=Mb(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}}}},ct=188,zf=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 qf}static probe(e){let t=i.syncOffset(e);return t>0&&k.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ct*5,t-ct)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ct)if(e[l]===71&&(t-l===ct||e[l+ct]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ct*99,e.length-ct)+1)),n||(n=Xf(e,l)===0),n&&o>1&&(a===0&&o>2||l+ct>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:Ib[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,b=this._pmtId,T=e.length;if(this.remainderData&&(e=qt(this.remainderData,e),T=e.length,this.remainderData=null),T<ct&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let _=Math.max(0,i.syncOffset(e));T-=(T-_)%ct,T<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,T,e.buffer.byteLength-T));let A=0;for(let S=_;S<T;S+=ct)if(e[S]===71){let D=!!(e[S+1]&64),M=Xf(e,S),L=(e[S+3]&48)>>4,P;if(L>1){if(P=S+5+e[S+4],P===S+ct)continue}else P=S+4;switch(M){case u:D&&(c&&(n=bn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(P,S+ct)),c.size+=S+ct-P);break;case h:if(D){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(P,S+ct)),m.size+=S+ct-P);break;case f:D&&(p&&(n=bn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(P,S+ct)),p.size+=S+ct-P);break;case 0:D&&(P+=e[P]+1),b=this._pmtId=QI(e,P);break;case b:{D&&(P+=e[P]+1);let U=ZI(e,P,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&&(k.warn(`MPEG-TS PMT found at ${S} after unknown PID '${g}'. Backtracking to sync byte @${_} to parse all TS packets.`),g=null,S=_-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=M;break}}else A++;A>0&&Nd(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 R={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(R),R}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&&k.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 jf(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=qt(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&&!Pd(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",Nd(this.observer,new Error(c),h),!h)return}qb(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=jb(e.samplerate);l=s.sample.pts+c}else{k.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=zb(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!Pd(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){k.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(Zb(r,a)){let l=Xb(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){k.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=ty(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){k.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=et({},t,{type:this._videoTrack?ui.emsg:ui.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function Xf(i,e){return((i[e+1]&31)<<8)+i[e+2]}function QI(i,e){return(i[e+10]&31)<<8|i[e+11]}function ZI(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=Xf(i,e),u=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){cf("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){cf("H.264");break}case 27:n.videoPid===-1&&(n.videoPid=d,n.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?k.log("MPEG audio found, not supported in this browser"):n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="mp3");break;case 193:if(!r){cf("AC-3");break}case 129:t.ac3?n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="ac3"):k.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?k.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 Nd(s,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return Nd(s,new Error("Unsupported HEVC in M2TS found")),n}e+=u+5}return n}function Nd(i,e,t){k.warn(`parsing error: ${e.message}`),i.emit(v.ERROR,v.ERROR,{type:ne.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function cf(i){k.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]=qt(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&&(k.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 Qf=class extends Ua{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=wa(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&Mm(t)!==void 0&&ey(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(Jb(e,r))return k.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return zI(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return Xb(e,t,r,this.basePTS,this.frameIndex)}},Ud=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}}},gr=Math.pow(2,32)-1,st=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/(gr+1)),s=Math.floor(t%(gr+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/(gr+1)),s=Math.floor(t%(gr+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/(gr+1)),o=Math.floor(r%(gr+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/(gr+1)),a=Math.floor(t%(gr+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 qt(i.FTYP,t)}};st.types=void 0;st.HDLR_TYPES=void 0;st.STTS=void 0;st.STSC=void 0;st.STCO=void 0;st.STSZ=void 0;st.VMHD=void 0;st.SMHD=void 0;st.STSD=void 0;st.FTYP=void 0;st.DINF=void 0;var iy=9e4;function Um(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function JI(i,e,t=1,r=!1){return Um(i,e,1/t,r)}function Ra(i,e=!1){return Um(i,1e3,1/iy,e)}function ek(i,e=1){return Um(i,iy,1/e)}var tk=10*1e3,nb=1024,ik=1152,rk=1536,yn=null,hf=null,An=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,yn===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);yn=a?parseInt(a[1]):0}if(hf===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);hf=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){k.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){k.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){k.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e[0].pts,s=e.reduce((n,a)=>{let o=a.pts,l=o-n;return l<-4294967296&&(t=!0,o=Yt(o,r),l=o-n),l>0?n:o},r);return t&&k.debug("PTS rollover detected"),s}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,b=t.pid>-1,T=t.samples.length,_=e.samples.length>0,A=o&&T>0||T>1;if((!E||_)&&(!b||A)||this.ISGenerated||o){if(this.ISGenerated){var S,D,M,L;let Q=this.videoTrackConfig;Q&&(t.width!==Q.width||t.height!==Q.height||((S=t.pixelRatio)==null?void 0:S[0])!==((D=Q.pixelRatio)==null?void 0:D[0])||((M=t.pixelRatio)==null?void 0:M[1])!==((L=Q.pixelRatio)==null?void 0:L[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let P=this.isVideoContiguous,U=-1,B;if(A&&(U=sk(t.samples),!P&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,U>0){k.warn(`[mp4-remuxer]: Dropped ${U} out of ${T} video samples due to a missing keyframe`);let Q=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(U),t.dropped+=U,g+=(t.samples[0].pts-Q)/t.inputTimeScale,B=g}else U===-1&&(k.warn(`[mp4-remuxer]: No keyframe found out of ${T} video samples`),m=!1);if(this.ISGenerated){if(_&&A){let Q=this.getVideoStartPts(t.samples),W=(Yt(e.samples[0].pts,Q)-Q)/t.inputTimeScale;p+=Math.max(0,W),g+=Math.max(0,-W)}if(_){if(e.samplerate||(k.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,b||A||l===re.AUDIO?g:void 0),A){let Q=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(k.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,P,Q)}}else A&&(d=this.remuxVideo(t,g,P,0));d&&(d.firstKeyFrame=U,d.independent=U!==-1,d.firstKeyFramePTS=B)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=ry(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=sy(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):st.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:st.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,Yt(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 Y=t*n,K=a[0].pts-Yt(a[0].dts,a[0].pts);yn&&u!==null&&Math.abs(Y-K-u)<15e3?r=!0:u=Y-K}let b=d.baseTime*n/d.timescale;for(let Y=0;Y<l;Y++){let K=a[Y];K.pts=Yt(K.pts-b,u),K.dts=Yt(K.dts-b,u),K.dts<a[Y>0?Y-1:Y].dts&&(E=!0)}E&&a.sort(function(Y,K){let ge=Y.dts-K.dts,te=Y.pts-K.pts;return ge||te}),f=a[0].dts,m=a[a.length-1].dts;let T=m-f,_=T?Math.round(T/(l-1)):h||e.inputTimeScale/30;if(r){let Y=f-u,K=Y>_,ge=Y<-1;if((K||ge)&&(K?k.warn(`AVC: ${Ra(Y,!0)} ms (${Y}dts) hole between fragments detected at ${t.toFixed(3)}`):k.warn(`AVC: ${Ra(-Y,!0)} ms (${Y}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!ge||u>=a[0].pts||yn)){f=u;let te=a[0].pts-Y;if(K)a[0].dts=f,a[0].pts=te;else for(let _e=0;_e<a.length&&!(a[_e].dts>te);_e++)a[_e].dts-=Y,a[_e].pts-=Y;k.log(`Video: Initial PTS/DTS adjusted: ${Ra(te,!0)}/${Ra(f,!0)}, delta: ${Ra(Y,!0)} ms`)}}f=Math.max(0,f);let A=0,R=0,S=f;for(let Y=0;Y<l;Y++){let K=a[Y],ge=K.units,te=ge.length,_e=0;for(let $e=0;$e<te;$e++)_e+=ge[$e].data.length;R+=_e,A+=te,K.length=_e,K.dts<S?(K.dts=S,S+=_/4|0||1):S=K.dts,p=Math.min(K.pts,p),g=Math.max(K.pts,g)}m=a[l-1].dts;let D=R+4*A+8,M;try{M=new Uint8Array(D)}catch(Y){this.observer.emit(v.ERROR,v.ERROR,{type:ne.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:Y,bytes:D,reason:`fail allocating video mdat ${D}`});return}let L=new DataView(M.buffer);L.setUint32(0,D),M.set(st.types.mdat,4);let P=!1,U=Number.POSITIVE_INFINITY,B=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY,X=Number.NEGATIVE_INFINITY;for(let Y=0;Y<l;Y++){let K=a[Y],ge=K.units,te=0;for(let Ve=0,qe=ge.length;Ve<qe;Ve++){let _t=ge[Ve],ar=_t.data,$s=_t.data.byteLength;L.setUint32(c,$s),c+=4,M.set(ar,c),c+=$s,te+=4+$s}let _e;if(Y<l-1)h=a[Y+1].dts-K.dts,_e=a[Y+1].pts-K.pts;else{let Ve=this.config,qe=Y>0?K.dts-a[Y-1].dts:_;if(_e=Y>0?K.pts-a[Y-1].pts:_,Ve.stretchShortVideoTrack&&this.nextAudioPts!==null){let _t=Math.floor(Ve.maxBufferHole*n),ar=(s?p+s*n:this.nextAudioPts)-K.pts;ar>_t?(h=ar-qe,h<0?h=qe:P=!0,k.log(`[mp4-remuxer]: It is approximately ${ar/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=qe}else h=qe}let $e=Math.round(K.pts-K.dts);U=Math.min(U,h),Q=Math.max(Q,h),B=Math.min(B,_e),X=Math.max(X,_e),o.push(new Fd(K.key,h,te,$e))}if(o.length){if(yn){if(yn<70){let Y=o[0].flags;Y.dependsOn=2,Y.isNonSync=0}}else if(hf&&X-B<Q-U&&_/Q<.025&&o[0].cts===0){k.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Y=f;for(let K=0,ge=o.length;K<ge;K++){let te=Y+o[K].duration,_e=Y+o[K].cts;if(K<ge-1){let $e=te+o[K+1].cts;o[K].duration=$e-_e}else o[K].duration=K?o[K-1].duration:_;o[K].cts=0,Y=te}}}h=P||!h?_:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let me={data1:st.moof(e.sequenceNumber++,f,et({},e,{samples:o})),data2:M,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:"video",hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,me}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return ik;case"ac3":return rk;default:return nb}}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,b=t*a,T=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(b-E)<9e3||Math.abs(Yt(p[0].pts-T,b)-E)<20*u),p.forEach(function(W){W.pts=Yt(W.pts-T,b)}),!r||E<0){if(p=p.filter(W=>W.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,b):E=p[0].pts}if(e.segmentCodec==="aac"){let W=this.config.maxAudioFramesDrift;for(let he=0,me=E;he<p.length;he++){let Y=p[he],K=Y.pts,ge=K-me,te=Math.abs(1e3*ge/a);if(ge<=-W*u&&m)he===0&&(k.warn(`Audio frame @ ${(K/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*ge/a)} ms.`),this.nextAudioPts=E=me=K);else if(ge>=W*u&&te<tk&&m){let _e=Math.round(ge/u);me=K-_e*u,me<0&&(_e--,me+=u),he===0&&(this.nextAudioPts=E=me),k.warn(`[mp4-remuxer]: Injecting ${_e} audio frame @ ${(me/a).toFixed(3)}s due to ${Math.round(1e3*ge/a)} ms gap.`);for(let $e=0;$e<_e;$e++){let Ve=Math.max(me,0),qe=Ud.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);qe||(k.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),qe=Y.unit.subarray()),p.splice(he,0,{unit:qe,pts:Ve}),me+=u,he++}}Y.pts=me,me+=u}}let _=null,A=null,R,S=0,D=p.length;for(;D--;)S+=p[D].unit.byteLength;for(let W=0,he=p.length;W<he;W++){let me=p[W],Y=me.unit,K=me.pts;if(A!==null){let te=f[W-1];te.duration=Math.round((K-A)/l)}else if(r&&e.segmentCodec==="aac"&&(K=E),_=K,S>0){S+=g;try{R=new Uint8Array(S)}catch(te){this.observer.emit(v.ERROR,v.ERROR,{type:ne.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:te,bytes:S,reason:`fail allocating audio mdat ${S}`});return}h||(new DataView(R.buffer).setUint32(0,S),R.set(st.types.mdat,4))}else return;R.set(Y,g);let ge=Y.byteLength;g+=ge,f.push(new Fd(!0,d,ge,0)),A=K}let M=f.length;if(!M)return;let L=f[f.length-1];this.nextAudioPts=E=A+l*L.duration;let P=h?new Uint8Array(0):st.moof(e.sequenceNumber++,_/l,et({},e,{samples:f}));e.samples=[];let U=_/a,B=E/a,X={data1:P,data2:R,startPTS:U,endPTS:B,startDTS:U,endDTS:B,type:"audio",hasAudio:!0,hasVideo:!1,nb:M};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*nb,m=Math.ceil((h-c)/f),p=Ud.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(k.warn("[mp4-remuxer]: remux empty Audio"),!p){k.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 b=c+E*f;g.push({unit:p,pts:b,dts:b})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Yt(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 sk(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function ry(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=Yt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Yt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function sy(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=Yt(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 Fd=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}}},Zf=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(wR(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=wb(e);s.audio&&(t=ab(s.audio,De.AUDIO)),s.video&&(r=ab(s.video,De.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"}:k.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};j(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 k.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=CR(h,m),g=DR(m,h),E=g===null?n:g;(nk(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&k.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let b=e?E-d.baseTime/d.timescale:u,T=b+p;PR(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=T:(k.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let _=!!m.audio,A=!!m.video,R="";_&&(R+="audio"),A&&(R+="video");let S={data1:h,startPTS:b,startDTS:b,endPTS:T,endDTS:T,type:R,hasAudio:_,hasVideo:A,nb:1,dropped:0};return c.audio=S.type==="audio"?S:void 0,c.video=S.type!=="audio"?S:void 0,c.initSegment=f,c.id3=ry(r,n,d,d),s.samples.length&&(c.text=sy(s,n,d)),c}};function nk(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 ab(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===De.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return Rd(t,!1);let r="mp4a.40.5";return k.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return k.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var er;try{er=self.performance.now.bind(self.performance)}catch{k.debug("Unable to use Performance API on this environment"),er=xn==null?void 0:xn.Date.now}var vd=[{demux:Vf,remux:Zf},{demux:zf,remux:An},{demux:Kf,remux:An},{demux:Qf,remux:An}];vd.splice(2,0,{demux:Wf,remux:An});var Bd=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=er();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:b,initSegmentData:T}=l,_=ak(a,t);if(_&&_.method==="AES-128"){let D=this.getDecrypter();if(D.isSync()){let M=D.softwareDecrypt(a,_.key.buffer,_.iv.buffer);if(r.part>-1&&(M=D.flush()),!M)return n.executeEnd=er(),ff(r);a=new Uint8Array(M)}else return this.decryptionPromise=D.webCryptoDecrypt(a,_.key.buffer,_.iv.buffer).then(M=>{let L=this.push(M,null,r);return this.decryptionPromise=null,L}),this.decryptionPromise}let A=this.needsProbing(u,c);if(A){let D=this.configureTransmuxer(a);if(D)return k.warn(`[transmuxer] ${D.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:ne.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:D,reason:D.message}),n.executeEnd=er(),ff(r)}(u||c||m||A)&&this.resetInitSegment(T,p,g,b,t),(u||m||A)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let R=this.transmux(a,_,f,h,r),S=this.currentTransmuxState;return S.contiguous=!0,S.discontinuity=!1,S.trackSwitch=!1,n.executeEnd=er(),R}flush(e){let t=e.transmuxing;t.executeStart=er();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=er(),[ff(e)];let u=l.flush(o);return Ed(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;k.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=er()}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=vd.length;h<f;h++){var o;if((o=vd[h].demux)!=null&&o.probe(e)){a=vd[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 Oa(this.config)),e}};function ak(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 ff=i=>({remuxResult:{},chunkMeta:i});function Ed(i){return"then"in i&&i.then instanceof Function}var Jf=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}},em=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}},ny={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,b,T;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(T=1,b=new Array(E-1);T<E;T++)b[T-1]=arguments[T];g.fn.apply(g.context,b)}else{var _=g.length,A;for(T=0;T<_;T++)switch(g[T].once&&this.removeListener(d,g[T].fn,void 0,!0),E){case 1:g[T].fn.call(g[T].context);break;case 2:g[T].fn.call(g[T].context,u);break;case 3:g[T].fn.call(g[T].context,u,c);break;case 4:g[T].fn.call(g[T].context,u,c,h);break;default:if(!b)for(A=1,b=new Array(E-1);A<E;A++)b[A-1]=arguments[A];g[T].fn.apply(g[T].context,b)}}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})(ny);var ok=ny.exports,Fm=eR(ok),$d=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 Fm,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=ls(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||NI())){try{n.workerPath?(k.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=FI(n.workerPath)):(k.log(`injecting Web Worker for "${t}"`),this.workerContext=UI()),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,k.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:ne.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){k.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new Bd(this.observer,l,n,"",t)}return}this.transmuxer=new Bd(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),b=!(g&&d.level===g.level),T=g?d.sn-g.sn:-1,_=this.part?d.part-this.part.index:-1,A=T===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),R=!b&&(T===1||T===0&&(_===1||A&&_<=0)),S=self.performance.now();(b||T||n.stats.parsing.start===0)&&(n.stats.parsing.start=S),a&&(_||!R)&&(a.stats.parsing.start=S);let D=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),M=new em(E,R,l,b,m,D);if(!R||E||D){k.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
|
|
1262
|
+
Switching to level ${P} @ ${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&&(k.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 Pf(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;z(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===se.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!==se.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 k.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,k.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(k.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 b=m[c],T=!!(b!=null&&(l=b.details)!=null&&l.live),_=g===-1||u===-1,A,R="SDR",S=(b==null?void 0:b.frameRate)||0,{audioPreference:D,videoPreference:M}=E,L=this.audioTracksByGroup||(this.audioTracksByGroup=SI(p));if(_){if(this.firstSelection!==-1)return this.firstSelection;let Q=this.codecTiers||(this.codecTiers=xI(m,L,t,r)),Y=AI(Q,R,e,D,M),{codecSet:he,videoRanges:me,minFramerate:q,minBitrate:K,preferHDR:ge}=Y;A=he,R=ge?me[me.length-1]:me[0],S=q,e=Math.max(e,K),k.log(`[abr] picked start tier ${JSON.stringify(Y)}`)}else A=b==null?void 0:b.codecSet,R=b==null?void 0:b.videoRange;let P=f?f.duration:h?h.duration:0,U=this.bwEstimator.getEstimateTTFB()/1e3,B=[];for(let Q=r;Q>=t;Q--){var Z;let Y=m[Q],he=Q>c;if(!Y)continue;if(E.useMediaCapabilities&&!Y.supportedResult&&!Y.supportedPromise){let He=navigator.mediaCapabilities;typeof(He==null?void 0:He.decodingInfo)=="function"&&EI(Y,L,R,S,e,D)?(Y.supportedPromise=bI(Y,L,He),Y.supportedPromise.then(Ve=>{if(!this.hls)return;Y.supportedResult=Ve;let qe=this.hls.levels,_t=qe.indexOf(Y);Ve.error?k.warn(`[abr] MediaCapabilities decodingInfo error: "${Ve.error}" for level ${_t} ${JSON.stringify(Ve)}`):Ve.supported||(k.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${_t} ${JSON.stringify(Ve)}`),_t>-1&&qe.length>1&&(k.log(`[abr] Removing unsupported level ${_t}`),this.hls.removeLevel(_t)))})):Y.supportedResult=Wb}if(A&&Y.codecSet!==A||R&&Y.videoRange!==R||he&&S>Y.frameRate||!he&&S>0&&S<Y.frameRate||Y.supportedResult&&!((Z=Y.supportedResult.decodingInfoResults)!=null&&Z[0].smooth)){B.push(Q);continue}let me=Y.details,q=(f?me==null?void 0:me.partTarget:me==null?void 0:me.averagetargetduration)||P,K;he?K=o*e:K=a*e;let ge=P&&s>=P*2&&n===0?m[Q].averageBitrate:m[Q].maxBitrate,ie=this.getTimeToLoadFrag(U,K,ge*q,me===void 0);if(K>=ge&&(Q===u||Y.loadError===0&&Y.fragmentError===0)&&(ie<=U||!z(ie)||T&&!this.bitrateTestDelay||ie<d)){let He=this.forcedAutoLevel;return Q!==g&&(He===-1||He!==g)&&(B.length&&k.trace(`[abr] Skipped level(s) ${B.join(",")} of ${r} max with CODECS and VIDEO-RANGE:"${m[B[0]].codecs}" ${m[B[0]].videoRange}; not compatible with "${b.codecs}" ${R}`),k.info(`[abr] switch candidate:${c}->${Q} adjustedbw(${Math.round(K)})-bitrate=${Math.round(K-ge)} ttfb:${U.toFixed(1)} avgDuration:${q.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${ie.toFixed(1)} firstSelection:${_} codecSet:${A} videoRange:${R} hls.loadLevel:${g}`)),_&&(this.firstSelection=Q),Q}}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)}},Nf=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(){}},ft={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Uf=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=En(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),od(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=En(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&&od(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||od(t))}getState(e){let t=En(e),r=this.fragments[t];return r?r.buffered?od(r)?ft.PARTIAL:ft.OK:ft.APPENDING:ft.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=En(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=En(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=En(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 od(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 En(i){return`${i.type}_${i.level}_${i.sn}`}var kI={length:0,start:()=>0,end:()=>0},Ge=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 k.log("failed to get media.buffered",t),kI}}},Pa=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=ld(),this.buffering={audio:ld(),video:ld(),audiovideo:ld()},this.level=e,this.sn=t,this.id=r,this.size=s,this.part=n,this.partial=a}};function ld(){return{start:0,executeStart:0,executeEnd:0,end:0}}function gd(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 LI(i,e,t){return!!(e&&(t.endCC>t.startCC||i&&i.cc<t.startCC))}function wI(i,e){let t=i.fragments,r=e.fragments;if(!r.length||!t.length){k.log("No fragments to align");return}let s=gd(t,r[0].cc);if(!s||s&&!s.startPTS){k.log("No frag in previous level to align on");return}return s}function rb(i,e){if(i){let t=i.start+e;i.start=i.startPTS=t,i.endPTS=t+i.duration}}function Yb(i,e){let t=e.fragments;for(let r=0,s=t.length;r<s;r++)rb(t[r],i);e.fragmentHint&&rb(e.fragmentHint,i),e.alignedSliding=!0}function DI(i,e,t){e&&(CI(i,t,e),!t.alignedSliding&&e&&Cd(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&Hb(e,t))}function CI(i,e,t){if(LI(i,t,e)){let r=wI(t,e);r&&z(r.start)&&(k.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),Yb(r.start,e))}}function Cd(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=gd(r,a),n=gd(t,a)),(!s||!n)&&(s=r[Math.floor(r.length/2)],n=gd(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);Yb(d,i)}var sb=Math.pow(2,17),Ff=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 di({type:le.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(ab(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),u=nb(e),c=eb(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:sb};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 di({type:le.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:mt({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 di({type:le.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 di({type:le.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(ab(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),u=nb(e,t),c=eb(s.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:sb};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 di({type:le.NETWORK_ERROR,details:C.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:mt({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 di({type:le.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 di({type:le.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 nb(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(z(s)&&z(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 ab(i,e){let t=new Error(`GAP ${i.gap?"tag":"attribute"} found`),r={type:le.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 di(r)}var di=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},Bf=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)}},$f=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 MI(i){let e=i.byteLength,t=e&&new DataView(i.buffer).getUint8(e-1);return t?as(i,0,e-t):i}var Hf=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 b=f[m],T=f[b],_=f[T],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=_*16843009^T*65537^b*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=b^f[f[f[_^b]]],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],b,T;for(o=0;o<a;o++){if(o<n){b=d[o]=t[o];continue}T=b,o%n===0?(T=T<<8|T>>>24,T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255],T^=h[o/n|0]<<24):n>6&&o%n===4&&(T=c[T>>>24]<<24|c[T>>>16&255]<<16|c[T>>>8&255]<<8|c[T&255]),d[o]=b=(d[o-n]^T)>>>0}for(l=0;l<a;l++)o=a-l,l&3?T=d[o]:T=d[o-4],l<4||o<=4?u[l]=T:u[l]=m[c[T>>>24]]^p[c[T>>>16&255]]^g[c[T>>>8&255]]^E[c[T&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),b=new Int32Array(E.length),T,_,A,R,S,D,M,L,P,U,B,Z,Q,Y,he=this.networkToHostOrderSwap;for(;t<E.length;){for(P=he(E[t]),U=he(E[t+1]),B=he(E[t+2]),Z=he(E[t+3]),S=P^n[0],D=Z^n[1],M=B^n[2],L=U^n[3],Q=4,Y=1;Y<s;Y++)T=l[S>>>24]^d[D>>16&255]^u[M>>8&255]^c[L&255]^n[Q],_=l[D>>>24]^d[M>>16&255]^u[L>>8&255]^c[S&255]^n[Q+1],A=l[M>>>24]^d[L>>16&255]^u[S>>8&255]^c[D&255]^n[Q+2],R=l[L>>>24]^d[S>>16&255]^u[D>>8&255]^c[M&255]^n[Q+3],S=T,D=_,M=A,L=R,Q=Q+4;T=a[S>>>24]<<24^a[D>>16&255]<<16^a[M>>8&255]<<8^a[L&255]^n[Q],_=a[D>>>24]<<24^a[M>>16&255]<<16^a[L>>8&255]<<8^a[S&255]^n[Q+1],A=a[M>>>24]<<24^a[L>>16&255]<<16^a[S>>8&255]<<8^a[D&255]^n[Q+2],R=a[L>>>24]<<24^a[S>>16&255]<<16^a[D>>8&255]<<8^a[M&255]^n[Q+3],b[t]=he(T^f),b[t+1]=he(R^m),b[t+2]=he(A^p),b[t+3]=he(_^g),f=P,m=U,p=B,g=Z,t=t+4}return b.buffer}},PI=16,Oa=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?MI(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=qt(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 Hf),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,r),this.currentIV=as(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 $f(this.subtle,t)}return this.fastAesKey.expandKey().then(s=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Bf(this.subtle,new Uint8Array(r)).decrypt(e.buffer,s)):Promise.reject(new Error("web crypto not initialized"))).catch(s=>(k.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%PI;return r!==e.length&&(t=as(e,0,r),this.remainderData=as(e,r)),t}logOnce(e){this.logEnabled&&(k.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},OI={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}},O={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"},Na=class extends Nf{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=O.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.buffering=!0,this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=k.log.bind(k,`${s}:`),this.warn=k.warn.bind(k,`${s}:`),this.hls=e,this.fragmentLoader=new Ff(e.config),this.keyLoader=r,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Oa(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=O.STOPPED}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}_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 Ge.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===O.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=Ge.bufferInfo(s||r,a,e.maxBufferHole);if(this.log(`media seeking to ${z(a)?a.toFixed(3):a}, state: ${n}`),this.state===O.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=O.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===O.FRAG_LOADING||!this.fragCurrent&&a===O.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=O.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===O.STOPPED||this.state===O.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)===ft.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,e.duration))&&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)===ft.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:le.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===O.STOPPED||this.state===O.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=O.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===se.MAIN?"level":"track"} ${e.level} (frag:[${((r=e.startPTS)!=null?r:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?OI.toString(Ge.getBuffered(o)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==se.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=O.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=O.IDLE,o&&(!this.loadedmetadata&&e.type==se.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 Pa(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=O.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===O.KEY_LOADING&&(this.state=O.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=O.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))}`),z(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=O.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=ZE(r,e.sn,c.index+1)||Gb(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:le.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!==O.PARSING){!this.fragCurrent&&this.state!==O.STOPPED&&this.state!==O.ERROR&&(this.state=O.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?ZE(o,n,a):null,d=l?l.fragment:hI(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!==O.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=qt(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(!Ge.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let r=t.currentTime,s=Ge.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 z(r)?this.getFwdBufferInfoAtPos(e,r,t):null}getFwdBufferInfoAtPos(e,t,r){let{config:{maxBufferHole:s}}=this,n=Ge.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 Ge.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,t){let r=this.config,s=Math.max(Math.min(e-t,r.maxBufferLength),t),n=Math.max(e-t*3,r.maxMaxBufferLength/2,s);return n>=s?(r.maxMaxBufferLength=n,this.warn(`Reduce max buffer length to ${n}s`),!0):!1}getAppendedFrag(e,t=se.MAIN){let r=this.fragmentTracker.getAppendedFrag(e,se.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===ft.OK||r===ft.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=mI(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=vI(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=Dd(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===ft.OK||m===ft.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)!==ft.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&&z(n);if(a||!o&&!n){let{fragPrevious:l}=this;DI(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&&z(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!==O.FRAG_LOADING_WAITING_RETRY)&&(this.state=O.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===ht.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=Mm(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=O.FRAG_LOADING_WAITING_RETRY}else if(d&&a)if(this.resetFragmentErrors(e),l<d.maxNumRetry)!n&&o!==ht.RemoveAlternatePermanently&&(a.resolved=!0);else{k.warn(`${t.details} reached or exceeded max retry (${l})`);return}else(a==null?void 0:a.action)===ht.SendAlternateToPenaltyBox?this.state=O.WAITING_LEVEL:this.state=O.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===O.PARSING||this.state===O.PARSED){let t=e.frag,r=e.parent,s=this.getFwdBufferInfo(this.mediaBuffer,r),n=s&&s.len>.5;n&&this.reduceMaxBufferLength(s.len,(t==null?void 0:t.duration)||10);let a=!n;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${r} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===se.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==O.STOPPED&&(this.state=O.IDLE)}afterBufferFlushed(e,t,r){if(!e)return;let s=Ge.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,r),this.state===O.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=O.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:$b(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:le.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=O.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}},Md=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=NI(e,t);else return new Uint8Array(0);return this.reset(),r}reset(){this.chunks.length=0,this.dataLength=0}};function NI(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 UI(){return typeof __HLS_WORKER_BUNDLE__=="function"}function FI(){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 BI(i){let e=new self.URL(i,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Li(i="",e=9e4){return{type:i,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var Ua=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=qt(this.cachedData,e),this.cachedData=null);let r=wa(e,0),s=r?r.length:0,n,a=this._audioTrack,o=this._id3Track,l=r?Cm(r):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&z(l))&&(this.basePTS=$I(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:ui.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 bR(e,s)?(r=wa(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:ui.audioId3,duration:Number.POSITIVE_INFINITY}),s+=r.length,n=s):s++;if(s===d&&n!==d){let u=as(e,n);this.cachedData?this.cachedData=qt(this.cachedData,u):this.cachedData=u}}return{audioTrack:a,videoTrack:Li(),id3Track:o,textTrack:Li()}}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:Li(),id3Track:this._id3Track,textTrack:Li()}}destroy(){}},$I=(i,e,t)=>{if(z(i))return i*90;let r=t?t.baseTime*9e4/t.timescale:0;return e*9e4+r};function HI(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:le.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,k.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 qb(i,e){return i[e]===255&&(i[e+1]&246)===240}function jb(i,e){return i[e+1]&1?7:9}function Pm(i,e){return(i[e+3]&3)<<11|i[e+4]<<3|(i[e+5]&224)>>>5}function GI(i,e){return e+5<i.length}function Pd(i,e){return e+1<i.length&&qb(i,e)}function KI(i,e){return GI(i,e)&&qb(i,e)&&Pm(i,e)<=i.length-e}function VI(i,e){if(Pd(i,e)){let t=jb(i,e);if(e+t>=i.length)return!1;let r=Pm(i,e);if(r<=t)return!1;let s=e+r;return s===i.length||Pd(i,s)}return!1}function zb(i,e,t,r,s){if(!i.samplerate){let n=HI(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,k.log(`parsed codec:${i.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function Xb(i){return 1024*9e4/i}function WI(i,e){let t=jb(i,e);if(e+t<=i.length){let r=Pm(i,e)-t;if(r>0)return{headerLength:t,frameLength:r}}}function Qb(i,e,t,r,s){let n=Xb(i.samplerate),a=r+s*n,o=WI(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 dd=null,YI=[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],qI=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],jI=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],zI=[0,1,1,4];function Zb(i,e,t,r,s){if(t+24>e.length)return;let n=Jb(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 Jb(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=YI[l*14+s-1]*1e3,c=qI[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=jI[t][r],m=zI[r],p=f*8*m,g=Math.floor(f*d/c+a)*m;if(dd===null){let T=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);dd=T?parseInt(T[1]):0}return!!dd&&dd<=87&&r===2&&d>=224e3&&o===0&&(i[e+3]=i[e+3]|128),{sampleRate:c,channelCount:h,frameLength:g,samplesPerFrame:p}}}function Om(i,e){return i[e]===255&&(i[e+1]&224)===224&&(i[e+1]&6)!==0}function ey(i,e){return e+1<i.length&&Om(i,e)}function XI(i,e){return Om(i,e)&&4<=i.length-e}function ty(i,e){if(e+1<i.length&&Om(i,e)){let r=Jb(i,e),s=4;r!=null&&r.frameLength&&(s=r.frameLength);let n=e+s;return n===i.length||ey(i,n)}return!1}var Gf=class extends Ua{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=wa(e,0),r=(t==null?void 0:t.length)||0;if(ty(e,r))return!1;for(let s=e.length;r<s;r++)if(VI(e,r))return k.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return KI(e,t)}appendFrame(e,t,r){zb(e,this.observer,t,r,e.manifestCodec);let s=Qb(e,t,r,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},QI=/\/emsg[-/]ID3/i,Kf=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=Li("video",1),a=this.audioTrack=Li("audio",1),o=this.txtTrack=Li("text",1);if(this.id3Track=Li("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=Cb(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=Lb.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return kR(e)}demux(e,t){this.timeOffset=t;let r=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(r=qt(this.remainderData,e));let o=NR(r);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=r;let a=this.extractID3Track(s,t);return n.samples=PE(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=PE(e,t),{videoTrack:t,audioTrack:Li(),id3Track:s,textTrack:Li()}}extractID3Track(e,t){let r=this.id3Track;if(e.samples.length){let s=fe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=BR(n);if(QI.test(a.schemeIdUri)){let o=z(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:ui.emsg,duration:l})}})}return r}demuxSampleAes(e,t,r){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},iy=(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},Vf=class extends Ua{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=ry(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=wa(e,0);if(!t)return!1;let r=t.length;return e[r]===11&&e[r+1]===119&&Cm(t)!==void 0&&iy(e,r)<16}};function ry(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,b=new Uint8Array([n<<6|g<<1|E>>2,(E&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),T=1536/o*9e4,_=r+s*T,A=e.subarray(t,t+u);return i.config=b,i.channelCount=p,i.samplerate=o,i.samples.push({unit:A,pts:_}),u}var Wf=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&&k.log(e.pts+"/"+e.dts+":"+e.debug)}},Od=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&&k.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 R=u();if(R===3&&h(1),m(),m(),h(1),c())for(a=R!==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 b=u(),T=u(),_=d(1);_===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((b+1)*16-e*2-t*2),height:(2-_)*(T+1)*16-(_?2:4)*(r+s),pixelRatio:A}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},Yf=class extends Wf{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 Od(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,Pb(u.data,1,r.pts,t.samples);break}case 7:{var f,m;l=!0,d=!0;let p=u.data,E=new Od(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 b=p.subarray(1,4),T="avc1.";for(let _=0;_<3;_++){let A=b[_].toString(16);A.length<2&&(A="0"+A),T+=A}e.codec=T}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=qt(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=qt(f.data,t))}return e.naluState=s,a}},qf=class{constructor(e,t,r){this.keyData=void 0,this.decrypter=void 0,this.keyData=r,this.decrypter=new Oa(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=Ob(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}}}},ct=188,jf=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 Yf}static probe(e){let t=i.syncOffset(e);return t>0&&k.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,r=Math.min(ct*5,t-ct)+1,s=0;for(;s<r;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=ct)if(e[l]===71&&(t-l===ct||e[l+ct]===71)){if(o++,a===-1&&(a=l,a!==0&&(r=Math.min(a+ct*99,e.length-ct)+1)),n||(n=zf(e,l)===0),n&&o>1&&(a===0&&o>2||l+ct>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:Lb[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,b=this._pmtId,T=e.length;if(this.remainderData&&(e=qt(this.remainderData,e),T=e.length,this.remainderData=null),T<ct&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let _=Math.max(0,i.syncOffset(e));T-=(T-_)%ct,T<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,T,e.buffer.byteLength-T));let A=0;for(let S=_;S<T;S+=ct)if(e[S]===71){let D=!!(e[S+1]&64),M=zf(e,S),L=(e[S+3]&48)>>4,P;if(L>1){if(P=S+5+e[S+4],P===S+ct)continue}else P=S+4;switch(M){case u:D&&(c&&(n=bn(c))&&this.videoParser.parseAVCPES(a,d,n,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(P,S+ct)),c.size+=S+ct-P);break;case h:if(D){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(P,S+ct)),m.size+=S+ct-P);break;case f:D&&(p&&(n=bn(p))&&this.parseID3PES(l,n),p={data:[],size:0}),p&&(p.data.push(e.subarray(P,S+ct)),p.size+=S+ct-P);break;case 0:D&&(P+=e[P]+1),b=this._pmtId=ZI(e,P);break;case b:{D&&(P+=e[P]+1);let U=JI(e,P,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&&(k.warn(`MPEG-TS PMT found at ${S} after unknown PID '${g}'. Backtracking to sync byte @${_} to parse all TS packets.`),g=null,S=_-188),E=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=M;break}}else A++;A>0&&Nd(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 R={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples(R),R}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&&k.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 qf(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=qt(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&&!Pd(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",Nd(this.observer,new Error(c),h),!h)return}zb(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let c=Xb(e.samplerate);l=s.sample.pts+c}else{k.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,u;for(;a<o;)if(u=Qb(e,n,a,l,d),a+=u.length,u.missing){this.aacOverFlow=u;break}else for(d++;a<o-1&&!Pd(n,a);a++);}parseMPEGPES(e,t){let r=t.data,s=r.length,n=0,a=0,o=t.pts;if(o===void 0){k.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(ey(r,a)){let l=Zb(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){k.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let n=r.length,a=0,o=0,l;for(;o<n&&(l=ry(e,r,o,s,a++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){k.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let r=et({},t,{type:this._videoTrack?ui.emsg:ui.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(r)}};function zf(i,e){return((i[e+1]&31)<<8)+i[e+2]}function ZI(i,e){return(i[e+10]&31)<<8|i[e+11]}function JI(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=zf(i,e),u=(i[e+3]&15)<<8|i[e+4];switch(i[e]){case 207:if(!r){uf("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){uf("H.264");break}case 27:n.videoPid===-1&&(n.videoPid=d,n.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?k.log("MPEG audio found, not supported in this browser"):n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="mp3");break;case 193:if(!r){uf("AC-3");break}case 129:t.ac3?n.audioPid===-1&&(n.audioPid=d,n.segmentAudioCodec="ac3"):k.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?k.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 Nd(s,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return Nd(s,new Error("Unsupported HEVC in M2TS found")),n}e+=u+5}return n}function Nd(i,e,t){k.warn(`parsing error: ${e.message}`),i.emit(v.ERROR,v.ERROR,{type:le.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function uf(i){k.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]=qt(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&&(k.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 Xf=class extends Ua{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=wa(e,0),r=(t==null?void 0:t.length)||0;if(t&&e[r]===11&&e[r+1]===119&&Cm(t)!==void 0&&iy(e,r)<=16)return!1;for(let s=e.length;r<s;r++)if(ty(e,r))return k.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return XI(e,t)}appendFrame(e,t,r){if(this.basePTS!==null)return Zb(e,t,r,this.basePTS,this.frameIndex)}},Ud=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}}},gr=Math.pow(2,32)-1,st=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/(gr+1)),s=Math.floor(t%(gr+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/(gr+1)),s=Math.floor(t%(gr+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/(gr+1)),o=Math.floor(r%(gr+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/(gr+1)),a=Math.floor(t%(gr+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 qt(i.FTYP,t)}};st.types=void 0;st.HDLR_TYPES=void 0;st.STTS=void 0;st.STSC=void 0;st.STCO=void 0;st.STSZ=void 0;st.VMHD=void 0;st.SMHD=void 0;st.STSD=void 0;st.FTYP=void 0;st.DINF=void 0;var sy=9e4;function Nm(i,e,t=1,r=!1){let s=i*e*t;return r?Math.round(s):s}function ek(i,e,t=1,r=!1){return Nm(i,e,1/t,r)}function Ra(i,e=!1){return Nm(i,1e3,1/sy,e)}function tk(i,e=1){return Nm(i,sy,1/e)}var ik=10*1e3,ob=1024,rk=1152,sk=1536,yn=null,cf=null,An=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,yn===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);yn=a?parseInt(a[1]):0}if(cf===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);cf=n?parseInt(n[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){k.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){k.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){k.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,r=e[0].pts,s=e.reduce((n,a)=>{let o=a.pts,l=o-n;return l<-4294967296&&(t=!0,o=Yt(o,r),l=o-n),l>0?n:o},r);return t&&k.debug("PTS rollover detected"),s}remux(e,t,r,s,n,a,o,l){let d,u,c,h,f,m,p=n,g=n,E=e.pid>-1,b=t.pid>-1,T=t.samples.length,_=e.samples.length>0,A=o&&T>0||T>1;if((!E||_)&&(!b||A)||this.ISGenerated||o){if(this.ISGenerated){var S,D,M,L;let Z=this.videoTrackConfig;Z&&(t.width!==Z.width||t.height!==Z.height||((S=t.pixelRatio)==null?void 0:S[0])!==((D=Z.pixelRatio)==null?void 0:D[0])||((M=t.pixelRatio)==null?void 0:M[1])!==((L=Z.pixelRatio)==null?void 0:L[1]))&&this.resetInitSegment()}else c=this.generateIS(e,t,n,a);let P=this.isVideoContiguous,U=-1,B;if(A&&(U=nk(t.samples),!P&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,U>0){k.warn(`[mp4-remuxer]: Dropped ${U} out of ${T} 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,B=g}else U===-1&&(k.warn(`[mp4-remuxer]: No keyframe found out of ${T} video samples`),m=!1);if(this.ISGenerated){if(_&&A){let Z=this.getVideoStartPts(t.samples),Y=(Yt(e.samples[0].pts,Z)-Z)/t.inputTimeScale;p+=Math.max(0,Y),g+=Math.max(0,-Y)}if(_){if(e.samplerate||(k.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,n,a)),u=this.remuxAudio(e,p,this.isAudioContiguous,a,b||A||l===se.AUDIO?g:void 0),A){let Z=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(k.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,g,P,Z)}}else A&&(d=this.remuxVideo(t,g,P,0));d&&(d.firstKeyFrame=U,d.independent=U!==-1,d.firstKeyFramePTS=B)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(r.samples.length&&(f=ny(r,n,this._initPTS,this._initDTS)),s.samples.length&&(h=ay(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):st.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:st.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,Yt(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 q=t*n,K=a[0].pts-Yt(a[0].dts,a[0].pts);yn&&u!==null&&Math.abs(q-K-u)<15e3?r=!0:u=q-K}let b=d.baseTime*n/d.timescale;for(let q=0;q<l;q++){let K=a[q];K.pts=Yt(K.pts-b,u),K.dts=Yt(K.dts-b,u),K.dts<a[q>0?q-1:q].dts&&(E=!0)}E&&a.sort(function(q,K){let ge=q.dts-K.dts,ie=q.pts-K.pts;return ge||ie}),f=a[0].dts,m=a[a.length-1].dts;let T=m-f,_=T?Math.round(T/(l-1)):h||e.inputTimeScale/30;if(r){let q=f-u,K=q>_,ge=q<-1;if((K||ge)&&(K?k.warn(`AVC: ${Ra(q,!0)} ms (${q}dts) hole between fragments detected at ${t.toFixed(3)}`):k.warn(`AVC: ${Ra(-q,!0)} ms (${q}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!ge||u>=a[0].pts||yn)){f=u;let ie=a[0].pts-q;if(K)a[0].dts=f,a[0].pts=ie;else for(let _e=0;_e<a.length&&!(a[_e].dts>ie);_e++)a[_e].dts-=q,a[_e].pts-=q;k.log(`Video: Initial PTS/DTS adjusted: ${Ra(ie,!0)}/${Ra(f,!0)}, delta: ${Ra(q,!0)} ms`)}}f=Math.max(0,f);let A=0,R=0,S=f;for(let q=0;q<l;q++){let K=a[q],ge=K.units,ie=ge.length,_e=0;for(let He=0;He<ie;He++)_e+=ge[He].data.length;R+=_e,A+=ie,K.length=_e,K.dts<S?(K.dts=S,S+=_/4|0||1):S=K.dts,p=Math.min(K.pts,p),g=Math.max(K.pts,g)}m=a[l-1].dts;let D=R+4*A+8,M;try{M=new Uint8Array(D)}catch(q){this.observer.emit(v.ERROR,v.ERROR,{type:le.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:q,bytes:D,reason:`fail allocating video mdat ${D}`});return}let L=new DataView(M.buffer);L.setUint32(0,D),M.set(st.types.mdat,4);let P=!1,U=Number.POSITIVE_INFINITY,B=Number.POSITIVE_INFINITY,Z=Number.NEGATIVE_INFINITY,Q=Number.NEGATIVE_INFINITY;for(let q=0;q<l;q++){let K=a[q],ge=K.units,ie=0;for(let Ve=0,qe=ge.length;Ve<qe;Ve++){let _t=ge[Ve],ar=_t.data,$s=_t.data.byteLength;L.setUint32(c,$s),c+=4,M.set(ar,c),c+=$s,ie+=4+$s}let _e;if(q<l-1)h=a[q+1].dts-K.dts,_e=a[q+1].pts-K.pts;else{let Ve=this.config,qe=q>0?K.dts-a[q-1].dts:_;if(_e=q>0?K.pts-a[q-1].pts:_,Ve.stretchShortVideoTrack&&this.nextAudioPts!==null){let _t=Math.floor(Ve.maxBufferHole*n),ar=(s?p+s*n:this.nextAudioPts)-K.pts;ar>_t?(h=ar-qe,h<0?h=qe:P=!0,k.log(`[mp4-remuxer]: It is approximately ${ar/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=qe}else h=qe}let He=Math.round(K.pts-K.dts);U=Math.min(U,h),Z=Math.max(Z,h),B=Math.min(B,_e),Q=Math.max(Q,_e),o.push(new Fd(K.key,h,ie,He))}if(o.length){if(yn){if(yn<70){let q=o[0].flags;q.dependsOn=2,q.isNonSync=0}}else if(cf&&Q-B<Z-U&&_/Z<.025&&o[0].cts===0){k.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let q=f;for(let K=0,ge=o.length;K<ge;K++){let ie=q+o[K].duration,_e=q+o[K].cts;if(K<ge-1){let He=ie+o[K+1].cts;o[K].duration=He-_e}else o[K].duration=K?o[K-1].duration:_;o[K].cts=0,q=ie}}}h=P||!h?_:h,this.nextAvcDts=u=m+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let me={data1:st.moof(e.sequenceNumber++,f,et({},e,{samples:o})),data2:M,startPTS:p/n,endPTS:(g+h)/n,startDTS:f/n,endDTS:u/n,type:"video",hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,me}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return rk;case"ac3":return sk;default:return ob}}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,b=t*a,T=c.baseTime*a/c.timescale;if(this.isAudioContiguous=r=r||p.length&&E>0&&(s&&Math.abs(b-E)<9e3||Math.abs(Yt(p[0].pts-T,b)-E)<20*u),p.forEach(function(Y){Y.pts=Yt(Y.pts-T,b)}),!r||E<0){if(p=p.filter(Y=>Y.pts>=0),!p.length)return;n===0?E=0:s&&!m?E=Math.max(0,b):E=p[0].pts}if(e.segmentCodec==="aac"){let Y=this.config.maxAudioFramesDrift;for(let he=0,me=E;he<p.length;he++){let q=p[he],K=q.pts,ge=K-me,ie=Math.abs(1e3*ge/a);if(ge<=-Y*u&&m)he===0&&(k.warn(`Audio frame @ ${(K/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*ge/a)} ms.`),this.nextAudioPts=E=me=K);else if(ge>=Y*u&&ie<ik&&m){let _e=Math.round(ge/u);me=K-_e*u,me<0&&(_e--,me+=u),he===0&&(this.nextAudioPts=E=me),k.warn(`[mp4-remuxer]: Injecting ${_e} audio frame @ ${(me/a).toFixed(3)}s due to ${Math.round(1e3*ge/a)} ms gap.`);for(let He=0;He<_e;He++){let Ve=Math.max(me,0),qe=Ud.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);qe||(k.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),qe=q.unit.subarray()),p.splice(he,0,{unit:qe,pts:Ve}),me+=u,he++}}q.pts=me,me+=u}}let _=null,A=null,R,S=0,D=p.length;for(;D--;)S+=p[D].unit.byteLength;for(let Y=0,he=p.length;Y<he;Y++){let me=p[Y],q=me.unit,K=me.pts;if(A!==null){let ie=f[Y-1];ie.duration=Math.round((K-A)/l)}else if(r&&e.segmentCodec==="aac"&&(K=E),_=K,S>0){S+=g;try{R=new Uint8Array(S)}catch(ie){this.observer.emit(v.ERROR,v.ERROR,{type:le.MUX_ERROR,details:C.REMUX_ALLOC_ERROR,fatal:!1,error:ie,bytes:S,reason:`fail allocating audio mdat ${S}`});return}h||(new DataView(R.buffer).setUint32(0,S),R.set(st.types.mdat,4))}else return;R.set(q,g);let ge=q.byteLength;g+=ge,f.push(new Fd(!0,d,ge,0)),A=K}let M=f.length;if(!M)return;let L=f[f.length-1];this.nextAudioPts=E=A+l*L.duration;let P=h?new Uint8Array(0):st.moof(e.sequenceNumber++,_/l,et({},e,{samples:f}));e.samples=[];let U=_/a,B=E/a,Q={data1:P,data2:R,startPTS:U,endPTS:B,startDTS:U,endDTS:B,type:"audio",hasAudio:!0,hasVideo:!1,nb:M};return this.isAudioContiguous=!0,Q}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*ob,m=Math.ceil((h-c)/f),p=Ud.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(k.warn("[mp4-remuxer]: remux empty Audio"),!p){k.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 b=c+E*f;g.push({unit:p,pts:b,dts:b})}return e.samples=g,this.remuxAudio(e,t,r,!1)}};function Yt(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 nk(i){for(let e=0;e<i.length;e++)if(i[e].key)return e;return-1}function ny(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=Yt(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=Yt(l.dts-r.baseTime*n/r.timescale,e*n)/n}let a=i.samples;return i.samples=[],{samples:a}}function ay(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=Yt(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 Fd=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}}},Qf=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(DR(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=Cb(e);s.audio&&(t=lb(s.audio,De.AUDIO)),s.video&&(r=lb(s.video,De.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"}:k.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};z(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 k.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let p=MR(h,m),g=CR(m,h),E=g===null?n:g;(ak(d,E,n,p)||f.timescale!==d.timescale&&a)&&(f.initPTS=E-n,d&&d.timescale===1&&k.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let b=e?E-d.baseTime/d.timescale:u,T=b+p;OR(m,h,d.baseTime/d.timescale),p>0?this.lastEndTime=T:(k.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let _=!!m.audio,A=!!m.video,R="";_&&(R+="audio"),A&&(R+="video");let S={data1:h,startPTS:b,startDTS:b,endPTS:T,endDTS:T,type:R,hasAudio:_,hasVideo:A,nb:1,dropped:0};return c.audio=S.type==="audio"?S:void 0,c.video=S.type!=="audio"?S:void 0,c.initSegment=f,c.id3=ny(r,n,d,d),s.samples.length&&(c.text=ay(s,n,d)),c}};function ak(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 lb(i,e){let t=i==null?void 0:i.codec;if(t&&t.length>4)return t;if(e===De.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return Rd(t,!1);let r="mp4a.40.5";return k.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${r}"`),r}return k.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e"}var er;try{er=self.performance.now.bind(self.performance)}catch{k.debug("Unable to use Performance API on this environment"),er=xn==null?void 0:xn.Date.now}var vd=[{demux:Kf,remux:Qf},{demux:jf,remux:An},{demux:Gf,remux:An},{demux:Xf,remux:An}];vd.splice(2,0,{demux:Vf,remux:An});var Bd=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=er();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:b,initSegmentData:T}=l,_=ok(a,t);if(_&&_.method==="AES-128"){let D=this.getDecrypter();if(D.isSync()){let M=D.softwareDecrypt(a,_.key.buffer,_.iv.buffer);if(r.part>-1&&(M=D.flush()),!M)return n.executeEnd=er(),hf(r);a=new Uint8Array(M)}else return this.decryptionPromise=D.webCryptoDecrypt(a,_.key.buffer,_.iv.buffer).then(M=>{let L=this.push(M,null,r);return this.decryptionPromise=null,L}),this.decryptionPromise}let A=this.needsProbing(u,c);if(A){let D=this.configureTransmuxer(a);if(D)return k.warn(`[transmuxer] ${D.message}`),this.observer.emit(v.ERROR,v.ERROR,{type:le.MEDIA_ERROR,details:C.FRAG_PARSING_ERROR,fatal:!1,error:D,reason:D.message}),n.executeEnd=er(),hf(r)}(u||c||m||A)&&this.resetInitSegment(T,p,g,b,t),(u||m||A)&&this.resetInitialTimestamp(E),d||this.resetContiguity();let R=this.transmux(a,_,f,h,r),S=this.currentTransmuxState;return S.contiguous=!0,S.discontinuity=!1,S.trackSwitch=!1,n.executeEnd=er(),R}flush(e){let t=e.transmuxing;t.executeStart=er();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=er(),[hf(e)];let u=l.flush(o);return Ed(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;k.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=er()}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=vd.length;h<f;h++){var o;if((o=vd[h].demux)!=null&&o.probe(e)){a=vd[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 Oa(this.config)),e}};function ok(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 hf=i=>({remuxResult:{},chunkMeta:i});function Ed(i){return"then"in i&&i.then instanceof Function}var Zf=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}},Jf=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}},oy={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,b,T;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(T=1,b=new Array(E-1);T<E;T++)b[T-1]=arguments[T];g.fn.apply(g.context,b)}else{var _=g.length,A;for(T=0;T<_;T++)switch(g[T].once&&this.removeListener(d,g[T].fn,void 0,!0),E){case 1:g[T].fn.call(g[T].context);break;case 2:g[T].fn.call(g[T].context,u);break;case 3:g[T].fn.call(g[T].context,u,c);break;case 4:g[T].fn.call(g[T].context,u,c,h);break;default:if(!b)for(A=1,b=new Array(E-1);A<E;A++)b[A-1]=arguments[A];g[T].fn.apply(g[T].context,b)}}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})(oy);var lk=oy.exports,Um=tR(lk),$d=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 Um,this.observer.on(v.FRAG_DECRYPTED,a),this.observer.on(v.ERROR,a);let o=ls(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||UI())){try{n.workerPath?(k.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=BI(n.workerPath)):(k.log(`injecting Web Worker for "${t}"`),this.workerContext=FI()),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,k.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(v.ERROR,{type:le.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){k.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new Bd(this.observer,l,n,"",t)}return}this.transmuxer=new Bd(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),b=!(g&&d.level===g.level),T=g?d.sn-g.sn:-1,_=this.part?d.part-this.part.index:-1,A=T===0&&d.id>1&&d.id===(g==null?void 0:g.stats.chunkCount),R=!b&&(T===1||T===0&&(_===1||A&&_<=0)),S=self.performance.now();(b||T||n.stats.parsing.start===0)&&(n.stats.parsing.start=S),a&&(_||!R)&&(a.stats.parsing.start=S);let D=!(g&&((c=n.initSegment)==null?void 0:c.url)===((h=g.initSegment)==null?void 0:h.url)),M=new Jf(E,R,l,b,m,D);if(!R||E||D){k.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
|
|
1257
1263
|
discontinuity: ${E}
|
|
1258
1264
|
trackSwitch: ${b}
|
|
1259
1265
|
contiguous: ${R}
|
|
1260
1266
|
accurateTimeOffset: ${l}
|
|
1261
1267
|
timeOffset: ${m}
|
|
1262
|
-
initSegmentChange: ${D}`);let L=new Jf(r,s,t,o,u);this.configureTransmuxer(L)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:M},e instanceof ArrayBuffer?[e]:[]);else if(f){let L=f.push(e,p,d,M);Ed(L)?(f.async=!0,L.then(P=>{this.handleTransmuxComplete(P)}).catch(P=>{this.transmuxerError(P,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(L))}}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);Ed(r)||t.async?(Ed(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:ne.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)){k.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":k[t.data.logType]&&k[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)}},ob=100,tm=class extends Na{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",re.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===O.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=O.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(ob),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=O.IDLE):(this.loadedmetadata=!1,this.state=O.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case O.IDLE:this.doTickIdle();break;case O.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=O.WAITING_INIT_PTS}break}case O.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=O.IDLE}break}case O.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=O.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=Ge.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Mf(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=O.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=O.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(!this.buffering||!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=O.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,De.AUDIO,re.AUDIO));let d=this.getFwdBufferInfo(l,re.AUDIO);if(d===null)return;if(!this.switchingTrack&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=O.ENDED;return}let u=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,re.MAIN),c=d.len,h=this.getMaxBufferLength(u==null?void 0:u.len),f=o.fragments,m=f[0].start,p=this.getLoadPosition(),g=this.flushing?p:d.end;if(this.switchingTrack&&r){let _=p;o.PTSKnown&&_<m&&(d.end>m||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=m+.05)}if(c>=h&&!this.switchingTrack&&g<f[f.length-1].start)return;let E=this.getNextFragment(g,o),b=!1;if(E&&this.isLoopLoading(E,g)&&(b=!!E.gap,E=this.getNextFragmentLoopLoading(E,o,d,re.MAIN,h)),!E){this.bufferFlushed=!0;return}let T=u&&E.start>u.end+o.targetduration;if(T||!(u!=null&&u.len)&&d.len){let _=this.getAppendedFrag(E.start,re.MAIN);if(_===null||(b||(b=!!_.gap||!!T&&u.len===0),T&&!b||b&&d.nextStart&&d.nextStart<_.end))return}this.loadFragment(E,a,g)}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 Er(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(ob):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=O.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=O.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)Cd(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===O.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=O.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 $d(this.hls,re.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,b=new Pa(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,b,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 Md,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=O.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!==re.AUDIO){if(!this.loadedmetadata&&r.type===re.MAIN){let n=this.videoBuffer||this.media;n&&Ge.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,mt({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=O.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(re.AUDIO,t);break;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===O.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===Ae.AUDIO_TRACK&&(this.state=O.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!==De.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==De.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===O.ENDED&&(this.state=O.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,re.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=O.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:b,endDTS:T}=h;d&&(d.elementaryStreams[De.AUDIO]={startPTS:g,endPTS:E,startDTS:b,endDTS:T}),l.setElementaryStreamInfo(De.AUDIO,g,E,b,T),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=et({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=et({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==O.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===ft.NOT_LOADED||s===ft.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=O.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&Cd(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:r,assocLang:s,characteristics:n,audioCodec:a,channels:o}=this.bufferedTrack;os({name:t,lang:r,assocLang:s,characteristics:n,audioCodec:a,channels:o},e,rs)||(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,mt({},e))}};function ay(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!Fa(i[t].attrs,e[t].attrs))return!1;return!0}function Fa(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 im(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var rm=class extends Ma{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=wi(l,o,rs);if(h>-1)n=o[h];else{let f=wi(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:ne.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===Ae.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&&os(e,s,rs))return s;let n=wi(e,this.tracksInGroup,rs);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=RI(e,t.levels,r,a,rs);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=wi(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,mt({},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||os(e,s,rs)))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(os({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,rs))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Fa(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Fa(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})}}},lb=500,sm=class extends Na{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",re.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=O.IDLE,this.setInterval(lb),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=O.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,re.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===re.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)===re.SUBTITLE&&(t.details===C.FRAG_GAP&&this.fragmentTracker.fragBuffered(r,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==O.STOPPED&&(this.state=O.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&ay(this.levels,t)){this.levels=t.map(r=>new Er(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Er(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,re.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(lb)}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?(Cd(a,c),d=a.fragments[0].start):h&&(d=h.start,Cf(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,Cf(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===O.IDLE&&(Dd(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:ne.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=O.IDLE})}}doTick(){if(!this.media){this.state=O.IDLE;return}if(this.state===O.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=Ge.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,re.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,b=o>m-E?0:E;p=Dd(g,h,Math.max(h[0].start,o),b),!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,b=h[E-1];b&&b.cc===p.cc&&this.fragmentTracker.getState(b)===ft.NOT_LOADED&&(p=b)}this.fragmentTracker.getState(p)===ft.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 nm(this.tracksBuffered[this.currentTrackId]||[])}},nm=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)}}}},am=class extends Ma{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=md(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),md(this.media.textTracks).forEach(t=>{Tn(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=wi(o,a);if(u>-1)n=a[u];else{let c=wi(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||os(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(Fa(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(Fa(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(im(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===Ae.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&&os(e,r))return r;let s=wi(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=wi(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=md(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>im(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||!j(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)}},om=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){k.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]}},db=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,lm=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&&k.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=WR(ls(e.config.preferManagedMediaSource)),this.log=k.log.bind(k,t),this.warn=k.warn.bind(k,t),this.error=k.error.bind(k,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 om(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=ls(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,ub(r),lk(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&&ub(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(),this.hls.resumeBuffering()}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=NE(l.codec,l.levelCodec),p=m==null?void 0:m.replace(db,"$1"),g=NE(u,c),E=(o=g)==null?void 0:o.replace(db,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=Rd(g,this.appendSource));let b=`${h};codecs=${g}`;this.appendChangeType(a,b),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,b={execute:()=>{if(c.executeStart=self.performance.now(),g){let T=this.sourceBuffer[o];if(T){let _=E-T.timestampOffset;Math.abs(_)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${_}) sn: ${l.sn})`),T.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let T=self.performance.now();c.executeEnd=c.end=T,f.first===0&&(f.first=T),m&&m.first===0&&(m.first=T);let{sourceBuffer:_}=this,A={};for(let R in _)A[R]=Ge.getBuffered(_[R]);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:T=>{let _={type:ne.MEDIA_ERROR,parent:l.type,details:C.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:T,err:T,fatal:!1};if(T.code===DOMException.QUOTA_EXCEEDED_ERR)_.details=C.BUFFER_FULL_ERROR;else{let A=++this.appendErrors[o];_.details=C.BUFFER_APPEND_ERROR,this.warn(`Failed ${A}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),A>=r.config.appendErrorMaxRetry&&(_.fatal=!0)}r.trigger(v.ERROR,_)}};s.append(b,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[De.AUDIOVIDEO]?n.push("audiovideo"):(a[De.AUDIO]&&n.push("audio"),a[De.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(j(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(j(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=Ge.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=Ge.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=j(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!j(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:ne.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=Rd(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:ne.MEDIA_ERROR,details:C.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e,t;let r=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return r==null?void 0:r.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:ne.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=j(s.duration)?s.duration:1/0,u=j(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 ub(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function lk(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var dk={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},oy=i=>String.fromCharCode(dk[i]||i),li=15,Ji=100,uk={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},ck={17:2,18:4,21:6,22:8,23:10,19:13,20:15},hk={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},fk={25:2,26:4,29:6,30:8,31:10,27:13,28:15},mk=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],dm=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;k.log(`${this.time} [${e}] ${r}`)}}},ts=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},Hd=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}},um=class{constructor(){this.uchar=" ",this.penState=new Hd}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()}},cm=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new Hd,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Ji;t++)this.chars.push(new um);this.logger=e}equals(e){for(let t=0;t<Ji;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<Ji;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<Ji;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>Ji&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Ji)}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=oy(e);if(this.pos>=Ji){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<Ji;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<Ji;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)}},La=class{constructor(e){this.rows=[],this.currRow=li-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<li;t++)this.rows.push(new cm(e));this.logger=e}reset(){for(let e=0;e<li;e++)this.rows[e].clear();this.currRow=li-1}equals(e){let t=!0;for(let r=0;r<li;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<li;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<li;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<li;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<li;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(`
|
|
1263
|
-
`)),r}getTextAndFormat(){return this.rows}},Gd=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 La(r),this.nonDisplayedMemory=new La(r),this.lastOutputScreen=new La(r),this.currRollUpRow=this.displayedMemory.rows[li-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[li-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))}},Kd=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=gk(),this.logger=void 0;let s=this.logger=new dm;this.channels=[null,new Gd(e,t,s),new Gd(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,()=>"["+ts([t[r],t[r+1]])+"] -> ("+ts([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(pk(s,n,l)){ud(null,null,l),this.logger.log(3,()=>"Repeated command ("+ts([s,n])+") is dropped");continue}ud(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 ud(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 "+ts([s,n])+" orig: "+ts([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 ("+ts([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?uk[e]:hk[e]:r=a===1?ck[e]:fk[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 '"+oy(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 = "+ts(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=mk[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()}ud(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 ud(i,e,t){t.a=i,t.b=e}function pk(i,e,t){return t.a===i&&t.b===e}function gk(){return{a:null,b:null}}var _n=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}},Bm=function(){if(xn!=null&&xn.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,b="",T=!0,_="auto",A="start",R=50,S="middle",D=50,M="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(L){h=""+L}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(L){f=!!L}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(L){if(typeof L!="number")throw new TypeError("Start time must be set to a number.");m=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(L){if(typeof L!="number")throw new TypeError("End time must be set to a number.");p=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(L){g=""+L,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(L){E=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return b},set:function(L){let P=r(L);if(P===!1)throw new SyntaxError("An invalid or illegal string was specified.");b=P,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return T},set:function(L){T=!!L,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return _},set:function(L){if(typeof L!="number"&&L!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");_=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return A},set:function(L){let P=s(L);if(!P)throw new SyntaxError("An invalid or illegal string was specified.");A=P,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return R},set:function(L){if(L<0||L>100)throw new Error("Position must be between 0 and 100.");R=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return S},set:function(L){let P=s(L);if(!P)throw new SyntaxError("An invalid or illegal string was specified.");S=P,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return D},set:function(L){if(L<0||L>100)throw new Error("Size must be between 0 and 100.");D=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return M},set:function(L){let P=s(L);if(!P)throw new SyntaxError("An invalid or illegal string was specified.");M=P,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),hm=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function ly(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 fm=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 dy(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 mm=new Bm(0,0,""),cd=mm.align==="middle"?"middle":"center";function vk(i,e,t){let r=i;function s(){let o=ly(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 fm;dy(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",cd,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",cd,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",cd,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&mm.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",cd);let c=d.get("position","auto");c==="auto"&&mm.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 uy(i){return i.replace(/<br(?: \/)?>/gi,`
|
|
1264
|
-
`)}var
|
|
1268
|
+
initSegmentChange: ${D}`);let L=new Zf(r,s,t,o,u);this.configureTransmuxer(L)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:p,chunkMeta:d,state:M},e instanceof ArrayBuffer?[e]:[]);else if(f){let L=f.push(e,p,d,M);Ed(L)?(f.async=!0,L.then(P=>{this.handleTransmuxComplete(P)}).catch(P=>{this.transmuxerError(P,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(L))}}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);Ed(r)||t.async?(Ed(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:le.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)){k.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":k[t.data.logType]&&k[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)}},db=100,em=class extends Na{constructor(e,t,r){super(e,t,r,"[audio-stream-controller]",se.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===O.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=O.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(db),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=O.IDLE):(this.loadedmetadata=!1,this.state=O.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case O.IDLE:this.doTickIdle();break;case O.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=O.WAITING_INIT_PTS}break}case O.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=O.IDLE}break}case O.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=O.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=Ge.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Cf(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=O.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=O.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(!this.buffering||!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=O.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,De.AUDIO,se.AUDIO));let d=this.getFwdBufferInfo(l,se.AUDIO);if(d===null)return;if(!this.switchingTrack&&this._streamEnded(d,o)){e.trigger(v.BUFFER_EOS,{type:"audio"}),this.state=O.ENDED;return}let u=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,se.MAIN),c=d.len,h=this.getMaxBufferLength(u==null?void 0:u.len),f=o.fragments,m=f[0].start,p=this.getLoadPosition(),g=this.flushing?p:d.end;if(this.switchingTrack&&r){let _=p;o.PTSKnown&&_<m&&(d.end>m||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=m+.05)}if(c>=h&&!this.switchingTrack&&g<f[f.length-1].start)return;let E=this.getNextFragment(g,o),b=!1;if(E&&this.isLoopLoading(E,g)&&(b=!!E.gap,E=this.getNextFragmentLoopLoading(E,o,d,se.MAIN,h)),!E){this.bufferFlushed=!0;return}let T=u&&E.start>u.end+o.targetduration;if(T||!(u!=null&&u.len)&&d.len){let _=this.getAppendedFrag(E.start,se.MAIN);if(_===null||(b||(b=!!_.gap||!!T&&u.len===0),T&&!b||b&&d.nextStart&&d.nextStart<_.end))return}this.loadFragment(E,a,g)}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 Er(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(db):this.resetTransmuxer(),r?(this.switchingTrack=t,this.state=O.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=O.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)Cd(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===O.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=O.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 $d(this.hls,se.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,b=new Pa(r.level,r.sn,r.stats.chunkCount,n.byteLength,g,E);h.push(n,m,c,"",r,s,u.totalduration,!1,b,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 Md,complete:!1};p.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=O.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!==se.AUDIO){if(!this.loadedmetadata&&r.type===se.MAIN){let n=this.videoBuffer||this.media;n&&Ge.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,mt({},n)))}this.fragBufferedComplete(r,s)}onError(e,t){var r;if(t.fatal){this.state=O.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(se.AUDIO,t);break;case C.AUDIO_TRACK_LOAD_ERROR:case C.AUDIO_TRACK_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===O.WAITING_TRACK&&((r=t.context)==null?void 0:r.type)===Ae.AUDIO_TRACK&&(this.state=O.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!==De.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==De.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===O.ENDED&&(this.state=O.IDLE);let r=this.mediaBuffer||this.media;r&&(this.afterBufferFlushed(r,t,se.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=O.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:b,endDTS:T}=h;d&&(d.elementaryStreams[De.AUDIO]={startPTS:g,endPTS:E,startDTS:b,endDTS:T}),l.setElementaryStreamInfo(De.AUDIO,g,E,b,T),this.bufferFragmentData(h,l,d,a)}if(m!=null&&(t=m.samples)!=null&&t.length){let g=et({id:r,frag:l,details:c},m);s.trigger(v.FRAG_PARSING_METADATA,g)}if(f){let g=et({id:r,frag:l,details:c},f);s.trigger(v.FRAG_PARSING_USERDATA,g)}}_bufferInitSegment(e,t,r,s){if(this.state!==O.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===ft.NOT_LOADED||s===ft.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=O.WAITING_INIT_PTS;let a=this.mainDetails;a&&a.fragments[0].start!==t.details.fragments[0].start&&Cd(t.details,a)}else this.startFragRequested=!0,super.loadFragment(e,t,r)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:r,assocLang:s,characteristics:n,audioCodec:a,channels:o}=this.bufferedTrack;os({name:t,lang:r,assocLang:s,characteristics:n,audioCodec:a,channels:o},e,rs)||(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,mt({},e))}};function ly(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++)if(!Fa(i[t].attrs,e[t].attrs))return!1;return!0}function Fa(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 tm(i,e){return e.label.toLowerCase()===i.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(i.lang||"").toLowerCase())}var im=class extends Ma{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=wi(l,o,rs);if(h>-1)n=o[h];else{let f=wi(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:le.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===Ae.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&&os(e,s,rs))return s;let n=wi(e,this.tracksInGroup,rs);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=II(e,t.levels,r,a,rs);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){let a=wi(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,mt({},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||os(e,s,rs)))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(os({name:r,lang:s,assocLang:n,characteristics:a,audioCodec:o,channels:l},u,rs))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Fa(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d}for(let d=0;d<t.length;d++){let u=t[d];if(Fa(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})}}},ub=500,rm=class extends Na{constructor(e,t,r){super(e,t,r,"[subtitle-stream-controller]",se.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=O.IDLE,this.setInterval(ub),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=O.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,se.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===se.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)===se.SUBTITLE&&(t.details===C.FRAG_GAP&&this.fragmentTracker.fragBuffered(r,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==O.STOPPED&&(this.state=O.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&ly(this.levels,t)){this.levels=t.map(r=>new Er(r));return}this.tracksBuffered=[],this.levels=t.map(r=>{let s=new Er(r);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,se.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(ub)}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?(Cd(a,c),d=a.fragments[0].start):h&&(d=h.start,Df(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,Df(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===O.IDLE&&(Dd(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:le.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=O.IDLE})}}doTick(){if(!this.media){this.state=O.IDLE;return}if(this.state===O.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=Ge.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,se.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,b=o>m-E?0:E;p=Dd(g,h,Math.max(h[0].start,o),b),!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,b=h[E-1];b&&b.cc===p.cc&&this.fragmentTracker.getState(b)===ft.NOT_LOADED&&(p=b)}this.fragmentTracker.getState(p)===ft.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 sm(this.tracksBuffered[this.currentTrackId]||[])}},sm=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)}}}},nm=class extends Ma{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=md(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),md(this.media.textTracks).forEach(t=>{Tn(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=wi(o,a);if(u>-1)n=a[u];else{let c=wi(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||os(n,e)))return s}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(Fa(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s}for(let s=0;s<t.length;s++){let n=t[s];if(Fa(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(tm(s,e))return r}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===Ae.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&&os(e,r))return r;let s=wi(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n}else{if(r)return null;{let n=wi(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=md(e.textTracks),r=this.currentTrack,s;if(r&&(s=t.filter(n=>tm(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||!z(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)}},am=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){k.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]}},cb=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,om=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&&k.error(`Media element src was set while attaching MediaSource (${s} > ${r})`)},this.hls=e;let t="[buffer-controller]";this.appendSource=YR(ls(e.config.preferManagedMediaSource)),this.log=k.log.bind(k,t),this.warn=k.warn.bind(k,t),this.error=k.error.bind(k,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 am(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=ls(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,hb(r),dk(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&&hb(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(),this.hls.resumeBuffering()}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=FE(l.codec,l.levelCodec),p=m==null?void 0:m.replace(cb,"$1"),g=FE(u,c),E=(o=g)==null?void 0:o.replace(cb,"$1");if(g&&p!==E){a.slice(0,5)==="audio"&&(g=Rd(g,this.appendSource));let b=`${h};codecs=${g}`;this.appendChangeType(a,b),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,b={execute:()=>{if(c.executeStart=self.performance.now(),g){let T=this.sourceBuffer[o];if(T){let _=E-T.timestampOffset;Math.abs(_)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${E} (delta: ${_}) sn: ${l.sn})`),T.timestampOffset=E)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let T=self.performance.now();c.executeEnd=c.end=T,f.first===0&&(f.first=T),m&&m.first===0&&(m.first=T);let{sourceBuffer:_}=this,A={};for(let R in _)A[R]=Ge.getBuffered(_[R]);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:T=>{let _={type:le.MEDIA_ERROR,parent:l.type,details:C.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:l,part:d,chunkMeta:u,error:T,err:T,fatal:!1};if(T.code===DOMException.QUOTA_EXCEEDED_ERR)_.details=C.BUFFER_FULL_ERROR;else{let A=++this.appendErrors[o];_.details=C.BUFFER_APPEND_ERROR,this.warn(`Failed ${A}/${r.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),A>=r.config.appendErrorMaxRetry&&(_.fatal=!0)}r.trigger(v.ERROR,_)}};s.append(b,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[De.AUDIOVIDEO]?n.push("audiovideo"):(a[De.AUDIO]&&n.push("audio"),a[De.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(z(l)&&l>0){let d=Math.max(l,o),u=Math.floor(a/o)*o-d;this.flushBackBuffer(a,o,u)}if(z(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=Ge.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=Ge.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=z(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!z(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:le.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=Rd(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:le.MEDIA_ERROR,details:C.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:n,mimeType:l})}}}get mediaSrc(){var e,t;let r=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return r==null?void 0:r.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:le.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=z(s.duration)?s.duration:1/0,u=z(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 hb(i){let e=i.querySelectorAll("source");[].slice.call(e).forEach(t=>{i.removeChild(t)})}function dk(i,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,i.appendChild(t)}var uk={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},dy=i=>String.fromCharCode(uk[i]||i),li=15,Ji=100,ck={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},hk={17:2,18:4,21:6,22:8,23:10,19:13,20:15},fk={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},mk={25:2,26:4,29:6,30:8,31:10,27:13,28:15},pk=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],lm=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let r=typeof t=="function"?t():t;k.log(`${this.time} [${e}] ${r}`)}}},ts=function(e){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].toString(16));return t},Hd=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}},dm=class{constructor(){this.uchar=" ",this.penState=new Hd}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()}},um=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new Hd,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Ji;t++)this.chars.push(new dm);this.logger=e}equals(e){for(let t=0;t<Ji;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<Ji;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<Ji;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>Ji&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Ji)}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=dy(e);if(this.pos>=Ji){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<Ji;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<Ji;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)}},La=class{constructor(e){this.rows=[],this.currRow=li-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<li;t++)this.rows.push(new um(e));this.logger=e}reset(){for(let e=0;e<li;e++)this.rows[e].clear();this.currRow=li-1}equals(e){let t=!0;for(let r=0;r<li;r++)if(!this.rows[r].equals(e.rows[r])){t=!1;break}return t}copy(e){for(let t=0;t<li;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<li;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<li;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<li;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(`
|
|
1269
|
+
`)),r}getTextAndFormat(){return this.rows}},Gd=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 La(r),this.nonDisplayedMemory=new La(r),this.lastOutputScreen=new La(r),this.currRollUpRow=this.displayedMemory.rows[li-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[li-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))}},Kd=class{constructor(e,t,r){this.channels=void 0,this.currentChannel=0,this.cmdHistory=vk(),this.logger=void 0;let s=this.logger=new lm;this.channels=[null,new Gd(e,t,s),new Gd(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,()=>"["+ts([t[r],t[r+1]])+"] -> ("+ts([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(gk(s,n,l)){ud(null,null,l),this.logger.log(3,()=>"Repeated command ("+ts([s,n])+") is dropped");continue}ud(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 ud(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 "+ts([s,n])+" orig: "+ts([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 ("+ts([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?ck[e]:fk[e]:r=a===1?hk[e]:mk[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 '"+dy(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 = "+ts(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=pk[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()}ud(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 ud(i,e,t){t.a=i,t.b=e}function gk(i,e,t){return t.a===i&&t.b===e}function vk(){return{a:null,b:null}}var _n=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}},Fm=function(){if(xn!=null&&xn.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,b="",T=!0,_="auto",A="start",R=50,S="middle",D=50,M="middle";Object.defineProperty(u,"id",n({},c,{get:function(){return h},set:function(L){h=""+L}})),Object.defineProperty(u,"pauseOnExit",n({},c,{get:function(){return f},set:function(L){f=!!L}})),Object.defineProperty(u,"startTime",n({},c,{get:function(){return m},set:function(L){if(typeof L!="number")throw new TypeError("Start time must be set to a number.");m=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"endTime",n({},c,{get:function(){return p},set:function(L){if(typeof L!="number")throw new TypeError("End time must be set to a number.");p=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"text",n({},c,{get:function(){return g},set:function(L){g=""+L,this.hasBeenReset=!0}})),Object.defineProperty(u,"region",n({},c,{get:function(){return E},set:function(L){E=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"vertical",n({},c,{get:function(){return b},set:function(L){let P=r(L);if(P===!1)throw new SyntaxError("An invalid or illegal string was specified.");b=P,this.hasBeenReset=!0}})),Object.defineProperty(u,"snapToLines",n({},c,{get:function(){return T},set:function(L){T=!!L,this.hasBeenReset=!0}})),Object.defineProperty(u,"line",n({},c,{get:function(){return _},set:function(L){if(typeof L!="number"&&L!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");_=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"lineAlign",n({},c,{get:function(){return A},set:function(L){let P=s(L);if(!P)throw new SyntaxError("An invalid or illegal string was specified.");A=P,this.hasBeenReset=!0}})),Object.defineProperty(u,"position",n({},c,{get:function(){return R},set:function(L){if(L<0||L>100)throw new Error("Position must be between 0 and 100.");R=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"positionAlign",n({},c,{get:function(){return S},set:function(L){let P=s(L);if(!P)throw new SyntaxError("An invalid or illegal string was specified.");S=P,this.hasBeenReset=!0}})),Object.defineProperty(u,"size",n({},c,{get:function(){return D},set:function(L){if(L<0||L>100)throw new Error("Size must be between 0 and 100.");D=L,this.hasBeenReset=!0}})),Object.defineProperty(u,"align",n({},c,{get:function(){return M},set:function(L){let P=s(L);if(!P)throw new SyntaxError("An invalid or illegal string was specified.");M=P,this.hasBeenReset=!0}})),u.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),cm=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function uy(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 hm=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 cy(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 fm=new Fm(0,0,""),cd=fm.align==="middle"?"middle":"center";function Ek(i,e,t){let r=i;function s(){let o=uy(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 hm;cy(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",cd,"end"]);break;case"position":m=f.split(","),d.percent(h,m[0]),m.length===2&&d.alt("positionAlign",m[1],["start",cd,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",cd,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&fm.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",cd);let c=d.get("position","auto");c==="auto"&&fm.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 hy(i){return i.replace(/<br(?: \/)?>/gi,`
|
|
1270
|
+
`)}var mm=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new cm,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=hy(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
|
|
1265
1271
|
`;)++a;let o=n.slice(0,a);return n[a]==="\r"&&++a,n[a]===`
|
|
1266
|
-
`&&++a,t.buffer=n.slice(a),o}function s(n){
|
|
1272
|
+
`&&++a,t.buffer=n.slice(a),o}function s(n){cy(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 Fm(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{Ek(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+=`
|
|
1267
1273
|
`),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+=`
|
|
1268
1274
|
|
|
1269
|
-
`,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}},
|
|
1275
|
+
`,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}},bk=/\r\n|\n\r|\n|\r/g,ff=function(e,t,r=0){return e.slice(r,r+t.length)===t},yk=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(!z(t)||!z(r)||!z(s)||!z(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*r,t+=60*1e3*s,t+=60*60*1e3*n,t},mf=function(e){let t=5381,r=e.length;for(;r;)t=t*33^e.charCodeAt(--r);return(t>>>0).toString()};function Bm(i,e,t){return mf(i.toString())+mf(e.toString())+mf(t)}var Tk=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 _k(i,e,t,r,s,n,a){let o=new mm,l=Di(new Uint8Array(i)).trim().replace(bk,`
|
|
1270
1276
|
`).split(`
|
|
1271
|
-
`),d=[],u=e?
|
|
1272
|
-
`)}),o.flush()}var
|
|
1273
|
-
`:(n=r.childNodes)!=null&&n.length?fy(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function Sk(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=Ef(e,r,l)||Ef(i,r,l)||Ef(s,r,l);return d&&(o[l]=d),o},{})}function Ef(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function fb(i){return new Error(`Could not parse ttml timestamp ${i}`)}function bf(i,e){if(!i)return null;let t=ly(i);return t===null&&(cy.test(i)?t=xk(i,e):hy.test(i)&&(t=Rk(i,e))),t}function xk(i,e){let t=cy.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 Rk(i,e){let t=hy.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 gm=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=pb(),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 _n(this,"textTrack1"),t=new _n(this,"textTrack2"),r=new _n(this,"textTrack3"),s=new _n(this,"textTrack4");this.cea608Parser1=new Kd(1,e,t),this.cea608Parser2=new Kd(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=Ik(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(mb(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,Tn(r[e]),Nb(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=>{Tn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=pb(),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++)Tn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===gf);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(ay(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?md(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]&&mb(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)Tn(u);else{let c=my(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&&k.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===re.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===re.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===gf?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;cb(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{k.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?qt(r.initSegment.data,new Uint8Array(s)):s;Tk(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),k.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||cb(t,this.initPTS[e.cc],()=>{r.textCodec=gf,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=>Ub(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===re.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===re.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=>If(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>If(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 my(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function mb(i,e){return!!i&&i.kind===my(e)&&im(e,i)}function Ik(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function pb(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var vm=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&&j(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&&k.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}},Em=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;k.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)}},hd="[eme]",Vd=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.debug=k.debug.bind(k,hd),this.log=k.log.bind(k,hd),this.warn=k.warn.bind(k,hd),this.error=k.error.bind(k,hd),this.onMediaEncrypted=t=>{let{initDataType:r,initData:s}=t,n=`"${t.type}" event: init data type: "${r}"`;if(this.debug(n),s!==null){if(!this.keyFormatPromise){let a=Object.keys(this.keySystemAccessPromises);a.length||(a=rd(this.config));let o=a.map(tf).filter(l=>!!l);this.keyFormatPromise=this.getKeyFormatPromise(o)}this.keyFormatPromise.then(a=>{let o=Jh(a),l,d;if(r==="sinf"){if(o!==Ie.FAIRPLAY){this.warn(`Ignoring unexpected "${t.type}" event with init data type: "${r}" for selected key-system ${o}`);return}let m=rt(new Uint8Array(s));try{let p=Dm(JSON.parse(m).sinf),g=Db(p);if(!g)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");l=g.subarray(8,24),d=Ie.FAIRPLAY}catch(p){this.warn(`${n} Failed to parse sinf: ${p}`);return}}else{if(o!==Ie.WIDEVINE&&o!==Ie.PLAYREADY){this.warn(`Ignoring unexpected "${t.type}" event with init data type: "${r}" for selected key-system ${o}`);return}let m=HR(s),p=m.filter(E=>!!E.systemId&&ef(E.systemId)===o);p.length>1&&this.warn(`${n} Using first of ${p.length} pssh found for selected key-system ${o}`);let g=p[0];if(!g){m.length===0||m.some(E=>!E.systemId)?this.warn(`${n} contains incomplete or invalid pssh data`):this.log(`ignoring ${n} for ${m.map(E=>ef(E.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(d=ef(g.systemId),g.version===0&&g.data)if(d===Ie.WIDEVINE){let E=g.data.length-22;l=g.data.subarray(E,E+16)}else d===Ie.PLAYREADY&&(l=Ab(g.data))}if(!d||!l){this.log(`Unable to handle ${n} with key-system ${o}`);return}let u=ki.hexDump(l),{keyIdToKeySessionPromise:c,mediaKeySessions:h}=this,f=c[u];for(let m=0;m<h.length;m++){let p=h[m],g=p.decryptdata;if(!g.keyId)continue;let E=ki.hexDump(g.keyId);if(u===E||g.uri.replace(/-/g,"").indexOf(u)!==-1){if(f=c[E],g.pssh)break;delete c[E],g.pssh=new Uint8Array(s),g.keyId=l,f=c[u]=f.then(()=>this.generateRequestWithPreferredKeySession(p,r,s,"encrypted-event-key-match")),f.catch(b=>this.handleError(b));break}}if(!f){if(d!==o){this.log(`Ignoring "${n}" with ${d} init data for selected key-system ${o}`);return}f=c[u]=this.getKeySystemSelectionPromise([d]).then(({keySystem:m,mediaKeys:p})=>{var g;this.throwIfDestroyed();let E=new Da("ISO-23001-7",u,(g=tf(m))!=null?g:"");return E.pssh=new Uint8Array(s),E.keyId=l,this.attemptSetMediaKeys(m,p).then(()=>{this.throwIfDestroyed();let b=this.createMediaKeySessionContext({decryptdata:E,keySystem:m,mediaKeys:p});return this.generateRequestWithPreferredKeySession(b,r,s,"encrypted-event-no-match")})}),f.catch(m=>this.handleError(m))}})}},this.onWaitingForKey=t=>{this.log(`"${t.type}" event`)},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.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=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===Ie.WIDEVINE&&r)return r}getLicenseServerUrlOrThrow(e){let t=this.getLicenseServerUrl(e);if(t===void 0)throw new Error(`no license server URL configured for key-system "${e}"`);return t}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:ne.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 _b===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=gR(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: ${ki.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 ki.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${ki.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
|
|
1274
|
-
} (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=rd(this.config),n=e.map(Jh).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=tf(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});return this.generateRequestWithPreferredKeySession(l,"cenc",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:ne.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=Jh(e.keyFormat),n=s?[s]:rd(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=rd(this.config)),e.length===0)throw new Mt({type:ne.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)}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 Fm,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(b=>{this.handleError(b),u.emit("error",b)}):g==="license-release"?e.keySystem===Ie.FAIRPLAY&&(this.updateKeySession(e,Sf("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:ne.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Mt({type:ne.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:ne.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: ${ki.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${ki.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:ne.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:mt({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:ne.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:ne.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:ne.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 Sf(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.getLicenseServerUrlOrThrow(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:ne.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==Ie.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.removeEventListener("encrypted",this.onMediaEncrypted),r.removeEventListener("waitingforkey",this.onWaitingForKey),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={},Da.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}`)})}}};Vd.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}},yt;(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"})(yt||(yt={}));var bm;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(bm||(bm={}));var ns;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(ns||(ns={}));var kk={[ns.OBJECT]:["br","d","ot","tb"],[ns.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[ns.SESSION]:["cid","pr","sf","sid","st","v"],[ns.STATUS]:["bs","rtp"]},Ba=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}},Wd=class{constructor(e){this.description=void 0,this.description=e}},Lk="Dict";function wk(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 Dk(i,e,t,r){return new Error(`failed to ${i} "${wk(e)}" as ${t}`,{cause:r})}var gb="Bare Item",Ck="Boolean",Mk="Byte Sequence",Pk="Decimal",Ok="Integer";function Nk(i){return i<-999999999999999||999999999999999<i}var Uk=/[\x00-\x1f\x7f]+/,Fk="Token",Bk="Key";function Ci(i,e,t){return Dk("serialize",i,e,t)}function $k(i){if(typeof i!="boolean")throw Ci(i,Ck);return i?"?1":"?0"}function Hk(i){return btoa(String.fromCharCode(...i))}function Gk(i){if(ArrayBuffer.isView(i)===!1)throw Ci(i,Mk);return`:${Hk(i)}:`}function py(i){if(Nk(i))throw Ci(i,Ok);return i.toString()}function Kk(i){return`@${py(i.getTime()/1e3)}`}function gy(i,e){if(i<0)return-gy(-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 Vk(i){let e=gy(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw Ci(i,Pk);let t=e.toString();return t.includes(".")?t:`${t}.0`}var Wk="String";function Yk(i){if(Uk.test(i))throw Ci(i,Wk);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function qk(i){return i.description||i.toString().slice(7,-1)}function vb(i){let e=qk(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Ci(e,Fk);return e}function ym(i){switch(typeof i){case"number":if(!j(i))throw Ci(i,gb);return Number.isInteger(i)?py(i):Vk(i);case"string":return Yk(i);case"symbol":return vb(i);case"boolean":return $k(i);case"object":if(i instanceof Date)return Kk(i);if(i instanceof Uint8Array)return Gk(i);if(i instanceof Wd)return vb(i);default:throw Ci(i,gb)}}function Tm(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw Ci(i,Bk);return i}function Hm(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${Tm(e)}`:`;${Tm(e)}=${ym(t)}`).join("")}function vy(i){return i instanceof Ba?`${ym(i.value)}${Hm(i.params)}`:ym(i)}function jk(i){return`(${i.value.map(vy).join(" ")})${Hm(i.params)}`}function zk(i,e={whitespace:!0}){if(typeof i!="object")throw Ci(i,Lk);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof Ba||(n=new Ba(n));let a=Tm(s);return n.value===!0?a+=Hm(n.params):(a+="=",Array.isArray(n.value)?a+=jk(n):a+=vy(n)),a}).join(`,${r}`)}function Xk(i,e){return zk(i,e)}var Qk=i=>i==="ot"||i==="sf"||i==="st",Zk=i=>typeof i=="number"?j(i):i!=null&&i!==""&&i!==!1;function Jk(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 eL(){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 bd=i=>Math.round(i),tL=(i,e)=>(e!=null&&e.baseUrl&&(i=Jk(i,e.baseUrl)),encodeURIComponent(i)),fd=i=>bd(i/100)*100,iL={br:bd,d:bd,bl:fd,dl:fd,mtp:fd,nor:tL,rtp:fd,tb:bd};function rL(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=et({},iL,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||Zk(o)&&(Qk(a)&&typeof o=="string"&&(o=new Wd(o)),t[a]=o))}),t}function Ey(i,e={}){return i?Xk(rL(i,e),et({whitespace:!1},e)):""}function sL(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(kk).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])||ns.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=Ey(o,e),n),{})}function nL(i,e,t){return et(i,sL(e,t))}var aL="CMCD";function oL(i,e={}){if(!i)return"";let t=Ey(i,e);return`${aL}=${encodeURIComponent(t)}`}var Eb=/CMCD=[^&#]+/;function lL(i,e,t){let r=oL(e,t);if(!r)return i;if(Eb.test(i))return i.replace(Eb,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var _m=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:yt.MANIFEST,su:!this.initialized})}catch(n){k.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===yt.VIDEO||o===yt.AUDIO||o==yt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){k.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||eL(),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:bm.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){et(t,this.createData());let r=t.ot===yt.INIT||t.ot===yt.VIDEO||t.ot===yt.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={}),nL(e.headers,t)):e.url=lL(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return yt.TIMED_TEXT;if(e.sn==="initSegment")return yt.INIT;if(t==="audio")return yt.AUDIO;if(t==="main")return this.hls.audioTracks.length?yt.VIDEO:yt.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===yt.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===yt.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:Ge.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)}}}},dL=3e5,Am=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=k.log.bind(k,"[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)===ht.SendAlternateToPenaltyBox&&r.flags===oi.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||k.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}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]>dL&&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,Hb(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===Ae.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===Ae.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 Ye(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=by(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Er({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),bb(this.audioTracks,r,l,a),bb(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 b={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,b),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 bb(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=et({},a);return o.details=void 0,o.attrs=new Ye(o.attrs),o.url=o.attrs.URI=by(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 by(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 uL=/^age:\s*[\d.]+\s*$/im,Yd=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 Sn,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&&j(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"?t.responseText:null;if(a>=200&&a<300){let c=o!=null?o:t.response;if(c!=null){r.loading.end=Math.max(self.performance.now(),r.loading.first);let h=t.responseType==="arraybuffer"?c.byteLength:c.length;if(r.loaded=r.total=h,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let f=this.callbacks.onProgress;if(f&&f(r,e,c,t),!this.callbacks)return;let m={url:t.responseURL,data:c,code:a};this.callbacks.onSuccess(m,r,e,t);return}}let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};wd(l,d,!1,u)?this.retry(l):(k.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(wd(e,t,!0))this.retry(e);else{var r;k.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=Pm(e,r.retry),r.retry++,k.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&&uL.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 cL(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var hL=/(\d+)-(\d+)\/(\d+)/,qd=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||gL,this.controller=new self.AbortController,this.stats=new Sn}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=fL(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&&j(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 Sm(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=pL(c.headers)||s.total,a&&j(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&&!j(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 Md,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 fL(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(et({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function mL(i){let e=hL.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function pL(i){let e=i.get("Content-Range");if(e){let r=mL(e);if(j(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function gL(i,e){return new self.Request(i.url,e)}var Sm=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},vL=/\s/,EL={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++)vL.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=uy(d.trim()),m=$m(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=>Ub(i,h))),s}},bL={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},yy=mt(mt({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:Yd,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Nf,bufferController:lm,capLevelController:vm,errorController:Pf,fpsController:Em,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:_b,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:bL},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},yL()),{},{subtitleStreamController:sm,subtitleTrackController:am,timelineController:gm,audioStreamController:tm,audioTrackController:rm,emeController:Vd,cmcdController:_m,contentSteeringController:Am});function yL(){return{cueHandler:EL,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 TL(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=xm(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&&k.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),mt(mt({},t),e)}function xm(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(xm):Object.keys(i).reduce((e,t)=>(e[t]=xm(i[t]),e),{}):i}function _L(i){let e=i.loader;e!==qd&&e!==Yd?(k.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):cL()&&(i.loader=qd,i.progressive=!0,i.enableSoftwareAES=!0,k.log("[config]: Progressive streaming enabled, using FetchLoader"))}var yf,Rm=class extends Ma{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&&(yf||(yf=/chrome|firefox/i.test(navigator.userAgent)),yf&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=Rd(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=zR(p));let{width:g,height:E,unknownCodecs:b}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),b!=null&&b.length||m&&!af(m,"audio",r)||p&&!af(p,"video",r))return;let{CODECS:T,"FRAME-RATE":_,"HDCP-LEVEL":A,"PATHWAY-ID":R,RESOLUTION:S,"VIDEO-RANGE":D}=f,L=`${`${R||"."}-`}${u.bitrate}-${S}-${_}-${T}-${D}-${A}`;if(n[L])if(n[L].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let P=a[L]+=1;u.attrs["PATHWAY-ID"]=new Array(P+1).join(".");let U=new Er(u);n[L]=U,s.push(U)}else n[L].addGroupId("audio",f.AUDIO),n[L].addGroupId("text",f.SUBTITLES);else{let P=new Er(u);n[L]=P,a[L]=1,s.push(P)}}),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))&&nI(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:ne.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||af(p.audioCodec,"audio",m)),yb(a)}t.subtitles&&(o=t.subtitles,yb(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 Id.indexOf(m.videoRange)-Id.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=OE(m.videoCodec),E=OE(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=xd(m.codecSet),E=xd(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===yy.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:ne.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===Ae.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===re.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));Hb(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 yb(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var Im=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 di({type:ne.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.config.emeEnabled?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:b}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[b])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,mt({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 Ty(){return self.SourceBuffer||self.WebKitSourceBuffer}function _y(){if(!ls())return!1;let e=Ty();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function AL(){if(!_y())return!1;let i=ls();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(Ca(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(Ca(e,"audio"))))}function SL(){var i;let e=Ty();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var xL=250,yd=2,RL=.1,IL=.05,km=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;k.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||!Ge.getBuffered(s).length){this.nudgeRetry=0;return}let u=Ge.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>yd,E=!c||t&&t.start<=a||c-a>yd&&!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,b=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,_=(b==null||(h=b.details)==null?void 0:h.live)?b.details.targetduration*2:yd,A=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=_||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>=xL&&(this._reportStall(u),!this.media))return;let p=Ge.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&&(k.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)})`);k.warn(n.message),t.trigger(v.ERROR,{type:ne.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=Ge.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,re.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,re.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+IL,n+RL);if(k.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:ne.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}`);k.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:ne.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`);k.error(a.message),t.trigger(v.ERROR,{type:ne.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},kL=100,Lm=class extends Na{constructor(e,t,r){super(e,t,r,"[stream-controller]",re.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(kL),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=O.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=O.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case O.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=O.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=O.IDLE;break}break}case O.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=O.IDLE}}break}this.state===O.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=this.buffering?e.nextLoadLevel:e.loadLevel;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=O.ENDED;return}if(!this.buffering)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===O.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=O.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)!==ft.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?De.AUDIO:De.VIDEO,E=(g===De.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,re.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,re.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===ft.NOT_LOADED||s===ft.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,re.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 O.KEY_LOADING:case O.FRAG_LOADING:case O.FRAG_LOADING_WAITING_RETRY:case O.PARSING:case O.PARSED:this.state=O.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 km(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;j(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&&!SL(),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!==O.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=O.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===O.FRAG_LOADING||this.state===O.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===O.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=O.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 $d(this.hls,re.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new Pa(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!==re.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===O.PARSED&&(this.state=O.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=O.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(re.MAIN,t);break;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===O.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===Ae.LEVEL&&(this.state=O.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||!Ge.getBuffered(e).length){let r=this.state!==O.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=O.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==De.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===De.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,re.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=Ge.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=O.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=O.PARSING,m){if(m!=null&&m.tracks){let T=l.initSegment||l;this._bufferInitSegment(u,m.tracks,T,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:r,tracks:m.tracks})}let E=m.initPTS,b=m.timescale;j(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:b},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:b}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],b=l.sn===p.startSN,T=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:_,endPTS:A,startDTS:R,endDTS:S}=c;if(d)d.elementaryStreams[c.type]={startPTS:_,endPTS:A,startDTS:R,endDTS:S};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!T&&(this.couldBacktrack=!0),c.dropped&&c.independent){let D=this.getMainFwdBufferInfo(),M=(D?D.end:this.getLoadPosition())+this.config.maxBufferHole,L=c.firstKeyFramePTS?c.firstKeyFramePTS:_;if(!b&&M<L-this.config.maxBufferHole&&!T){this.backtrack(l);return}else T&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,A,l.start,S,!0)}else b&&_>yd&&(l.gap=!0);l.setElementaryStreamInfo(c.type,_,A,R,S),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,b||T)}else if(b||T)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:b,startDTS:T,endDTS:_}=g;d&&(d.elementaryStreams[De.AUDIO]={startPTS:E,endPTS:b,startDTS:T,endDTS:_}),l.setElementaryStreamInfo(De.AUDIO,E,b,T,_),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!==O.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,re.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=O.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(Ge.isBuffered(e,r)?t=this.getAppendedFrag(r):Ge.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&&j(t)&&j(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}},$a=class i{static get version(){return"1.5.20"}static isMSESupported(){return _y()}static isSupported(){return AL()}static getMediaSource(){return ls()}static get Events(){return v}static get ErrorTypes(){return ne}static get ErrorDetails(){return C}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:yy}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 Fm,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,lR(e.debug||!1,"Hls instance");let t=this.config=TL(i.DefaultConfig,e);this.userConfig=e,t.progressive&&_L(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 Rf(this),m=new Lf(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new Rm(this,g),b=new Ff(this),T=new Im(this.config),_=this.streamController=new Lm(this,b,T);c.setStreamController(_),h.setStreamController(_);let A=[f,E,_];g&&A.splice(1,0,g),this.networkControllers=A;let R=[d,u,c,h,m,b];this.audioTrackController=this.createController(t.audioTrackController,A);let S=t.audioStreamController;S&&A.push(new S(this,b,T)),this.subtitleTrackController=this.createController(t.subtitleTrackController,A);let D=t.subtitleStreamController;D&&A.push(new D(this,b,T)),this.createController(t.timelineController,R),T.emeController=this.emeController=this.createController(t.emeController,R),this.cmcdController=this.createController(t.cmcdController,R),this.latencyController=this.createController(wf,R),this.coreComponents=R,A.push(l);let M=l.onErrorOut;typeof M=="function"&&this.on(v.ERROR,M,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(k.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:ne.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(){k.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){k.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){k.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=wm.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,k.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){k.log(`startLoad(${e})`),this.started=!0,this.resumeBuffering();for(let t=0;t<this.networkControllers.length&&(this.networkControllers[t].startLoad(e),!(!this.started||!this.networkControllers));t++);}stopLoad(){k.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!(this.started||!this.networkControllers));e++);}resumeBuffering(){k.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()})}pauseBuffering(){k.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()})}swapAudioCodec(){k.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){k.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){k.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){k.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){k.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){k.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){k.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&&(k.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){sI(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}};$a.defaultConfig=void 0;var Te=$a,Ne={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},ee={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},Ga=i=>i===Ne.VIDEO?"playback":i,br=class Ha extends Error{constructor(e,t=Ha.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=Ha.MEDIA_ERR_NETWORK&&t<=Ha.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=Ha.defaultMessages[this.code])!=null?n:"")}};br.MEDIA_ERR_ABORTED=1,br.MEDIA_ERR_NETWORK=2,br.MEDIA_ERR_DECODE=3,br.MEDIA_ERR_SRC_NOT_SUPPORTED=4,br.MEDIA_ERR_ENCRYPTED=5,br.MEDIA_ERR_CUSTOM=100,br.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 V=br,LL=i=>i==null,Xm=(i,e)=>LL(e)?!1:i in e,Vm={ANY:"any",MUTED:"muted"},Re={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},jt={MSE:"mse",NATIVE:"native"},zd={HEADER:"header",QUERY:"query",NONE:"none"},In=Object.values(zd),Tr={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Wm={HLS:Tr.M3U8},$N=Object.keys(Wm),HN=[...Object.values(Tr),"hls","HLS"];var wL="en",Ym={code:wL},tt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function DL(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 eu=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},tu=i=>{let e=i.type;if(e){let r=e.toUpperCase();return Xm(r,Wm)?Wm[r]:e}let{src:t}=i;return t?CL(t):""},Cy=i=>i==="VOD"?Re.ON_DEMAND:Re.LIVE,My=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,CL=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 Xm(r,Tr)?Tr[r]:""},_r=i=>{let e=(i!=null?i:"").split(".")[1];if(e)try{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)}catch{return}},ML=({exp:i},e=Date.now())=>!i||i*1e3<e,PL=({sub:i},e)=>i!==e,OL=({aud:i},e)=>!i,NL=({aud:i},e)=>i!==e,Py="en";function z(i,e=!0){var t,r;let s=e&&(r=(t=Ym)==null?void 0:t[i])!=null?r:i,n=e?Ym.code:Py;return new UL(s,n)}var UL=class{constructor(i,e=(t=>(t=Ym)!=null?t:Py)()){this.message=i,this.locale=e}format(i){return this.message.replace(/\{(\w+)\}/g,(e,t)=>{var r;return(r=i[t])!=null?r:""})}toString(){return this.message}},FL=Object.values(Vm),Ay=i=>typeof i=="boolean"||typeof i=="string"&&FL.includes(i),BL=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=Ay(r)?r:!!r,o=()=>{s||tt(e,"playing",()=>{s=!0},{once:!0})};if(o(),tt(e,"loadstart",()=>{s=!1,o(),Gm(e,a)},{once:!0}),tt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==Re.UNKNOWN?n=i.streamType===Re.LIVE:n=!Number.isFinite(e.duration)),Gm(e,a)},{once:!0}),t&&t.once(Te.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==Re.UNKNOWN?n=i.streamType===Re.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&&tt(e,"play",()=>{e.preload==="metadata"?t.once(Te.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=Ay(l)?l:!!l,Gm(e,a))}},Gm=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case Vm.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case Vm.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},$L=({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 tt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function HL(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Te.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(Te.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(Te.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(Te.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Te.Events.BUFFER_FLUSHING,h),c||e.trigger(Te.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(Te.Events.DESTROYING,l)}var Km=i=>"time"in i?i.time:i.startTime;function GL(i,e){e.on(Te.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o,l;let d=(o=a.subtitleTrack)!=null?o:a.closedCaptions,u=e.subtitleTracks.findIndex(({lang:h,name:f,type:m})=>h==(d==null?void 0:d.lang)&&f===a.label&&m.toLowerCase()===a.kind),c=((l=a._id)!=null?l:a.default)?"default":`${a.kind}${u}`;iu(i,a.kind,a.label,d==null?void 0:d.lang,c,a.default)})});let t=()=>{if(!e.subtitleTracks.length)return;let s=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind));if(!s)return;let n=e.subtitleTracks[e.subtitleTrack],a=n?n.default?"default":`${e.subtitleTracks[e.subtitleTrack].type.toLowerCase()}${e.subtitleTrack}`:void 0;if(e.subtitleTrack<0||(s==null?void 0:s.id)!==a){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u,default:c})=>s.id==="default"&&c||l==s.language&&d===s.label&&u.toLowerCase()===s.kind);e.subtitleTrack=o}(s==null?void 0:s.id)===a&&s.cues&&Array.from(s.cues).forEach(o=>{s.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Te.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(Te.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"||s.kind==="chapters")){if(!((n=s.cues)!=null&&n.length)){let o="track";s.kind&&(o+=`[kind="${s.kind}"]`),s.label&&(o+=`[label="${s.label}"]`);let l=i.querySelector(o),d=(a=l==null?void 0:l.getAttribute("src"))!=null?a:"";l==null||l.removeAttribute("src"),setTimeout(()=>{l==null||l.setAttribute("src",d)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Te.Events.MANIFEST_LOADED,r),e.once(Te.Events.MEDIA_ATTACHED,r)}function iu(i,e,t,r,s,n){let a=document.createElement("track");return a.kind=e,a.label=t,r&&(a.srclang=r),s&&(a.id=s),n&&(a.default=!0),a.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),i.append(a),a.track}function Oy(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}function Ka(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 Ny(i,e,t,r){let s=Ka(i,t,r);return s||(s=iu(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)=>Km(a)-Km(n)).forEach(n=>{var a,o;let l=n.value,d=Km(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 Qm="cuepoints",Uy=Object.freeze({label:Qm});async function Zm(i,e,t=Uy){return Ny(i,e,t.label,"metadata")}var qm=i=>({time:i.startTime,value:JSON.parse(i.text)});function Fy(i,e={label:Qm}){let t=Ka(i,e.label,"metadata");return t!=null&&t.cues?Array.from(t.cues,r=>qm(r)):[]}function Jm(i,e={label:Qm}){var t,r;let s=Ka(i,e.label,"metadata");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return qm(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 qm(a||s.activeCues[0])}async function KL(i,e=Uy){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await Zm(i,[],e);tt(i,"cuechange",()=>{let s=Jm(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}var ep="chapters",By=Object.freeze({label:ep}),jm=i=>({startTime:i.startTime,endTime:i.endTime,value:i.text});async function tp(i,e,t=By){return Ny(i,e,t.label,"chapters")}function $y(i,e={label:ep}){var t;let r=Ka(i,e.label,"chapters");return(t=r==null?void 0:r.cues)!=null&&t.length?Array.from(r.cues,s=>jm(s)):[]}function ip(i,e={label:ep}){var t,r;let s=Ka(i,e.label,"chapters");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return jm(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 jm(a||s.activeCues[0])}async function VL(i,e=By){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await tp(i,[],e);tt(i,"cuechange",()=>{let s=ip(i);if(s){let n=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function Hy(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 Gy(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 Rn={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},WL=i=>{if(i===Ne.VIDEO)return Rn.VIDEO;if(i===Ne.DRM)return Rn.DRM},YL=(i,e)=>{var t,r;let s=Ga(i),n=`${s}Token`;return(t=e.tokens)!=null&&t[s]?(r=e.tokens)==null?void 0:r[s]:Xm(n,e)?e[n]:void 0},Zd=(i,e,t,r=!1,s=!(n=>(n=globalThis.navigator)==null?void 0:n.onLine)())=>{var n,a;if(s){let g=z("Your device appears to be offline",r),E,b=V.MEDIA_ERR_NETWORK,T=new V(g,b,!0,E);return T.errorCategory=e,T.muxCode=ee.NETWORK_OFFLINE,T.data=i,T}let o="status"in i?i.status:i.code,l=Date.now(),d=V.MEDIA_ERR_NETWORK;if(o===200)return;let u=Ga(e),c=YL(e,t),h=WL(e),[f]=eu((n=t.playbackId)!=null?n:"");if(!o||!f)return;let m=_r(c);if(c&&!m){let g=z("The {tokenNamePrefix}-token provided is invalid or malformed.",r).format({tokenNamePrefix:u}),E=z("Compact JWT string: {token}",r).format({token:c}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_TOKEN_MALFORMED,b.data=i,b}if(o>=500){let g=new V("",d,!0);return g.errorCategory=e,g.muxCode=ee.NETWORK_UNKNOWN_ERROR,g}if(o===403)if(m){if(ML(m,l)){let g={timeStyle:"medium",dateStyle:"medium"},E=z("The video\u2019s secured {tokenNamePrefix}-token has expired.",r).format({tokenNamePrefix:u}),b=z("Expired at: {expiredDate}. Current time: {currentDate}.",r).format({expiredDate:new Intl.DateTimeFormat("en",g).format((a=m.exp)!=null?a:0*1e3),currentDate:new Intl.DateTimeFormat("en",g).format(l)}),T=new V(E,d,!0,b);return T.errorCategory=e,T.muxCode=ee.NETWORK_TOKEN_EXPIRED,T.data=i,T}if(PL(m,f)){let g=z("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u}),E=z("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",r).format({tokenNamePrefix:u,playbackId:f,tokenPlaybackId:m.sub}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_TOKEN_SUB_MISMATCH,b.data=i,b}if(OL(m,h)){let g=z("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=z("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_TOKEN_AUD_MISSING,b.data=i,b}if(NL(m,h)){let g=z("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=z("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h,aud:m.aud}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_TOKEN_AUD_MISMATCH,b.data=i,b}}else{let g=z("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u,category:e}),E=z("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_TOKEN_MISSING,b.data=i,b}if(o===412){let g=z("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",r),E=z("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_NOT_READY,b.data=i,b}if(o===404){let g=z("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",r),E=z("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_NOT_FOUND,b.data=i,b}if(o===400){let g=z("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),E=z("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=ee.NETWORK_INVALID_URL,b.data=i,b}let p=new V("",d,!0);return p.errorCategory=e,p.muxCode=ee.NETWORK_UNKNOWN_ERROR,p.data=i,p},Sy=Te.DefaultConfig.capLevelController,Ky=class Vy extends Sy{constructor(e){super(e)}get levels(){var e;return(e=this.hls.levels)!=null?e:[]}getValidLevels(e){return this.levels.filter((t,r)=>this.isLevelAllowed(t)&&r<=e)}getMaxLevel(e){let t=super.getMaxLevel(e),r=this.getValidLevels(e);if(!r[t])return t;let s=Math.min(r[t].width,r[t].height),n=Vy.minMaxResolution;return s>=n?t:Sy.getMaxLevelByMediaSize(r,n*(16/9),n)}};Ky.minMaxResolution=720;var qL=Ky,jL=qL,Xd={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},zL=i=>{if(i.includes("fps"))return Xd.FAIRPLAY;if(i.includes("playready"))return Xd.PLAYREADY;if(i.includes("widevine"))return Xd.WIDEVINE},XL=async i=>fetch(i).then(e=>e.status!==200?Promise.reject(e):e.text()).then(e=>{let t=e.split(`
|
|
1277
|
+
`),d=[],u=e?tk(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,m,p=!0;o.oncue=function(g){let E=t[r],b=t.ccOffset,T=(h-u)/9e4;if(E!=null&&E.new&&(f!==void 0?b=t.ccOffset=E.start:Tk(t,r,T)),T){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}b=T-t.presentationOffset}let _=g.endTime-g.startTime,A=Yt((g.startTime+b-f)*9e4,s*9e4)/9e4;g.startTime=Math.max(A,0),g.endTime=Math.max(A+_,0);let R=g.text.trim();g.text=decodeURIComponent(encodeURIComponent(R)),g.id||(g.id=Bm(g.startTime,g.endTime,R)),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(ff(g,"X-TIMESTAMP-MAP=")){p=!1,g.slice(16).split(",").forEach(E=>{ff(E,"LOCAL:")?c=E.slice(6):ff(E,"MPEGTS:")&&(h=parseInt(E.slice(7)))});try{f=yk(c)/1e3}catch(E){m=E}return}else g===""&&(p=!1);o.parse(g+`
|
|
1278
|
+
`)}),o.flush()}var pf="stpp.ttml.im1t",fy=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,my=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Ak={left:"start",center:"center",right:"end",start:"start",end:"end"};function fb(i,e,t,r){let s=fe(new Uint8Array(i),["mdat"]);if(s.length===0){r(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Di(o)),a=ek(e.baseTime,1,e.timescale);try{n.forEach(o=>t(Sk(o,a)))}catch(o){r(o)}}function Sk(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=mb(gf(s,"styling","style")),d=mb(gf(s,"layout","region")),u=gf(s,"body","[begin]");return[].map.call(u,c=>{let h=py(c,o);if(!h||!c.hasAttribute("begin"))return null;let f=Ef(c.getAttribute("begin"),a),m=Ef(c.getAttribute("dur"),a),p=Ef(c.getAttribute("end"),a);if(f===null)throw pb(c);if(p===null){if(m===null)throw pb(c);p=f+m}let g=new Fm(f-e,p-e,h);g.id=Bm(g.startTime,g.endTime,g.text);let E=d[c.getAttribute("region")],b=l[c.getAttribute("style")],T=xk(E,b,l),{textAlign:_}=T;if(_){let A=Ak[_];A&&(g.lineAlign=A),g.align=_}return et(g,T),g}).filter(c=>c!==null)}function gf(i,e,t){let r=i.getElementsByTagName(e)[0];return r?[].slice.call(r.querySelectorAll(t)):[]}function mb(i){return i.reduce((e,t)=>{let r=t.getAttribute("xml:id");return r&&(e[r]=t),e},{})}function py(i,e){return[].slice.call(i.childNodes).reduce((t,r,s)=>{var n;return r.nodeName==="br"&&s?t+`
|
|
1279
|
+
`:(n=r.childNodes)!=null&&n.length?py(r,e):e?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}function xk(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=vf(e,r,l)||vf(i,r,l)||vf(s,r,l);return d&&(o[l]=d),o},{})}function vf(i,e,t){return i&&i.hasAttributeNS(e,t)?i.getAttributeNS(e,t):null}function pb(i){return new Error(`Could not parse ttml timestamp ${i}`)}function Ef(i,e){if(!i)return null;let t=uy(i);return t===null&&(fy.test(i)?t=Rk(i,e):my.test(i)&&(t=Ik(i,e))),t}function Rk(i,e){let t=fy.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 Ik(i,e){let t=my.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 pm=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=vb(),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 _n(this,"textTrack1"),t=new _n(this,"textTrack2"),r=new _n(this,"textTrack3"),s=new _n(this,"textTrack4");this.cea608Parser1=new Kd(1,e,t),this.cea608Parser2=new Kd(3,r,s)}}addCues(e,t,r,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=kk(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(gb(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,Tn(r[e]),Fb(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=>{Tn(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=vb(),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++)Tn(t[r])}onSubtitleTracksUpdated(e,t){let r=t.subtitleTracks||[],s=r.some(n=>n.textCodec===pf);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(ly(this.tracks,r)){this.tracks=r;return}if(this.textTracks=[],this.tracks=r,this.config.renderTextTracksNatively){let a=this.media,o=a?md(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]&&gb(o[h],l)){c=o[h],o[h]=null;break}c&&(u=c)}if(u)Tn(u);else{let c=gy(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&&k.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===se.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===se.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===pf?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;fb(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),r.trigger(v.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{k.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?qt(r.initSegment.data,new Uint8Array(s)):s;_k(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),k.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||fb(t,this.initPTS[e.cc],()=>{r.textCodec=pf,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=>Bb(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===se.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===se.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=>Rf(o[l],t,r))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Rf(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 gy(i){return i.characteristics&&/transcribes-spoken-dialog/gi.test(i.characteristics)&&/describes-music-and-sound/gi.test(i.characteristics)?"captions":"subtitles"}function gb(i,e){return!!i&&i.kind===gy(e)&&tm(e,i)}function kk(i,e,t,r){return Math.min(e,r)-Math.max(i,t)}function vb(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var gm=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&&z(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&&k.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}},vm=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;k.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)}},hd="[eme]",Vd=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.debug=k.debug.bind(k,hd),this.log=k.log.bind(k,hd),this.warn=k.warn.bind(k,hd),this.error=k.error.bind(k,hd),this.onMediaEncrypted=t=>{let{initDataType:r,initData:s}=t,n=`"${t.type}" event: init data type: "${r}"`;if(this.debug(n),s!==null){if(!this.keyFormatPromise){let a=Object.keys(this.keySystemAccessPromises);a.length||(a=rd(this.config));let o=a.map(ef).filter(l=>!!l);this.keyFormatPromise=this.getKeyFormatPromise(o)}this.keyFormatPromise.then(a=>{let o=Zh(a),l,d;if(r==="sinf"){if(o!==Ie.FAIRPLAY){this.warn(`Ignoring unexpected "${t.type}" event with init data type: "${r}" for selected key-system ${o}`);return}let m=rt(new Uint8Array(s));try{let p=wm(JSON.parse(m).sinf),g=Mb(p);if(!g)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");l=g.subarray(8,24),d=Ie.FAIRPLAY}catch(p){this.warn(`${n} Failed to parse sinf: ${p}`);return}}else{if(o!==Ie.WIDEVINE&&o!==Ie.PLAYREADY){this.warn(`Ignoring unexpected "${t.type}" event with init data type: "${r}" for selected key-system ${o}`);return}let m=GR(s),p=m.filter(E=>!!E.systemId&&Jh(E.systemId)===o);p.length>1&&this.warn(`${n} Using first of ${p.length} pssh found for selected key-system ${o}`);let g=p[0];if(!g){m.length===0||m.some(E=>!E.systemId)?this.warn(`${n} contains incomplete or invalid pssh data`):this.log(`ignoring ${n} for ${m.map(E=>Jh(E.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(d=Jh(g.systemId),g.version===0&&g.data)if(d===Ie.WIDEVINE){let E=g.data.length-22;l=g.data.subarray(E,E+16)}else d===Ie.PLAYREADY&&(l=xb(g.data))}if(!d||!l){this.log(`Unable to handle ${n} with key-system ${o}`);return}let u=ki.hexDump(l),{keyIdToKeySessionPromise:c,mediaKeySessions:h}=this,f=c[u];for(let m=0;m<h.length;m++){let p=h[m],g=p.decryptdata;if(!g.keyId)continue;let E=ki.hexDump(g.keyId);if(u===E||g.uri.replace(/-/g,"").indexOf(u)!==-1){if(f=c[E],g.pssh)break;delete c[E],g.pssh=new Uint8Array(s),g.keyId=l,f=c[u]=f.then(()=>this.generateRequestWithPreferredKeySession(p,r,s,"encrypted-event-key-match")),f.catch(b=>this.handleError(b));break}}if(!f){if(d!==o){this.log(`Ignoring "${n}" with ${d} init data for selected key-system ${o}`);return}f=c[u]=this.getKeySystemSelectionPromise([d]).then(({keySystem:m,mediaKeys:p})=>{var g;this.throwIfDestroyed();let E=new Da("ISO-23001-7",u,(g=ef(m))!=null?g:"");return E.pssh=new Uint8Array(s),E.keyId=l,this.attemptSetMediaKeys(m,p).then(()=>{this.throwIfDestroyed();let b=this.createMediaKeySessionContext({decryptdata:E,keySystem:m,mediaKeys:p});return this.generateRequestWithPreferredKeySession(b,r,s,"encrypted-event-no-match")})}),f.catch(m=>this.handleError(m))}})}},this.onWaitingForKey=t=>{this.log(`"${t.type}" event`)},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.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=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===Ie.WIDEVINE&&r)return r}getLicenseServerUrlOrThrow(e){let t=this.getLicenseServerUrl(e);if(t===void 0)throw new Error(`no license server URL configured for key-system "${e}"`);return t}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:le.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 Sb===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=vR(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: ${ki.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 ki.hexDump(e.keyId)}updateKeySession(e,t){var r;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${ki.hexDump(((r=e.decryptdata)==null?void 0:r.keyId)||[])}
|
|
1280
|
+
} (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=rd(this.config),n=e.map(Zh).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=ef(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});return this.generateRequestWithPreferredKeySession(l,"cenc",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:le.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=Zh(e.keyFormat),n=s?[s]:rd(this.config);return this.attemptKeySystemAccess(n)}return r}getKeySystemSelectionPromise(e){if(e.length||(e=rd(this.config)),e.length===0)throw new Mt({type:le.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)}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 Um,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(b=>{this.handleError(b),u.emit("error",b)}):g==="license-release"?e.keySystem===Ie.FAIRPLAY&&(this.updateKeySession(e,Af("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:le.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?p(new Mt({type:le.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:le.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: ${ki.hexDump("buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r))} session keyId: ${ki.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:le.KEY_SYSTEM_ERROR,details:C.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:m,response:mt({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:le.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:le.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:le.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 Af(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.getLicenseServerUrlOrThrow(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:le.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==Ie.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.removeEventListener("encrypted",this.onMediaEncrypted),r.removeEventListener("waitingforkey",this.onWaitingForKey),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={},Da.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}`)})}}};Vd.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}},yt;(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"})(yt||(yt={}));var Em;(function(i){i.DASH="d",i.HLS="h",i.SMOOTH="s",i.OTHER="o"})(Em||(Em={}));var ns;(function(i){i.OBJECT="CMCD-Object",i.REQUEST="CMCD-Request",i.SESSION="CMCD-Session",i.STATUS="CMCD-Status"})(ns||(ns={}));var Lk={[ns.OBJECT]:["br","d","ot","tb"],[ns.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[ns.SESSION]:["cid","pr","sf","sid","st","v"],[ns.STATUS]:["bs","rtp"]},Ba=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}},Wd=class{constructor(e){this.description=void 0,this.description=e}},wk="Dict";function Dk(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 Ck(i,e,t,r){return new Error(`failed to ${i} "${Dk(e)}" as ${t}`,{cause:r})}var Eb="Bare Item",Mk="Boolean",Pk="Byte Sequence",Ok="Decimal",Nk="Integer";function Uk(i){return i<-999999999999999||999999999999999<i}var Fk=/[\x00-\x1f\x7f]+/,Bk="Token",$k="Key";function Ci(i,e,t){return Ck("serialize",i,e,t)}function Hk(i){if(typeof i!="boolean")throw Ci(i,Mk);return i?"?1":"?0"}function Gk(i){return btoa(String.fromCharCode(...i))}function Kk(i){if(ArrayBuffer.isView(i)===!1)throw Ci(i,Pk);return`:${Gk(i)}:`}function vy(i){if(Uk(i))throw Ci(i,Nk);return i.toString()}function Vk(i){return`@${vy(i.getTime()/1e3)}`}function Ey(i,e){if(i<0)return-Ey(-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 Wk(i){let e=Ey(i,3);if(Math.floor(Math.abs(e)).toString().length>12)throw Ci(i,Ok);let t=e.toString();return t.includes(".")?t:`${t}.0`}var Yk="String";function qk(i){if(Fk.test(i))throw Ci(i,Yk);return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function jk(i){return i.description||i.toString().slice(7,-1)}function bb(i){let e=jk(i);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Ci(e,Bk);return e}function bm(i){switch(typeof i){case"number":if(!z(i))throw Ci(i,Eb);return Number.isInteger(i)?vy(i):Wk(i);case"string":return qk(i);case"symbol":return bb(i);case"boolean":return Hk(i);case"object":if(i instanceof Date)return Vk(i);if(i instanceof Uint8Array)return Kk(i);if(i instanceof Wd)return bb(i);default:throw Ci(i,Eb)}}function ym(i){if(/^[a-z*][a-z0-9\-_.*]*$/.test(i)===!1)throw Ci(i,$k);return i}function $m(i){return i==null?"":Object.entries(i).map(([e,t])=>t===!0?`;${ym(e)}`:`;${ym(e)}=${bm(t)}`).join("")}function by(i){return i instanceof Ba?`${bm(i.value)}${$m(i.params)}`:bm(i)}function zk(i){return`(${i.value.map(by).join(" ")})${$m(i.params)}`}function Xk(i,e={whitespace:!0}){if(typeof i!="object")throw Ci(i,wk);let t=i instanceof Map?i.entries():Object.entries(i),r=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([s,n])=>{n instanceof Ba||(n=new Ba(n));let a=ym(s);return n.value===!0?a+=$m(n.params):(a+="=",Array.isArray(n.value)?a+=zk(n):a+=by(n)),a}).join(`,${r}`)}function Qk(i,e){return Xk(i,e)}var Zk=i=>i==="ot"||i==="sf"||i==="st",Jk=i=>typeof i=="number"?z(i):i!=null&&i!==""&&i!==!1;function eL(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 tL(){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 bd=i=>Math.round(i),iL=(i,e)=>(e!=null&&e.baseUrl&&(i=eL(i,e.baseUrl)),encodeURIComponent(i)),fd=i=>bd(i/100)*100,rL={br:bd,d:bd,bl:fd,dl:fd,mtp:fd,nor:iL,rtp:fd,tb:bd};function sL(i,e){let t={};if(i==null||typeof i!="object")return t;let r=Object.keys(i).sort(),s=et({},rL,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||Jk(o)&&(Zk(a)&&typeof o=="string"&&(o=new Wd(o)),t[a]=o))}),t}function yy(i,e={}){return i?Qk(sL(i,e),et({whitespace:!1},e)):""}function nL(i,e={}){if(!i)return{};let t=Object.entries(i),r=Object.entries(Lk).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])||ns.REQUEST;return(l=n[c])!=null||(n[c]={}),n[c][d]=u,n},{});return Object.entries(s).reduce((n,[a,o])=>(n[a]=yy(o,e),n),{})}function aL(i,e,t){return et(i,nL(e,t))}var oL="CMCD";function lL(i,e={}){if(!i)return"";let t=yy(i,e);return`${oL}=${encodeURIComponent(t)}`}var yb=/CMCD=[^&#]+/;function dL(i,e,t){let r=lL(e,t);if(!r)return i;if(yb.test(i))return i.replace(yb,r);let s=i.includes("?")?"&":"?";return`${i}${s}${r}`}var Tm=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:yt.MANIFEST,su:!this.initialized})}catch(n){k.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===yt.VIDEO||o===yt.AUDIO||o==yt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){k.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||tL(),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:Em.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){et(t,this.createData());let r=t.ot===yt.INIT||t.ot===yt.VIDEO||t.ot===yt.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={}),aL(e.headers,t)):e.url=dL(e.url,t)}getObjectType(e){let{type:t}=e;if(t==="subtitle")return yt.TIMED_TEXT;if(e.sn==="initSegment")return yt.INIT;if(t==="audio")return yt.AUDIO;if(t==="main")return this.hls.audioTracks.length?yt.VIDEO:yt.MUXED}getTopBandwidth(e){let t=0,r,s=this.hls;if(e===yt.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===yt.AUDIO?this.audioBuffer:this.videoBuffer;return!r||!t?NaN:Ge.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)}}}},uL=3e5,_m=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=k.log.bind(k,"[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)===ht.SendAlternateToPenaltyBox&&r.flags===oi.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||k.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}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]>uL&&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,Kb(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===Ae.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===Ae.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 Ye(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=Ty(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),p=new Er({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),Tb(this.audioTracks,r,l,a),Tb(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 b={steeringManifest:m,url:s.toString()};this.hls.trigger(v.STEERING_MANIFEST_LOADED,b),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 Tb(i,e,t,r){i&&Object.keys(e).forEach(s=>{let n=i.filter(a=>a.groupId===s).map(a=>{let o=et({},a);return o.details=void 0,o.attrs=new Ye(o.attrs),o.url=o.attrs.URI=Ty(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 Ty(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 cL=/^age:\s*[\d.]+\s*$/im,Yd=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 Sn,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&&z(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"?t.responseText:null;if(a>=200&&a<300){let c=o!=null?o:t.response;if(c!=null){r.loading.end=Math.max(self.performance.now(),r.loading.first);let h=t.responseType==="arraybuffer"?c.byteLength:c.length;if(r.loaded=r.total=h,r.bwEstimate=r.total*8e3/(r.loading.end-r.loading.first),!this.callbacks)return;let f=this.callbacks.onProgress;if(f&&f(r,e,c,t),!this.callbacks)return;let m={url:t.responseURL,data:c,code:a};this.callbacks.onSuccess(m,r,e,t);return}}let l=n.loadPolicy.errorRetry,d=r.retry,u={url:e.url,data:void 0,code:a};wd(l,d,!1,u)?this.retry(l):(k.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(wd(e,t,!0))this.retry(e);else{var r;k.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=Mm(e,r.retry),r.retry++,k.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&&cL.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 hL(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var fL=/(\d+)-(\d+)\/(\d+)/,qd=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||vL,this.controller=new self.AbortController,this.stats=new Sn}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=mL(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&&z(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 Am(m||"fetch, bad network response",f,c)}return s.loading.first=h,s.total=gL(c.headers)||s.total,a&&z(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&&!z(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 Md,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 mL(i,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(et({},i.headers))};return i.rangeEnd&&t.headers.set("Range","bytes="+i.rangeStart+"-"+String(i.rangeEnd-1)),t}function pL(i){let e=fL.exec(i);if(e)return parseInt(e[2])-parseInt(e[1])+1}function gL(i){let e=i.get("Content-Range");if(e){let r=pL(e);if(z(r))return r}let t=i.get("Content-Length");if(t)return parseInt(t)}function vL(i,e){return new self.Request(i.url,e)}var Am=class extends Error{constructor(e,t,r){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=r}},EL=/\s/,bL={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++)EL.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=hy(d.trim()),m=Bm(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=>Bb(i,h))),s}},yL={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},_y=mt(mt({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:Yd,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Of,bufferController:om,capLevelController:gm,errorController:Mf,fpsController:vm,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:Sb,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:yL},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},TL()),{},{subtitleStreamController:rm,subtitleTrackController:nm,timelineController:pm,audioStreamController:em,audioTrackController:im,emeController:Vd,cmcdController:Tm,contentSteeringController:_m});function TL(){return{cueHandler:bL,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 _L(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=Sm(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&&k.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),mt(mt({},t),e)}function Sm(i){return i&&typeof i=="object"?Array.isArray(i)?i.map(Sm):Object.keys(i).reduce((e,t)=>(e[t]=Sm(i[t]),e),{}):i}function AL(i){let e=i.loader;e!==qd&&e!==Yd?(k.log("[config]: Custom loader detected, cannot enable progressive streaming"),i.progressive=!1):hL()&&(i.loader=qd,i.progressive=!0,i.enableSoftwareAES=!0,k.log("[config]: Progressive streaming enabled, using FetchLoader"))}var bf,xm=class extends Ma{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&&(bf||(bf=/chrome|firefox/i.test(navigator.userAgent)),bf&&(u.audioCodec=m=void 0)),m&&(u.audioCodec=m=Rd(m,r)),((h=p)==null?void 0:h.indexOf("avc1"))===0&&(p=u.videoCodec=XR(p));let{width:g,height:E,unknownCodecs:b}=u;if(o||(o=!!(g&&E)),l||(l=!!p),d||(d=!!m),b!=null&&b.length||m&&!nf(m,"audio",r)||p&&!nf(p,"video",r))return;let{CODECS:T,"FRAME-RATE":_,"HDCP-LEVEL":A,"PATHWAY-ID":R,RESOLUTION:S,"VIDEO-RANGE":D}=f,L=`${`${R||"."}-`}${u.bitrate}-${S}-${_}-${T}-${D}-${A}`;if(n[L])if(n[L].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let P=a[L]+=1;u.attrs["PATHWAY-ID"]=new Array(P+1).join(".");let U=new Er(u);n[L]=U,s.push(U)}else n[L].addGroupId("audio",f.AUDIO),n[L].addGroupId("text",f.SUBTITLES);else{let P=new Er(u);n[L]=P,a[L]=1,s.push(P)}}),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))&&aI(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:le.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||nf(p.audioCodec,"audio",m)),_b(a)}t.subtitles&&(o=t.subtitles,_b(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 Id.indexOf(m.videoRange)-Id.indexOf(p.videoRange);if(m.videoCodec!==p.videoCodec){let g=UE(m.videoCodec),E=UE(p.videoCodec);if(g!==E)return E-g}if(m.uri===p.uri&&m.codecSet!==p.codecSet){let g=xd(m.codecSet),E=xd(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===_y.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:le.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===Ae.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===se.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));Kb(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 _b(i){let e={};i.forEach(t=>{let r=t.groupId||"";t.id=e[r]=e[r]||0,e[r]++})}var Rm=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 di({type:le.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.config.emeEnabled?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:b}=m;if(!g.decryptdata||E!==this.keyUriToKeyInfo[b])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,mt({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 Ay(){return self.SourceBuffer||self.WebKitSourceBuffer}function Sy(){if(!ls())return!1;let e=Ay();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function SL(){if(!Sy())return!1;let i=ls();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(Ca(e,"video")))||["mp4a.40.2","fLaC"].some(e=>i.isTypeSupported(Ca(e,"audio"))))}function xL(){var i;let e=Ay();return typeof(e==null||(i=e.prototype)==null?void 0:i.changeType)=="function"}var RL=250,yd=2,IL=.1,kL=.05,Im=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;k.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||!Ge.getBuffered(s).length){this.nudgeRetry=0;return}let u=Ge.bufferInfo(s,a,0),c=u.nextStart||0;if(o){let g=u.len>yd,E=!c||t&&t.start<=a||c-a>yd&&!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,b=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,_=(b==null||(h=b.details)==null?void 0:h.live)?b.details.targetduration*2:yd,A=this.fragmentTracker.getPartialFragment(a);if(E>0&&(E<=_||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>=RL&&(this._reportStall(u),!this.media))return;let p=Ge.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&&(k.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)})`);k.warn(n.message),t.trigger(v.ERROR,{type:le.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=Ge.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,se.MAIN);m&&o<m.end&&(f=!0)}if(!f){let m=e||h.getAppendedFrag(n,se.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+kL,n+IL);if(k.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:le.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}`);k.warn(o.message),r.currentTime=a,t.trigger(v.ERROR,{type:le.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`);k.error(a.message),t.trigger(v.ERROR,{type:le.MEDIA_ERROR,details:C.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},LL=100,km=class extends Na{constructor(e,t,r){super(e,t,r,"[stream-controller]",se.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(LL),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=O.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=O.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case O.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=O.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=O.IDLE;break}break}case O.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=O.IDLE}}break}this.state===O.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=this.buffering?e.nextLoadLevel:e.loadLevel;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=O.ENDED;return}if(!this.buffering)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===O.WAITING_LEVEL||d.live&&this.levelLastLoaded!==a){this.level=n,this.state=O.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)!==ft.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?De.AUDIO:De.VIDEO,E=(g===De.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;E&&this.afterBufferFlushed(E,g,se.MAIN)}f=this.getNextFragmentLoopLoading(f,d,o,se.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===ft.NOT_LOADED||s===ft.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,se.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 O.KEY_LOADING:case O.FRAG_LOADING:case O.FRAG_LOADING_WAITING_RETRY:case O.PARSING:case O.PARSED:this.state=O.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 Im(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;z(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&&!xL(),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!==O.IDLE)return;let s=r[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=O.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===O.FRAG_LOADING||this.state===O.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===O.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=O.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 $d(this.hls,se.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=s?s.index:-1,p=m!==-1,g=new Pa(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!==se.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===O.PARSED&&(this.state=O.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=O.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(se.MAIN,t);break;case C.LEVEL_LOAD_ERROR:case C.LEVEL_LOAD_TIMEOUT:case C.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===O.WAITING_LEVEL&&((r=t.context)==null?void 0:r.type)===Ae.LEVEL&&(this.state=O.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||!Ge.getBuffered(e).length){let r=this.state!==O.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,r)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=O.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==De.AUDIO||this.audioOnly&&!this.altAudio){let r=(t===De.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(r,t,se.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=Ge.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=O.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=O.PARSING,m){if(m!=null&&m.tracks){let T=l.initSegment||l;this._bufferInitSegment(u,m.tracks,T,a),s.trigger(v.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:r,tracks:m.tracks})}let E=m.initPTS,b=m.timescale;z(E)&&(this.initPTS[l.cc]={baseTime:E,timescale:b},s.trigger(v.INIT_PTS_FOUND,{frag:l,id:r,initPTS:E,timescale:b}))}if(c&&p&&l.sn!=="initSegment"){let E=p.fragments[l.sn-1-p.startSN],b=l.sn===p.startSN,T=!E||l.cc>E.cc;if(n.independent!==!1){let{startPTS:_,endPTS:A,startDTS:R,endDTS:S}=c;if(d)d.elementaryStreams[c.type]={startPTS:_,endPTS:A,startDTS:R,endDTS:S};else if(c.firstKeyFrame&&c.independent&&a.id===1&&!T&&(this.couldBacktrack=!0),c.dropped&&c.independent){let D=this.getMainFwdBufferInfo(),M=(D?D.end:this.getLoadPosition())+this.config.maxBufferHole,L=c.firstKeyFramePTS?c.firstKeyFramePTS:_;if(!b&&M<L-this.config.maxBufferHole&&!T){this.backtrack(l);return}else T&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,A,l.start,S,!0)}else b&&_>yd&&(l.gap=!0);l.setElementaryStreamInfo(c.type,_,A,R,S),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,a,b||T)}else if(b||T)l.gap=!0;else{this.backtrack(l);return}}if(g){let{startPTS:E,endPTS:b,startDTS:T,endDTS:_}=g;d&&(d.elementaryStreams[De.AUDIO]={startPTS:E,endPTS:b,startDTS:T,endDTS:_}),l.setElementaryStreamInfo(De.AUDIO,E,b,T,_),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!==O.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,se.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=O.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let r=e.currentTime;if(Ge.isBuffered(e,r)?t=this.getAppendedFrag(r):Ge.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&&z(t)&&z(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}},$a=class i{static get version(){return"1.5.20"}static isMSESupported(){return Sy()}static isSupported(){return SL()}static getMediaSource(){return ls()}static get Events(){return v}static get ErrorTypes(){return le}static get ErrorDetails(){return C}static get DefaultConfig(){return i.defaultConfig?i.defaultConfig:_y}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 Um,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,dR(e.debug||!1,"Hls instance");let t=this.config=_L(i.DefaultConfig,e);this.userConfig=e,t.progressive&&AL(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 xf(this),m=new kf(this),p=t.contentSteeringController,g=p?new p(this):null,E=this.levelController=new xm(this,g),b=new Uf(this),T=new Rm(this.config),_=this.streamController=new km(this,b,T);c.setStreamController(_),h.setStreamController(_);let A=[f,E,_];g&&A.splice(1,0,g),this.networkControllers=A;let R=[d,u,c,h,m,b];this.audioTrackController=this.createController(t.audioTrackController,A);let S=t.audioStreamController;S&&A.push(new S(this,b,T)),this.subtitleTrackController=this.createController(t.subtitleTrackController,A);let D=t.subtitleStreamController;D&&A.push(new D(this,b,T)),this.createController(t.timelineController,R),T.emeController=this.emeController=this.createController(t.emeController,R),this.cmcdController=this.createController(t.cmcdController,R),this.latencyController=this.createController(Lf,R),this.coreComponents=R,A.push(l);let M=l.onErrorOut;typeof M=="function"&&this.on(v.ERROR,M,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(k.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:le.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(){k.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){k.log("attachMedia"),this._media=e,this.trigger(v.MEDIA_ATTACHING,{media:e})}detachMedia(){k.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=Lm.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,k.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){k.log(`startLoad(${e})`),this.started=!0,this.resumeBuffering();for(let t=0;t<this.networkControllers.length&&(this.networkControllers[t].startLoad(e),!(!this.started||!this.networkControllers));t++);}stopLoad(){k.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!(this.started||!this.networkControllers));e++);}resumeBuffering(){k.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()})}pauseBuffering(){k.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()})}swapAudioCodec(){k.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){k.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){k.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){k.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){k.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){k.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){k.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&&(k.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){nI(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}};$a.defaultConfig=void 0;var Te=$a,Ue={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},te={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},Ga=i=>i===Ue.VIDEO?"playback":i,br=class Ha extends Error{constructor(e,t=Ha.MEDIA_ERR_CUSTOM,r,s){var n;super(e),this.name="MediaError",this.code=t,this.context=s,this.fatal=r!=null?r:t>=Ha.MEDIA_ERR_NETWORK&&t<=Ha.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(n=Ha.defaultMessages[this.code])!=null?n:"")}};br.MEDIA_ERR_ABORTED=1,br.MEDIA_ERR_NETWORK=2,br.MEDIA_ERR_DECODE=3,br.MEDIA_ERR_SRC_NOT_SUPPORTED=4,br.MEDIA_ERR_ENCRYPTED=5,br.MEDIA_ERR_CUSTOM=100,br.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 V=br,wL=i=>i==null,zm=(i,e)=>wL(e)?!1:i in e,Km={ANY:"any",MUTED:"muted"},Re={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},jt={MSE:"mse",NATIVE:"native"},zd={HEADER:"header",QUERY:"query",NONE:"none"},In=Object.values(zd),Tr={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Vm={HLS:Tr.M3U8},GN=Object.keys(Vm),KN=[...Object.values(Tr),"hls","HLS"];var DL="en",Wm={code:DL},tt=(i,e,t,r,s=i)=>{s.addEventListener(e,t,r),i.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function CL(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 eu=i=>{let e=i.indexOf("?");if(e<0)return[i];let t=i.slice(0,e),r=i.slice(e);return[t,r]},tu=i=>{let e=i.type;if(e){let r=e.toUpperCase();return zm(r,Vm)?Vm[r]:e}let{src:t}=i;return t?ML(t):""},Py=i=>i==="VOD"?Re.ON_DEMAND:Re.LIVE,Oy=i=>i==="EVENT"?Number.POSITIVE_INFINITY:i==="VOD"?Number.NaN:0,ML=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 zm(r,Tr)?Tr[r]:""},_r=i=>{let e=(i!=null?i:"").split(".")[1];if(e)try{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)}catch{return}},PL=({exp:i},e=Date.now())=>!i||i*1e3<e,OL=({sub:i},e)=>i!==e,NL=({aud:i},e)=>!i,UL=({aud:i},e)=>i!==e,Ny="en";function X(i,e=!0){var t,r;let s=e&&(r=(t=Wm)==null?void 0:t[i])!=null?r:i,n=e?Wm.code:Ny;return new FL(s,n)}var FL=class{constructor(i,e=(t=>(t=Wm)!=null?t:Ny)()){this.message=i,this.locale=e}format(i){return this.message.replace(/\{(\w+)\}/g,(e,t)=>{var r;return(r=i[t])!=null?r:""})}toString(){return this.message}},BL=Object.values(Km),xy=i=>typeof i=="boolean"||typeof i=="string"&&BL.includes(i),$L=(i,e,t)=>{let{autoplay:r}=i,s=!1,n=!1,a=xy(r)?r:!!r,o=()=>{s||tt(e,"playing",()=>{s=!0},{once:!0})};if(o(),tt(e,"loadstart",()=>{s=!1,o(),Hm(e,a)},{once:!0}),tt(e,"loadstart",()=>{t||(i.streamType&&i.streamType!==Re.UNKNOWN?n=i.streamType===Re.LIVE:n=!Number.isFinite(e.duration)),Hm(e,a)},{once:!0}),t&&t.once(Te.Events.LEVEL_LOADED,(l,d)=>{var u;i.streamType&&i.streamType!==Re.UNKNOWN?n=i.streamType===Re.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&&tt(e,"play",()=>{e.preload==="metadata"?t.once(Te.Events.LEVEL_UPDATED,l):l()},{once:!0})}return l=>{s||(a=xy(l)?l:!!l,Hm(e,a))}},Hm=(i,e)=>{if(!e)return;let t=i.muted,r=()=>i.muted=t;switch(e){case Km.ANY:i.play().catch(()=>{i.muted=!0,i.play().catch(r)});break;case Km.MUTED:i.muted=!0,i.play().catch(r);break;default:i.play().catch(()=>{});break}},HL=({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 tt(t,"play",()=>{a=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,u()},{once:!0}),d(i),d};function GL(i,e){var t;if(!("videoTracks"in i))return;let r=new WeakMap;e.on(Te.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(Te.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(Te.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(Te.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(Te.Events.BUFFER_FLUSHING,h),c||e.trigger(Te.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(Te.Events.DESTROYING,l)}var Gm=i=>"time"in i?i.time:i.startTime;function KL(i,e){e.on(Te.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o,l;let d=(o=a.subtitleTrack)!=null?o:a.closedCaptions,u=e.subtitleTracks.findIndex(({lang:h,name:f,type:m})=>h==(d==null?void 0:d.lang)&&f===a.label&&m.toLowerCase()===a.kind),c=((l=a._id)!=null?l:a.default)?"default":`${a.kind}${u}`;iu(i,a.kind,a.label,d==null?void 0:d.lang,c,a.default)})});let t=()=>{if(!e.subtitleTracks.length)return;let s=Array.from(i.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind));if(!s)return;let n=e.subtitleTracks[e.subtitleTrack],a=n?n.default?"default":`${e.subtitleTracks[e.subtitleTrack].type.toLowerCase()}${e.subtitleTrack}`:void 0;if(e.subtitleTrack<0||(s==null?void 0:s.id)!==a){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:u,default:c})=>s.id==="default"&&c||l==s.language&&d===s.label&&u.toLowerCase()===s.kind);e.subtitleTrack=o}(s==null?void 0:s.id)===a&&s.cues&&Array.from(s.cues).forEach(o=>{s.addCue(o)})};i.textTracks.addEventListener("change",t),e.on(Te.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(Te.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"||s.kind==="chapters")){if(!((n=s.cues)!=null&&n.length)){let o="track";s.kind&&(o+=`[kind="${s.kind}"]`),s.label&&(o+=`[label="${s.label}"]`);let l=i.querySelector(o),d=(a=l==null?void 0:l.getAttribute("src"))!=null?a:"";l==null||l.removeAttribute("src"),setTimeout(()=>{l==null||l.setAttribute("src",d)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(Te.Events.MANIFEST_LOADED,r),e.once(Te.Events.MEDIA_ATTACHED,r)}function iu(i,e,t,r,s,n){let a=document.createElement("track");return a.kind=e,a.label=t,r&&(a.srclang=r),s&&(a.id=s),n&&(a.default=!0),a.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),i.append(a),a.track}function Uy(i,e){let t=Array.prototype.find.call(i.querySelectorAll("track"),r=>r.track===e);t==null||t.remove()}function Ka(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 Fy(i,e,t,r){let s=Ka(i,t,r);return s||(s=iu(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)=>Gm(a)-Gm(n)).forEach(n=>{var a,o;let l=n.value,d=Gm(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 Xm="cuepoints",By=Object.freeze({label:Xm});async function Qm(i,e,t=By){return Fy(i,e,t.label,"metadata")}var Ym=i=>({time:i.startTime,value:JSON.parse(i.text)});function $y(i,e={label:Xm}){let t=Ka(i,e.label,"metadata");return t!=null&&t.cues?Array.from(t.cues,r=>Ym(r)):[]}function Zm(i,e={label:Xm}){var t,r;let s=Ka(i,e.label,"metadata");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return Ym(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 Ym(a||s.activeCues[0])}async function VL(i,e=By){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await Qm(i,[],e);tt(i,"cuechange",()=>{let s=Zm(i);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}var Jm="chapters",Hy=Object.freeze({label:Jm}),qm=i=>({startTime:i.startTime,endTime:i.endTime,value:i.text});async function ep(i,e,t=Hy){return Fy(i,e,t.label,"chapters")}function Gy(i,e={label:Jm}){var t;let r=Ka(i,e.label,"chapters");return(t=r==null?void 0:r.cues)!=null&&t.length?Array.from(r.cues,s=>qm(s)):[]}function tp(i,e={label:Jm}){var t,r;let s=Ka(i,e.label,"chapters");if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;if(s.activeCues.length===1)return qm(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 qm(a||s.activeCues[0])}async function WL(i,e=Hy){return new Promise(t=>{tt(i,"loadstart",async()=>{let r=await ep(i,[],e);tt(i,"cuechange",()=>{let s=tp(i);if(s){let n=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:s});i.dispatchEvent(n)}},{},r),t(r)})})}function Ky(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 Vy(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 Rn={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},YL=i=>{if(i===Ue.VIDEO)return Rn.VIDEO;if(i===Ue.DRM)return Rn.DRM},qL=(i,e)=>{var t,r;let s=Ga(i),n=`${s}Token`;return(t=e.tokens)!=null&&t[s]?(r=e.tokens)==null?void 0:r[s]:zm(n,e)?e[n]:void 0},Zd=(i,e,t,r=!1,s=!(n=>(n=globalThis.navigator)==null?void 0:n.onLine)())=>{var n,a;if(s){let g=X("Your device appears to be offline",r),E,b=V.MEDIA_ERR_NETWORK,T=new V(g,b,!0,E);return T.errorCategory=e,T.muxCode=te.NETWORK_OFFLINE,T.data=i,T}let o="status"in i?i.status:i.code,l=Date.now(),d=V.MEDIA_ERR_NETWORK;if(o===200)return;let u=Ga(e),c=qL(e,t),h=YL(e),[f]=eu((n=t.playbackId)!=null?n:"");if(!o||!f)return;let m=_r(c);if(c&&!m){let g=X("The {tokenNamePrefix}-token provided is invalid or malformed.",r).format({tokenNamePrefix:u}),E=X("Compact JWT string: {token}",r).format({token:c}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_TOKEN_MALFORMED,b.data=i,b}if(o>=500){let g=new V("",d,!0);return g.errorCategory=e,g.muxCode=te.NETWORK_UNKNOWN_ERROR,g}if(o===403)if(m){if(PL(m,l)){let g={timeStyle:"medium",dateStyle:"medium"},E=X("The video\u2019s secured {tokenNamePrefix}-token has expired.",r).format({tokenNamePrefix:u}),b=X("Expired at: {expiredDate}. Current time: {currentDate}.",r).format({expiredDate:new Intl.DateTimeFormat("en",g).format((a=m.exp)!=null?a:0*1e3),currentDate:new Intl.DateTimeFormat("en",g).format(l)}),T=new V(E,d,!0,b);return T.errorCategory=e,T.muxCode=te.NETWORK_TOKEN_EXPIRED,T.data=i,T}if(OL(m,f)){let g=X("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u}),E=X("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",r).format({tokenNamePrefix:u,playbackId:f,tokenPlaybackId:m.sub}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_TOKEN_SUB_MISMATCH,b.data=i,b}if(NL(m,h)){let g=X("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=X("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_TOKEN_AUD_MISSING,b.data=i,b}if(UL(m,h)){let g=X("The {tokenNamePrefix}-token is formatted with incorrect information.",r).format({tokenNamePrefix:u}),E=X("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",r).format({tokenNamePrefix:u,expectedAud:h,aud:m.aud}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_TOKEN_AUD_MISMATCH,b.data=i,b}}else{let g=X("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",r).format({tokenNamePrefix:u,category:e}),E=X("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_TOKEN_MISSING,b.data=i,b}if(o===412){let g=X("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",r),E=X("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_NOT_READY,b.data=i,b}if(o===404){let g=X("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",r),E=X("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_NOT_FOUND,b.data=i,b}if(o===400){let g=X("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),E=X("Specified playback ID: {playbackId}",r).format({playbackId:f}),b=new V(g,d,!0,E);return b.errorCategory=e,b.muxCode=te.NETWORK_INVALID_URL,b.data=i,b}let p=new V("",d,!0);return p.errorCategory=e,p.muxCode=te.NETWORK_UNKNOWN_ERROR,p.data=i,p},Ry=Te.DefaultConfig.capLevelController,Wy=class Yy extends Ry{constructor(e){super(e)}get levels(){var e;return(e=this.hls.levels)!=null?e:[]}getValidLevels(e){return this.levels.filter((t,r)=>this.isLevelAllowed(t)&&r<=e)}getMaxLevel(e){let t=super.getMaxLevel(e),r=this.getValidLevels(e);if(!r[t])return t;let s=Math.min(r[t].width,r[t].height),n=Yy.minMaxResolution;return s>=n?t:Ry.getMaxLevelByMediaSize(r,n*(16/9),n)}};Wy.minMaxResolution=720;var jL=Wy,zL=jL,Xd={FAIRPLAY:"fairplay",PLAYREADY:"playready",WIDEVINE:"widevine"},XL=i=>{if(i.includes("fps"))return Xd.FAIRPLAY;if(i.includes("playready"))return Xd.PLAYREADY;if(i.includes("widevine"))return Xd.WIDEVINE},QL=async i=>fetch(i).then(e=>e.status!==200?Promise.reject(e):e.text()).then(e=>{let t=e.split(`
|
|
1275
1281
|
`).find((r,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(r=>r.status!==200?Promise.reject(r):r.text()).then(r=>r.split(`
|
|
1276
|
-
`))}),QL=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=Cy(s),a=My(s),o;if(n===Re.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}},ZL=async(i,e)=>{if(e===Tr.MP4)return{streamType:Re.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Tr.M3U8){let t=await XL(i);return QL(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}},JL=async(i,e,t=tu({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await ZL(i,t);((r=pt.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=pt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=pt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},ew=i=>{var e;let t=i.type,r=Cy(t),s=My(t),n,a=!!((e=i.partList)!=null&&e.length);return r===Re.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},tw=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=ew(i);if(c===Re.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=pt.get(e))!=null?o:{}).seekable=p}((l=pt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=pt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=pt.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},xy,Ry,iw=(Ry=(xy=globalThis==null?void 0:globalThis.navigator)==null?void 0:xy.userAgent)!=null?Ry:"",Iy,ky,Ly,rw=(Ly=(ky=(Iy=globalThis==null?void 0:globalThis.navigator)==null?void 0:Iy.userAgentData)==null?void 0:ky.platform)!=null?Ly:"",sw=iw.toLowerCase().includes("android")||["x11","android"].some(i=>rw.toLowerCase().includes(i)),pt=new WeakMap,yr="mux.com",wy,Dy,Wy=(Dy=(wy=Te).isSupported)==null?void 0:Dy.call(wy),nw=sw,ru=()=>td.utils.now(),aw=td.utils.generateUUID,Va=({playbackId:i,customDomain:e=yr,maxResolution:t,minResolution:r,renditionOrder:s,programStartTime:n,programEndTime:a,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:u=d}={},extraSourceParams:c={}}={})=>{if(!i)return;let[h,f=""]=eu(i),m=new URL(`https://stream.${e}/${h}.m3u8${f}`);return u||m.searchParams.has("token")?(m.searchParams.forEach((p,g)=>{g!="token"&&m.searchParams.delete(g)}),u&&m.searchParams.set("token",u)):(t&&m.searchParams.set("max_resolution",t),r&&(m.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&&m.searchParams.set("rendition_order",s),n&&m.searchParams.set("program_start_time",`${n}`),a&&m.searchParams.set("program_end_time",`${a}`),o&&m.searchParams.set("asset_start_time",`${o}`),l&&m.searchParams.set("asset_end_time",`${l}`),Object.entries(c).forEach(([p,g])=>{g!=null&&m.searchParams.set(p,g)})),m.toString()},su=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},rp=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},ow=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:Jy(i)&&(r=(t=su(i.playbackId))!=null?t:rp(i.src))!=null?r:i.src},sp=i=>{var e;return(e=pt.get(i))==null?void 0:e.error},Jd=i=>{var e,t;return(t=(e=pt.get(i))==null?void 0:e.streamType)!=null?t:Re.UNKNOWN},Yy=i=>{var e,t;return(t=(e=pt.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},nu=i=>{var e,t;return(t=(e=pt.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},qy=i=>{var e;let t=(e=pt.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=nu(i);return r.length?r.end(r.length-1)-t:Number.NaN},np=.034,lw=(i,e,t=np)=>Math.abs(i-e)<=t,jy=(i,e,t=np)=>i>e||lw(i,e,t),dw=(i,e=np)=>i.paused&&jy(i.currentTime,i.duration,e),zy=(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},ap=(i,e)=>i.ended||i.loop?i.ended:e&&zy(i,e)?!0:dw(i),Xy=(i,e,t)=>{op(e,t);let{metadata:r={}}=i,{view_session_id:s=aw()}=r,n=ow(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,pt.set(e,{});let o=uw(i,e),l=$L(i,e,o);gw(i,e,o),vw(i,e,o),KL(e),VL(e);let d=BL(i,e,o);return{engine:o,setAutoplay:d,setPreload:l}},op=(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",tT),i.removeEventListener("error",zm),i.removeEventListener("durationchange",eT),pt.delete(i),i.dispatchEvent(new Event("teardown")))};function Qy(i,e){var t;let r=tu(i);if(r!==Tr.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||!(Wy&&(a||nw)))}var uw=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=tu(i)===Tr.M3U8,d=Qy(i,e);if(l&&!d&&Wy){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=cw(r),h=hw(i),f=a!==zd.NONE?{useHeaders:a===zd.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Te({debug:t,startPosition:s,cmcd:f,xhrSetup:(m,p)=>{var g,E;if(a&&a!==zd.QUERY)return;let b=new URL(p);if(!b.searchParams.has("CMCD"))return;let T=((E=(g=b.searchParams.get("CMCD"))==null?void 0:g.split(","))!=null?E:[]).filter(_=>_.startsWith("sid")||_.startsWith("cid")).join(",");b.searchParams.set("CMCD",T),m.open("GET",b)},capLevelController:jL,...u,...c,...h,...o})}},cw=i=>i===Re.LIVE?{backBufferLength:8}:{},hw=i=>{let{tokens:{drm:e}={},playbackId:t,drmTypeCb:r}=i,s=su(t);return!e||!s?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:Qd(i,"fairplay"),serverCertificateUrl:Zy(i,"fairplay")},"com.widevine.alpha":{licenseUrl:Qd(i,"widevine")},"com.microsoft.playready":{licenseUrl:Qd(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=zL(n);return r==null||r(l),o}))}},fw=async i=>{let e=await fetch(i);return e.status!==200?Promise.reject(e):await e.arrayBuffer()},mw=async(i,e)=>{let t=await fetch(e,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:i});if(t.status!==200)return Promise.reject(t);let r=await t.arrayBuffer();return new Uint8Array(r)},pw=(i,e)=>{tt(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 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,Xd.FAIRPLAY),u}).catch(()=>{let u=z("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),c=new V(u,V.MEDIA_ERR_ENCRYPTED,!0);c.errorCategory=Ne.DRM,c.muxCode=ee.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,Mi(e,c)});if(!l)return;let d=await l.createMediaKeys();try{let u=await fw(Zy(i,"fairplay")).catch(c=>{if(c instanceof Response){let h=Zd(c,Ne.DRM,i);return console.error("mediaError",h==null?void 0:h.message,h==null?void 0:h.context),h?Promise.reject(h):Promise.reject(new Error("Unexpected error in app cert request"))}return Promise.reject(c)});await d.setServerCertificate(u).catch(()=>{let c=z("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),h=new V(c,V.MEDIA_ERR_ENCRYPTED,!0);return h.errorCategory=Ne.DRM,h.muxCode=ee.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(h)})}catch(u){Mi(e,u);return}await e.setMediaKeys(d)}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.addEventListener("keystatuseschange",()=>{n.keyStatuses.forEach(l=>{let d;if(l==="internal-error"){let u=z("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");d=new V(u,V.MEDIA_ERR_ENCRYPTED,!0),d.errorCategory=Ne.DRM,d.muxCode=ee.ENCRYPTED_CDM_ERROR}else if(l==="output-restricted"||l==="output-downscaled"){let u=z("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");d=new V(u,V.MEDIA_ERR_ENCRYPTED,!1),d.errorCategory=Ne.DRM,d.muxCode=ee.ENCRYPTED_OUTPUT_RESTRICTED}d&&Mi(e,d)})});let a=await Promise.all([n.generateRequest(r,s).catch(()=>{let l=z("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),d=new V(l,V.MEDIA_ERR_ENCRYPTED,!0);d.errorCategory=Ne.DRM,d.muxCode=ee.ENCRYPTED_GENERATE_REQUEST_FAILED,Mi(e,d)}),new Promise(l=>{n.addEventListener("message",d=>{l(d.message)},{once:!0})})]).then(([,l])=>l),o=await mw(a,Qd(i,"fairplay")).catch(l=>{if(l instanceof Response){let d=Zd(l,Ne.DRM,i);return console.error("mediaError",d==null?void 0:d.message,d==null?void 0:d.context),d?Promise.reject(d):Promise.reject(new Error("Unexpected error in license key request"))}return Promise.reject(l)});await n.update(o).catch(()=>{let l=z("Failed to update DRM license. This may be an issue with the player or your protected content."),d=new V(l,V.MEDIA_ERR_ENCRYPTED,!0);return d.errorCategory=Ne.DRM,d.muxCode=ee.ENCRYPTED_UPDATE_LICENSE_FAILED,Promise.reject(d)})}catch(r){Mi(e,r);return}})},Qd=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=su(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/license/${r}/${s}?token=${e}`},Zy=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=su(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/appcert/${r}/${s}?token=${e}`},Jy=({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(yr)||!!t&&s.includes(t.toLocaleLowerCase())},gw=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=Jy(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;td.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Te: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}})}},vw=(i,e,t)=>{var r,s;let n=Qy(i,e),{src:a}=i,o=()=>{e.ended||!ap(e,t)||(zy(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},l,d,u=()=>{let c=nu(e),h,f;c.length>0&&(h=c.start(0),f=c.end(0)),(d!==f||l!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),l=h,d=f};if(tt(e,"durationchange",u),e&&n){let c=tu(i);if(typeof a=="string"){let h=()=>{if(Jd(e)!==Re.LIVE||Number.isFinite(e.duration))return;let m=setInterval(u,1e3);e.addEventListener("teardown",()=>{clearInterval(m)},{once:!0}),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(m)})},f=async()=>JL(a,e,c).then(h).catch(m=>{if(m instanceof Response){let p=Zd(m,Ne.VIDEO,i);if(p){Mi(e,p);return}}else m instanceof Error});if(e.preload==="none"){let m=()=>{f(),e.removeEventListener("loadedmetadata",p)},p=()=>{f(),e.removeEventListener("play",m)};tt(e,"play",m,{once:!0}),tt(e,"loadedmetadata",p,{once:!0})}else f();(r=i.tokens)!=null&&r.drm?pw(i,e):tt(e,"encrypted",()=>{let m=z("Attempting to play DRM-protected content without providing a DRM token."),p=new V(m,V.MEDIA_ERR_ENCRYPTED,!0);p.errorCategory=Ne.DRM,p.muxCode=ee.ENCRYPTED_MISSING_TOKEN,Mi(e,p)},{once:!0}),e.setAttribute("src",a),i.startTime&&(((s=pt.get(e))!=null?s:{}).startTime=i.startTime,e.addEventListener("durationchange",eT,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",tT),e.addEventListener("error",zm),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(h=>{h.remove()})},{once:!0}),tt(e,"pause",o),tt(e,"seeked",o),tt(e,"play",()=>{e.ended||jy(e.currentTime,e.duration)&&(e.currentTime=e.seekable.length?e.seekable.start(0):0)})}else t&&a?(t.once(Te.Events.LEVEL_LOADED,(c,h)=>{tw(h.details,e,t),u(),Jd(e)===Re.LIVE&&!Number.isFinite(e.duration)&&(t.on(Te.Events.LEVEL_UPDATED,u),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Te.Events.LEVELS_UPDATED,u)}))}),t.on(Te.Events.ERROR,(c,h)=>{Mi(e,Ew(h,i))}),e.addEventListener("error",zm),tt(e,"waiting",o),HL(i,t),GL(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 eT(i){var e;let t=i.target,r=(e=pt.get(t))==null?void 0:e.startTime;if(r&&DL(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function tT(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 V(t,r);if(e.src&&r===V.MEDIA_ERR_SRC_NOT_SUPPORTED&&e.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var n;let a=(n=sp(e))!=null?n:e.error;(a==null?void 0:a.code)===V.MEDIA_ERR_SRC_NOT_SUPPORTED&&Mi(e,s)},500);return}if(e.src&&(r!==V.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}Mi(e,s)}function Mi(i,e){var t;e.fatal&&(((t=pt.get(i))!=null?t:{}).error=e,i.dispatchEvent(new CustomEvent("error",{detail:e})))}function zm(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof V))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=pt.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 Ew=(i,e)=>{var t,r,s;console.error("getErrorFromHlsErrorData()",i);let n={[Te.ErrorTypes.NETWORK_ERROR]:V.MEDIA_ERR_NETWORK,[Te.ErrorTypes.MEDIA_ERROR]:V.MEDIA_ERR_DECODE,[Te.ErrorTypes.KEY_SYSTEM_ERROR]:V.MEDIA_ERR_ENCRYPTED},a=u=>[Te.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,Te.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(u.details)?V.MEDIA_ERR_NETWORK:n[u.type],o=u=>{if(u.type===Te.ErrorTypes.KEY_SYSTEM_ERROR)return Ne.DRM;if(u.type===Te.ErrorTypes.NETWORK_ERROR)return Ne.VIDEO},l,d=a(i);if(d===V.MEDIA_ERR_NETWORK&&i.response){let u=(t=o(i))!=null?t:Ne.VIDEO;l=(r=Zd(i.response,u,e))!=null?r:new V("",d)}else if(d===V.MEDIA_ERR_ENCRYPTED)if(i.details===Te.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let u=z("Attempting to play DRM-protected content without providing a DRM token.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_MISSING_TOKEN}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_NO_ACCESS){let u=z("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_NO_SESSION){let u=z("Failed to generate a DRM license request. This may be an issue with the player or your protected content.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,!0),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED){let u=z("Failed to update DRM license. This may be an issue with the player or your protected content.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let u=z("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let u=z("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_CDM_ERROR}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let u=z("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,!1),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_OUTPUT_RESTRICTED}else l=new V(i.error.message,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ne.DRM,l.muxCode=ee.ENCRYPTED_ERROR;else l=new V("",d,i.fatal);return l.context||(l.context=`${i.url?`url: ${i.url}
|
|
1282
|
+
`))}),ZL=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=Py(s),a=Oy(s),o;if(n===Re.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}},JL=async(i,e)=>{if(e===Tr.MP4)return{streamType:Re.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Tr.M3U8){let t=await QL(i);return ZL(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}},ew=async(i,e,t=tu({src:i}))=>{var r,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await JL(i,t);((r=pt.get(e))!=null?r:{}).liveEdgeStartOffset=l,((s=pt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=pt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},tw=i=>{var e;let t=i.type,r=Py(t),s=Oy(t),n,a=!!((e=i.partList)!=null&&e.length);return r===Re.LIVE&&(n=a?i.partTarget*2:i.targetduration*3),{streamType:r,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},iw=(i,e,t)=>{var r,s,n,a,o,l,d,u;let{streamType:c,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:m}=tw(i);if(c===Re.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=pt.get(e))!=null?o:{}).seekable=p}((l=pt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=pt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((u=pt.get(e))!=null?u:{}).streamType=c,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Iy,ky,rw=(ky=(Iy=globalThis==null?void 0:globalThis.navigator)==null?void 0:Iy.userAgent)!=null?ky:"",Ly,wy,Dy,sw=(Dy=(wy=(Ly=globalThis==null?void 0:globalThis.navigator)==null?void 0:Ly.userAgentData)==null?void 0:wy.platform)!=null?Dy:"",nw=rw.toLowerCase().includes("android")||["x11","android"].some(i=>sw.toLowerCase().includes(i)),pt=new WeakMap,yr="mux.com",Cy,My,qy=(My=(Cy=Te).isSupported)==null?void 0:My.call(Cy),aw=nw,ru=()=>td.utils.now(),ow=td.utils.generateUUID,Va=({playbackId:i,customDomain:e=yr,maxResolution:t,minResolution:r,renditionOrder:s,programStartTime:n,programEndTime:a,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:u=d}={},extraSourceParams:c={}}={})=>{if(!i)return;let[h,f=""]=eu(i),m=new URL(`https://stream.${e}/${h}.m3u8${f}`);return u||m.searchParams.has("token")?(m.searchParams.forEach((p,g)=>{g!="token"&&m.searchParams.delete(g)}),u&&m.searchParams.set("token",u)):(t&&m.searchParams.set("max_resolution",t),r&&(m.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&&m.searchParams.set("rendition_order",s),n&&m.searchParams.set("program_start_time",`${n}`),a&&m.searchParams.set("program_end_time",`${a}`),o&&m.searchParams.set("asset_start_time",`${o}`),l&&m.searchParams.set("asset_end_time",`${l}`),Object.entries(c).forEach(([p,g])=>{g!=null&&m.searchParams.set(p,g)})),m.toString()},su=i=>{if(!i)return;let[e]=i.split("?");return e||void 0},ip=i=>{if(!i||!i.startsWith("https://stream."))return;let[e]=new URL(i).pathname.slice(1).split(".m3u8");return e||void 0},lw=i=>{var e,t,r;return(e=i==null?void 0:i.metadata)!=null&&e.video_id?i.metadata.video_id:tT(i)&&(r=(t=su(i.playbackId))!=null?t:ip(i.src))!=null?r:i.src},rp=i=>{var e;return(e=pt.get(i))==null?void 0:e.error},Jd=i=>{var e,t;return(t=(e=pt.get(i))==null?void 0:e.streamType)!=null?t:Re.UNKNOWN},jy=i=>{var e,t;return(t=(e=pt.get(i))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},nu=i=>{var e,t;return(t=(e=pt.get(i))==null?void 0:e.seekable)!=null?t:i.seekable},zy=i=>{var e;let t=(e=pt.get(i))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=nu(i);return r.length?r.end(r.length-1)-t:Number.NaN},sp=.034,dw=(i,e,t=sp)=>Math.abs(i-e)<=t,Xy=(i,e,t=sp)=>i>e||dw(i,e,t),uw=(i,e=sp)=>i.paused&&Xy(i.currentTime,i.duration,e),Qy=(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},np=(i,e)=>i.ended||i.loop?i.ended:e&&Qy(i,e)?!0:uw(i),Zy=(i,e,t)=>{ap(e,t);let{metadata:r={}}=i,{view_session_id:s=ow()}=r,n=lw(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,pt.set(e,{});let o=cw(i,e),l=HL(i,e,o);vw(i,e,o),Ew(i,e,o),VL(e),WL(e);let d=$L(i,e,o);return{engine:o,setAutoplay:d,setPreload:l}},ap=(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",rT),i.removeEventListener("error",jm),i.removeEventListener("durationchange",iT),pt.delete(i),i.dispatchEvent(new Event("teardown")))};function Jy(i,e){var t;let r=tu(i);if(r!==Tr.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||!(qy&&(a||aw)))}var cw=(i,e)=>{let{debug:t,streamType:r,startTime:s=-1,metadata:n,preferCmcd:a,_hlsConfig:o={}}=i,l=tu(i)===Tr.M3U8,d=Jy(i,e);if(l&&!d&&qy){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=hw(r),h=fw(i),f=a!==zd.NONE?{useHeaders:a===zd.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new Te({debug:t,startPosition:s,cmcd:f,xhrSetup:(m,p)=>{var g,E;if(a&&a!==zd.QUERY)return;let b=new URL(p);if(!b.searchParams.has("CMCD"))return;let T=((E=(g=b.searchParams.get("CMCD"))==null?void 0:g.split(","))!=null?E:[]).filter(_=>_.startsWith("sid")||_.startsWith("cid")).join(",");b.searchParams.set("CMCD",T),m.open("GET",b)},capLevelController:zL,...u,...c,...h,...o})}},hw=i=>i===Re.LIVE?{backBufferLength:8}:{},fw=i=>{let{tokens:{drm:e}={},playbackId:t,drmTypeCb:r}=i,s=su(t);return!e||!s?{}:{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:Qd(i,"fairplay"),serverCertificateUrl:eT(i,"fairplay")},"com.widevine.alpha":{licenseUrl:Qd(i,"widevine")},"com.microsoft.playready":{licenseUrl:Qd(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=XL(n);return r==null||r(l),o}))}},mw=async i=>{let e=await fetch(i);return e.status!==200?Promise.reject(e):await e.arrayBuffer()},pw=async(i,e)=>{let t=await fetch(e,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:i});if(t.status!==200)return Promise.reject(t);let r=await t.arrayBuffer();return new Uint8Array(r)},gw=(i,e)=>{tt(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 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,Xd.FAIRPLAY),u}).catch(()=>{let u=X("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),c=new V(u,V.MEDIA_ERR_ENCRYPTED,!0);c.errorCategory=Ue.DRM,c.muxCode=te.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,Mi(e,c)});if(!l)return;let d=await l.createMediaKeys();try{let u=await mw(eT(i,"fairplay")).catch(c=>{if(c instanceof Response){let h=Zd(c,Ue.DRM,i);return console.error("mediaError",h==null?void 0:h.message,h==null?void 0:h.context),h?Promise.reject(h):Promise.reject(new Error("Unexpected error in app cert request"))}return Promise.reject(c)});await d.setServerCertificate(u).catch(()=>{let c=X("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),h=new V(c,V.MEDIA_ERR_ENCRYPTED,!0);return h.errorCategory=Ue.DRM,h.muxCode=te.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(h)})}catch(u){Mi(e,u);return}await e.setMediaKeys(d)}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.addEventListener("keystatuseschange",()=>{n.keyStatuses.forEach(l=>{let d;if(l==="internal-error"){let u=X("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");d=new V(u,V.MEDIA_ERR_ENCRYPTED,!0),d.errorCategory=Ue.DRM,d.muxCode=te.ENCRYPTED_CDM_ERROR}else if(l==="output-restricted"||l==="output-downscaled"){let u=X("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");d=new V(u,V.MEDIA_ERR_ENCRYPTED,!1),d.errorCategory=Ue.DRM,d.muxCode=te.ENCRYPTED_OUTPUT_RESTRICTED}d&&Mi(e,d)})});let a=await Promise.all([n.generateRequest(r,s).catch(()=>{let l=X("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),d=new V(l,V.MEDIA_ERR_ENCRYPTED,!0);d.errorCategory=Ue.DRM,d.muxCode=te.ENCRYPTED_GENERATE_REQUEST_FAILED,Mi(e,d)}),new Promise(l=>{n.addEventListener("message",d=>{l(d.message)},{once:!0})})]).then(([,l])=>l),o=await pw(a,Qd(i,"fairplay")).catch(l=>{if(l instanceof Response){let d=Zd(l,Ue.DRM,i);return console.error("mediaError",d==null?void 0:d.message,d==null?void 0:d.context),d?Promise.reject(d):Promise.reject(new Error("Unexpected error in license key request"))}return Promise.reject(l)});await n.update(o).catch(()=>{let l=X("Failed to update DRM license. This may be an issue with the player or your protected content."),d=new V(l,V.MEDIA_ERR_ENCRYPTED,!0);return d.errorCategory=Ue.DRM,d.muxCode=te.ENCRYPTED_UPDATE_LICENSE_FAILED,Promise.reject(d)})}catch(r){Mi(e,r);return}})},Qd=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=su(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/license/${r}/${s}?token=${e}`},eT=({playbackId:i,tokens:{drm:e}={},customDomain:t=yr},r)=>{let s=su(i);return`https://license.${t.toLocaleLowerCase().endsWith(yr)?t:yr}/appcert/${r}/${s}?token=${e}`},tT=({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(yr)||!!t&&s.includes(t.toLocaleLowerCase())},vw=(i,e,t)=>{var r;let{envKey:s,disableTracking:n}=i,a=tT(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;td.monitor(e,{debug:c,beaconCollectionDomain:u,hlsjs:t,Hls:t?Te: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}})}},Ew=(i,e,t)=>{var r,s;let n=Jy(i,e),{src:a}=i,o=()=>{e.ended||!np(e,t)||(Qy(e,t)?e.currentTime=e.buffered.end(e.buffered.length-1):e.dispatchEvent(new Event("ended")))},l,d,u=()=>{let c=nu(e),h,f;c.length>0&&(h=c.start(0),f=c.end(0)),(d!==f||l!==h)&&e.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),l=h,d=f};if(tt(e,"durationchange",u),e&&n){let c=tu(i);if(typeof a=="string"){let h=()=>{if(Jd(e)!==Re.LIVE||Number.isFinite(e.duration))return;let m=setInterval(u,1e3);e.addEventListener("teardown",()=>{clearInterval(m)},{once:!0}),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&clearInterval(m)})},f=async()=>ew(a,e,c).then(h).catch(m=>{if(m instanceof Response){let p=Zd(m,Ue.VIDEO,i);if(p){Mi(e,p);return}}else m instanceof Error});if(e.preload==="none"){let m=()=>{f(),e.removeEventListener("loadedmetadata",p)},p=()=>{f(),e.removeEventListener("play",m)};tt(e,"play",m,{once:!0}),tt(e,"loadedmetadata",p,{once:!0})}else f();(r=i.tokens)!=null&&r.drm?gw(i,e):tt(e,"encrypted",()=>{let m=X("Attempting to play DRM-protected content without providing a DRM token."),p=new V(m,V.MEDIA_ERR_ENCRYPTED,!0);p.errorCategory=Ue.DRM,p.muxCode=te.ENCRYPTED_MISSING_TOKEN,Mi(e,p)},{once:!0}),e.setAttribute("src",a),i.startTime&&(((s=pt.get(e))!=null?s:{}).startTime=i.startTime,e.addEventListener("durationchange",iT,{once:!0}))}else e.removeAttribute("src");e.addEventListener("error",rT),e.addEventListener("error",jm),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(h=>{h.remove()})},{once:!0}),tt(e,"pause",o),tt(e,"seeked",o),tt(e,"play",()=>{e.ended||Xy(e.currentTime,e.duration)&&(e.currentTime=e.seekable.length?e.seekable.start(0):0)})}else t&&a?(t.once(Te.Events.LEVEL_LOADED,(c,h)=>{iw(h.details,e,t),u(),Jd(e)===Re.LIVE&&!Number.isFinite(e.duration)&&(t.on(Te.Events.LEVEL_UPDATED,u),tt(e,"durationchange",()=>{Number.isFinite(e.duration)&&t.off(Te.Events.LEVELS_UPDATED,u)}))}),t.on(Te.Events.ERROR,(c,h)=>{Mi(e,bw(h,i))}),e.addEventListener("error",jm),tt(e,"waiting",o),GL(i,t),KL(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 iT(i){var e;let t=i.target,r=(e=pt.get(t))==null?void 0:e.startTime;if(r&&CL(t.seekable,t.duration,r)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=r,s&&(t.preload="auto")}}async function rT(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 V(t,r);if(e.src&&r===V.MEDIA_ERR_SRC_NOT_SUPPORTED&&e.readyState===HTMLMediaElement.HAVE_NOTHING){setTimeout(()=>{var n;let a=(n=rp(e))!=null?n:e.error;(a==null?void 0:a.code)===V.MEDIA_ERR_SRC_NOT_SUPPORTED&&Mi(e,s)},500);return}if(e.src&&(r!==V.MEDIA_ERR_DECODE||r!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}Mi(e,s)}function Mi(i,e){var t;e.fatal&&(((t=pt.get(i))!=null?t:{}).error=e,i.dispatchEvent(new CustomEvent("error",{detail:e})))}function jm(i){var e,t;if(!(i instanceof CustomEvent)||!(i.detail instanceof V))return;let r=i.target,s=i.detail;!s||!s.fatal||(((e=pt.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 bw=(i,e)=>{var t,r,s;console.error("getErrorFromHlsErrorData()",i);let n={[Te.ErrorTypes.NETWORK_ERROR]:V.MEDIA_ERR_NETWORK,[Te.ErrorTypes.MEDIA_ERROR]:V.MEDIA_ERR_DECODE,[Te.ErrorTypes.KEY_SYSTEM_ERROR]:V.MEDIA_ERR_ENCRYPTED},a=u=>[Te.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,Te.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(u.details)?V.MEDIA_ERR_NETWORK:n[u.type],o=u=>{if(u.type===Te.ErrorTypes.KEY_SYSTEM_ERROR)return Ue.DRM;if(u.type===Te.ErrorTypes.NETWORK_ERROR)return Ue.VIDEO},l,d=a(i);if(d===V.MEDIA_ERR_NETWORK&&i.response){let u=(t=o(i))!=null?t:Ue.VIDEO;l=(r=Zd(i.response,u,e))!=null?r:new V("",d)}else if(d===V.MEDIA_ERR_ENCRYPTED)if(i.details===Te.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE){let u=X("Attempting to play DRM-protected content without providing a DRM token.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_MISSING_TOKEN}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_NO_ACCESS){let u=X("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_NO_SESSION){let u=X("Failed to generate a DRM license request. This may be an issue with the player or your protected content.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,!0),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_GENERATE_REQUEST_FAILED}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED){let u=X("Failed to update DRM license. This may be an issue with the player or your protected content.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_UPDATE_LICENSE_FAILED}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED){let u=X("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_UPDATE_SERVER_CERT_FAILED}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR){let u=X("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_CDM_ERROR}else if(i.details===Te.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED){let u=X("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen.");l=new V(u,V.MEDIA_ERR_ENCRYPTED,!1),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_OUTPUT_RESTRICTED}else l=new V(i.error.message,V.MEDIA_ERR_ENCRYPTED,i.fatal),l.errorCategory=Ue.DRM,l.muxCode=te.ENCRYPTED_ERROR;else l=new V("",d,i.fatal);return l.context||(l.context=`${i.url?`url: ${i.url}
|
|
1277
1283
|
`:""}${i.response&&(i.response.code||i.response.text)?`response: ${i.response.code}, ${i.response.text}
|
|
1278
1284
|
`:""}${i.reason?`failure reason: ${i.reason}
|
|
1279
1285
|
`:""}${i.level?`level: ${i.level}
|
|
@@ -1282,7 +1288,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1282
1288
|
`:""}${i.error?`error: ${i.error}
|
|
1283
1289
|
`:""}${i.event?`event: ${i.event}
|
|
1284
1290
|
`:""}${i.err?`error message: ${(s=i.err)==null?void 0:s.message}
|
|
1285
|
-
`:""}`),l.data=i,l};var
|
|
1291
|
+
`:""}`),l.data=i,l};var yw=Object.defineProperty,Tw=Object.getPrototypeOf,_w=Reflect.get,fT=i=>{throw TypeError(i)},Aw=(i,e,t)=>e in i?yw(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Le=(i,e,t)=>Aw(i,typeof e!="symbol"?e+"":e,t),xp=(i,e,t)=>e.has(i)||fT("Cannot "+t),I=(i,e,t)=>(xp(i,e,"read from private field"),t?t.call(i):e.get(i)),ne=(i,e,t)=>e.has(i)?fT("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),J=(i,e,t,r)=>(xp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Fe=(i,e,t)=>(xp(i,e,"access private method"),t),op=(i,e,t)=>_w(Tw(i),t,e),bu=class{addEventListener(){}removeEventListener(){}dispatchEvent(i){return!0}};if(typeof DocumentFragment=="undefined"){class i extends bu{}globalThis.DocumentFragment=i}var Rp=class extends bu{},Sw=class extends bu{},xw={get(i){},define(i,e,t){},getName(i){return null},upgrade(i){},whenDefined(i){return Promise.resolve(Rp)}},au,Rw=class{constructor(i,e={}){ne(this,au),J(this,au,e==null?void 0:e.detail)}get detail(){return I(this,au)}initCustomEvent(){}};au=new WeakMap;function Iw(i,e){return new Rp}var mT={document:{createElement:Iw},DocumentFragment,customElements:xw,CustomEvent:Rw,EventTarget:bu,HTMLElement:Rp,HTMLVideoElement:Sw},pT=typeof window=="undefined"||typeof globalThis.customElements=="undefined",lp=pT?mT:globalThis,YN=pT?mT.document:globalThis.document,kw=()=>{try{return"0.24.5"}catch{}return"UNKNOWN"},Lw=kw(),ww=()=>Lw,yu=["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"],gT=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function Dw(i){return`
|
|
1286
1292
|
<style>
|
|
1287
1293
|
:host {
|
|
1288
1294
|
display: inline-flex;
|
|
@@ -1296,10 +1302,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1296
1302
|
}
|
|
1297
1303
|
</style>
|
|
1298
1304
|
<slot name="media">
|
|
1299
|
-
<audio${
|
|
1305
|
+
<audio${ET(i)}></audio>
|
|
1300
1306
|
</slot>
|
|
1301
1307
|
<slot></slot>
|
|
1302
|
-
`}function
|
|
1308
|
+
`}function Cw(i){return`
|
|
1303
1309
|
<style>
|
|
1304
1310
|
:host {
|
|
1305
1311
|
display: inline-block;
|
|
@@ -1321,13 +1327,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1321
1327
|
}
|
|
1322
1328
|
</style>
|
|
1323
1329
|
<slot name="media">
|
|
1324
|
-
<video${
|
|
1330
|
+
<video${ET(i)}></video>
|
|
1325
1331
|
</slot>
|
|
1326
1332
|
<slot></slot>
|
|
1327
|
-
`}function
|
|
1328
|
-
`),t=[];for(let r=0;r<e.length;r++)if(e[r].trim().startsWith("#EXT-X-STREAM-INF")){let s=e[r+1]?e[r+1].trim():"";s&&!s.startsWith("#")&&t.push(s)}return t}function
|
|
1329
|
-
`).find(e=>!e.trim().startsWith("#")&&e.trim()!=="")}async function Ww(i){try{let e=(await fetch(i,{method:"HEAD"})).headers.get("Content-Type");return Ow.some(t=>e===t)}catch(e){return console.error("Error while trying to get the Content-Type of the manifest",e),!1}}async function Yw(i){try{let e=await(await fetch(i)).text(),t=e,r=Kw(e);if(r.length>0){let n=new URL(r[0],i).toString();t=await(await fetch(n)).text()}let s=Vw(t);return Gw(s)}catch(e){console.error("Error while trying to parse the manifest playlist",e);return}}var ou=new Nw,Sr=new WeakSet,nt;Uw(()=>{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}nt||(nt=cast.framework,Ss().addEventListener(nt.CastContextEventType.CAST_STATE_CHANGED,s=>{ou.forEach(n=>{var a,o;return(o=(a=As.get(n)).onCastStateChanged)==null?void 0:o.call(a,s)})}),Ss().addEventListener(nt.CastContextEventType.SESSION_STATE_CHANGED,s=>{ou.forEach(n=>{var a,o;return(o=(a=As.get(n)).onSessionStateChanged)==null?void 0:o.call(a,s)})}),ou.forEach(s=>{var n,a;return(a=(n=As.get(s)).init)==null?void 0:a.call(n)}))});var sT=0,ke,lu,zt,Ar,Cn,kn,_s,fp,vt,ds,nT,mp,bT,pp,aT,hp,qw=class extends EventTarget{constructor(i){super(),se(this,vt),se(this,ke),se(this,lu),se(this,zt),se(this,Ar),se(this,Cn,"disconnected"),se(this,kn,!1),se(this,_s,new Set),se(this,fp,new WeakMap),J(this,ke,i),ou.add(this),As.set(this,{init:()=>Ue(this,vt,pp).call(this),onCastStateChanged:()=>Ue(this,vt,mp).call(this),onSessionStateChanged:()=>Ue(this,vt,bT).call(this),getCastPlayer:()=>I(this,vt,ds)}),Ue(this,vt,pp).call(this)}get state(){return I(this,Cn)}async watchAvailability(i){if(I(this,ke).disableRemotePlayback)throw new cp("disableRemotePlayback attribute is present.");return I(this,fp).set(i,++sT),I(this,_s).add(i),sT}async cancelWatchAvailability(i){if(I(this,ke).disableRemotePlayback)throw new cp("disableRemotePlayback attribute is present.");i?I(this,_s).delete(i):I(this,_s).clear()}async prompt(){var i,e,t,r;if(I(this,ke).disableRemotePlayback)throw new cp("disableRemotePlayback attribute is present.");if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable))throw new Pw("The RemotePlayback API is disabled on this platform.");let s=Sr.has(I(this,ke));Sr.add(I(this,ke)),vT(I(this,ke).castOptions),Object.entries(I(this,Ar)).forEach(([n,a])=>{I(this,zt).controller.addEventListener(n,a)});try{await Ss().requestSession()}catch(n){if(n==="cancel"){s||Sr.delete(I(this,ke));return}throw new Error(n)}(r=(t=As.get(I(this,ke)))==null?void 0:t.loadOnPrompt)==null||r.call(t)}};ke=new WeakMap,lu=new WeakMap,zt=new WeakMap,Ar=new WeakMap,Cn=new WeakMap,kn=new WeakMap,_s=new WeakMap,fp=new WeakMap,vt=new WeakSet,ds=function(){if(Sr.has(I(this,ke)))return I(this,zt)},nT=function(){Sr.has(I(this,ke))&&(Object.entries(I(this,Ar)).forEach(([i,e])=>{I(this,zt).controller.removeEventListener(i,e)}),Sr.delete(I(this,ke)),I(this,ke).muted=I(this,zt).isMuted,I(this,ke).currentTime=I(this,zt).savedPlayerState.currentTime,I(this,zt).savedPlayerState.isPaused===!1&&I(this,ke).play())},mp=function(){let i=Ss().getCastState();if(Sr.has(I(this,ke))&&i==="CONNECTING"&&(J(this,Cn,"connecting"),this.dispatchEvent(new Event("connecting"))),!I(this,kn)&&i!=null&&i.includes("CONNECT")){J(this,kn,!0);for(let e of I(this,_s))e(!0)}else if(I(this,kn)&&(!i||i==="NO_DEVICES_AVAILABLE")){J(this,kn,!1);for(let e of I(this,_s))e(!1)}},bT=async function(){var i;let{SESSION_RESUMED:e}=nt.SessionState;if(Ss().getSessionState()===e&&I(this,ke).castSrc===((i=Lp())==null?void 0:i.media.contentId)){Sr.add(I(this,ke)),Object.entries(I(this,Ar)).forEach(([t,r])=>{I(this,zt).controller.addEventListener(t,r)});try{await Hw(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}I(this,Ar)[nt.RemotePlayerEventType.IS_PAUSED_CHANGED](),I(this,Ar)[nt.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},pp=function(){!nt||I(this,lu)||(J(this,lu,!0),vT(I(this,ke).castOptions),I(this,ke).textTracks.addEventListener("change",()=>Ue(this,vt,hp).call(this)),Ue(this,vt,mp).call(this),J(this,zt,new nt.RemotePlayer),new nt.RemotePlayerController(I(this,zt)),J(this,Ar,{[nt.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(J(this,Cn,"connected"),this.dispatchEvent(new Event("connect"))):(Ue(this,vt,nT).call(this),J(this,Cn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[nt.RemotePlayerEventType.DURATION_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("durationchange"))},[nt.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("volumechange"))},[nt.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("volumechange"))},[nt.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=I(this,vt,ds))!=null&&i.isMediaLoaded&&I(this,ke).dispatchEvent(new Event("timeupdate"))},[nt.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("resize"))},[nt.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event(this.paused?"pause":"play"))},[nt.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=I(this,vt,ds))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&I(this,ke).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=I(this,vt,ds))==null?void 0:e.playerState]))},[nt.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=I(this,vt,ds))!=null&&i.isMediaLoaded&&(await Promise.resolve(),Ue(this,vt,aT).call(this))}}))},aT=function(){Ue(this,vt,hp).call(this)},hp=async function(){var i,e,t,r,s;if(!I(this,vt,ds))return;let n=((e=(i=I(this,zt).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...I(this,ke).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=kp())==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 $w(h)}catch(h){console.error(h)}};var jw=i=>{var e,t,r,s,n,a,o,l,d;return t=class extends i{constructor(){super(...arguments),se(this,o),se(this,r,{paused:!1}),se(this,s,ET()),se(this,n),se(this,a)}get remote(){return I(this,a)?I(this,a):Fw()?(this.disableRemotePlayback||Bw(),As.set(this,{loadOnPrompt:()=>Ue(this,o,d).call(this)}),J(this,a,new qw(this))):super.remote}attributeChangedCallback(u,c,h){if(super.attributeChangedCallback(u,c,h),u==="cast-receiver"&&h){I(this,s).receiverApplicationId=h;return}if(I(this,o,l))switch(u){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var u,c;if(!I(this,o,l))return super.load();let h=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);h.customData=this.castCustomData;let f=[...this.querySelectorAll("track")].filter(({kind:E,src:b})=>b&&(E==="subtitles"||E==="captions")),m=[],p=0;if(f.length&&(h.tracks=f.map(E=>{let b=++p;m.length===0&&E.track.mode==="showing"&&m.push(b);let T=new chrome.cast.media.Track(b,chrome.cast.media.TrackType.TEXT);return T.trackContentId=E.src,T.trackContentType="text/vtt",T.subtype=E.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,T.name=E.label,T.language=E.srclang,T})),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}],Ww(this.castSrc)){let E=await Yw(this.castSrc);(E!=null&&E.includes("m4s")||E!=null&&E.includes("mp4"))&&(h.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.FMP4,h.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.FMP4)}let g=new chrome.cast.media.LoadRequest(h);g.currentTime=(u=super.currentTime)!=null?u:0,g.autoplay=!I(this,r).paused,g.activeTrackIds=m,await((c=kp())==null?void 0:c.loadMedia(g)),this.dispatchEvent(new Event("volumechange"))}play(){var u;if(I(this,o,l)){I(this,o,l).isPaused&&((u=I(this,o,l).controller)==null||u.playOrPause());return}return super.play()}pause(){var u;if(I(this,o,l)){I(this,o,l).isPaused||(u=I(this,o,l).controller)==null||u.playOrPause();return}super.pause()}get castOptions(){return I(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 castCustomData(){return I(this,n)}set castCustomData(u){let c=typeof u;if(!["object","undefined"].includes(c)){console.error(`castCustomData must be nullish or an object but value was of type ${c}`);return}J(this,n,u)}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 u;return I(this,o,l)?(u=I(this,o,l))==null?void 0:u.isMuted:super.muted}set muted(u){var c;if(I(this,o,l)){(u&&!I(this,o,l).isMuted||!u&&I(this,o,l).isMuted)&&((c=I(this,o,l).controller)==null||c.muteOrUnmute());return}super.muted=u}get volume(){var u,c;return I(this,o,l)?(c=(u=I(this,o,l))==null?void 0:u.volumeLevel)!=null?c:1:super.volume}set volume(u){var c;if(I(this,o,l)){I(this,o,l).volumeLevel=+u,(c=I(this,o,l).controller)==null||c.setVolumeLevel();return}super.volume=u}get duration(){var u,c,h;return I(this,o,l)&&(u=I(this,o,l))!=null&&u.isMediaLoaded?(h=(c=I(this,o,l))==null?void 0:c.duration)!=null?h:NaN:super.duration}get currentTime(){var u,c,h;return I(this,o,l)&&(u=I(this,o,l))!=null&&u.isMediaLoaded?(h=(c=I(this,o,l))==null?void 0:c.currentTime)!=null?h:0:super.currentTime}set currentTime(u){var c;if(I(this,o,l)){I(this,o,l).currentTime=u,(c=I(this,o,l).controller)==null||c.seek();return}super.currentTime=u}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakSet,l=function(){var u,c;return(c=(u=As.get(this.remote))==null?void 0:u.getCastPlayer)==null?void 0:c.call(u)},d=async function(){I(this,r).paused=lp(t.prototype,this,"paused"),lp(t.prototype,this,"pause").call(this),this.muted=lp(t.prototype,this,"muted");try{await this.load()}catch(u){console.error(u)}},Le(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},Tu=class extends Event{constructor(i,e){super(i),Le(this,"track"),this.track=e.track}},gp=new WeakMap;function q(i){var e;return(e=gp.get(i))!=null?e:zw(i,{})}function zw(i,e){let t=gp.get(i);return t||gp.set(i,t={}),Object.assign(t,e)}function vp(i,e){let t=i.videoTracks;q(e).media=i,q(e).renditionSet||(q(e).renditionSet=new Set);let r=q(t).trackSet;r.add(e);let s=r.size-1;s in bp.prototype||Object.defineProperty(bp.prototype,s,{get(){return[...q(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Tu("addtrack",{track:e}))})}function Ep(i){var e;let t=(e=q(i).media)==null?void 0:e.videoTracks;t&&(q(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Tu("removetrack",{track:i}))}))}function Xw(i){var e;let t=(e=q(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(q(t).changeRequested)return;q(t).changeRequested=!0,queueMicrotask(()=>{delete q(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var us,cs,hs,Ln,Wa,bp=class extends EventTarget{constructor(){super(),se(this,Ln),se(this,us),se(this,cs),se(this,hs),q(this).trackSet=new Set}[Symbol.iterator](){return I(this,Ln,Wa).values()}get length(){return I(this,Ln,Wa).size}getTrackById(i){var e;return(e=[...I(this,Ln,Wa)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...I(this,Ln,Wa)].findIndex(i=>i.selected)}get onaddtrack(){return I(this,us)}set onaddtrack(i){I(this,us)&&(this.removeEventListener("addtrack",I(this,us)),J(this,us,void 0)),typeof i=="function"&&(J(this,us,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,cs)}set onremovetrack(i){I(this,cs)&&(this.removeEventListener("removetrack",I(this,cs)),J(this,cs,void 0)),typeof i=="function"&&(J(this,cs,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,hs)}set onchange(i){I(this,hs)&&(this.removeEventListener("change",I(this,hs)),J(this,hs,void 0)),typeof i=="function"&&(J(this,hs,i),this.addEventListener("change",i))}};us=new WeakMap,cs=new WeakMap,hs=new WeakMap,Ln=new WeakSet,Wa=function(){return q(this).trackSet};var _u=class extends Event{constructor(i,e){super(i),Le(this,"rendition"),this.rendition=e.rendition}};function Qw(i,e){let t=q(i).media.videoRenditions;q(e).media=q(i).media,q(e).track=i;let r=q(i).renditionSet;r.add(e);let s=r.size-1;s in yp.prototype||Object.defineProperty(yp.prototype,s,{get(){return wn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new _u("addrendition",{rendition:e}))})}function Zw(i){let e=q(i).media.videoRenditions,t=q(i).track;q(t).renditionSet.delete(i),queueMicrotask(()=>{q(i).track.selected&&e.dispatchEvent(new _u("removerendition",{rendition:i}))})}function Jw(i){let e=q(i).media.videoRenditions;!e||q(e).changeRequested||(q(e).changeRequested=!0,queueMicrotask(()=>{delete q(e).changeRequested,q(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function wn(i){return[...q(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...q(e).renditionSet])}var fs,ms,ps,yp=class extends EventTarget{constructor(){super(...arguments),se(this,fs),se(this,ms),se(this,ps)}[Symbol.iterator](){return wn(this).values()}get length(){return wn(this).length}getRenditionById(i){var e;return(e=wn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return wn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of wn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,fs)}set onaddrendition(i){I(this,fs)&&(this.removeEventListener("addrendition",I(this,fs)),J(this,fs,void 0)),typeof i=="function"&&(J(this,fs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,ms)}set onremoverendition(i){I(this,ms)&&(this.removeEventListener("removerendition",I(this,ms)),J(this,ms,void 0)),typeof i=="function"&&(J(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)),J(this,ps,void 0)),typeof i=="function"&&(J(this,ps,i),this.addEventListener("change",i))}};fs=new WeakMap,ms=new WeakMap,ps=new WeakMap;var Ya,eD=class{constructor(){Le(this,"src"),Le(this,"id"),Le(this,"width"),Le(this,"height"),Le(this,"bitrate"),Le(this,"frameRate"),Le(this,"codec"),se(this,Ya,!1)}get selected(){return I(this,Ya)}set selected(i){I(this,Ya)!==i&&(J(this,Ya,i),Jw(this))}};Ya=new WeakMap;var qa,yT=class{constructor(){Le(this,"id"),Le(this,"kind"),Le(this,"label",""),Le(this,"language",""),Le(this,"sourceBuffer"),se(this,qa,!1)}addRendition(i,e,t,r,s,n){let a=new eD;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,Qw(this,a),a}removeRendition(i){Zw(i)}get selected(){return I(this,qa)}set selected(i){I(this,qa)!==i&&(J(this,qa,i),i===!0&&Xw(this))}};qa=new WeakMap;function tD(i,e){let t=q(i).media.audioRenditions;q(e).media=q(i).media,q(e).track=i;let r=q(i).renditionSet;r.add(e);let s=r.size-1;s in Tp.prototype||Object.defineProperty(Tp.prototype,s,{get(){return Dn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new _u("addrendition",{rendition:e}))})}function iD(i){let e=q(i).media.audioRenditions,t=q(i).track;q(t).renditionSet.delete(i),queueMicrotask(()=>{q(i).track.enabled&&e.dispatchEvent(new _u("removerendition",{rendition:i}))})}function rD(i){let e=q(i).media.audioRenditions;!e||q(e).changeRequested||(q(e).changeRequested=!0,queueMicrotask(()=>{delete q(e).changeRequested,q(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function Dn(i){return[...q(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...q(e).renditionSet])}var gs,vs,Es,Tp=class extends EventTarget{constructor(){super(...arguments),se(this,gs),se(this,vs),se(this,Es)}[Symbol.iterator](){return Dn(this).values()}get length(){return Dn(this).length}getRenditionById(i){var e;return(e=Dn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Dn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Dn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,gs)}set onaddrendition(i){I(this,gs)&&(this.removeEventListener("addrendition",I(this,gs)),J(this,gs,void 0)),typeof i=="function"&&(J(this,gs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,vs)}set onremoverendition(i){I(this,vs)&&(this.removeEventListener("removerendition",I(this,vs)),J(this,vs,void 0)),typeof i=="function"&&(J(this,vs,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,Es)}set onchange(i){I(this,Es)&&(this.removeEventListener("change",I(this,Es)),J(this,Es,void 0)),typeof i=="function"&&(J(this,Es,i),this.addEventListener("change",i))}};gs=new WeakMap,vs=new WeakMap,Es=new WeakMap;var ja,sD=class{constructor(){Le(this,"src"),Le(this,"id"),Le(this,"bitrate"),Le(this,"codec"),se(this,ja,!1)}get selected(){return I(this,ja)}set selected(i){I(this,ja)!==i&&(J(this,ja,i),rD(this))}};ja=new WeakMap;function _p(i,e){let t=i.audioTracks;q(e).media=i,q(e).renditionSet||(q(e).renditionSet=new Set);let r=q(t).trackSet;r.add(e);let s=r.size-1;s in Sp.prototype||Object.defineProperty(Sp.prototype,s,{get(){return[...q(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Tu("addtrack",{track:e}))})}function Ap(i){var e;let t=(e=q(i).media)==null?void 0:e.audioTracks;t&&(q(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Tu("removetrack",{track:i}))}))}function nD(i){let e=q(i).media.audioTracks;!e||q(e).changeRequested||(q(e).changeRequested=!0,queueMicrotask(()=>{delete q(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var bs,ys,Ts,za,du,Sp=class extends EventTarget{constructor(){super(),se(this,za),se(this,bs),se(this,ys),se(this,Ts),q(this).trackSet=new Set}[Symbol.iterator](){return I(this,za,du).values()}get length(){return I(this,za,du).size}getTrackById(i){var e;return(e=[...I(this,za,du)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return I(this,bs)}set onaddtrack(i){I(this,bs)&&(this.removeEventListener("addtrack",I(this,bs)),J(this,bs,void 0)),typeof i=="function"&&(J(this,bs,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,ys)}set onremovetrack(i){I(this,ys)&&(this.removeEventListener("removetrack",I(this,ys)),J(this,ys,void 0)),typeof i=="function"&&(J(this,ys,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,Ts)}set onchange(i){I(this,Ts)&&(this.removeEventListener("change",I(this,Ts)),J(this,Ts,void 0)),typeof i=="function"&&(J(this,Ts,i),this.addEventListener("change",i))}};bs=new WeakMap,ys=new WeakMap,Ts=new WeakMap,za=new WeakSet,du=function(){return q(this).trackSet};var Xa,TT=class{constructor(){Le(this,"id"),Le(this,"kind"),Le(this,"label",""),Le(this,"language",""),Le(this,"sourceBuffer"),se(this,Xa,!1)}addRendition(i,e,t){let r=new sD;return r.src=i,r.codec=e,r.bitrate=t,tD(this,r),r}removeRendition(i){iD(i)}get enabled(){return I(this,Xa)}set enabled(i){I(this,Xa)!==i&&(J(this,Xa,i),nD(this))}};Xa=new WeakMap;var oT=Eu(globalThis.HTMLMediaElement,"video"),lT=Eu(globalThis.HTMLMediaElement,"audio");function aD(i){if(!(i!=null&&i.prototype))return i;let e=Eu(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return oD(this)}});let t=Eu(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return lD(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new yT;return l.kind=n,l.label=a,l.language=o,vp(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=Ep),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new TT;return l.kind=n,l.label=a,l.language=o,_p(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=Ap),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=q(n).videoRenditions;return a||(a=new yp,q(a).media=n,q(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=q(n).audioRenditions;return a||(a=new Tp,q(a).media=n,q(n).audioRenditions=a),a};return i}function Eu(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function oD(i){var e;let t=q(i).videoTracks;if(!t&&(t=new bp,q(i).videoTracks=t,oT)){let r=oT.call((e=i.nativeEl)!=null?e:i);for(let s of r)vp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof yT)){for(let n of r)Ep(n);return}vp(i,s.track)}),r.addEventListener("removetrack",s=>{Ep(s.track)})}return t}function lD(i){var e;let t=q(i).audioTracks;if(!t&&(t=new Sp,q(i).audioTracks=t,lT)){let r=lT.call((e=i.nativeEl)!=null?e:i);for(let s of r)_p(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof TT)){for(let n of r)Ap(n);return}_p(i,s.track)}),r.addEventListener("removetrack",s=>{Ap(s.track)})}return t}yu.push("castchange","entercast","leavecast");var w={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DRM_TOKEN:"drm-token",PLAYBACK_TOKEN:"playback-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",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PLAYER_INIT_TIME:"player-init-time",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"},dD=Object.values(w),dT=Lw(),uT="mux-video",Pi,Qa,uu,Za,cu,hu,fu,mu,pu,Ja,gu,uD=class extends up{constructor(){super(),se(this,Ja),se(this,Pi),se(this,Qa),se(this,uu),se(this,Za,{}),se(this,cu,{}),se(this,hu),se(this,fu),se(this,mu),se(this,pu),J(this,uu,ru())}static get NAME(){return uT}static get VERSION(){return dT}static get observedAttributes(){var i;return[...dD,...(i=up.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(w.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?In.includes(i)?this.setAttribute(w.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${In.join()}`):this.removeAttribute(w.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(w.PLAYER_INIT_TIME)?+this.getAttribute(w.PLAYER_INIT_TIME):I(this,uu)}set playerInitTime(i){i!=this.playerInitTime&&(i==null?this.removeAttribute(w.PLAYER_INIT_TIME):this.setAttribute(w.PLAYER_INIT_TIME,`${+i}`))}get playerSoftwareName(){var i;return(i=I(this,mu))!=null?i:uT}set playerSoftwareName(i){J(this,mu,i)}get playerSoftwareVersion(){var i;return(i=I(this,fu))!=null?i:dT}set playerSoftwareVersion(i){J(this,fu,i)}get _hls(){var i;return(i=I(this,Pi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=sp(this.nativeEl))!=null?i:null}get errorTranslator(){return I(this,pu)}set errorTranslator(i){J(this,pu,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(w.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(w.TYPE,i):this.removeAttribute(w.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(w.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(w.DEBUG,""):this.removeAttribute(w.DEBUG))}get disableTracking(){return this.hasAttribute(w.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(w.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(w.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(w.DISABLE_COOKIES,""):this.removeAttribute(w.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(w.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(w.START_TIME):this.setAttribute(w.START_TIME,`${i}`))}get playbackId(){var i;return this.hasAttribute(w.PLAYBACK_ID)?this.getAttribute(w.PLAYBACK_ID):(i=rp(this.src))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(w.PLAYBACK_ID,i):this.removeAttribute(w.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(w.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(w.MAX_RESOLUTION,i):this.removeAttribute(w.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(w.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(w.MIN_RESOLUTION,i):this.removeAttribute(w.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(w.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(w.RENDITION_ORDER,i):this.removeAttribute(w.RENDITION_ORDER))}get programStartTime(){let i=this.getAttribute(w.PROGRAM_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programStartTime(i){i==null?this.removeAttribute(w.PROGRAM_START_TIME):this.setAttribute(w.PROGRAM_START_TIME,`${i}`)}get programEndTime(){let i=this.getAttribute(w.PROGRAM_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programEndTime(i){i==null?this.removeAttribute(w.PROGRAM_END_TIME):this.setAttribute(w.PROGRAM_END_TIME,`${i}`)}get assetStartTime(){let i=this.getAttribute(w.ASSET_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetStartTime(i){i==null?this.removeAttribute(w.ASSET_START_TIME):this.setAttribute(w.ASSET_START_TIME,`${i}`)}get assetEndTime(){let i=this.getAttribute(w.ASSET_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetEndTime(i){i==null?this.removeAttribute(w.ASSET_END_TIME):this.setAttribute(w.ASSET_END_TIME,`${i}`)}get customDomain(){var i;return(i=this.getAttribute(w.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(w.CUSTOM_DOMAIN,i):this.removeAttribute(w.CUSTOM_DOMAIN))}get drmToken(){var i;return(i=this.getAttribute(w.DRM_TOKEN))!=null?i:void 0}set drmToken(i){i!==this.drmToken&&(i?this.setAttribute(w.DRM_TOKEN,i):this.removeAttribute(w.DRM_TOKEN))}get playbackToken(){var i,e,t,r;if(this.hasAttribute(w.PLAYBACK_TOKEN))return(i=this.getAttribute(w.PLAYBACK_TOKEN))!=null?i:void 0;if(this.hasAttribute(w.PLAYBACK_ID)){let[,s]=eu((e=this.playbackId)!=null?e:"");return(t=new URLSearchParams(s).get("token"))!=null?t:void 0}if(this.src)return(r=new URLSearchParams(this.src).get("token"))!=null?r:void 0}set playbackToken(i){i!==this.playbackToken&&(i?this.setAttribute(w.PLAYBACK_TOKEN,i):this.removeAttribute(w.PLAYBACK_TOKEN))}get tokens(){let i=this.getAttribute(w.PLAYBACK_TOKEN),e=this.getAttribute(w.DRM_TOKEN);return{...I(this,cu),...i!=null?{playback:i}:{},...e!=null?{drm:e}:{}}}set tokens(i){J(this,cu,i!=null?i:{})}get ended(){return ap(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(w.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(w.ENV_KEY,i):this.removeAttribute(w.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(w.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(w.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(w.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(w.STREAM_TYPE))!=null?i:Jd(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(w.STREAM_TYPE,i):this.removeAttribute(w.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(w.TARGET_LIVE_WINDOW)?+this.getAttribute(w.TARGET_LIVE_WINDOW):Yy(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(w.TARGET_LIVE_WINDOW):this.setAttribute(w.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(w.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 qy(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(w.LIVE_EDGE_OFFSET))return+this.getAttribute(w.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.liveEdgeOffset&&(i==null?this.removeAttribute(w.LIVE_EDGE_OFFSET):this.setAttribute(w.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return nu(this.nativeEl)}async addCuePoints(i){return Zm(this.nativeEl,i)}get activeCuePoint(){return Jm(this.nativeEl)}get cuePoints(){return Fy(this.nativeEl)}async addChapters(i){return tp(this.nativeEl,i)}get activeChapter(){return ip(this.nativeEl)}get chapters(){return $y(this.nativeEl)}getStartDate(){return Hy(this.nativeEl,this._hls)}get currentPdt(){return Gy(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(w.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(w.PREFER_PLAYBACK,i):this.removeAttribute(w.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![w.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,Za)}}set metadata(i){J(this,Za,i!=null?i:{}),this.mux&&this.mux.emit("hb",I(this,Za))}get _hlsConfig(){return I(this,hu)}set _hlsConfig(i){J(this,hu,i)}load(){J(this,Pi,Xy(this,this.nativeEl,I(this,Pi)))}unload(){op(this.nativeEl,I(this,Pi)),J(this,Pi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(up.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case w.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case w.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?Ue(this,Ja,gu).call(this):n&&!a?this.unload():n&&a&&(this.unload(),Ue(this,Ja,gu).call(this));break}case"autoplay":if(t===e)break;(r=I(this,Pi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=I(this,Pi))==null||s.setPreload(t);break;case w.PLAYBACK_ID:this.src=Va(this);break;case w.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 w.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 w.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case w.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,Pi)&&Ue(this,Ja,gu).call(this)}disconnectedCallback(){this.unload()}};Pi=new WeakMap,Qa=new WeakMap,uu=new WeakMap,Za=new WeakMap,cu=new WeakMap,hu=new WeakMap,fu=new WeakMap,mu=new WeakMap,pu=new WeakMap,Ja=new WeakSet,gu=async function(){I(this,Qa)||(await J(this,Qa,Promise.resolve()),J(this,Qa,null),this.load())};var vu,xp=class extends jw(aD(uD)){constructor(){super(...arguments),se(this,vu)}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,vu))!=null?i:this.muxCastCustomData}set castCustomData(i){J(this,vu,i)}};vu=new WeakMap;dp.customElements.get("mux-video")||(dp.customElements.define("mux-video",xp),dp.MuxVideoElement=xp);var _T=xp;function AT(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${Au(t)}: ${r}; `)}),e?e.trim():void 0}function Au(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Su(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function St(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function wp(i){let e=cD(i).toString();return e?"?"+e:""}function cD(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}var Dp=(i,e)=>!i||!e?!1:i.contains(e)?!0:Dp(i,e.getRootNode().host);var ST="mux.com",hD=()=>{try{return"3.3.1"}catch{}return"UNKNOWN"},fD=hD(),Ru=()=>fD,xT=(i,{token:e,customDomain:t=ST,thumbnailTime:r,programTime:s}={})=>{var o;let n=e==null?r:void 0,{aud:a}=(o=_r(e))!=null?o:{};if(!(e&&a!=="t"))return`https://image.${t}/${i}/thumbnail.webp${wp({token:e,time:n,program_time:s})}`},RT=(i,{token:e,customDomain:t=ST,programStartTime:r,programEndTime:s}={})=>{var a;let{aud:n}=(a=_r(e))!=null?a:{};if(!(e&&n!=="s"))return`https://image.${t}/${i}/storyboard.vtt${wp({token:e,format:"webp",program_start_time:r,program_end_time:s})}`},eo=i=>{if(i){if([Re.LIVE,Re.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return Re.LIVE}};var mD={crossorigin:"crossOrigin",playsinline:"playsInline"};function IT(i){var e;return(e=mD[i])!=null?e:Su(i)}var xs,Rs,xt,xu=class{constructor(e,t){It(this,xs);It(this,Rs);It(this,xt,[]);Bt(this,xs,e),Bt(this,Rs,t)}[Symbol.iterator](){return Se(this,xt).values()}get length(){return Se(this,xt).length}get value(){var e;return(e=Se(this,xt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Bt(this,xt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Se(this,xt)[e]}values(){return Se(this,xt).values()}keys(){return Se(this,xt).keys()}forEach(e){Se(this,xt).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||Se(this,xt).push(s)}),!(this.value===""&&!((t=Se(this,xs))!=null&&t.hasAttribute(`${Se(this,Rs)}`)))&&((r=Se(this,xs))==null||r.setAttribute(`${Se(this,Rs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{Se(this,xt).splice(Se(this,xt).indexOf(r),1)}),(t=Se(this,xs))==null||t.setAttribute(`${Se(this,Rs)}`,`${this.value}`)}contains(e){return Se(this,xt).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)}};xs=new WeakMap,Rs=new WeakMap,xt=new WeakMap;var kT=`[mux-player ${Ru()}]`;function Oi(...i){console.warn(kT,...i)}function Ot(...i){console.error(kT,...i)}function Cp(i){var t;let e=(t=i.message)!=null?t:"";i.context&&(e+=` ${i.context}`),i.file&&(e+=` ${z("Read more: ")}
|
|
1330
|
-
https://github.com/muxinc/elements/blob/main/errors/${i.file}`),Oi(e)}var Tt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},Is={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},wT=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}}),pD=yu.filter(i=>i!=="error"),gD=Object.values(Tt).filter(i=>![Tt.PLAYSINLINE].includes(i)),vD=Object.values(Is),Mp=class extends kt.HTMLElement{static get observedAttributes(){return[...gD,...vD]}constructor(){super()}init(){pD.forEach(e=>{var t;(t=this.media)==null||t.addEventListener(e,r=>{this.dispatchEvent(new Event(r.type))})})}attributeChangedCallback(e,t,r){var s,n;switch(e){case Is.MUTED:{this.media&&(this.media.muted=r!=null,this.media.defaultMuted=r!=null);return}case Is.VOLUME:{let a=(s=St(r))!=null?s:1;this.media&&(this.media.volume=a);return}case Is.PLAYBACKRATE:{let a=(n=St(r))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}load(){var e;(e=this.media)==null||e.load()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.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 e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:wT}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:wT}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentSrc(){var e,t;return(t=(e=this.media)==null?void 0:e.currentSrc)!=null?t:""}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=St(this.getAttribute(Is.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(Is.PLAYBACKRATE,`${e}`):this.removeAttribute(Is.PLAYBACKRATE)}get crossOrigin(){return to(this,Tt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Tt.CROSSORIGIN,`${e}`)}get autoplay(){return to(this,Tt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Tt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Tt.AUTOPLAY)}get loop(){return to(this,Tt.LOOP)!=null}set loop(e){e?this.setAttribute(Tt.LOOP,""):this.removeAttribute(Tt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return to(this,Tt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Tt.MUTED,""):this.removeAttribute(Tt.MUTED)}get playsInline(){return to(this,Tt.PLAYSINLINE)!=null}set playsInline(e){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(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Tt.PRELOAD,e):this.removeAttribute(Tt.PRELOAD)}};function to(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}var Pp=Mp;var OT=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ee=(i,e,t)=>(OT(i,e,"read from private field"),t?t.call(i):e.get(i)),Ni=(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)=>(OT(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Mn,Iu,ks,io,xr,Rr,Ir,Ls,Pn,ku,ci,DT=1,CT=0,ED=1,bD={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 Rt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Rt?s.element[s.attributeName]=n:s.value=n}}}},ir=class extends x.DocumentFragment{constructor(e,t,r=bD){var s;super(),Ni(this,Mn,void 0),Ni(this,Iu,void 0),this.append(e.content.cloneNode(!0)),tr(this,Mn,NT(this)),tr(this,Iu,r),(s=r.createCallback)==null||s.call(r,this,Ee(this,Mn),t),r.processCallback(this,Ee(this,Mn),t)}update(e){Ee(this,Iu).processCallback(this,Ee(this,Mn),e)}};Mn=new WeakMap;Iu=new WeakMap;var NT=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new Op;for([t,r]of PT(s.value))if(!t)n.append(r);else{let a=new Rt(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===DT&&!(s instanceof HTMLTemplateElement))NT(s,e);else{let n=s.data;if(s.nodeType===DT||n.includes("{{")){let a=[];if(n)for([t,r]of PT(n))if(!t)a.push(new Text(r));else{let o=new rr(i);a.push(o),e.push([r,o])}else if(s instanceof HTMLTemplateElement){let o=new ro(i,s);a.push(o),e.push([o.expression,o])}s.replaceWith(...a.flatMap(o=>o.replacementNodes||[o]))}}return e},MT={},PT=i=>{let e="",t=0,r=MT[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([CT,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([ED,e.trim()]),e="",s++):e+=n||"";return e&&r.push([CT,(t>0?"{{":"")+e]),MT[i]=r},yD=11,Lu=class{get value(){return""}set value(e){}toString(){return this.value}},UT=new WeakMap,Op=class{constructor(){Ni(this,ks,[])}[Symbol.iterator](){return Ee(this,ks).values()}get length(){return Ee(this,ks).length}item(e){return Ee(this,ks)[e]}append(...e){for(let t of e)t instanceof Rt&&UT.set(t,this),Ee(this,ks).push(t)}toString(){return Ee(this,ks).join("")}};ks=new WeakMap;var Rt=class extends Lu{constructor(e,t,r){super(),Ni(this,Ls),Ni(this,io,""),Ni(this,xr,void 0),Ni(this,Rr,void 0),Ni(this,Ir,void 0),tr(this,xr,e),tr(this,Rr,t),tr(this,Ir,r)}get attributeName(){return Ee(this,Rr)}get attributeNamespace(){return Ee(this,Ir)}get element(){return Ee(this,xr)}get value(){return Ee(this,io)}set value(e){Ee(this,io)!==e&&(tr(this,io,e),!Ee(this,Ls,Pn)||Ee(this,Ls,Pn).length===1?e==null?Ee(this,xr).removeAttributeNS(Ee(this,Ir),Ee(this,Rr)):Ee(this,xr).setAttributeNS(Ee(this,Ir),Ee(this,Rr),e):Ee(this,xr).setAttributeNS(Ee(this,Ir),Ee(this,Rr),Ee(this,Ls,Pn).toString()))}get booleanValue(){return Ee(this,xr).hasAttributeNS(Ee(this,Ir),Ee(this,Rr))}set booleanValue(e){if(!Ee(this,Ls,Pn)||Ee(this,Ls,Pn).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};io=new WeakMap;xr=new WeakMap;Rr=new WeakMap;Ir=new WeakMap;Ls=new WeakSet;Pn=function(){return UT.get(this)};var rr=class extends Lu{constructor(e,t){super(),Ni(this,ku,void 0),Ni(this,ci,void 0),tr(this,ku,e),tr(this,ci,t?[...t]:[new Text])}get replacementNodes(){return Ee(this,ci)}get parentNode(){return Ee(this,ku)}get nextSibling(){return Ee(this,ci)[Ee(this,ci).length-1].nextSibling}get previousSibling(){return Ee(this,ci)[0].previousSibling}get value(){return Ee(this,ci).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===yD?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),tr(this,ci,TD(Ee(this,ci)[0].parentNode,Ee(this,ci),t,this.nextSibling))}};ku=new WeakMap;ci=new WeakMap;var ro=class extends rr{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),this.expression=s,this.template=t,this.directive=r}};function TD(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 FT={string:i=>String(i)},Du=class{constructor(e){this.template=e,this.state=void 0}},ws=new WeakMap,Ds=new WeakMap,Np={partial:(i,e)=>{e[i.expression]=new Du(i.template)},if:(i,e)=>{var t;if($T(i.expression,e))if(ws.get(i)!==i.template){ws.set(i,i.template);let r=new ir(i.template,e,Cu);i.replace(r),Ds.set(i,r)}else(t=Ds.get(i))==null||t.update(e);else i.replace(""),ws.delete(i),Ds.delete(i)}},_D=Object.keys(Np),Cu={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof ro){if(!a.directive){let l=_D.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=Np[a.directive])==null||r.call(Np,a,t);continue}let o=$T(n,t);if(o instanceof Du){ws.get(a)!==o.template?(ws.set(a,o.template),o=new ir(o.template,o.state,Cu),a.value=o,Ds.set(a,o)):(s=Ds.get(a))==null||s.update(o.state);continue}o?(a instanceof Rt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Rt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,ws.delete(a),Ds.delete(a))):a instanceof Rt?a.value=void 0:(a.value=void 0,ws.delete(a),Ds.delete(a))}}},BT={"!":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=FT[e])==null?void 0:t.call(FT,i)}};function AD(i){return SD(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function $T(i,e={}){var t,r,s,n,a,o,l;let d=AD(i);if(d.length===0||d.some(({type:u})=>!u))return so(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return so(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]=no(g,e))}return u}if(d.length===1)return wu(d[0])?no(d[0].token,e):so(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=BT[u];if(!c||!wu(d[1]))return so(i);let h=no(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=BT[u];if(!c||!wu(d[0])||!wu(d[2]))return so(i);let h=no(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=no(d[2].token,e);return c(h,f)}}function so(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function wu({type:i}){return["number","boolean","string","param"].includes(i)}function no(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):Co(i)?parseFloat(i):e[i]}function SD(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 Gp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Bp=(i,e,t)=>(Gp(i,e,"read from private field"),t?t.call(i):e.get(i)),ao=(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)},Cs=(i,e,t,r)=>(Gp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Up=(i,e,t)=>(Gp(i,e,"access private method"),t),On,Mu,Nn,$p,HT,Pu,Hp,Fp={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},GT=F.createElement("template");GT.innerHTML=`
|
|
1333
|
+
`}function vT(i,{tag:e,is:t}){var r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T;let _=(s=(r=globalThis.document)==null?void 0:r.createElement)==null?void 0:s.call(r,e,{is:t}),A=_?Mw(_):[];return n=class extends i{constructor(){super(...arguments),ne(this,f),ne(this,d,!1),ne(this,u,null),ne(this,c,new Map),ne(this,h),Le(this,"get"),Le(this,"set"),Le(this,"call")}static get observedAttributes(){var R,S,D;return Fe(R=n,o,l).call(R),[...(D=(S=_==null?void 0:_.constructor)==null?void 0:S.observedAttributes)!=null?D:[],...gT]}get nativeEl(){var R,S,D,M,L;return Fe(this,f,m).call(this),(L=(M=(S=(R=I(this,u))!=null?R:this.querySelector(":scope > [slot=media]"))!=null?S:this.querySelector(e))!=null?M:(D=this.shadowRoot)==null?void 0:D.querySelector(e))!=null?L:null}set nativeEl(R){J(this,u,R)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(R){this.toggleAttribute("muted",R)}get src(){return this.getAttribute("src")}set src(R){this.setAttribute("src",`${R}`)}get preload(){var R,S;return(S=this.getAttribute("preload"))!=null?S:(R=this.nativeEl)==null?void 0:R.preload}set preload(R){this.setAttribute("preload",`${R}`)}init(){var R;if(!this.shadowRoot){this.attachShadow({mode:"open"});let S=Pw(this.attributes);t&&(S.is=t),e&&(S.part=e),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(S)}this.nativeEl.muted=this.hasAttribute("muted");for(let S of A)Fe(this,f,b).call(this,S);J(this,h,new MutationObserver(Fe(this,f,g).bind(this))),this.shadowRoot.addEventListener("slotchange",this),Fe(this,f,p).call(this);for(let S of this.constructor.Events)(R=this.shadowRoot)==null||R.addEventListener(S,this,!0)}handleEvent(R){if(R.type==="slotchange"){Fe(this,f,p).call(this);return}R.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(R.type,{detail:R.detail}))}attributeChangedCallback(R,S,D){Fe(this,f,m).call(this),Fe(this,f,T).call(this,R,S,D)}connectedCallback(){Fe(this,f,m).call(this)}},a=new WeakMap,o=new WeakSet,l=function(){if(I(this,a))return;J(this,a,!0);let R=new Set(this.observedAttributes);R.delete("muted");for(let S of A)if(!(S in this.prototype))if(typeof _[S]=="function")this.prototype[S]=function(...D){return Fe(this,f,m).call(this),(()=>{var M;if(this.call)return this.call(S,...D);let L=(M=this.nativeEl)==null?void 0:M[S];return L==null?void 0:L.apply(this.nativeEl,D)})()};else{let D={get(){var M,L,P;Fe(this,f,m).call(this);let U=S.toLowerCase();if(R.has(U)){let B=this.getAttribute(U);return B===null?!1:B===""?!0:B}return(P=(M=this.get)==null?void 0:M.call(this,S))!=null?P:(L=this.nativeEl)==null?void 0:L[S]}};S!==S.toUpperCase()&&(D.set=function(M){Fe(this,f,m).call(this);let L=S.toLowerCase();if(R.has(L)){M===!0||M===!1||M==null?this.toggleAttribute(L,!!M):this.setAttribute(L,M);return}if(this.set){this.set(S,M);return}this.nativeEl&&(this.nativeEl[S]=M)}),Object.defineProperty(this.prototype,S,D)}},d=new WeakMap,u=new WeakMap,c=new WeakMap,h=new WeakMap,f=new WeakSet,m=function(){I(this,d)||(J(this,d,!0),this.init())},p=function(){var R;let S=new Map(I(this,c)),D=(R=this.shadowRoot)==null?void 0:R.querySelector("slot:not([name])");(D==null?void 0:D.assignedElements({flatten:!0}).filter(M=>["track","source"].includes(M.localName))).forEach(M=>{var L,P;S.delete(M);let U=I(this,c).get(M);U||(U=M.cloneNode(),I(this,c).set(M,U),(L=I(this,h))==null||L.observe(M,{attributes:!0})),(P=this.nativeEl)==null||P.append(U),Fe(this,f,E).call(this,U)}),S.forEach((M,L)=>{M.remove(),I(this,c).delete(L)})},g=function(R){var S;for(let D of R)if(D.type==="attributes"){let{target:M,attributeName:L}=D,P=I(this,c).get(M);P&&L&&(P.setAttribute(L,(S=M.getAttribute(L))!=null?S:""),Fe(this,f,E).call(this,P))}},E=function(R){R&&R.localName==="track"&&R.default&&(R.kind==="chapters"||R.kind==="metadata")&&R.track.mode==="disabled"&&(R.track.mode="hidden")},b=function(R){if(Object.prototype.hasOwnProperty.call(this,R)){let S=this[R];delete this[R],this[R]=S}},T=function(R,S,D){var M,L,P;["id","class"].includes(R)||!n.observedAttributes.includes(R)&&this.constructor.observedAttributes.includes(R)||(D===null?(M=this.nativeEl)==null||M.removeAttribute(R):((L=this.nativeEl)==null?void 0:L.getAttribute(R))!==D&&((P=this.nativeEl)==null||P.setAttribute(R,D)))},ne(n,o),Le(n,"getTemplateHTML",e.endsWith("audio")?Dw:Cw),Le(n,"shadowRootOptions",{mode:"open"}),Le(n,"Events",yu),ne(n,a,!1),n}function Mw(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let r=Object.getOwnPropertyNames(t);e.push(...r)}return e}function ET(i){let e="";for(let t in i){if(!gT.includes(t))continue;let r=i[t];r===""?e+=` ${t}`:e+=` ${t}="${r}"`}return e}function Pw(i){let e={};for(let t of i)e[t.name]=t.value;return e}var sT,dp=vT((sT=globalThis.HTMLElement)!=null?sT:class{},{tag:"video"}),nT,jN=vT((nT=globalThis.HTMLElement)!=null?nT:class{},{tag:"audio"}),As=new WeakMap,up=class extends Error{},Ow=class extends Error{},Nw=["application/x-mpegURL","application/vnd.apple.mpegurl","audio/mpegurl"],Uw=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 Fw(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 Bw(){return globalThis.chrome}function $w(){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 Ss(){var i,e;return(e=(i=globalThis.cast)==null?void 0:i.framework)==null?void 0:e.CastContext.getInstance()}function Ip(){var i;return(i=Ss())==null?void 0:i.getCurrentSession()}function kp(){var i;return(i=Ip())==null?void 0:i.getSessionObj().media[0]}function Hw(i){return new Promise((e,t)=>{kp().editTracksInfo(i,e,t)})}function Gw(i){return new Promise((e,t)=>{kp().getStatus(i,e,t)})}function bT(i){return Ss().setOptions({...yT(),...i})}function yT(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}function Kw(i){if(!i)return;let e=/\.([a-zA-Z0-9]+)(?:\?.*)?$/,t=i.match(e);return t?t[1]:null}function Vw(i){let e=i.split(`
|
|
1334
|
+
`),t=[];for(let r=0;r<e.length;r++)if(e[r].trim().startsWith("#EXT-X-STREAM-INF")){let s=e[r+1]?e[r+1].trim():"";s&&!s.startsWith("#")&&t.push(s)}return t}function Ww(i){return i.split(`
|
|
1335
|
+
`).find(e=>!e.trim().startsWith("#")&&e.trim()!=="")}async function Yw(i){try{let e=(await fetch(i,{method:"HEAD"})).headers.get("Content-Type");return Nw.some(t=>e===t)}catch(e){return console.error("Error while trying to get the Content-Type of the manifest",e),!1}}async function qw(i){try{let e=await(await fetch(i)).text(),t=e,r=Vw(e);if(r.length>0){let n=new URL(r[0],i).toString();t=await(await fetch(n)).text()}let s=Ww(t);return Kw(s)}catch(e){console.error("Error while trying to parse the manifest playlist",e);return}}var ou=new Uw,Sr=new WeakSet,nt;Fw(()=>{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}nt||(nt=cast.framework,Ss().addEventListener(nt.CastContextEventType.CAST_STATE_CHANGED,s=>{ou.forEach(n=>{var a,o;return(o=(a=As.get(n)).onCastStateChanged)==null?void 0:o.call(a,s)})}),Ss().addEventListener(nt.CastContextEventType.SESSION_STATE_CHANGED,s=>{ou.forEach(n=>{var a,o;return(o=(a=As.get(n)).onSessionStateChanged)==null?void 0:o.call(a,s)})}),ou.forEach(s=>{var n,a;return(a=(n=As.get(s)).init)==null?void 0:a.call(n)}))});var aT=0,ke,lu,zt,Ar,Cn,kn,_s,hp,vt,ds,oT,fp,TT,mp,lT,cp,jw=class extends EventTarget{constructor(i){super(),ne(this,vt),ne(this,ke),ne(this,lu),ne(this,zt),ne(this,Ar),ne(this,Cn,"disconnected"),ne(this,kn,!1),ne(this,_s,new Set),ne(this,hp,new WeakMap),J(this,ke,i),ou.add(this),As.set(this,{init:()=>Fe(this,vt,mp).call(this),onCastStateChanged:()=>Fe(this,vt,fp).call(this),onSessionStateChanged:()=>Fe(this,vt,TT).call(this),getCastPlayer:()=>I(this,vt,ds)}),Fe(this,vt,mp).call(this)}get state(){return I(this,Cn)}async watchAvailability(i){if(I(this,ke).disableRemotePlayback)throw new up("disableRemotePlayback attribute is present.");return I(this,hp).set(i,++aT),I(this,_s).add(i),aT}async cancelWatchAvailability(i){if(I(this,ke).disableRemotePlayback)throw new up("disableRemotePlayback attribute is present.");i?I(this,_s).delete(i):I(this,_s).clear()}async prompt(){var i,e,t,r;if(I(this,ke).disableRemotePlayback)throw new up("disableRemotePlayback attribute is present.");if(!((e=(i=globalThis.chrome)==null?void 0:i.cast)!=null&&e.isAvailable))throw new Ow("The RemotePlayback API is disabled on this platform.");let s=Sr.has(I(this,ke));Sr.add(I(this,ke)),bT(I(this,ke).castOptions),Object.entries(I(this,Ar)).forEach(([n,a])=>{I(this,zt).controller.addEventListener(n,a)});try{await Ss().requestSession()}catch(n){if(n==="cancel"){s||Sr.delete(I(this,ke));return}throw new Error(n)}(r=(t=As.get(I(this,ke)))==null?void 0:t.loadOnPrompt)==null||r.call(t)}};ke=new WeakMap,lu=new WeakMap,zt=new WeakMap,Ar=new WeakMap,Cn=new WeakMap,kn=new WeakMap,_s=new WeakMap,hp=new WeakMap,vt=new WeakSet,ds=function(){if(Sr.has(I(this,ke)))return I(this,zt)},oT=function(){Sr.has(I(this,ke))&&(Object.entries(I(this,Ar)).forEach(([i,e])=>{I(this,zt).controller.removeEventListener(i,e)}),Sr.delete(I(this,ke)),I(this,ke).muted=I(this,zt).isMuted,I(this,ke).currentTime=I(this,zt).savedPlayerState.currentTime,I(this,zt).savedPlayerState.isPaused===!1&&I(this,ke).play())},fp=function(){let i=Ss().getCastState();if(Sr.has(I(this,ke))&&i==="CONNECTING"&&(J(this,Cn,"connecting"),this.dispatchEvent(new Event("connecting"))),!I(this,kn)&&i!=null&&i.includes("CONNECT")){J(this,kn,!0);for(let e of I(this,_s))e(!0)}else if(I(this,kn)&&(!i||i==="NO_DEVICES_AVAILABLE")){J(this,kn,!1);for(let e of I(this,_s))e(!1)}},TT=async function(){var i;let{SESSION_RESUMED:e}=nt.SessionState;if(Ss().getSessionState()===e&&I(this,ke).castSrc===((i=kp())==null?void 0:i.media.contentId)){Sr.add(I(this,ke)),Object.entries(I(this,Ar)).forEach(([t,r])=>{I(this,zt).controller.addEventListener(t,r)});try{await Gw(new chrome.cast.media.GetStatusRequest)}catch(t){console.error(t)}I(this,Ar)[nt.RemotePlayerEventType.IS_PAUSED_CHANGED](),I(this,Ar)[nt.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},mp=function(){!nt||I(this,lu)||(J(this,lu,!0),bT(I(this,ke).castOptions),I(this,ke).textTracks.addEventListener("change",()=>Fe(this,vt,cp).call(this)),Fe(this,vt,fp).call(this),J(this,zt,new nt.RemotePlayer),new nt.RemotePlayerController(I(this,zt)),J(this,Ar,{[nt.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:i})=>{i===!0?(J(this,Cn,"connected"),this.dispatchEvent(new Event("connect"))):(Fe(this,vt,oT).call(this),J(this,Cn,"disconnected"),this.dispatchEvent(new Event("disconnect")))},[nt.RemotePlayerEventType.DURATION_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("durationchange"))},[nt.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("volumechange"))},[nt.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("volumechange"))},[nt.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{var i;(i=I(this,vt,ds))!=null&&i.isMediaLoaded&&I(this,ke).dispatchEvent(new Event("timeupdate"))},[nt.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event("resize"))},[nt.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{I(this,ke).dispatchEvent(new Event(this.paused?"pause":"play"))},[nt.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var i,e;((i=I(this,vt,ds))==null?void 0:i.playerState)!==chrome.cast.media.PlayerState.PAUSED&&I(this,ke).dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(e=I(this,vt,ds))==null?void 0:e.playerState]))},[nt.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{var i;(i=I(this,vt,ds))!=null&&i.isMediaLoaded&&(await Promise.resolve(),Fe(this,vt,lT).call(this))}}))},lT=function(){Fe(this,vt,cp).call(this)},cp=async function(){var i,e,t,r,s;if(!I(this,vt,ds))return;let n=((e=(i=I(this,zt).mediaInfo)==null?void 0:i.tracks)!=null?e:[]).filter(({type:h})=>h===chrome.cast.media.TrackType.TEXT),a=[...I(this,ke).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=Ip())==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 Hw(h)}catch(h){console.error(h)}};var zw=i=>{var e,t,r,s,n,a,o,l,d;return t=class extends i{constructor(){super(...arguments),ne(this,o),ne(this,r,{paused:!1}),ne(this,s,yT()),ne(this,n),ne(this,a)}get remote(){return I(this,a)?I(this,a):Bw()?(this.disableRemotePlayback||$w(),As.set(this,{loadOnPrompt:()=>Fe(this,o,d).call(this)}),J(this,a,new jw(this))):super.remote}attributeChangedCallback(u,c,h){if(super.attributeChangedCallback(u,c,h),u==="cast-receiver"&&h){I(this,s).receiverApplicationId=h;return}if(I(this,o,l))switch(u){case"cast-stream-type":case"cast-src":this.load();break}}async load(){var u,c;if(!I(this,o,l))return super.load();let h=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);h.customData=this.castCustomData;let f=[...this.querySelectorAll("track")].filter(({kind:E,src:b})=>b&&(E==="subtitles"||E==="captions")),m=[],p=0;if(f.length&&(h.tracks=f.map(E=>{let b=++p;m.length===0&&E.track.mode==="showing"&&m.push(b);let T=new chrome.cast.media.Track(b,chrome.cast.media.TrackType.TEXT);return T.trackContentId=E.src,T.trackContentType="text/vtt",T.subtype=E.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,T.name=E.label,T.language=E.srclang,T})),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}],Yw(this.castSrc)){let E=await qw(this.castSrc);(E!=null&&E.includes("m4s")||E!=null&&E.includes("mp4"))&&(h.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.FMP4,h.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.FMP4)}let g=new chrome.cast.media.LoadRequest(h);g.currentTime=(u=super.currentTime)!=null?u:0,g.autoplay=!I(this,r).paused,g.activeTrackIds=m,await((c=Ip())==null?void 0:c.loadMedia(g)),this.dispatchEvent(new Event("volumechange"))}play(){var u;if(I(this,o,l)){I(this,o,l).isPaused&&((u=I(this,o,l).controller)==null||u.playOrPause());return}return super.play()}pause(){var u;if(I(this,o,l)){I(this,o,l).isPaused||(u=I(this,o,l).controller)==null||u.playOrPause();return}super.pause()}get castOptions(){return I(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 castCustomData(){return I(this,n)}set castCustomData(u){let c=typeof u;if(!["object","undefined"].includes(c)){console.error(`castCustomData must be nullish or an object but value was of type ${c}`);return}J(this,n,u)}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 u;return I(this,o,l)?(u=I(this,o,l))==null?void 0:u.isMuted:super.muted}set muted(u){var c;if(I(this,o,l)){(u&&!I(this,o,l).isMuted||!u&&I(this,o,l).isMuted)&&((c=I(this,o,l).controller)==null||c.muteOrUnmute());return}super.muted=u}get volume(){var u,c;return I(this,o,l)?(c=(u=I(this,o,l))==null?void 0:u.volumeLevel)!=null?c:1:super.volume}set volume(u){var c;if(I(this,o,l)){I(this,o,l).volumeLevel=+u,(c=I(this,o,l).controller)==null||c.setVolumeLevel();return}super.volume=u}get duration(){var u,c,h;return I(this,o,l)&&(u=I(this,o,l))!=null&&u.isMediaLoaded?(h=(c=I(this,o,l))==null?void 0:c.duration)!=null?h:NaN:super.duration}get currentTime(){var u,c,h;return I(this,o,l)&&(u=I(this,o,l))!=null&&u.isMediaLoaded?(h=(c=I(this,o,l))==null?void 0:c.currentTime)!=null?h:0:super.currentTime}set currentTime(u){var c;if(I(this,o,l)){I(this,o,l).currentTime=u,(c=I(this,o,l).controller)==null||c.seek();return}super.currentTime=u}},r=new WeakMap,s=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakSet,l=function(){var u,c;return(c=(u=As.get(this.remote))==null?void 0:u.getCastPlayer)==null?void 0:c.call(u)},d=async function(){I(this,r).paused=op(t.prototype,this,"paused"),op(t.prototype,this,"pause").call(this),this.muted=op(t.prototype,this,"muted");try{await this.load()}catch(u){console.error(u)}},Le(t,"observedAttributes",[...(e=i.observedAttributes)!=null?e:[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"]),t},Tu=class extends Event{constructor(i,e){super(i),Le(this,"track"),this.track=e.track}},pp=new WeakMap;function j(i){var e;return(e=pp.get(i))!=null?e:Xw(i,{})}function Xw(i,e){let t=pp.get(i);return t||pp.set(i,t={}),Object.assign(t,e)}function gp(i,e){let t=i.videoTracks;j(e).media=i,j(e).renditionSet||(j(e).renditionSet=new Set);let r=j(t).trackSet;r.add(e);let s=r.size-1;s in Ep.prototype||Object.defineProperty(Ep.prototype,s,{get(){return[...j(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Tu("addtrack",{track:e}))})}function vp(i){var e;let t=(e=j(i).media)==null?void 0:e.videoTracks;t&&(j(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Tu("removetrack",{track:i}))}))}function Qw(i){var e;let t=(e=j(i).media.videoTracks)!=null?e:[],r=!1;for(let s of t)s!==i&&(s.selected=!1,r=!0);if(r){if(j(t).changeRequested)return;j(t).changeRequested=!0,queueMicrotask(()=>{delete j(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var us,cs,hs,Ln,Wa,Ep=class extends EventTarget{constructor(){super(),ne(this,Ln),ne(this,us),ne(this,cs),ne(this,hs),j(this).trackSet=new Set}[Symbol.iterator](){return I(this,Ln,Wa).values()}get length(){return I(this,Ln,Wa).size}getTrackById(i){var e;return(e=[...I(this,Ln,Wa)].find(t=>t.id===i))!=null?e:null}get selectedIndex(){return[...I(this,Ln,Wa)].findIndex(i=>i.selected)}get onaddtrack(){return I(this,us)}set onaddtrack(i){I(this,us)&&(this.removeEventListener("addtrack",I(this,us)),J(this,us,void 0)),typeof i=="function"&&(J(this,us,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,cs)}set onremovetrack(i){I(this,cs)&&(this.removeEventListener("removetrack",I(this,cs)),J(this,cs,void 0)),typeof i=="function"&&(J(this,cs,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,hs)}set onchange(i){I(this,hs)&&(this.removeEventListener("change",I(this,hs)),J(this,hs,void 0)),typeof i=="function"&&(J(this,hs,i),this.addEventListener("change",i))}};us=new WeakMap,cs=new WeakMap,hs=new WeakMap,Ln=new WeakSet,Wa=function(){return j(this).trackSet};var _u=class extends Event{constructor(i,e){super(i),Le(this,"rendition"),this.rendition=e.rendition}};function Zw(i,e){let t=j(i).media.videoRenditions;j(e).media=j(i).media,j(e).track=i;let r=j(i).renditionSet;r.add(e);let s=r.size-1;s in bp.prototype||Object.defineProperty(bp.prototype,s,{get(){return wn(this)[s]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new _u("addrendition",{rendition:e}))})}function Jw(i){let e=j(i).media.videoRenditions,t=j(i).track;j(t).renditionSet.delete(i),queueMicrotask(()=>{j(i).track.selected&&e.dispatchEvent(new _u("removerendition",{rendition:i}))})}function eD(i){let e=j(i).media.videoRenditions;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,j(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function wn(i){return[...j(i).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...j(e).renditionSet])}var fs,ms,ps,bp=class extends EventTarget{constructor(){super(...arguments),ne(this,fs),ne(this,ms),ne(this,ps)}[Symbol.iterator](){return wn(this).values()}get length(){return wn(this).length}getRenditionById(i){var e;return(e=wn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return wn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of wn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,fs)}set onaddrendition(i){I(this,fs)&&(this.removeEventListener("addrendition",I(this,fs)),J(this,fs,void 0)),typeof i=="function"&&(J(this,fs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,ms)}set onremoverendition(i){I(this,ms)&&(this.removeEventListener("removerendition",I(this,ms)),J(this,ms,void 0)),typeof i=="function"&&(J(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)),J(this,ps,void 0)),typeof i=="function"&&(J(this,ps,i),this.addEventListener("change",i))}};fs=new WeakMap,ms=new WeakMap,ps=new WeakMap;var Ya,tD=class{constructor(){Le(this,"src"),Le(this,"id"),Le(this,"width"),Le(this,"height"),Le(this,"bitrate"),Le(this,"frameRate"),Le(this,"codec"),ne(this,Ya,!1)}get selected(){return I(this,Ya)}set selected(i){I(this,Ya)!==i&&(J(this,Ya,i),eD(this))}};Ya=new WeakMap;var qa,_T=class{constructor(){Le(this,"id"),Le(this,"kind"),Le(this,"label",""),Le(this,"language",""),Le(this,"sourceBuffer"),ne(this,qa,!1)}addRendition(i,e,t,r,s,n){let a=new tD;return a.src=i,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=r,Zw(this,a),a}removeRendition(i){Jw(i)}get selected(){return I(this,qa)}set selected(i){I(this,qa)!==i&&(J(this,qa,i),i===!0&&Qw(this))}};qa=new WeakMap;function iD(i,e){let t=j(i).media.audioRenditions;j(e).media=j(i).media,j(e).track=i;let r=j(i).renditionSet;r.add(e);let s=r.size-1;s in yp.prototype||Object.defineProperty(yp.prototype,s,{get(){return Dn(this)[s]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new _u("addrendition",{rendition:e}))})}function rD(i){let e=j(i).media.audioRenditions,t=j(i).track;j(t).renditionSet.delete(i),queueMicrotask(()=>{j(i).track.enabled&&e.dispatchEvent(new _u("removerendition",{rendition:i}))})}function sD(i){let e=j(i).media.audioRenditions;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,j(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function Dn(i){return[...j(i).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...j(e).renditionSet])}var gs,vs,Es,yp=class extends EventTarget{constructor(){super(...arguments),ne(this,gs),ne(this,vs),ne(this,Es)}[Symbol.iterator](){return Dn(this).values()}get length(){return Dn(this).length}getRenditionById(i){var e;return(e=Dn(this).find(t=>`${t.id}`==`${i}`))!=null?e:null}get selectedIndex(){return Dn(this).findIndex(i=>i.selected)}set selectedIndex(i){for(let[e,t]of Dn(this).entries())t.selected=e===i}get onaddrendition(){return I(this,gs)}set onaddrendition(i){I(this,gs)&&(this.removeEventListener("addrendition",I(this,gs)),J(this,gs,void 0)),typeof i=="function"&&(J(this,gs,i),this.addEventListener("addrendition",i))}get onremoverendition(){return I(this,vs)}set onremoverendition(i){I(this,vs)&&(this.removeEventListener("removerendition",I(this,vs)),J(this,vs,void 0)),typeof i=="function"&&(J(this,vs,i),this.addEventListener("removerendition",i))}get onchange(){return I(this,Es)}set onchange(i){I(this,Es)&&(this.removeEventListener("change",I(this,Es)),J(this,Es,void 0)),typeof i=="function"&&(J(this,Es,i),this.addEventListener("change",i))}};gs=new WeakMap,vs=new WeakMap,Es=new WeakMap;var ja,nD=class{constructor(){Le(this,"src"),Le(this,"id"),Le(this,"bitrate"),Le(this,"codec"),ne(this,ja,!1)}get selected(){return I(this,ja)}set selected(i){I(this,ja)!==i&&(J(this,ja,i),sD(this))}};ja=new WeakMap;function Tp(i,e){let t=i.audioTracks;j(e).media=i,j(e).renditionSet||(j(e).renditionSet=new Set);let r=j(t).trackSet;r.add(e);let s=r.size-1;s in Ap.prototype||Object.defineProperty(Ap.prototype,s,{get(){return[...j(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Tu("addtrack",{track:e}))})}function _p(i){var e;let t=(e=j(i).media)==null?void 0:e.audioTracks;t&&(j(t).trackSet.delete(i),queueMicrotask(()=>{t.dispatchEvent(new Tu("removetrack",{track:i}))}))}function aD(i){let e=j(i).media.audioTracks;!e||j(e).changeRequested||(j(e).changeRequested=!0,queueMicrotask(()=>{delete j(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var bs,ys,Ts,za,du,Ap=class extends EventTarget{constructor(){super(),ne(this,za),ne(this,bs),ne(this,ys),ne(this,Ts),j(this).trackSet=new Set}[Symbol.iterator](){return I(this,za,du).values()}get length(){return I(this,za,du).size}getTrackById(i){var e;return(e=[...I(this,za,du)].find(t=>t.id===i))!=null?e:null}get onaddtrack(){return I(this,bs)}set onaddtrack(i){I(this,bs)&&(this.removeEventListener("addtrack",I(this,bs)),J(this,bs,void 0)),typeof i=="function"&&(J(this,bs,i),this.addEventListener("addtrack",i))}get onremovetrack(){return I(this,ys)}set onremovetrack(i){I(this,ys)&&(this.removeEventListener("removetrack",I(this,ys)),J(this,ys,void 0)),typeof i=="function"&&(J(this,ys,i),this.addEventListener("removetrack",i))}get onchange(){return I(this,Ts)}set onchange(i){I(this,Ts)&&(this.removeEventListener("change",I(this,Ts)),J(this,Ts,void 0)),typeof i=="function"&&(J(this,Ts,i),this.addEventListener("change",i))}};bs=new WeakMap,ys=new WeakMap,Ts=new WeakMap,za=new WeakSet,du=function(){return j(this).trackSet};var Xa,AT=class{constructor(){Le(this,"id"),Le(this,"kind"),Le(this,"label",""),Le(this,"language",""),Le(this,"sourceBuffer"),ne(this,Xa,!1)}addRendition(i,e,t){let r=new nD;return r.src=i,r.codec=e,r.bitrate=t,iD(this,r),r}removeRendition(i){rD(i)}get enabled(){return I(this,Xa)}set enabled(i){I(this,Xa)!==i&&(J(this,Xa,i),aD(this))}};Xa=new WeakMap;var dT=Eu(globalThis.HTMLMediaElement,"video"),uT=Eu(globalThis.HTMLMediaElement,"audio");function oD(i){if(!(i!=null&&i.prototype))return i;let e=Eu(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return lD(this)}});let t=Eu(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return dD(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",o=""){let l=new _T;return l.kind=n,l.label=a,l.language=o,gp(this,l),l}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=vp),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",o=""){let l=new AT;return l.kind=n,l.label=a,l.language=o,Tp(this,l),l}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=_p),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=j(n).videoRenditions;return a||(a=new bp,j(a).media=n,j(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=j(n).audioRenditions;return a||(a=new yp,j(a).media=n,j(n).audioRenditions=a),a};return i}function Eu(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function lD(i){var e;let t=j(i).videoTracks;if(!t&&(t=new Ep,j(i).videoTracks=t,dT)){let r=dT.call((e=i.nativeEl)!=null?e:i);for(let s of r)gp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof _T)){for(let n of r)vp(n);return}gp(i,s.track)}),r.addEventListener("removetrack",s=>{vp(s.track)})}return t}function dD(i){var e;let t=j(i).audioTracks;if(!t&&(t=new Ap,j(i).audioTracks=t,uT)){let r=uT.call((e=i.nativeEl)!=null?e:i);for(let s of r)Tp(i,s);r.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),r.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof AT)){for(let n of r)_p(n);return}Tp(i,s.track)}),r.addEventListener("removetrack",s=>{_p(s.track)})}return t}yu.push("castchange","entercast","leavecast");var w={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DRM_TOKEN:"drm-token",PLAYBACK_TOKEN:"playback-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",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PLAYER_INIT_TIME:"player-init-time",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"},uD=Object.values(w),cT=ww(),hT="mux-video",Pi,Qa,uu,Za,cu,hu,fu,mu,pu,Ja,gu,cD=class extends dp{constructor(){super(),ne(this,Ja),ne(this,Pi),ne(this,Qa),ne(this,uu),ne(this,Za,{}),ne(this,cu,{}),ne(this,hu),ne(this,fu),ne(this,mu),ne(this,pu),J(this,uu,ru())}static get NAME(){return hT}static get VERSION(){return cT}static get observedAttributes(){var i;return[...uD,...(i=dp.observedAttributes)!=null?i:[]]}get preferCmcd(){var i;return(i=this.getAttribute(w.PREFER_CMCD))!=null?i:void 0}set preferCmcd(i){i!==this.preferCmcd&&(i?In.includes(i)?this.setAttribute(w.PREFER_CMCD,i):console.warn(`Invalid value for preferCmcd. Must be one of ${In.join()}`):this.removeAttribute(w.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(w.PLAYER_INIT_TIME)?+this.getAttribute(w.PLAYER_INIT_TIME):I(this,uu)}set playerInitTime(i){i!=this.playerInitTime&&(i==null?this.removeAttribute(w.PLAYER_INIT_TIME):this.setAttribute(w.PLAYER_INIT_TIME,`${+i}`))}get playerSoftwareName(){var i;return(i=I(this,mu))!=null?i:hT}set playerSoftwareName(i){J(this,mu,i)}get playerSoftwareVersion(){var i;return(i=I(this,fu))!=null?i:cT}set playerSoftwareVersion(i){J(this,fu,i)}get _hls(){var i;return(i=I(this,Pi))==null?void 0:i.engine}get mux(){var i;return(i=this.nativeEl)==null?void 0:i.mux}get error(){var i;return(i=rp(this.nativeEl))!=null?i:null}get errorTranslator(){return I(this,pu)}set errorTranslator(i){J(this,pu,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(w.TYPE))!=null?i:void 0}set type(i){i!==this.type&&(i?this.setAttribute(w.TYPE,i):this.removeAttribute(w.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(w.DEBUG)!=null}set debug(i){i!==this.debug&&(i?this.setAttribute(w.DEBUG,""):this.removeAttribute(w.DEBUG))}get disableTracking(){return this.hasAttribute(w.DISABLE_TRACKING)}set disableTracking(i){i!==this.disableTracking&&this.toggleAttribute(w.DISABLE_TRACKING,!!i)}get disableCookies(){return this.hasAttribute(w.DISABLE_COOKIES)}set disableCookies(i){i!==this.disableCookies&&(i?this.setAttribute(w.DISABLE_COOKIES,""):this.removeAttribute(w.DISABLE_COOKIES))}get startTime(){let i=this.getAttribute(w.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(w.START_TIME):this.setAttribute(w.START_TIME,`${i}`))}get playbackId(){var i;return this.hasAttribute(w.PLAYBACK_ID)?this.getAttribute(w.PLAYBACK_ID):(i=ip(this.src))!=null?i:void 0}set playbackId(i){i!==this.playbackId&&(i?this.setAttribute(w.PLAYBACK_ID,i):this.removeAttribute(w.PLAYBACK_ID))}get maxResolution(){var i;return(i=this.getAttribute(w.MAX_RESOLUTION))!=null?i:void 0}set maxResolution(i){i!==this.maxResolution&&(i?this.setAttribute(w.MAX_RESOLUTION,i):this.removeAttribute(w.MAX_RESOLUTION))}get minResolution(){var i;return(i=this.getAttribute(w.MIN_RESOLUTION))!=null?i:void 0}set minResolution(i){i!==this.minResolution&&(i?this.setAttribute(w.MIN_RESOLUTION,i):this.removeAttribute(w.MIN_RESOLUTION))}get renditionOrder(){var i;return(i=this.getAttribute(w.RENDITION_ORDER))!=null?i:void 0}set renditionOrder(i){i!==this.renditionOrder&&(i?this.setAttribute(w.RENDITION_ORDER,i):this.removeAttribute(w.RENDITION_ORDER))}get programStartTime(){let i=this.getAttribute(w.PROGRAM_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programStartTime(i){i==null?this.removeAttribute(w.PROGRAM_START_TIME):this.setAttribute(w.PROGRAM_START_TIME,`${i}`)}get programEndTime(){let i=this.getAttribute(w.PROGRAM_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set programEndTime(i){i==null?this.removeAttribute(w.PROGRAM_END_TIME):this.setAttribute(w.PROGRAM_END_TIME,`${i}`)}get assetStartTime(){let i=this.getAttribute(w.ASSET_START_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetStartTime(i){i==null?this.removeAttribute(w.ASSET_START_TIME):this.setAttribute(w.ASSET_START_TIME,`${i}`)}get assetEndTime(){let i=this.getAttribute(w.ASSET_END_TIME);if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}set assetEndTime(i){i==null?this.removeAttribute(w.ASSET_END_TIME):this.setAttribute(w.ASSET_END_TIME,`${i}`)}get customDomain(){var i;return(i=this.getAttribute(w.CUSTOM_DOMAIN))!=null?i:void 0}set customDomain(i){i!==this.customDomain&&(i?this.setAttribute(w.CUSTOM_DOMAIN,i):this.removeAttribute(w.CUSTOM_DOMAIN))}get drmToken(){var i;return(i=this.getAttribute(w.DRM_TOKEN))!=null?i:void 0}set drmToken(i){i!==this.drmToken&&(i?this.setAttribute(w.DRM_TOKEN,i):this.removeAttribute(w.DRM_TOKEN))}get playbackToken(){var i,e,t,r;if(this.hasAttribute(w.PLAYBACK_TOKEN))return(i=this.getAttribute(w.PLAYBACK_TOKEN))!=null?i:void 0;if(this.hasAttribute(w.PLAYBACK_ID)){let[,s]=eu((e=this.playbackId)!=null?e:"");return(t=new URLSearchParams(s).get("token"))!=null?t:void 0}if(this.src)return(r=new URLSearchParams(this.src).get("token"))!=null?r:void 0}set playbackToken(i){i!==this.playbackToken&&(i?this.setAttribute(w.PLAYBACK_TOKEN,i):this.removeAttribute(w.PLAYBACK_TOKEN))}get tokens(){let i=this.getAttribute(w.PLAYBACK_TOKEN),e=this.getAttribute(w.DRM_TOKEN);return{...I(this,cu),...i!=null?{playback:i}:{},...e!=null?{drm:e}:{}}}set tokens(i){J(this,cu,i!=null?i:{})}get ended(){return np(this.nativeEl,this._hls)}get envKey(){var i;return(i=this.getAttribute(w.ENV_KEY))!=null?i:void 0}set envKey(i){i!==this.envKey&&(i?this.setAttribute(w.ENV_KEY,i):this.removeAttribute(w.ENV_KEY))}get beaconCollectionDomain(){var i;return(i=this.getAttribute(w.BEACON_COLLECTION_DOMAIN))!=null?i:void 0}set beaconCollectionDomain(i){i!==this.beaconCollectionDomain&&(i?this.setAttribute(w.BEACON_COLLECTION_DOMAIN,i):this.removeAttribute(w.BEACON_COLLECTION_DOMAIN))}get streamType(){var i;return(i=this.getAttribute(w.STREAM_TYPE))!=null?i:Jd(this.nativeEl)}set streamType(i){i!==this.streamType&&(i?this.setAttribute(w.STREAM_TYPE,i):this.removeAttribute(w.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(w.TARGET_LIVE_WINDOW)?+this.getAttribute(w.TARGET_LIVE_WINDOW):jy(this.nativeEl)}set targetLiveWindow(i){i!=this.targetLiveWindow&&(i==null?this.removeAttribute(w.TARGET_LIVE_WINDOW):this.setAttribute(w.TARGET_LIVE_WINDOW,`${+i}`))}get liveEdgeStart(){var i,e;if(this.hasAttribute(w.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 zy(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(w.LIVE_EDGE_OFFSET))return+this.getAttribute(w.LIVE_EDGE_OFFSET)}set liveEdgeOffset(i){i!=this.liveEdgeOffset&&(i==null?this.removeAttribute(w.LIVE_EDGE_OFFSET):this.setAttribute(w.LIVE_EDGE_OFFSET,`${+i}`))}get seekable(){return nu(this.nativeEl)}async addCuePoints(i){return Qm(this.nativeEl,i)}get activeCuePoint(){return Zm(this.nativeEl)}get cuePoints(){return $y(this.nativeEl)}async addChapters(i){return ep(this.nativeEl,i)}get activeChapter(){return tp(this.nativeEl)}get chapters(){return Gy(this.nativeEl)}getStartDate(){return Ky(this.nativeEl,this._hls)}get currentPdt(){return Vy(this.nativeEl,this._hls)}get preferPlayback(){let i=this.getAttribute(w.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(w.PREFER_PLAYBACK,i):this.removeAttribute(w.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(i=>i.startsWith("metadata-")&&![w.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,Za)}}set metadata(i){J(this,Za,i!=null?i:{}),this.mux&&this.mux.emit("hb",I(this,Za))}get _hlsConfig(){return I(this,hu)}set _hlsConfig(i){J(this,hu,i)}load(){J(this,Pi,Zy(this,this.nativeEl,I(this,Pi)))}unload(){ap(this.nativeEl,I(this,Pi)),J(this,Pi,void 0)}attributeChangedCallback(i,e,t){var r,s;switch(dp.observedAttributes.includes(i)&&!["src","autoplay","preload"].includes(i)&&super.attributeChangedCallback(i,e,t),i){case w.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case w.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?Fe(this,Ja,gu).call(this):n&&!a?this.unload():n&&a&&(this.unload(),Fe(this,Ja,gu).call(this));break}case"autoplay":if(t===e)break;(r=I(this,Pi))==null||r.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=I(this,Pi))==null||s.setPreload(t);break;case w.PLAYBACK_ID:this.src=Va(this);break;case w.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 w.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 w.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case w.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,Pi)&&Fe(this,Ja,gu).call(this)}disconnectedCallback(){this.unload()}};Pi=new WeakMap,Qa=new WeakMap,uu=new WeakMap,Za=new WeakMap,cu=new WeakMap,hu=new WeakMap,fu=new WeakMap,mu=new WeakMap,pu=new WeakMap,Ja=new WeakSet,gu=async function(){I(this,Qa)||(await J(this,Qa,Promise.resolve()),J(this,Qa,null),this.load())};var vu,Sp=class extends zw(oD(cD)){constructor(){super(...arguments),ne(this,vu)}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,vu))!=null?i:this.muxCastCustomData}set castCustomData(i){J(this,vu,i)}};vu=new WeakMap;lp.customElements.get("mux-video")||(lp.customElements.define("mux-video",Sp),lp.MuxVideoElement=Sp);var ST=Sp;function xT(i){let e="";return Object.entries(i).forEach(([t,r])=>{r!=null&&(e+=`${Au(t)}: ${r}; `)}),e?e.trim():void 0}function Au(i){return i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Su(i){return i.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function St(i){if(i==null)return;let e=+i;return Number.isNaN(e)?void 0:e}function Lp(i){let e=hD(i).toString();return e?"?"+e:""}function hD(i){let e={};for(let t in i)i[t]!=null&&(e[t]=i[t]);return new URLSearchParams(e)}var wp=(i,e)=>!i||!e?!1:i.contains(e)?!0:wp(i,e.getRootNode().host);var RT="mux.com",fD=()=>{try{return"3.3.2"}catch{}return"UNKNOWN"},mD=fD(),Ru=()=>mD,IT=(i,{token:e,customDomain:t=RT,thumbnailTime:r,programTime:s}={})=>{var o;let n=e==null?r:void 0,{aud:a}=(o=_r(e))!=null?o:{};if(!(e&&a!=="t"))return`https://image.${t}/${i}/thumbnail.webp${Lp({token:e,time:n,program_time:s})}`},kT=(i,{token:e,customDomain:t=RT,programStartTime:r,programEndTime:s}={})=>{var a;let{aud:n}=(a=_r(e))!=null?a:{};if(!(e&&n!=="s"))return`https://image.${t}/${i}/storyboard.vtt${Lp({token:e,format:"webp",program_start_time:r,program_end_time:s})}`},eo=i=>{if(i){if([Re.LIVE,Re.ON_DEMAND].includes(i))return i;if(i!=null&&i.includes("live"))return Re.LIVE}};var pD={crossorigin:"crossOrigin",playsinline:"playsInline"};function LT(i){var e;return(e=pD[i])!=null?e:Su(i)}var xs,Rs,xt,xu=class{constructor(e,t){It(this,xs);It(this,Rs);It(this,xt,[]);Bt(this,xs,e),Bt(this,Rs,t)}[Symbol.iterator](){return Se(this,xt).values()}get length(){return Se(this,xt).length}get value(){var e;return(e=Se(this,xt).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Bt(this,xt,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Se(this,xt)[e]}values(){return Se(this,xt).values()}keys(){return Se(this,xt).keys()}forEach(e){Se(this,xt).forEach(e)}add(...e){var t,r;e.forEach(s=>{this.contains(s)||Se(this,xt).push(s)}),!(this.value===""&&!((t=Se(this,xs))!=null&&t.hasAttribute(`${Se(this,Rs)}`)))&&((r=Se(this,xs))==null||r.setAttribute(`${Se(this,Rs)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>{Se(this,xt).splice(Se(this,xt).indexOf(r),1)}),(t=Se(this,xs))==null||t.setAttribute(`${Se(this,Rs)}`,`${this.value}`)}contains(e){return Se(this,xt).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)}};xs=new WeakMap,Rs=new WeakMap,xt=new WeakMap;var wT=`[mux-player ${Ru()}]`;function Oi(...i){console.warn(wT,...i)}function Ot(...i){console.error(wT,...i)}function Dp(i){var t;let e=(t=i.message)!=null?t:"";i.context&&(e+=` ${i.context}`),i.file&&(e+=` ${X("Read more: ")}
|
|
1336
|
+
https://github.com/muxinc/elements/blob/main/errors/${i.file}`),Oi(e)}var Tt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},Is={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},CT=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}}),gD=yu.filter(i=>i!=="error"),vD=Object.values(Tt).filter(i=>![Tt.PLAYSINLINE].includes(i)),ED=Object.values(Is),Cp=class extends kt.HTMLElement{static get observedAttributes(){return[...vD,...ED]}constructor(){super()}init(){gD.forEach(e=>{var t;(t=this.media)==null||t.addEventListener(e,r=>{this.dispatchEvent(new Event(r.type))})})}attributeChangedCallback(e,t,r){var s,n;switch(e){case Is.MUTED:{this.media&&(this.media.muted=r!=null,this.media.defaultMuted=r!=null);return}case Is.VOLUME:{let a=(s=St(r))!=null?s:1;this.media&&(this.media.volume=a);return}case Is.PLAYBACKRATE:{let a=(n=St(r))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}load(){var e;(e=this.media)==null||e.load()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.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 e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:CT}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:CT}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentSrc(){var e,t;return(t=(e=this.media)==null?void 0:e.currentSrc)!=null?t:""}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=St(this.getAttribute(Is.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(Is.PLAYBACKRATE,`${e}`):this.removeAttribute(Is.PLAYBACKRATE)}get crossOrigin(){return to(this,Tt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Tt.CROSSORIGIN,`${e}`)}get autoplay(){return to(this,Tt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Tt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Tt.AUTOPLAY)}get loop(){return to(this,Tt.LOOP)!=null}set loop(e){e?this.setAttribute(Tt.LOOP,""):this.removeAttribute(Tt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return to(this,Tt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Tt.MUTED,""):this.removeAttribute(Tt.MUTED)}get playsInline(){return to(this,Tt.PLAYSINLINE)!=null}set playsInline(e){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(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Tt.PRELOAD,e):this.removeAttribute(Tt.PRELOAD)}};function to(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}var Mp=Cp;var UT=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ee=(i,e,t)=>(UT(i,e,"read from private field"),t?t.call(i):e.get(i)),Ni=(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)=>(UT(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Mn,Iu,ks,io,xr,Rr,Ir,Ls,Pn,ku,ci,MT=1,PT=0,bD=1,yD={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 Rt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Rt?s.element[s.attributeName]=n:s.value=n}}}},ir=class extends x.DocumentFragment{constructor(e,t,r=yD){var s;super(),Ni(this,Mn,void 0),Ni(this,Iu,void 0),this.append(e.content.cloneNode(!0)),tr(this,Mn,FT(this)),tr(this,Iu,r),(s=r.createCallback)==null||s.call(r,this,Ee(this,Mn),t),r.processCallback(this,Ee(this,Mn),t)}update(e){Ee(this,Iu).processCallback(this,Ee(this,Mn),e)}};Mn=new WeakMap;Iu=new WeakMap;var FT=(i,e=[])=>{let t,r;for(let s of i.attributes||[])if(s.value.includes("{{")){let n=new Pp;for([t,r]of NT(s.value))if(!t)n.append(r);else{let a=new Rt(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===MT&&!(s instanceof HTMLTemplateElement))FT(s,e);else{let n=s.data;if(s.nodeType===MT||n.includes("{{")){let a=[];if(n)for([t,r]of NT(n))if(!t)a.push(new Text(r));else{let o=new rr(i);a.push(o),e.push([r,o])}else if(s instanceof HTMLTemplateElement){let o=new ro(i,s);a.push(o),e.push([o.expression,o])}s.replaceWith(...a.flatMap(o=>o.replacementNodes||[o]))}}return e},OT={},NT=i=>{let e="",t=0,r=OT[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([PT,e]),e="",s++):n==="}"&&i[s+1]==="}"&&i[s-1]!=="\\"&&!--t?(r.push([bD,e.trim()]),e="",s++):e+=n||"";return e&&r.push([PT,(t>0?"{{":"")+e]),OT[i]=r},TD=11,Lu=class{get value(){return""}set value(e){}toString(){return this.value}},BT=new WeakMap,Pp=class{constructor(){Ni(this,ks,[])}[Symbol.iterator](){return Ee(this,ks).values()}get length(){return Ee(this,ks).length}item(e){return Ee(this,ks)[e]}append(...e){for(let t of e)t instanceof Rt&&BT.set(t,this),Ee(this,ks).push(t)}toString(){return Ee(this,ks).join("")}};ks=new WeakMap;var Rt=class extends Lu{constructor(e,t,r){super(),Ni(this,Ls),Ni(this,io,""),Ni(this,xr,void 0),Ni(this,Rr,void 0),Ni(this,Ir,void 0),tr(this,xr,e),tr(this,Rr,t),tr(this,Ir,r)}get attributeName(){return Ee(this,Rr)}get attributeNamespace(){return Ee(this,Ir)}get element(){return Ee(this,xr)}get value(){return Ee(this,io)}set value(e){Ee(this,io)!==e&&(tr(this,io,e),!Ee(this,Ls,Pn)||Ee(this,Ls,Pn).length===1?e==null?Ee(this,xr).removeAttributeNS(Ee(this,Ir),Ee(this,Rr)):Ee(this,xr).setAttributeNS(Ee(this,Ir),Ee(this,Rr),e):Ee(this,xr).setAttributeNS(Ee(this,Ir),Ee(this,Rr),Ee(this,Ls,Pn).toString()))}get booleanValue(){return Ee(this,xr).hasAttributeNS(Ee(this,Ir),Ee(this,Rr))}set booleanValue(e){if(!Ee(this,Ls,Pn)||Ee(this,Ls,Pn).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};io=new WeakMap;xr=new WeakMap;Rr=new WeakMap;Ir=new WeakMap;Ls=new WeakSet;Pn=function(){return BT.get(this)};var rr=class extends Lu{constructor(e,t){super(),Ni(this,ku,void 0),Ni(this,ci,void 0),tr(this,ku,e),tr(this,ci,t?[...t]:[new Text])}get replacementNodes(){return Ee(this,ci)}get parentNode(){return Ee(this,ku)}get nextSibling(){return Ee(this,ci)[Ee(this,ci).length-1].nextSibling}get previousSibling(){return Ee(this,ci)[0].previousSibling}get value(){return Ee(this,ci).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===TD?[...r.childNodes]:r.nodeType?[r]:[new Text(r)]);t.length||t.push(new Text),tr(this,ci,_D(Ee(this,ci)[0].parentNode,Ee(this,ci),t,this.nextSibling))}};ku=new WeakMap;ci=new WeakMap;var ro=class extends rr{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),this.expression=s,this.template=t,this.directive=r}};function _D(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 $T={string:i=>String(i)},Du=class{constructor(e){this.template=e,this.state=void 0}},ws=new WeakMap,Ds=new WeakMap,Op={partial:(i,e)=>{e[i.expression]=new Du(i.template)},if:(i,e)=>{var t;if(GT(i.expression,e))if(ws.get(i)!==i.template){ws.set(i,i.template);let r=new ir(i.template,e,Cu);i.replace(r),Ds.set(i,r)}else(t=Ds.get(i))==null||t.update(e);else i.replace(""),ws.delete(i),Ds.delete(i)}},AD=Object.keys(Op),Cu={processCallback(i,e,t){var r,s;if(t)for(let[n,a]of e){if(a instanceof ro){if(!a.directive){let l=AD.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(r=Op[a.directive])==null||r.call(Op,a,t);continue}let o=GT(n,t);if(o instanceof Du){ws.get(a)!==o.template?(ws.set(a,o.template),o=new ir(o.template,o.state,Cu),a.value=o,Ds.set(a,o)):(s=Ds.get(a))==null||s.update(o.state);continue}o?(a instanceof Rt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Rt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,ws.delete(a),Ds.delete(a))):a instanceof Rt?a.value=void 0:(a.value=void 0,ws.delete(a),Ds.delete(a))}}},HT={"!":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=$T[e])==null?void 0:t.call($T,i)}};function SD(i){return xD(i,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function GT(i,e={}){var t,r,s,n,a,o,l;let d=SD(i);if(d.length===0||d.some(({type:u})=>!u))return so(i);if(((t=d[0])==null?void 0:t.token)===">"){let u=e[(r=d[1])==null?void 0:r.token];if(!u)return so(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]=no(g,e))}return u}if(d.length===1)return wu(d[0])?no(d[0].token,e):so(i);if(d.length===2){let u=(o=d[0])==null?void 0:o.token,c=HT[u];if(!c||!wu(d[1]))return so(i);let h=no(d[1].token,e);return c(h)}if(d.length===3){let u=(l=d[1])==null?void 0:l.token,c=HT[u];if(!c||!wu(d[0])||!wu(d[2]))return so(i);let h=no(d[0].token,e);if(u==="|")return c(h,d[2].token);let f=no(d[2].token,e);return c(h,f)}}function so(i){return console.warn(`Warning: invalid expression \`${i}\``),!1}function wu({type:i}){return["number","boolean","string","param"].includes(i)}function no(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):Co(i)?parseFloat(i):e[i]}function xD(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 Hp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Fp=(i,e,t)=>(Hp(i,e,"read from private field"),t?t.call(i):e.get(i)),ao=(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)},Cs=(i,e,t,r)=>(Hp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Np=(i,e,t)=>(Hp(i,e,"access private method"),t),On,Mu,Nn,Bp,KT,Pu,$p,Up={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},VT=F.createElement("template");VT.innerHTML=`
|
|
1331
1337
|
<style>
|
|
1332
1338
|
:host {
|
|
1333
1339
|
display: inline-block;
|
|
@@ -1354,7 +1360,7 @@ https://github.com/muxinc/elements/blob/main/errors/${i.file}`),Oi(e)}var Tt={AU
|
|
|
1354
1360
|
display: none;
|
|
1355
1361
|
}
|
|
1356
1362
|
</style>
|
|
1357
|
-
`;var Ms=class extends x.HTMLElement{constructor(){super(),ao(this
|
|
1363
|
+
`;var Ms=class extends x.HTMLElement{constructor(){super(),ao(this,Bp),ao(this,Pu),ao(this,On,void 0),ao(this,Mu,void 0),ao(this,Nn,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:!!(Up[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),this.addEventListener(Ki.BREAKPOINTS_COMPUTED,this.render),Np(this,Bp,KT).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=Fp(this,On))!=null?e:this.constructor.template}set template(e){Cs(this,Nn,null),Cs(this,On,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})=>Up[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(r=Up[a.name])!=null?r:e0(a.name),{value:l}=a;l!=null?(Co(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,r){e==="template"&&t!=r&&Np(this,Pu,$p).call(this)}connectedCallback(){Np(this,Pu,$p).call(this)}createRenderer(){this.template&&this.template!==Fp(this,Mu)&&(Cs(this,Mu,this.template),this.renderer=new ir(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(VT.content.cloneNode(!0),this.renderer))}render(){var e;(e=this.renderer)==null||e.update(this.props)}};On=new WeakMap;Mu=new WeakMap;Nn=new WeakMap;Bp=new WeakSet;KT=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let e=this[i];delete this[i],this[i]=e}};Pu=new WeakSet;$p=function(){var i;let e=this.getAttribute("template");if(!e||e===Fp(this,Nn))return;let t=this.getRootNode(),r=(i=t==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(r){Cs(this,Nn,e),Cs(this,On,r),this.createRenderer();return}RD(e)&&(Cs(this,Nn,e),ID(e).then(s=>{let n=F.createElement("template");n.innerHTML=s,Cs(this,On,n),this.createRenderer()}).catch(console.error))};Ms.observedAttributes=["template"];Ms.processor=Cu;function RD(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 ID(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()}x.customElements.get("media-theme")||x.customElements.define("media-theme",Ms);var WT=`:host {
|
|
1358
1364
|
--media-control-display: var(--controls);
|
|
1359
1365
|
--media-loading-indicator-display: var(--loading-indicator);
|
|
1360
1366
|
--media-dialog-display: var(--dialog);
|
|
@@ -1504,23 +1510,23 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
1504
1510
|
:host([no-tooltips]) {
|
|
1505
1511
|
--media-tooltip-display: none;
|
|
1506
1512
|
}
|
|
1507
|
-
`;var oo=new WeakMap,
|
|
1513
|
+
`;var oo=new WeakMap,Kp=class i{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let r=oo.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=oo.get(this.element);t&&t.delete(this.type)}}static for(e){oo.has(e.element)||oo.set(e.element,new Map);let t=e.attributeName.slice(2),r=oo.get(e.element);return r&&r.has(t)?r.get(t):new i(e.element,t)}};function LD(i,e){return i instanceof Rt&&i.attributeName.startsWith("on")?(Kp.for(i).set(e),i.element.removeAttributeNS(i.attributeNamespace,i.attributeName),!0):!1}function wD(i,e){return e instanceof Ou&&i instanceof rr?(e.renderInto(i),!0):!1}function DD(i,e){return e instanceof DocumentFragment&&i instanceof rr?(e.childNodes.length&&i.replace(...e.childNodes),!0):!1}function CD(i,e){if(i instanceof Rt){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 MD(i,e){if(i instanceof Rt&&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 PD(i,e){if(typeof e=="boolean"&&i instanceof Rt){let t=i.attributeNamespace,r=i.element.hasAttributeNS(t,i.attributeName);return e!==r&&(i.booleanValue=e),!0}return!1}function OD(i,e){return e===!1&&i instanceof rr?(i.replace(""),!0):!1}function ND(i,e){MD(i,e)||PD(i,e)||LD(i,e)||OD(i,e)||wD(i,e)||DD(i,e)||CD(i,e)}var Gp=new Map,YT=new WeakMap,qT=new WeakMap,Ou=class{constructor(e,t,r){this.strings=e;this.values=t;this.processor=r;this.stringsKey=this.strings.join("")}get template(){if(Gp.has(this.stringsKey))return Gp.get(this.stringsKey);{let e=Ks.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((r,s,n)=>r+s+(n<t?`{{ ${n} }}`:""),""),Gp.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if(YT.get(e)!==t){YT.set(e,t);let n=new ir(t,this.values,this.processor);qT.set(e,n),e instanceof rr?e.replace(...n.children):e.appendChild(n);return}let r=qT.get(e);(s=r==null?void 0:r.update)==null||s.call(r,this.values)}},UD={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:"";ND(n,a)}}}};function lo(i,...e){return new Ou(i,e,UD)}function jT(i,e){i.renderInto(e)}var FD=i=>{let{tokens:e}=i;return e.drm?":host { --_cast-button-drm-display: none; }":""},zT=i=>lo`
|
|
1508
1514
|
<style>
|
|
1509
|
-
${
|
|
1510
|
-
${
|
|
1515
|
+
${FD(i)}
|
|
1516
|
+
${WT}
|
|
1511
1517
|
</style>
|
|
1512
|
-
${
|
|
1513
|
-
`,
|
|
1518
|
+
${GD(i)}
|
|
1519
|
+
`,BD=i=>{let e=i.hotKeys?`${i.hotKeys}`:"";return eo(i.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},$D={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",MENU_BUTTON:"menu-button",MENU:"menu",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"},HD=Object.values($D).join(", "),GD=i=>{var e,t,r,s,n,a,o,l,d,u,c,h,f,m,p,g,E,b,T,_,A,R,S,D,M,L,P,U,B,Z,Q,Y,he,me;return lo`
|
|
1514
1520
|
<media-theme
|
|
1515
1521
|
template="${i.themeTemplate||!1}"
|
|
1516
1522
|
defaultstreamtype="${(e=i.defaultStreamType)!=null?e:!1}"
|
|
1517
|
-
hotkeys="${
|
|
1523
|
+
hotkeys="${BD(i)||!1}"
|
|
1518
1524
|
nohotkeys="${i.noHotKeys||!i.hasSrc||!1}"
|
|
1519
1525
|
noautoseektolive="${!!((t=i.streamType)!=null&&t.includes(Re.LIVE))&&i.targetLiveWindow!==0}"
|
|
1520
1526
|
novolumepref="${i.novolumepref||!1}"
|
|
1521
1527
|
disabled="${!i.hasSrc||i.isDialogOpen}"
|
|
1522
1528
|
audio="${(r=i.audio)!=null?r:!1}"
|
|
1523
|
-
style="${(s=
|
|
1529
|
+
style="${(s=xT({"--media-primary-color":i.primaryColor,"--media-secondary-color":i.secondaryColor,"--media-accent-color":i.accentColor}))!=null?s:!1}"
|
|
1524
1530
|
defaultsubtitles="${!i.defaultHiddenCaptions}"
|
|
1525
1531
|
forwardseekoffset="${(n=i.forwardSeekOffset)!=null?n:!1}"
|
|
1526
1532
|
backwardseekoffset="${(a=i.backwardSeekOffset)!=null?a:!1}"
|
|
@@ -1530,7 +1536,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
1530
1536
|
hideduration="${(u=i.hideDuration)!=null?u:!1}"
|
|
1531
1537
|
title="${(c=i.title)!=null?c:!1}"
|
|
1532
1538
|
proudlydisplaymuxbadge="${(h=i.proudlyDisplayMuxBadge)!=null?h:!1}"
|
|
1533
|
-
exportparts="${
|
|
1539
|
+
exportparts="${HD}"
|
|
1534
1540
|
onclose="${i.onCloseErrorDialog}"
|
|
1535
1541
|
onfocusin="${i.onFocusInErrorDialog}"
|
|
1536
1542
|
>
|
|
@@ -1555,11 +1561,11 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
1555
1561
|
player-software-name="${(P=i.playerSoftwareName)!=null?P:!1}"
|
|
1556
1562
|
player-software-version="${(U=i.playerSoftwareVersion)!=null?U:!1}"
|
|
1557
1563
|
env-key="${(B=i.envKey)!=null?B:!1}"
|
|
1558
|
-
custom-domain="${(
|
|
1564
|
+
custom-domain="${(Z=i.customDomain)!=null?Z:!1}"
|
|
1559
1565
|
src="${i.src?i.src:i.playbackId?Va(i):!1}"
|
|
1560
1566
|
cast-src="${i.src?i.src:i.playbackId?Va(i):!1}"
|
|
1561
|
-
cast-receiver="${(
|
|
1562
|
-
drm-token="${(he=(
|
|
1567
|
+
cast-receiver="${(Q=i.castReceiver)!=null?Q:!1}"
|
|
1568
|
+
drm-token="${(he=(Y=i.tokens)==null?void 0:Y.drm)!=null?he:!1}"
|
|
1563
1569
|
exportparts="video"
|
|
1564
1570
|
>
|
|
1565
1571
|
${i.storyboard?lo`<track label="thumbnails" default kind="metadata" src="${i.storyboard}" />`:lo``}
|
|
@@ -1574,7 +1580,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
1574
1580
|
></media-poster-image>
|
|
1575
1581
|
</slot>
|
|
1576
1582
|
</media-theme>
|
|
1577
|
-
`};var
|
|
1583
|
+
`};var XT=i=>i.charAt(0).toUpperCase()+i.slice(1),KD=(i,e=!1)=>{var t,r;if(i.muxCode){let s=XT((t=i.errorCategory)!=null?t:"video"),n=Ga((r=i.errorCategory)!=null?r:Ue.VIDEO);if(i.muxCode===te.NETWORK_OFFLINE)return X("Your device appears to be offline",e);if(i.muxCode===te.NETWORK_TOKEN_EXPIRED)return X("{category} URL has expired",e).format({category:s});if([te.NETWORK_TOKEN_SUB_MISMATCH,te.NETWORK_TOKEN_AUD_MISMATCH,te.NETWORK_TOKEN_AUD_MISSING,te.NETWORK_TOKEN_MALFORMED].includes(i.muxCode))return X("{category} URL is formatted incorrectly",e).format({category:s});if(i.muxCode===te.NETWORK_TOKEN_MISSING)return X("Invalid {categoryName} URL",e).format({categoryName:n});if(i.muxCode===te.NETWORK_NOT_FOUND)return X("{category} does not exist",e).format({category:s});if(i.muxCode===te.NETWORK_NOT_READY)return X("{category} is not currently available",e).format({category:s})}if(i.code){if(i.code===V.MEDIA_ERR_NETWORK)return X("Network Error",e);if(i.code===V.MEDIA_ERR_DECODE)return X("Media Error",e);if(i.code===V.MEDIA_ERR_SRC_NOT_SUPPORTED)return X("Source Not Supported",e)}return X("Error",e)},VD=(i,e=!1)=>{var t,r;if(i.muxCode){let s=XT((t=i.errorCategory)!=null?t:"video"),n=Ga((r=i.errorCategory)!=null?r:Ue.VIDEO);return i.muxCode===te.NETWORK_OFFLINE?X("Check your internet connection and try reloading this video.",e):i.muxCode===te.NETWORK_TOKEN_EXPIRED?X("The video\u2019s secured {tokenNamePrefix}-token has expired.",e).format({tokenNamePrefix:n}):i.muxCode===te.NETWORK_TOKEN_SUB_MISMATCH?X("The video\u2019s playback ID does not match the one encoded in the {tokenNamePrefix}-token.",e).format({tokenNamePrefix:n}):i.muxCode===te.NETWORK_TOKEN_MALFORMED?X("{category} URL is formatted incorrectly",e).format({category:s}):[te.NETWORK_TOKEN_AUD_MISMATCH,te.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode)?X("The {tokenNamePrefix}-token is formatted with incorrect information.",e).format({tokenNamePrefix:n}):[te.NETWORK_TOKEN_MISSING,te.NETWORK_INVALID_URL].includes(i.muxCode)?X("The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.",e).format({tokenNamePrefix:n}):i.muxCode===te.NETWORK_NOT_FOUND?"":i.muxCode===te.NETWORK_NOT_READY?X("The live stream or video file are not yet ready.",e):i.message}return i.code&&(i.code===V.MEDIA_ERR_NETWORK||i.code===V.MEDIA_ERR_DECODE||i.code===V.MEDIA_ERR_SRC_NOT_SUPPORTED),i.message},QT=(i,e=!1)=>{let t=KD(i,e),r=VD(i,e);return{title:t,message:r}},WD=i=>{if(i.muxCode){if(i.muxCode===te.NETWORK_TOKEN_EXPIRED)return"403-expired-token.md";if(i.muxCode===te.NETWORK_TOKEN_MALFORMED)return"403-malformatted-token.md";if([te.NETWORK_TOKEN_AUD_MISMATCH,te.NETWORK_TOKEN_AUD_MISSING].includes(i.muxCode))return"403-incorrect-aud-value.md";if(i.muxCode===te.NETWORK_TOKEN_SUB_MISMATCH)return"403-playback-id-mismatch.md";if(i.muxCode===te.NETWORK_TOKEN_MISSING)return"missing-signed-tokens.md";if(i.muxCode===te.NETWORK_NOT_FOUND)return"404-not-found.md";if(i.muxCode===te.NETWORK_NOT_READY)return"412-not-playable.md"}if(i.code){if(i.code===V.MEDIA_ERR_NETWORK)return"";if(i.code===V.MEDIA_ERR_DECODE)return"media-decode-error.md";if(i.code===V.MEDIA_ERR_SRC_NOT_SUPPORTED)return"media-src-not-supported.md"}return""},Vp=(i,e)=>{let t=WD(i);return{message:i.message,context:i.context,file:t}};var ZT=`<template id="media-theme-gerwig">
|
|
1578
1584
|
<style>
|
|
1579
1585
|
@keyframes pre-play-hide {
|
|
1580
1586
|
0% {
|
|
@@ -2691,7 +2697,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
2691
2697
|
<slot></slot>
|
|
2692
2698
|
</media-controller>
|
|
2693
2699
|
</template>
|
|
2694
|
-
`;function
|
|
2700
|
+
`;function JT({anchor:i,floating:e,placement:t}){let r=qD({anchor:i,floating:e}),{x:s,y:n}=zD(r,t);return{x:s,y:n}}function qD({anchor:i,floating:e}){return{anchor:jD(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function jD(i,e){var t;let r=i.getBoundingClientRect(),s=(t=e==null?void 0:e.getBoundingClientRect())!=null?t:{x:0,y:0};return{x:r.x-s.x,y:r.y-s.y,width:r.width,height:r.height}}function zD({anchor:i,floating:e},t){let r=XD(t)==="x"?"y":"x",s=r==="y"?"height":"width",n=e_(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 e_(i){return i.split("-")[0]}function XD(i){return["top","bottom"].includes(e_(i))?"y":"x"}var kr=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),this.action=e,this.relatedTarget=t}},Nu=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),this.newState=e,this.oldState=t}};var ig=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},xe=(i,e,t)=>(ig(i,e,"read from private field"),t?t.call(i):e.get(i)),Be=(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)},Ui=(i,e,t,r)=>(ig(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),$e=(i,e,t)=>(ig(i,e,"access private method"),t),Fi,Os,Lr,Uu,Fu,Ns,ho,Wp,t_,Hu,Bu,Yp,qp,i_,jp,r_,zp,s_,Un,Fn,Bn,fo,Gu,rg,Xp,n_,sg,a_,Qp,o_,ng,l_,Zp,d_,Jp,u_,uo,Ku,eg,c_,co,Vu,$u,tg;function Bi({type:i,text:e,value:t,checked:r}){let s=F.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=F.createElement("span");return n.textContent=e,s.append(n),s}function hi(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 h_=F.createElement("template");h_.innerHTML=`
|
|
2695
2701
|
<style>
|
|
2696
2702
|
:host {
|
|
2697
2703
|
font: var(--media-font,
|
|
@@ -2787,12 +2793,12 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
2787
2793
|
slot[name="header"]::slotted(*) {
|
|
2788
2794
|
padding: .4em .7em;
|
|
2789
2795
|
border-bottom: 1px solid rgb(255 255 255 / .25);
|
|
2790
|
-
cursor: default;
|
|
2796
|
+
cursor: var(--media-cursor, default);
|
|
2791
2797
|
}
|
|
2792
2798
|
|
|
2793
2799
|
slot[name="header"] > button[part~="back"],
|
|
2794
2800
|
slot[name="header"]::slotted(button[part~="back"]) {
|
|
2795
|
-
cursor: pointer;
|
|
2801
|
+
cursor: var(--media-cursor, pointer);
|
|
2796
2802
|
}
|
|
2797
2803
|
|
|
2798
2804
|
svg[part~="back"] {
|
|
@@ -2865,7 +2871,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
2865
2871
|
<slot></slot>
|
|
2866
2872
|
</div>
|
|
2867
2873
|
<slot name="checked-indicator" hidden></slot>
|
|
2868
|
-
`;var Ps={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},Et=class extends x.HTMLElement{constructor(){super(),Fe(this,Yp),Fe(this,Bu),Fe(this,jp),Fe(this,zp),Fe(this,Xp),Fe(this,Bn),Fe(this,Gu),Fe(this,Qp),Fe(this,ng),Fe(this,Zp),Fe(this,ag),Fe(this,Jp),Fe(this,eg),Fe(this,uo),Fe(this,tg),Fe(this,co),Fe(this,$u),Fe(this,Fi,null),Fe(this,Os,null),Fe(this,Lr,null),Fe(this,Uu,new Set),Fe(this,Fu,void 0),Fe(this,Ns,!1),Fe(this,ho,null),Fe(this,Hu,()=>{let e=xe(this,Uu),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}));Ui(this,Uu,t)}),Fe(this,Un,()=>{Be(this,Bn,fo).call(this),Be(this,Gu,sg).call(this,!1)}),Fe(this,Fn,()=>{Be(this,Bn,fo).call(this)}),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),Ui(this,Fu,new MutationObserver(xe(this,Hu))),xe(this,Fu).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[Ps.DISABLED,Ps.HIDDEN,Ps.STYLE,Ps.ANCHOR,pe.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){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":Be(this,Yp,JT).call(this,e);break;case"invoke":Be(this,jp,e_).call(this,e);break;case"click":Be(this,Qp,r_).call(this,e);break;case"toggle":Be(this,Zp,n_).call(this,e);break;case"focusout":Be(this,Jp,o_).call(this,e);break;case"keydown":Be(this,eg,l_).call(this,e);break}}connectedCallback(){var e,t;Ui(this,ho,xc(this.shadowRoot,":host")),Be(this,Bu,qp).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),Ui(this,Fi,Uo(this)),(t=(e=xe(this,Fi))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Vi(mo(this),xe(this,Un)),Vi(this,xe(this,Fn)))}disconnectedCallback(){var e,t;Wi(mo(this),xe(this,Un)),Wi(this,xe(this,Fn)),this.disable(),(t=(e=xe(this,Fi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ui(this,Fi,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===Ps.HIDDEN&&r!==t?(xe(this,Ns)||Ui(this,Ns,!0),this.hidden?Be(this,Xp,i_).call(this):Be(this,zp,t_).call(this),this.dispatchEvent(new Nu({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===pe.MEDIA_CONTROLLER?(t&&((n=(s=xe(this,Fi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ui(this,Fi,null)),r&&this.isConnected&&(Ui(this,Fi,Uo(this)),(o=(a=xe(this,Fi))==null?void 0:a.associateElement)==null||o.call(a,this))):e===Ps.DISABLED&&r!==t?r==null?this.enable():this.disable():e===Ps.STYLE&&r!==t&&Be(this,Bu,qp).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=Pr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(XD)}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&&Be(this,$u,ig).call(this,t)}focus(){if(Ui(this,Os,Xn()),this.items.length){Be(this,co,Vu).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=Be(this,uo,Ku).call(this,e);r&&(Be(this,$u,ig).call(this,r,r.type==="checkbox"),xe(this,Lr)&&!this.hidden&&((t=xe(this,Os))==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=Be(this,uo,Ku).call(this,e))!=null?t:Be(this,tg,d_).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),Be(this,co,Vu).call(this,n[l]),n[l].focus()}};Fi=new WeakMap;Os=new WeakMap;Lr=new WeakMap;Uu=new WeakMap;Fu=new WeakMap;Ns=new WeakMap;ho=new WeakMap;Yp=new WeakSet;JT=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||xe(this,Hu).call(this)};Hu=new WeakMap;Bu=new WeakSet;qp=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")};jp=new WeakSet;e_=function(i){Ui(this,Lr,i.relatedTarget),At(this,i.relatedTarget)||(this.hidden=!this.hidden)};zp=new WeakSet;t_=function(){var i;(i=xe(this,Lr))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Vi(mo(this),xe(this,Un)),Vi(this,xe(this,Fn))};Xp=new WeakSet;i_=function(){var i;(i=xe(this,Lr))==null||i.setAttribute("aria-expanded","false"),Wi(mo(this),xe(this,Un)),Wi(this,xe(this,Fn))};Un=new WeakMap;Fn=new WeakMap;Bn=new WeakSet;fo=function(i){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:e,y:t}=QT({anchor:this.anchorElement,floating:this,placement:"top-start"});i!=null||(i=this.offsetWidth);let s=mo(this).getBoundingClientRect(),n=s.width-e-i,a=s.height-t-this.offsetHeight,{style:o}=xe(this,ho);o.setProperty("position","absolute"),o.setProperty("right",`${Math.max(0,n)}px`),o.setProperty("--_menu-bottom",`${a}px`);let l=getComputedStyle(this),u=o.getPropertyValue("--_menu-bottom")===l.bottom?a:parseFloat(l.bottom),c=s.height-u-parseFloat(l.marginBottom);this.style.setProperty("--_menu-max-height",`${c}px`)};Gu=new WeakSet;sg=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=xe(this,ho);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`),Be(this,Bn,fo).call(this,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),Be(this,Bn,fo).call(this);r.removeProperty("--media-menu-transition-in")};Qp=new WeakSet;r_=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(xe(this,ng,s_))){(e=xe(this,Os))==null||e.focus(),this.hidden=!0;return}let t=Be(this,uo,Ku).call(this,i);!t||t.hasAttribute("disabled")||(Be(this,co,Vu).call(this,t),this.handleSelect(i))};ng=new WeakSet;s_=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.matches('button[part~="back"]'))};Zp=new WeakSet;n_=function(i){if(i.target===this)return;Be(this,ag,a_).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 kr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);Be(this,Gu,sg).call(this,!0)};ag=new WeakSet;a_=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)};Jp=new WeakSet;o_=function(i){var e;At(this,i.relatedTarget)||(xe(this,Ns)&&((e=xe(this,Os))==null||e.focus()),xe(this,Lr)&&xe(this,Lr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};eg=new WeakSet;l_=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(xe(this,Ns)){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=xe(this,Os))==null||n.focus(),xe(this,Ns)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};uo=new WeakSet;Ku=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};tg=new WeakSet;d_=function(){return this.items.find(i=>i.tabIndex===0)};co=new WeakSet;Vu=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};$u=new WeakSet;ig=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}))};Et.template=u_;function XD(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function mo(i){var e;return(e=i.getAttribute("bounds")?mi(i,`#${i.getAttribute("bounds")}`):Ke(i)||i.parentElement)!=null?e:i}x.customElements.get("media-chrome-menu")||x.customElements.define("media-chrome-menu",Et);var hg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Hi=(i,e,t)=>(hg(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)},og=(i,e,t,r)=>(hg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),$i=(i,e,t)=>(hg(i,e,"access private method"),t),Wu,go,lg,c_,fg,h_,mg,f_,Gi,$n,vo,dg,m_,Yu,ug,p_=F.createElement("template");p_.innerHTML=`
|
|
2874
|
+
`;var Ps={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},Et=class extends x.HTMLElement{constructor(){super(),Be(this,Wp),Be(this,Bu),Be(this,qp),Be(this,jp),Be(this,zp),Be(this,Bn),Be(this,Gu),Be(this,Xp),Be(this,sg),Be(this,Qp),Be(this,ng),Be(this,Zp),Be(this,Jp),Be(this,uo),Be(this,eg),Be(this,co),Be(this,$u),Be(this,Fi,null),Be(this,Os,null),Be(this,Lr,null),Be(this,Uu,new Set),Be(this,Fu,void 0),Be(this,Ns,!1),Be(this,ho,null),Be(this,Hu,()=>{let e=xe(this,Uu),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}));Ui(this,Uu,t)}),Be(this,Un,()=>{$e(this,Bn,fo).call(this),$e(this,Gu,rg).call(this,!1)}),Be(this,Fn,()=>{$e(this,Bn,fo).call(this)}),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),Ui(this,Fu,new MutationObserver(xe(this,Hu))),xe(this,Fu).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[Ps.DISABLED,Ps.HIDDEN,Ps.STYLE,Ps.ANCHOR,pe.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){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":$e(this,Wp,t_).call(this,e);break;case"invoke":$e(this,qp,i_).call(this,e);break;case"click":$e(this,Xp,n_).call(this,e);break;case"toggle":$e(this,Qp,o_).call(this,e);break;case"focusout":$e(this,Zp,d_).call(this,e);break;case"keydown":$e(this,Jp,u_).call(this,e);break}}connectedCallback(){var e,t;Ui(this,ho,Sc(this.shadowRoot,":host")),$e(this,Bu,Yp).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),Ui(this,Fi,Uo(this)),(t=(e=xe(this,Fi))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(Vi(mo(this),xe(this,Un)),Vi(this,xe(this,Fn)))}disconnectedCallback(){var e,t;Wi(mo(this),xe(this,Un)),Wi(this,xe(this,Fn)),this.disable(),(t=(e=xe(this,Fi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ui(this,Fi,null)}attributeChangedCallback(e,t,r){var s,n,a,o;e===Ps.HIDDEN&&r!==t?(xe(this,Ns)||Ui(this,Ns,!0),this.hidden?$e(this,zp,s_).call(this):$e(this,jp,r_).call(this),this.dispatchEvent(new Nu({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===pe.MEDIA_CONTROLLER?(t&&((n=(s=xe(this,Fi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ui(this,Fi,null)),r&&this.isConnected&&(Ui(this,Fi,Uo(this)),(o=(a=xe(this,Fi))==null?void 0:a.associateElement)==null||o.call(a,this))):e===Ps.DISABLED&&r!==t?r==null?this.enable():this.disable():e===Ps.STYLE&&r!==t&&$e(this,Bu,Yp).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=Pr(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(QD)}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&&$e(this,$u,tg).call(this,t)}focus(){if(Ui(this,Os,Xn()),this.items.length){$e(this,co,Vu).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=$e(this,uo,Ku).call(this,e);r&&($e(this,$u,tg).call(this,r,r.type==="checkbox"),xe(this,Lr)&&!this.hidden&&((t=xe(this,Os))==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=$e(this,uo,Ku).call(this,e))!=null?t:$e(this,eg,c_).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),$e(this,co,Vu).call(this,n[l]),n[l].focus()}};Fi=new WeakMap;Os=new WeakMap;Lr=new WeakMap;Uu=new WeakMap;Fu=new WeakMap;Ns=new WeakMap;ho=new WeakMap;Wp=new WeakSet;t_=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||xe(this,Hu).call(this)};Hu=new WeakMap;Bu=new WeakSet;Yp=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")};qp=new WeakSet;i_=function(i){Ui(this,Lr,i.relatedTarget),At(this,i.relatedTarget)||(this.hidden=!this.hidden)};jp=new WeakSet;r_=function(){var i;(i=xe(this,Lr))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),Vi(mo(this),xe(this,Un)),Vi(this,xe(this,Fn))};zp=new WeakSet;s_=function(){var i;(i=xe(this,Lr))==null||i.setAttribute("aria-expanded","false"),Wi(mo(this),xe(this,Un)),Wi(this,xe(this,Fn))};Un=new WeakMap;Fn=new WeakMap;Bn=new WeakSet;fo=function(i){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:e,y:t}=JT({anchor:this.anchorElement,floating:this,placement:"top-start"});i!=null||(i=this.offsetWidth);let s=mo(this).getBoundingClientRect(),n=s.width-e-i,a=s.height-t-this.offsetHeight,{style:o}=xe(this,ho);o.setProperty("position","absolute"),o.setProperty("right",`${Math.max(0,n)}px`),o.setProperty("--_menu-bottom",`${a}px`);let l=getComputedStyle(this),u=o.getPropertyValue("--_menu-bottom")===l.bottom?a:parseFloat(l.bottom),c=s.height-u-parseFloat(l.marginBottom);this.style.setProperty("--_menu-max-height",`${c}px`)};Gu=new WeakSet;rg=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=xe(this,ho);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`),$e(this,Bn,fo).call(this,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),$e(this,Bn,fo).call(this);r.removeProperty("--media-menu-transition-in")};Xp=new WeakSet;n_=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(xe(this,sg,a_))){(e=xe(this,Os))==null||e.focus(),this.hidden=!0;return}let t=$e(this,uo,Ku).call(this,i);!t||t.hasAttribute("disabled")||($e(this,co,Vu).call(this,t),this.handleSelect(i))};sg=new WeakSet;a_=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.matches('button[part~="back"]'))};Qp=new WeakSet;o_=function(i){if(i.target===this)return;$e(this,ng,l_).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 kr({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);$e(this,Gu,rg).call(this,!0)};ng=new WeakSet;l_=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)};Zp=new WeakSet;d_=function(i){var e;At(this,i.relatedTarget)||(xe(this,Ns)&&((e=xe(this,Os))==null||e.focus()),xe(this,Lr)&&xe(this,Lr)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};Jp=new WeakSet;u_=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(xe(this,Ns)){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=xe(this,Os))==null||n.focus(),xe(this,Ns)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};uo=new WeakSet;Ku=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};eg=new WeakSet;c_=function(){return this.items.find(i=>i.tabIndex===0)};co=new WeakSet;Vu=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};$u=new WeakSet;tg=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}))};Et.template=h_;function QD(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function mo(i){var e;return(e=i.getAttribute("bounds")?mi(i,`#${i.getAttribute("bounds")}`):Ke(i)||i.parentElement)!=null?e:i}x.customElements.get("media-chrome-menu")||x.customElements.define("media-chrome-menu",Et);var cg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Hi=(i,e,t)=>(cg(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)},ag=(i,e,t,r)=>(cg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),$i=(i,e,t)=>(cg(i,e,"access private method"),t),Wu,go,og,f_,hg,m_,fg,p_,Gi,$n,vo,lg,g_,Yu,dg,v_=F.createElement("template");v_.innerHTML=`
|
|
2869
2875
|
<style>
|
|
2870
2876
|
:host {
|
|
2871
2877
|
transition: var(--media-menu-item-transition,
|
|
@@ -2874,7 +2880,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
2874
2880
|
);
|
|
2875
2881
|
outline: var(--media-menu-item-outline, 0);
|
|
2876
2882
|
outline-offset: var(--media-menu-item-outline-offset, -1px);
|
|
2877
|
-
cursor: pointer;
|
|
2883
|
+
cursor: var(--media-cursor, pointer);
|
|
2878
2884
|
display: flex;
|
|
2879
2885
|
align-items: center;
|
|
2880
2886
|
align-self: stretch;
|
|
@@ -2892,7 +2898,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
2892
2898
|
}
|
|
2893
2899
|
|
|
2894
2900
|
:host(:hover) {
|
|
2895
|
-
cursor: pointer;
|
|
2901
|
+
cursor: var(--media-cursor, pointer);
|
|
2896
2902
|
background: var(--media-menu-item-hover-background, rgb(92 92 102 / .5));
|
|
2897
2903
|
outline: var(--media-menu-item-hover-outline);
|
|
2898
2904
|
outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px));
|
|
@@ -2981,7 +2987,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
2981
2987
|
<slot name="description"></slot>
|
|
2982
2988
|
<slot name="suffix"></slot>
|
|
2983
2989
|
<slot name="submenu"></slot>
|
|
2984
|
-
`;var Xt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},wr=class extends x.HTMLElement{constructor(){super(),sr(this,
|
|
2990
|
+
`;var Xt={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},wr=class extends x.HTMLElement{constructor(){super(),sr(this,og),sr(this,hg),sr(this,fg),sr(this,$n),sr(this,lg),sr(this,Yu),sr(this,Wu,!1),sr(this,go,void 0),sr(this,Gi,()=>{var e,t;this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),s=(e=this.submenuElement.checkedItems)==null?void 0:e[0],n=(t=s==null?void 0:s.dataset.description)!=null?t:s==null?void 0:s.text,a=F.createElement("span");a.textContent=n!=null?n:"",r.replaceChildren(a)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))),this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Xt.TYPE,Xt.DISABLED,Xt.CHECKED,Xt.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),po(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":$i(this,og,f_).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":$i(this,lg,g_).call(this,e);break;case"keyup":$i(this,$n,vo).call(this,e);break}}attributeChangedCallback(e,t,r){e===Xt.CHECKED&&po(this)&&!Hi(this,Wu)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Xt.TYPE&&r!==t?this.role="menuitem"+r:e===Xt.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Xt.DISABLED)||this.enable(),this.role="menuitem"+this.type,ag(this,go,ug(this,this.parentNode)),$i(this,Yu,dg).call(this)}disconnectedCallback(){this.disable(),$i(this,Yu,dg).call(this),ag(this,go,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Pr(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(Xt.TYPE))!=null?e:""}set type(e){this.setAttribute(Xt.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Xt.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Xt.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(po(this))return this.getAttribute("aria-checked")==="true"}set checked(e){po(this)&&(ag(this,Wu,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){po(this)||this.invokeTargetElement&&At(this,e.target)&&this.invokeTargetElement.dispatchEvent(new kr({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};Wu=new WeakMap;go=new WeakMap;og=new WeakSet;f_=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?$i(this,hg,m_).call(this):$i(this,fg,p_).call(this))};hg=new WeakSet;m_=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",Hi(this,Gi)),this.submenuElement.addEventListener("addmenuitem",Hi(this,Gi)),this.submenuElement.addEventListener("removemenuitem",Hi(this,Gi)),Hi(this,Gi).call(this)};fg=new WeakSet;p_=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",Hi(this,Gi)),this.submenuElement.removeEventListener("addmenuitem",Hi(this,Gi)),this.submenuElement.removeEventListener("removemenuitem",Hi(this,Gi)),Hi(this,Gi).call(this)};Gi=new WeakMap;$n=new WeakSet;vo=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",$i(this,$n,vo));return}this.handleClick(i)};lg=new WeakSet;g_=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",$i(this,$n,vo));return}this.addEventListener("keyup",$i(this,$n,vo),{once:!0})};Yu=new WeakSet;dg=function(){var i;let e=(i=Hi(this,go))==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")};wr.template=v_;function po(i){return i.type==="radio"||i.type==="checkbox"}function ug(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?ug(i,t):e!=null&&e.items?e:ug(e,e==null?void 0:e.parentNode)}x.customElements.get("media-chrome-menu-item")||x.customElements.define("media-chrome-menu-item",wr);var E_=F.createElement("template");E_.innerHTML=Et.template.innerHTML+`
|
|
2985
2991
|
<style>
|
|
2986
2992
|
:host {
|
|
2987
2993
|
--_menu-bg: rgb(20 20 30 / .8);
|
|
@@ -3015,7 +3021,7 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
3015
3021
|
--media-settings-menu-item-opacity: 0;
|
|
3016
3022
|
}
|
|
3017
3023
|
</style>
|
|
3018
|
-
`;var Eo=class extends Et{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-settings-menu-button")}};Eo.template=
|
|
3024
|
+
`;var Eo=class extends Et{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-settings-menu-button")}};Eo.template=E_;x.customElements.get("media-settings-menu")||x.customElements.define("media-settings-menu",Eo);var b_,qu=F.createElement("template");qu.innerHTML=wr.template.innerHTML+`
|
|
3019
3025
|
<style>
|
|
3020
3026
|
slot:not([name="submenu"]) {
|
|
3021
3027
|
opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity));
|
|
@@ -3025,11 +3031,11 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
3025
3031
|
background: transparent;
|
|
3026
3032
|
}
|
|
3027
3033
|
</style>
|
|
3028
|
-
`;(
|
|
3034
|
+
`;(b_=qu.content)!=null&&b_.querySelector&&(qu.content.querySelector('slot[name="suffix"]').innerHTML=`
|
|
3029
3035
|
<svg aria-hidden="true" viewBox="0 0 20 24">
|
|
3030
3036
|
<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"/>
|
|
3031
3037
|
</svg>
|
|
3032
|
-
`);var bo=class extends wr{};bo.template=qu;x.customElements.get("media-settings-menu-item")||x.customElements.define("media-settings-menu-item",bo);var Nt=class extends
|
|
3038
|
+
`);var bo=class extends wr{};bo.template=qu;x.customElements.get("media-settings-menu-item")||x.customElements.define("media-settings-menu-item",bo);var Nt=class extends Oe{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=Pr(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;(e=this.invokeTargetElement)==null||e.dispatchEvent(new kr({relatedTarget:this}))}};x.customElements.get("media-chrome-menu-button")||x.customElements.define("media-chrome-menu-button",Nt);var y_=F.createElement("template");y_.innerHTML=`
|
|
3033
3039
|
<style>
|
|
3034
3040
|
:host([aria-expanded="true"]) slot[name=tooltip] {
|
|
3035
3041
|
display: none;
|
|
@@ -3040,25 +3046,25 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
3040
3046
|
<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"/>
|
|
3041
3047
|
</svg>
|
|
3042
3048
|
</slot>
|
|
3043
|
-
`;var ju=class extends Nt{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:
|
|
3049
|
+
`;var ju=class extends Nt{static get observedAttributes(){return[...super.observedAttributes,"target"]}constructor(){super({slotTemplate:y_,tooltipContent:H("Settings")})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",H("settings"))}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ke(this).querySelector("media-settings-menu")}};x.customElements.get("media-settings-menu-button")||x.customElements.define("media-settings-menu-button",ju);var vg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},T_=(i,e,t)=>(vg(i,e,"read from private field"),t?t.call(i):e.get(i)),zu=(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)},mg=(i,e,t,r)=>(vg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Xu=(i,e,t)=>(vg(i,e,"access private method"),t),yo,Ju,Qu,pg,Zu,gg,ec=class extends Et{constructor(){super(...arguments),zu(this,Qu),zu(this,Zu),zu(this,yo,[]),zu(this,Ju,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_LIST,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===y.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(mg(this,yo,Jg(r!=null?r:"")),Xu(this,Qu,pg).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Xu(this,Zu,gg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Xu(this,Zu,gg))}get anchorElement(){var e;return this.anchor!=="auto"?super.anchorElement:(e=Ke(this))==null?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return T_(this,yo)}set mediaAudioTrackList(e){mg(this,yo,e),Xu(this,Qu,pg).call(this)}get mediaAudioTrackEnabled(){var e;return(e=ue(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){ce(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};yo=new WeakMap;Ju=new WeakMap;Qu=new WeakSet;pg=function(){if(T_(this,Ju)===JSON.stringify(this.mediaAudioTrackList))return;mg(this,Ju,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="";for(let e of i){let t=this.formatMenuItemText(e.label,e),r=Bi({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(hi(this,"checked-indicator")),this.defaultSlot.append(r)}};Zu=new WeakSet;gg=function(){if(this.value==null)return;let i=new x.CustomEvent($.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};x.customElements.get("media-audio-track-menu")||x.customElements.define("media-audio-track-menu",ec);var ZD=`<svg aria-hidden="true" viewBox="0 0 24 24">
|
|
3044
3050
|
<path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
|
|
3045
3051
|
<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"/>
|
|
3046
|
-
</svg>`,
|
|
3052
|
+
</svg>`,__=F.createElement("template");__.innerHTML=`
|
|
3047
3053
|
<style>
|
|
3048
3054
|
:host([aria-expanded="true"]) slot[name=tooltip] {
|
|
3049
3055
|
display: none;
|
|
3050
3056
|
}
|
|
3051
3057
|
</style>
|
|
3052
|
-
<slot name="icon">${
|
|
3053
|
-
`;var tc=class extends Nt{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:
|
|
3058
|
+
<slot name="icon">${ZD}</slot>
|
|
3059
|
+
`;var tc=class extends Nt{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_AUDIO_TRACK_ENABLED,y.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:__,tooltipContent:H("Audio")})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",H("Audio"))}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Ke(this))==null?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return(e=ue(this,y.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){ce(this,y.MEDIA_AUDIO_TRACK_ENABLED,e)}};x.customElements.get("media-audio-track-menu-button")||x.customElements.define("media-audio-track-menu-button",tc);var _g=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},JD=(i,e,t)=>(_g(i,e,"read from private field"),t?t.call(i):e.get(i)),Eg=(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)},eC=(i,e,t,r)=>(_g(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),bg=(i,e,t)=>(_g(i,e,"access private method"),t),rc,yg,x_,ic,Tg,tC=`
|
|
3054
3060
|
<svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
|
|
3055
3061
|
<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"/>
|
|
3056
|
-
</svg>`,
|
|
3057
|
-
<slot name="captions-indicator" hidden>${
|
|
3062
|
+
</svg>`,R_=F.createElement("template");R_.innerHTML=Et.template.innerHTML+`
|
|
3063
|
+
<slot name="captions-indicator" hidden>${tC}</slot>`;var To=class extends Et{constructor(){super(...arguments),Eg(this,yg),Eg(this,ic),Eg(this,rc,void 0)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_LIST&&t!==r?bg(this,yg,x_).call(this):e===y.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",bg(this,ic,Tg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",bg(this,ic,Tg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return A_(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){S_(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return A_(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){S_(this,y.MEDIA_SUBTITLES_SHOWING,e)}};rc=new WeakMap;yg=new WeakSet;x_=function(){var i;if(JD(this,rc)===JSON.stringify(this.mediaSubtitlesList))return;eC(this,rc,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let e=!this.value,t=Bi({type:"radio",text:this.formatMenuItemText("Off"),value:"off",checked:e});t.prepend(hi(this,"checked-indicator")),this.defaultSlot.append(t);let r=this.mediaSubtitlesList;for(let s of r){let n=Bi({type:"radio",text:this.formatMenuItemText(s.label,s),value:zo(s),checked:this.value==zo(s)});n.prepend(hi(this,"checked-indicator")),((i=s.kind)!=null?i:"subs")==="captions"&&n.append(hi(this,"captions-indicator")),this.defaultSlot.append(n)}};ic=new WeakSet;Tg=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(y.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new x.CustomEvent($.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new x.CustomEvent($.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};To.template=R_;var A_=(i,e)=>{let t=i.getAttribute(e);return t?Ur(t):[]},S_=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=qi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};x.customElements.get("media-captions-menu")||x.customElements.define("media-captions-menu",To);var iC=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},rC=(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)},sC=(i,e,t,r)=>(iC(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ag,nC=`<svg aria-hidden="true" viewBox="0 0 26 24">
|
|
3058
3064
|
<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"/>
|
|
3059
|
-
</svg>`,
|
|
3065
|
+
</svg>`,aC=`<svg aria-hidden="true" viewBox="0 0 26 24">
|
|
3060
3066
|
<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"/>
|
|
3061
|
-
</svg>`,
|
|
3067
|
+
</svg>`,w_=F.createElement("template");w_.innerHTML=`
|
|
3062
3068
|
<style>
|
|
3063
3069
|
:host([aria-checked="true"]) slot[name=off] {
|
|
3064
3070
|
display: none !important;
|
|
@@ -3075,10 +3081,10 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
3075
3081
|
</style>
|
|
3076
3082
|
|
|
3077
3083
|
<slot name="icon">
|
|
3078
|
-
<slot name="on">${
|
|
3079
|
-
<slot name="off">${
|
|
3084
|
+
<slot name="on">${nC}</slot>
|
|
3085
|
+
<slot name="off">${aC}</slot>
|
|
3080
3086
|
</slot>
|
|
3081
|
-
`;var
|
|
3087
|
+
`;var I_=i=>{i.setAttribute("aria-checked",Xo(i).toString())},sc=class extends Nt{constructor(e={}){super({slotTemplate:w_,tooltipContent:H("Captions"),...e}),rC(this,Ag,void 0),sC(this,Ag,!1)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_SUBTITLES_LIST,y.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",H("closed captions")),I_(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_SUBTITLES_SHOWING&&I_(this)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Ke(this))==null?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return k_(this,y.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){L_(this,y.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return k_(this,y.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){L_(this,y.MEDIA_SUBTITLES_SHOWING,e)}};Ag=new WeakMap;var k_=(i,e)=>{let t=i.getAttribute(e);return t?Ur(t):[]},L_=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=qi(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};x.customElements.get("media-captions-menu-button")||x.customElements.define("media-captions-menu-button",sc);var D_=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},nc=(i,e,t)=>(D_(i,e,"read from private field"),t?t.call(i):e.get(i)),Sg=(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)},_o=(i,e,t)=>(D_(i,e,"access private method"),t),Hn,Ao,ac,oc,Rg,xg={RATES:"rates"},lc=class extends Et{constructor(){super(),Sg(this,Ao),Sg(this,oc),Sg(this,Hn,new pi(this,xg.RATES,{defaultValue:bh})),_o(this,Ao,ac).call(this)}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,xg.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_PLAYBACK_RATE&&t!=r?this.value=r:e===xg.RATES&&t!=r&&(nc(this,Hn).value=r,_o(this,Ao,ac).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",_o(this,oc,Rg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",_o(this,oc,Rg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-playback-rate-menu-button")}get rates(){return nc(this,Hn)}set rates(e){e?Array.isArray(e)&&(nc(this,Hn).value=e.join(" ")):nc(this,Hn).value="",_o(this,Ao,ac).call(this)}get mediaPlaybackRate(){return ve(this,y.MEDIA_PLAYBACK_RATE,nn)}set mediaPlaybackRate(e){ye(this,y.MEDIA_PLAYBACK_RATE,e)}};Hn=new WeakMap;Ao=new WeakSet;ac=function(){this.defaultSlot.textContent="";for(let i of this.rates){let e=Bi({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i,checked:this.mediaPlaybackRate==i});e.prepend(hi(this,"checked-indicator")),this.defaultSlot.append(e)}};oc=new WeakSet;Rg=function(){if(!this.value)return;let i=new x.CustomEvent($.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};x.customElements.get("media-playback-rate-menu")||x.customElements.define("media-playback-rate-menu",lc);var oC=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},dc=(i,e,t)=>(oC(i,e,"read from private field"),t?t.call(i):e.get(i)),lC=(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)},Gn,Ig={RATES:"rates"},dC=[1,1.2,1.5,1.7,2],kg=1,C_=F.createElement("template");C_.innerHTML=`
|
|
3082
3088
|
<style>
|
|
3083
3089
|
:host {
|
|
3084
3090
|
min-width: 5ch;
|
|
@@ -3090,16 +3096,16 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
3090
3096
|
}
|
|
3091
3097
|
</style>
|
|
3092
3098
|
<slot name="icon"></slot>
|
|
3093
|
-
`;var uc=class extends Nt{constructor(e={}){super({slotTemplate:
|
|
3099
|
+
`;var uc=class extends Nt{constructor(e={}){super({slotTemplate:C_,tooltipContent:H("Playback rate"),...e}),lC(this,Gn,new pi(this,Ig.RATES,{defaultValue:dC})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${kg}x`}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_PLAYBACK_RATE,Ig.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Ig.RATES&&(dc(this,Gn).value=r),e===y.MEDIA_PLAYBACK_RATE){let s=r?+r:Number.NaN,n=Number.isNaN(s)?kg:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",H("Playback rate {playbackRate}",{playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ke(this).querySelector("media-playback-rate-menu")}get rates(){return dc(this,Gn)}set rates(e){e?Array.isArray(e)&&(dc(this,Gn).value=e.join(" ")):dc(this,Gn).value=""}get mediaPlaybackRate(){return ve(this,y.MEDIA_PLAYBACK_RATE,kg)}set mediaPlaybackRate(e){ye(this,y.MEDIA_PLAYBACK_RATE,e)}};Gn=new WeakMap;x.customElements.get("media-playback-rate-menu-button")||x.customElements.define("media-playback-rate-menu-button",uc);var wg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},So=(i,e,t)=>(wg(i,e,"read from private field"),t?t.call(i):e.get(i)),cc=(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)},M_=(i,e,t,r)=>(wg(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Kn=(i,e,t)=>(wg(i,e,"access private method"),t),xo,Wn,Vn,Ro,hc,Lg,fc=class extends Et{constructor(){super(...arguments),cc(this,Vn),cc(this,hc),cc(this,xo,[]),cc(this,Wn,{})}static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_LIST,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===y.MEDIA_RENDITION_SELECTED&&t!==r?(this.value=r!=null?r:"auto",Kn(this,Vn,Ro).call(this)):e===y.MEDIA_RENDITION_LIST&&t!==r?(M_(this,xo,Qg(r)),Kn(this,Vn,Ro).call(this)):e===y.MEDIA_HEIGHT&&t!==r&&Kn(this,Vn,Ro).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Kn(this,hc,Lg))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Kn(this,hc,Lg))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Ke(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return So(this,xo)}set mediaRenditionList(e){M_(this,xo,e),Kn(this,Vn,Ro).call(this)}get mediaRenditionSelected(){return ue(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ce(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return ve(this,y.MEDIA_HEIGHT)}set mediaHeight(e){ye(this,y.MEDIA_HEIGHT,e)}};xo=new WeakMap;Wn=new WeakMap;Vn=new WeakSet;Ro=function(){if(So(this,Wn).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&So(this,Wn).mediaHeight===this.mediaHeight)return;So(this,Wn).mediaRenditionList=JSON.stringify(this.mediaRenditionList),So(this,Wn).mediaHeight=this.mediaHeight;let i=this.mediaRenditionList.sort((n,a)=>a.height-n.height);for(let n of i)n.selected=n.id===this.mediaRenditionSelected;this.defaultSlot.textContent="";let e=!this.mediaRenditionSelected;for(let n of i){let a=this.formatMenuItemText(`${Math.min(n.width,n.height)}p`,n),o=Bi({type:"radio",text:a,value:`${n.id}`,checked:n.selected&&!e});o.prepend(hi(this,"checked-indicator")),this.defaultSlot.append(o)}let t=e?this.formatMenuItemText(`Auto (${this.mediaHeight}p)`):this.formatMenuItemText("Auto"),r=Bi({type:"radio",text:t,value:"auto",checked:e}),s=this.mediaHeight>0?`Auto (${this.mediaHeight}p)`:"Auto";r.dataset.description=s,r.prepend(hi(this,"checked-indicator")),this.defaultSlot.append(r)};hc=new WeakSet;Lg=function(){if(this.value==null)return;let i=new x.CustomEvent($.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};x.customElements.get("media-rendition-menu")||x.customElements.define("media-rendition-menu",fc);var uC=`<svg aria-hidden="true" viewBox="0 0 24 24">
|
|
3094
3100
|
<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" />
|
|
3095
|
-
</svg>`,
|
|
3101
|
+
</svg>`,P_=F.createElement("template");P_.innerHTML=`
|
|
3096
3102
|
<style>
|
|
3097
3103
|
:host([aria-expanded="true"]) slot[name=tooltip] {
|
|
3098
3104
|
display: none;
|
|
3099
3105
|
}
|
|
3100
3106
|
</style>
|
|
3101
|
-
<slot name="icon">${
|
|
3102
|
-
`;var mc=class extends Nt{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}constructor(){super({slotTemplate:
|
|
3107
|
+
<slot name="icon">${uC}</slot>
|
|
3108
|
+
`;var mc=class extends Nt{static get observedAttributes(){return[...super.observedAttributes,y.MEDIA_RENDITION_SELECTED,y.MEDIA_RENDITION_UNAVAILABLE,y.MEDIA_HEIGHT]}constructor(){super({slotTemplate:P_,tooltipContent:H("Quality")})}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",H("quality"))}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Ke(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return ue(this,y.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ce(this,y.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return ve(this,y.MEDIA_HEIGHT)}set mediaHeight(e){ye(this,y.MEDIA_HEIGHT,e)}};x.customElements.get("media-rendition-menu-button")||x.customElements.define("media-rendition-menu-button",mc);var Dg=Ks.createElement("template");"innerHTML"in Dg&&(Dg.innerHTML=ZT);var O_,N_,pc=class extends Ms{};pc.template=(N_=(O_=Dg.content)==null?void 0:O_.children)==null?void 0:N_[0];kt.customElements.get("media-theme-gerwig")||kt.customElements.define("media-theme-gerwig",pc);var cC="gerwig";var nr={SRC:"src",POSTER:"poster"},N={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",NO_TOOLTIPS:"no-tooltips",PROUDLY_DISPLAY_MUX_BADGE:"proudly-display-mux-badge"},Cg=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref","proudlydisplaymuxbadge"];function hC(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(N.STORYBOARD_SRC),placeholder:i.getAttribute("placeholder"),themeTemplate:mC(i),thumbnailTime:!i.tokens.thumbnail&&i.thumbnailTime,autoplay:i.autoplay,crossOrigin:i.crossOrigin,loop:i.loop,noHotKeys:i.hasAttribute(N.NOHOTKEYS),hotKeys:i.getAttribute(N.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,assetStartTime:i.assetStartTime,assetEndTime:i.assetEndTime,renditionOrder:i.renditionOrder,metadata:i.metadata,playerInitTime:i.playerInitTime,playerSoftwareName:i.playerSoftwareName,playerSoftwareVersion:i.playerSoftwareVersion,startTime:i.startTime,preferPlayback:i.preferPlayback,audio:i.audio,defaultStreamType:i.defaultStreamType,targetLiveWindow:i.getAttribute(w.TARGET_LIVE_WINDOW),streamType:eo(i.getAttribute(w.STREAM_TYPE)),primaryColor:i.getAttribute(N.PRIMARY_COLOR),secondaryColor:i.getAttribute(N.SECONDARY_COLOR),accentColor:i.getAttribute(N.ACCENT_COLOR),forwardSeekOffset:i.forwardSeekOffset,backwardSeekOffset:i.backwardSeekOffset,defaultHiddenCaptions:i.defaultHiddenCaptions,defaultDuration:i.defaultDuration,defaultShowRemainingTime:i.defaultShowRemainingTime,hideDuration:pC(i),playbackRates:i.getAttribute(N.PLAYBACK_RATES),customDomain:(r=i.getAttribute(w.CUSTOM_DOMAIN))!=null?r:void 0,title:i.getAttribute(N.TITLE),novolumepref:i.hasAttribute(N.NO_VOLUME_PREF),castReceiver:i.castReceiver,proudlyDisplayMuxBadge:i.hasAttribute(N.PROUDLY_DISPLAY_MUX_BADGE),...e,extraSourceParams:i.extraSourceParams}}var fC=Sl.formatErrorMessage;Sl.formatErrorMessage=i=>{var e,t;if(i instanceof V){let r=QT(i,!1);return`
|
|
3103
3109
|
${r!=null&&r.title?`<h3>${r.title}</h3>`:""}
|
|
3104
3110
|
${r!=null&&r.message||r!=null&&r.linkUrl?`<p>
|
|
3105
3111
|
${r==null?void 0:r.message}
|
|
@@ -3107,12 +3113,12 @@ media-poster-image:not([src]):not([placeholdersrc]) {
|
|
|
3107
3113
|
href="${r.linkUrl}"
|
|
3108
3114
|
target="_blank"
|
|
3109
3115
|
rel="external noopener"
|
|
3110
|
-
aria-label="${(e=r.linkText)!=null?e:""} ${
|
|
3116
|
+
aria-label="${(e=r.linkText)!=null?e:""} ${X("(opens in a new window)")}"
|
|
3111
3117
|
>${(t=r.linkText)!=null?t:r.linkUrl}</a
|
|
3112
3118
|
>`:""}
|
|
3113
3119
|
</p>`:""}
|
|
3114
|
-
`}return hC(i)};function fC(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=kt.customElements.get(e);if(n!=null&&n.template)return n.template}}function mC(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 O_(i){let e=i.hasAttribute(N.TITLE)?{video_title:i.getAttribute(N.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 pC=Object.values(w),gC=Object.values(nr),vC=Object.values(N),N_=Ru(),U_="mux-player",F_={isDialogOpen:!1},EC={redundant_streams:!0},ko,Lo,wo,Cr,Do,Bs,we,Dr,B_,Pg,Fs,$_,H_,G_,K_,Io=class extends Pp{constructor(){super();It(this,we);It(this,ko);It(this,Lo,!1);It(this,wo,{});It(this,Cr,!0);It(this,Do,new xu(this,"hotkeys"));It(this,Bs,{...F_,onCloseErrorDialog:t=>{var s;((s=t.composedPath()[0])==null?void 0:s.localName)==="media-error-dialog"&&ze(this,we,Pg).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:t=>{var n;if(((n=t.composedPath()[0])==null?void 0:n.localName)!=="media-error-dialog")return;Dp(this,Ks.activeElement)||t.preventDefault()}});Bt(this,ko,ru()),this.attachShadow({mode:"open"}),ze(this,we,B_).call(this),this.isConnected&&ze(this,we,Dr).call(this)}static get NAME(){return U_}static get VERSION(){return N_}static get observedAttributes(){var t;return[...(t=Pp.observedAttributes)!=null?t:[],...gC,...pC,...vC]}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=O_(this))}attributeChangedCallback(t,r,s){switch(ze(this,we,Dr).call(this),super.attributeChangedCallback(t,r,s),t){case N.HOTKEYS:Se(this,Do).value=s;break;case N.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Oi(z("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time."));break}case N.THUMBNAIL_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.THUMBNAIL;o!==l&&Oi(z("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"thumbnail"}))}}break}case N.STORYBOARD_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.STORYBOARD;o!==l&&Oi(z("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"storyboard"}))}}break}case N.DRM_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.DRM;o!==l&&Oi(z("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"drm"}))}}break}case w.PLAYBACK_ID:{s!=null&&s.includes("?token")&&Ot(z("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case w.STREAM_TYPE:s&&![Re.LIVE,Re.ON_DEMAND,Re.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:Cp({file:"invalid-stream-type.md",message:z("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===Re.LIVE?this.getAttribute(N.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[w.PLAYBACK_ID,nr.SRC,N.PLAYBACK_TOKEN].includes(t)&&r!==s&&Bt(this,Bs,{...Se(this,Bs),...F_}),ze(this,we,Fs).call(this,{[IT(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(w.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?In.includes(t)?this.setAttribute(w.PREFER_CMCD,t):Oi(`Invalid value for preferCmcd. Must be one of ${In.join()}`):this.removeAttribute(w.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(y.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(N.THEME))!=null?t:uC}set theme(t){this.setAttribute(N.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if(Mg.includes(s))continue;let n=t.getAttribute(s);r[Su(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;ze(this,we,Dr).call(this);let r={...this.themeProps,...t};for(let a in r){if(Mg.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Au(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(Au(a),o)}}get playbackId(){var t;return(t=this.getAttribute(w.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(w.PLAYBACK_ID,t):this.removeAttribute(w.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Us(this,nr.SRC))!=null?t:void 0:(r=this.getAttribute(nr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(nr.SRC,t):this.removeAttribute(nr.SRC)}get poster(){var s;let t=this.getAttribute(nr.POSTER);if(t!=null)return t;let{tokens:r}=this;if(r.playback&&!r.thumbnail){Oi("Missing expected thumbnail token. No poster image will be shown");return}if(this.playbackId&&!this.audio)return xT(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(nr.POSTER,t):this.removeAttribute(nr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(N.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(N.STORYBOARD_SRC,t):this.removeAttribute(N.STORYBOARD_SRC)}get storyboard(){let{tokens:t}=this;if(this.storyboardSrc&&!t.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Re.LIVE,Re.UNKNOWN].includes(this.streamType)||t.playback&&!t.storyboard))return RT(this.playbackId,{customDomain:this.customDomain,token:t.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(N.AUDIO)}set audio(t){if(!t){this.removeAttribute(N.AUDIO);return}this.setAttribute(N.AUDIO,"")}get hotkeys(){return Se(this,Do)}get nohotkeys(){return this.hasAttribute(N.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(N.NOHOTKEYS);return}this.setAttribute(N.NOHOTKEYS,"")}get thumbnailTime(){return St(this.getAttribute(N.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(N.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(N.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(N.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Us(this,N.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(N.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute(N.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=kt.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(N.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute(N.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=kt.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(N.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute(N.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=kt.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute(N.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(N.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(N.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(N.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(N.PLAYBACK_RATES))return this.getAttribute(N.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(N.PLAYBACK_RATES);return}this.setAttribute(N.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=St(this.getAttribute(N.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(N.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=St(this.getAttribute(N.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(N.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(N.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(N.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(N.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return St(this.getAttribute(N.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute(N.DEFAULT_DURATION):this.setAttribute(N.DEFAULT_DURATION,`${t}`)}get playerInitTime(){return this.hasAttribute(w.PLAYER_INIT_TIME)?St(this.getAttribute(w.PLAYER_INIT_TIME)):Se(this,ko)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(w.PLAYER_INIT_TIME):this.setAttribute(w.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){var t;return(t=this.getAttribute(w.PLAYER_SOFTWARE_NAME))!=null?t:U_}get playerSoftwareVersion(){var t;return(t=this.getAttribute(w.PLAYER_SOFTWARE_VERSION))!=null?t:N_}get beaconCollectionDomain(){var t;return(t=this.getAttribute(w.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(w.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(w.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(w.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(w.MAX_RESOLUTION,t):this.removeAttribute(w.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(w.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(w.MIN_RESOLUTION,t):this.removeAttribute(w.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(w.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(w.RENDITION_ORDER,t):this.removeAttribute(w.RENDITION_ORDER))}get programStartTime(){return St(this.getAttribute(w.PROGRAM_START_TIME))}set programStartTime(t){t==null?this.removeAttribute(w.PROGRAM_START_TIME):this.setAttribute(w.PROGRAM_START_TIME,`${t}`)}get programEndTime(){return St(this.getAttribute(w.PROGRAM_END_TIME))}set programEndTime(t){t==null?this.removeAttribute(w.PROGRAM_END_TIME):this.setAttribute(w.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){return St(this.getAttribute(w.ASSET_START_TIME))}set assetStartTime(t){t==null?this.removeAttribute(w.ASSET_START_TIME):this.setAttribute(w.ASSET_START_TIME,`${t}`)}get assetEndTime(){return St(this.getAttribute(w.ASSET_END_TIME))}set assetEndTime(t){t==null?this.removeAttribute(w.ASSET_END_TIME):this.setAttribute(w.ASSET_END_TIME,`${t}`)}get extraSourceParams(){return this.hasAttribute(N.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(N.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):EC}set extraSourceParams(t){t==null?this.removeAttribute(N.EXTRA_SOURCE_PARAMS):this.setAttribute(N.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(w.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(w.CUSTOM_DOMAIN,t):this.removeAttribute(w.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Us(this,w.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(w.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(N.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(N.NO_VOLUME_PREF,""):this.removeAttribute(N.NO_VOLUME_PREF)}get debug(){return Us(this,w.DEBUG)!=null}set debug(t){t?this.setAttribute(w.DEBUG,""):this.removeAttribute(w.DEBUG)}get disableTracking(){return Us(this,w.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(w.DISABLE_TRACKING,!!t)}get disableCookies(){return Us(this,w.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(w.DISABLE_COOKIES,""):this.removeAttribute(w.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(w.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:Re.UNKNOWN}set streamType(t){this.setAttribute(w.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute(N.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute(N.DEFAULT_STREAM_TYPE))!=null?s:Re.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(N.DEFAULT_STREAM_TYPE,t):this.removeAttribute(N.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute(N.TARGET_LIVE_WINDOW)?+this.getAttribute(N.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(N.TARGET_LIVE_WINDOW):this.setAttribute(N.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return St(Us(this,w.START_TIME))}set startTime(t){this.setAttribute(w.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(w.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(w.PREFER_PLAYBACK,t):this.removeAttribute(w.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(ze(this,we,Dr).call(this),!this.media){Ot("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...O_(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(ze(this,we,Dr).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(ze(this,we,Dr).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(ze(this,we,Dr).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(N.PLAYBACK_TOKEN),r=this.getAttribute(N.DRM_TOKEN),s=this.getAttribute(N.THUMBNAIL_TOKEN),n=this.getAttribute(N.STORYBOARD_TOKEN);return{...Se(this,wo),...t!=null?{playback:t}:{},...r!=null?{drm:r}:{},...s!=null?{thumbnail:s}:{},...n!=null?{storyboard:n}:{}}}set tokens(t){Bt(this,wo,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(N.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(N.PLAYBACK_TOKEN,`${t}`)}get drmToken(){var t;return(t=this.getAttribute(N.DRM_TOKEN))!=null?t:void 0}set drmToken(t){this.setAttribute(N.DRM_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(N.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(N.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(N.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(N.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return iu(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return Oy(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}get castReceiver(){var t;return(t=this.getAttribute(N.CAST_RECEIVER))!=null?t:void 0}set castReceiver(t){t!==this.castReceiver&&(t?this.setAttribute(N.CAST_RECEIVER,t):this.removeAttribute(N.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}get noTooltips(){return this.hasAttribute(N.NO_TOOLTIPS)}set noTooltips(t){if(!t){this.removeAttribute(N.NO_TOOLTIPS);return}this.setAttribute(N.NO_TOOLTIPS,"")}get proudlyDisplayMuxBadge(){return this.hasAttribute(N.PROUDLY_DISPLAY_MUX_BADGE)}set proudlyDisplayMuxBadge(t){t?this.setAttribute(N.PROUDLY_DISPLAY_MUX_BADGE,""):this.removeAttribute(N.PROUDLY_DISPLAY_MUX_BADGE)}};ko=new WeakMap,Lo=new WeakMap,wo=new WeakMap,Cr=new WeakMap,Do=new WeakMap,Bs=new WeakMap,we=new WeakSet,Dr=function(){var t,r,s,n;if(!Se(this,Lo)){Bt(this,Lo,!0),ze(this,we,Fs).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof kt.HTMLElement))throw""}catch{Ot("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof _T))throw""}catch{Ot("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Hc))throw""}catch{Ot("<media-controller> failed to upgrade!")}this.init(),ze(this,we,$_).call(this),ze(this,we,H_).call(this),ze(this,we,G_).call(this),Bt(this,Cr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(le.USER_INACTIVE))!=null?r:!0),ze(this,we,K_).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>ze(this,we,Fs).call(this)),(n=this.media)==null||n.addEventListener("loadstart",()=>ze(this,we,Fs).call(this))}},B_=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{}},Pg=function(t){Object.assign(Se(this,Bs),t),ze(this,we,Fs).call(this)},Fs=function(t={}){YT(qT(cC(this,{...Se(this,Bs),...t})),this.shadowRoot)},$_=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(Mg.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)},H_=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof V||(n=new V(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Oi(n),n.data&&Oi(`${n.name} data:`,n.data);return}let a=Wp(n,!1);a.message&&Cp(a),Ot(n),n.data&&Ot(`${n.name} data:`,n.data),ze(this,we,Pg).call(this,{isDialogOpen:!0})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof V))return s;let n=Wp((o=this.media)==null?void 0:o.error,!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 V(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},G_=function(){var r,s,n,a;let t=()=>ze(this,we,Fs).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)},K_=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===Re.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(`
|
|
3115
|
-
`).length,E=-3;this.streamType===Re.LIVE&&(E=-2);let b=E-g;if(p.line===b&&!f)return;s.has(p)||s.set(p,p.line),p.line=b}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(
|
|
3120
|
+
`}return fC(i)};function mC(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=kt.customElements.get(e);if(n!=null&&n.template)return n.template}}function pC(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 U_(i){let e=i.hasAttribute(N.TITLE)?{video_title:i.getAttribute(N.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 gC=Object.values(w),vC=Object.values(nr),EC=Object.values(N),F_=Ru(),B_="mux-player",$_={isDialogOpen:!1},bC={redundant_streams:!0},ko,Lo,wo,Cr,Do,Bs,we,Dr,H_,Mg,Fs,G_,K_,V_,W_,Io=class extends Mp{constructor(){super();It(this,we);It(this,ko);It(this,Lo,!1);It(this,wo,{});It(this,Cr,!0);It(this,Do,new xu(this,"hotkeys"));It(this,Bs,{...$_,onCloseErrorDialog:t=>{var s;((s=t.composedPath()[0])==null?void 0:s.localName)==="media-error-dialog"&&ze(this,we,Mg).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:t=>{var n;if(((n=t.composedPath()[0])==null?void 0:n.localName)!=="media-error-dialog")return;wp(this,Ks.activeElement)||t.preventDefault()}});Bt(this,ko,ru()),this.attachShadow({mode:"open"}),ze(this,we,H_).call(this),this.isConnected&&ze(this,we,Dr).call(this)}static get NAME(){return B_}static get VERSION(){return F_}static get observedAttributes(){var t;return[...(t=Mp.observedAttributes)!=null?t:[],...vC,...gC,...EC]}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=U_(this))}attributeChangedCallback(t,r,s){switch(ze(this,we,Dr).call(this),super.attributeChangedCallback(t,r,s),t){case N.HOTKEYS:Se(this,Do).value=s;break;case N.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&Oi(X("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time."));break}case N.THUMBNAIL_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.THUMBNAIL;o!==l&&Oi(X("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"thumbnail"}))}}break}case N.STORYBOARD_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.STORYBOARD;o!==l&&Oi(X("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"storyboard"}))}}break}case N.DRM_TOKEN:{if(s){let a=_r(s);if(a){let{aud:o}=a,l=Rn.DRM;o!==l&&Oi(X("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:o,expectedAud:l,tokenNamePrefix:"drm"}))}}break}case w.PLAYBACK_ID:{s!=null&&s.includes("?token")&&Ot(X("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case w.STREAM_TYPE:s&&![Re.LIVE,Re.ON_DEMAND,Re.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:Dp({file:"invalid-stream-type.md",message:X("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):s===Re.LIVE?this.getAttribute(N.TARGET_LIVE_WINDOW)==null&&(this.targetLiveWindow=0):this.targetLiveWindow=Number.NaN}[w.PLAYBACK_ID,nr.SRC,N.PLAYBACK_TOKEN].includes(t)&&r!==s&&Bt(this,Bs,{...Se(this,Bs),...$_}),ze(this,we,Fs).call(this,{[LT(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(w.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?In.includes(t)?this.setAttribute(w.PREFER_CMCD,t):Oi(`Invalid value for preferCmcd. Must be one of ${In.join()}`):this.removeAttribute(w.PREFER_CMCD))}get hasPlayed(){var t,r;return(r=(t=this.mediaController)==null?void 0:t.hasAttribute(y.MEDIA_HAS_PLAYED))!=null?r:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute(y.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(N.THEME))!=null?t:cC}set theme(t){this.setAttribute(N.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let r={};for(let s of t.getAttributeNames()){if(Cg.includes(s))continue;let n=t.getAttribute(s);r[Su(s)]=n===""?!0:n}return r}set themeProps(t){var s,n;ze(this,we,Dr).call(this);let r={...this.themeProps,...t};for(let a in r){if(Cg.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(Au(a),!!o):(n=this.mediaTheme)==null||n.setAttribute(Au(a),o)}}get playbackId(){var t;return(t=this.getAttribute(w.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(w.PLAYBACK_ID,t):this.removeAttribute(w.PLAYBACK_ID)}get src(){var t,r;return this.playbackId?(t=Us(this,nr.SRC))!=null?t:void 0:(r=this.getAttribute(nr.SRC))!=null?r:void 0}set src(t){t?this.setAttribute(nr.SRC,t):this.removeAttribute(nr.SRC)}get poster(){var s;let t=this.getAttribute(nr.POSTER);if(t!=null)return t;let{tokens:r}=this;if(r.playback&&!r.thumbnail){Oi("Missing expected thumbnail token. No poster image will be shown");return}if(this.playbackId&&!this.audio)return IT(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(nr.POSTER,t):this.removeAttribute(nr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(N.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(N.STORYBOARD_SRC,t):this.removeAttribute(N.STORYBOARD_SRC)}get storyboard(){let{tokens:t}=this;if(this.storyboardSrc&&!t.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Re.LIVE,Re.UNKNOWN].includes(this.streamType)||t.playback&&!t.storyboard))return kT(this.playbackId,{customDomain:this.customDomain,token:t.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(N.AUDIO)}set audio(t){if(!t){this.removeAttribute(N.AUDIO);return}this.setAttribute(N.AUDIO,"")}get hotkeys(){return Se(this,Do)}get nohotkeys(){return this.hasAttribute(N.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(N.NOHOTKEYS);return}this.setAttribute(N.NOHOTKEYS,"")}get thumbnailTime(){return St(this.getAttribute(N.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(N.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(N.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(N.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=Us(this,N.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(N.PLACEHOLDER,`${t}`)}get primaryColor(){var r,s;let t=this.getAttribute(N.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=kt.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(N.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var r,s;let t=this.getAttribute(N.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=kt.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(N.SECONDARY_COLOR,`${t}`)}get accentColor(){var r,s;let t=this.getAttribute(N.ACCENT_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(r=kt.getComputedStyle(this.mediaTheme))==null?void 0:r.getPropertyValue("--_accent-color"))==null?void 0:s.trim(),t))return t}set accentColor(t){this.setAttribute(N.ACCENT_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(N.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(N.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(N.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(N.PLAYBACK_RATES))return this.getAttribute(N.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(N.PLAYBACK_RATES);return}this.setAttribute(N.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=St(this.getAttribute(N.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(N.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=St(this.getAttribute(N.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(N.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(N.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(N.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(N.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return St(this.getAttribute(N.DEFAULT_DURATION))}set defaultDuration(t){t==null?this.removeAttribute(N.DEFAULT_DURATION):this.setAttribute(N.DEFAULT_DURATION,`${t}`)}get playerInitTime(){return this.hasAttribute(w.PLAYER_INIT_TIME)?St(this.getAttribute(w.PLAYER_INIT_TIME)):Se(this,ko)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(w.PLAYER_INIT_TIME):this.setAttribute(w.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){var t;return(t=this.getAttribute(w.PLAYER_SOFTWARE_NAME))!=null?t:B_}get playerSoftwareVersion(){var t;return(t=this.getAttribute(w.PLAYER_SOFTWARE_VERSION))!=null?t:F_}get beaconCollectionDomain(){var t;return(t=this.getAttribute(w.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(w.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(w.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(w.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(w.MAX_RESOLUTION,t):this.removeAttribute(w.MAX_RESOLUTION))}get minResolution(){var t;return(t=this.getAttribute(w.MIN_RESOLUTION))!=null?t:void 0}set minResolution(t){t!==this.minResolution&&(t?this.setAttribute(w.MIN_RESOLUTION,t):this.removeAttribute(w.MIN_RESOLUTION))}get renditionOrder(){var t;return(t=this.getAttribute(w.RENDITION_ORDER))!=null?t:void 0}set renditionOrder(t){t!==this.renditionOrder&&(t?this.setAttribute(w.RENDITION_ORDER,t):this.removeAttribute(w.RENDITION_ORDER))}get programStartTime(){return St(this.getAttribute(w.PROGRAM_START_TIME))}set programStartTime(t){t==null?this.removeAttribute(w.PROGRAM_START_TIME):this.setAttribute(w.PROGRAM_START_TIME,`${t}`)}get programEndTime(){return St(this.getAttribute(w.PROGRAM_END_TIME))}set programEndTime(t){t==null?this.removeAttribute(w.PROGRAM_END_TIME):this.setAttribute(w.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){return St(this.getAttribute(w.ASSET_START_TIME))}set assetStartTime(t){t==null?this.removeAttribute(w.ASSET_START_TIME):this.setAttribute(w.ASSET_START_TIME,`${t}`)}get assetEndTime(){return St(this.getAttribute(w.ASSET_END_TIME))}set assetEndTime(t){t==null?this.removeAttribute(w.ASSET_END_TIME):this.setAttribute(w.ASSET_END_TIME,`${t}`)}get extraSourceParams(){return this.hasAttribute(N.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(N.EXTRA_SOURCE_PARAMS)).entries()].reduce((t,[r,s])=>(t[r]=s,t),{}):bC}set extraSourceParams(t){t==null?this.removeAttribute(N.EXTRA_SOURCE_PARAMS):this.setAttribute(N.EXTRA_SOURCE_PARAMS,new URLSearchParams(t).toString())}get customDomain(){var t;return(t=this.getAttribute(w.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(w.CUSTOM_DOMAIN,t):this.removeAttribute(w.CUSTOM_DOMAIN))}get envKey(){var t;return(t=Us(this,w.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(w.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(N.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(N.NO_VOLUME_PREF,""):this.removeAttribute(N.NO_VOLUME_PREF)}get debug(){return Us(this,w.DEBUG)!=null}set debug(t){t?this.setAttribute(w.DEBUG,""):this.removeAttribute(w.DEBUG)}get disableTracking(){return Us(this,w.DISABLE_TRACKING)!=null}set disableTracking(t){this.toggleAttribute(w.DISABLE_TRACKING,!!t)}get disableCookies(){return Us(this,w.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(w.DISABLE_COOKIES,""):this.removeAttribute(w.DISABLE_COOKIES)}get streamType(){var t,r,s;return(s=(r=this.getAttribute(w.STREAM_TYPE))!=null?r:(t=this.media)==null?void 0:t.streamType)!=null?s:Re.UNKNOWN}set streamType(t){this.setAttribute(w.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,r,s;return(s=(r=this.getAttribute(N.DEFAULT_STREAM_TYPE))!=null?r:(t=this.mediaController)==null?void 0:t.getAttribute(N.DEFAULT_STREAM_TYPE))!=null?s:Re.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(N.DEFAULT_STREAM_TYPE,t):this.removeAttribute(N.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,r;return this.hasAttribute(N.TARGET_LIVE_WINDOW)?+this.getAttribute(N.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(N.TARGET_LIVE_WINDOW):this.setAttribute(N.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return St(Us(this,w.START_TIME))}set startTime(t){this.setAttribute(w.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(w.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(w.PREFER_PLAYBACK,t):this.removeAttribute(w.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(ze(this,we,Dr).call(this),!this.media){Ot("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...U_(this),...t}}get _hlsConfig(){var t;return(t=this.media)==null?void 0:t._hlsConfig}set _hlsConfig(t){if(ze(this,we,Dr).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(ze(this,we,Dr).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(ze(this,we,Dr).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(N.PLAYBACK_TOKEN),r=this.getAttribute(N.DRM_TOKEN),s=this.getAttribute(N.THUMBNAIL_TOKEN),n=this.getAttribute(N.STORYBOARD_TOKEN);return{...Se(this,wo),...t!=null?{playback:t}:{},...r!=null?{drm:r}:{},...s!=null?{thumbnail:s}:{},...n!=null?{storyboard:n}:{}}}set tokens(t){Bt(this,wo,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(N.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(N.PLAYBACK_TOKEN,`${t}`)}get drmToken(){var t;return(t=this.getAttribute(N.DRM_TOKEN))!=null?t:void 0}set drmToken(t){this.setAttribute(N.DRM_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(N.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(N.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(N.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(N.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,r,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(a)return iu(a,t,r,s,n)}removeTextTrack(t){var s;let r=(s=this.media)==null?void 0:s.nativeEl;if(r)return Uy(r,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}get castReceiver(){var t;return(t=this.getAttribute(N.CAST_RECEIVER))!=null?t:void 0}set castReceiver(t){t!==this.castReceiver&&(t?this.setAttribute(N.CAST_RECEIVER,t):this.removeAttribute(N.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}get noTooltips(){return this.hasAttribute(N.NO_TOOLTIPS)}set noTooltips(t){if(!t){this.removeAttribute(N.NO_TOOLTIPS);return}this.setAttribute(N.NO_TOOLTIPS,"")}get proudlyDisplayMuxBadge(){return this.hasAttribute(N.PROUDLY_DISPLAY_MUX_BADGE)}set proudlyDisplayMuxBadge(t){t?this.setAttribute(N.PROUDLY_DISPLAY_MUX_BADGE,""):this.removeAttribute(N.PROUDLY_DISPLAY_MUX_BADGE)}};ko=new WeakMap,Lo=new WeakMap,wo=new WeakMap,Cr=new WeakMap,Do=new WeakMap,Bs=new WeakMap,we=new WeakSet,Dr=function(){var t,r,s,n;if(!Se(this,Lo)){Bt(this,Lo,!0),ze(this,we,Fs).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof kt.HTMLElement))throw""}catch{Ot("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof ST))throw""}catch{Ot("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof $c))throw""}catch{Ot("<media-controller> failed to upgrade!")}this.init(),ze(this,we,G_).call(this),ze(this,we,K_).call(this),ze(this,we,V_).call(this),Bt(this,Cr,(r=(t=this.mediaController)==null?void 0:t.hasAttribute(ee.USER_INACTIVE))!=null?r:!0),ze(this,we,W_).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>ze(this,we,Fs).call(this)),(n=this.media)==null||n.addEventListener("loadstart",()=>ze(this,we,Fs).call(this))}},H_=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{}},Mg=function(t){Object.assign(Se(this,Bs),t),ze(this,we,Fs).call(this)},Fs=function(t={}){jT(zT(hC(this,{...Se(this,Bs),...t})),this.shadowRoot)},G_=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(Cg.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)},K_=function(){var r;let t=s=>{let{detail:n}=s;if(n instanceof V||(n=new V(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){Oi(n),n.data&&Oi(`${n.name} data:`,n.data);return}let a=Vp(n,!1);a.message&&Dp(a),Ot(n),n.data&&Ot(`${n.name} data:`,n.data),ze(this,we,Mg).call(this,{isDialogOpen:!0})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof V))return s;let n=Vp((o=this.media)==null?void 0:o.error,!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 V(l,d)}n!=null&&n.fatal&&this.dispatchEvent(new CustomEvent("error",{detail:n}))})},V_=function(){var r,s,n,a;let t=()=>ze(this,we,Fs).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)},W_=function(){var d,u;if(!/Firefox/i.test(navigator.userAgent))return;let r,s=new WeakMap,n=()=>this.streamType===Re.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(`
|
|
3121
|
+
`).length,E=-3;this.streamType===Re.LIVE&&(E=-2);let b=E-g;if(p.line===b&&!f)return;s.has(p)||s.set(p,p.line),p.line=b}else setTimeout(()=>{p.line=s.get(p)||"auto"},500)})},o=()=>{var c,h;a(r,(h=(c=this.mediaController)==null?void 0:c.hasAttribute(ee.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,Se(this,Cr))};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(ee.USER_INACTIVE))!=null?f:!0;Se(this,Cr)!==c&&(Bt(this,Cr,c),a(r,Se(this,Cr)))})};function Us(i,e){return i.media?i.media.getAttribute(e):i.getAttribute(e)}kt.customElements.get("mux-player")||(kt.customElements.define("mux-player",Io),kt.MuxPlayerElement=Io);var cF=Io;export{V as MediaError,cF as default,ru as generatePlayerInitTime,Us as getVideoAttribute,B_ as playerSoftwareName,F_ as playerSoftwareVersion};
|
|
3116
3122
|
/*! Bundled license information:
|
|
3117
3123
|
|
|
3118
3124
|
mux-embed/dist/mux.mjs:
|