/*! For license information please see smartplayer.js.LICENSE.txt */ (()=>{var i={8009(e){function o(e,t,i,r,s,a){return g((t=g(g(t,e),g(r,a)))<>>32-s,i)}function c(e,t,i,r,s,a,n){return o(t&i|~t&r,e,t,s,a,n)}function u(e,t,i,r,s,a,n){return o(t&r|i&~r,e,t,s,a,n)}function p(e,t,i,r,s,a,n){return o(t^i^r,e,t,s,a,n)}function f(e,t,i,r,s,a,n){return o(i^(t|~r),e,t,s,a,n)}function g(e,t){var i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}e.exports=function(e){return(e=>{for(var t,i="0123456789ABCDEF",r="",s=0;s>>4&15)+i.charAt(15&t);return r})((e=>{for(var t="",i=0;i<32*e.length;i+=8)t+=String.fromCharCode(e[i>>5]>>>i%32&255);return t})(((e,t)=>{e[t>>5]|=128<>>9<<4)]=t;for(var i=1732584193,r=-271733879,s=-1732584194,a=271733878,n=0;n{for(var t=Array(e.length>>2),i=0;i>5]|=(255&e.charCodeAt(i/8))<{this.off(t,r),i.apply(this,e)};return r.fn=i,this.on(t,r),this},t.prototype.off=function(e,t){if(void 0===e&&void 0===t)this._callbacks.clear();else if(void 0===t)this._callbacks.delete(e);else{var i=this._callbacks.get(e);if(i){for(var[r,s]of i.entries())if(s===t||s.fn===t){i.splice(r,1);break}0===i.length?this._callbacks.delete(e):this._callbacks.set(e,i)}}return this},t.prototype.emit=function(e,...t){var i,e=this._callbacks.get(e);if(e)for(i of[...e])i.apply(this,t);return this},t.prototype.listeners=function(e){return this._callbacks.get(e)??[]},t.prototype.listenerCount=function(e){if(e)return this.listeners(e).length;let t=0;for(var i of this._callbacks.values())t+=i.length;return t},t.prototype.hasListeners=function(e){return 0{if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==i.g)return i.g;throw new Error("unable to locate global object")})()).Promise?v.Promise=h:(v.Promise.prototype.finally||(v.Promise.prototype.finally=r),v.Promise.allSettled||(v.Promise.allSettled=s),v.Promise.any||(v.Promise.any=a))},4654(A,R,I){I(3305),I(641),I(4624),I(7446),I(7302),I(3429),I(8526),I(2348),I(2152),I(8751);class e extends CustomEvent{static toString(){return this.eventName}}class P extends e{constructor(e){super(P.eventName,{detail:e})}}P.eventName="video:canplay";class C extends e{constructor(e){super(C.eventName,{detail:e})}}C.eventName="video:canplaythrough";class D extends e{constructor(){super(D.eventName)}}D.eventName="video:ended";class O extends e{constructor(e){super(O.eventName,{detail:e})}}O.eventName="video:forward";class M extends e{constructor(e){super(M.eventName,{detail:e})}}M.eventName="video:loadeddata";class F extends e{constructor(e){super(F.eventName,{detail:e})}}F.eventName="video:loadedmetadata";class N extends e{constructor(e){super(N.eventName,{detail:e})}}N.eventName="video:pause";class U extends e{constructor(){super(U.eventName)}}U.eventName="video:play";class $ extends e{constructor(e){super($.eventName,{detail:e})}}$.eventName="video:playing";class j extends e{constructor(e){super(j.eventName,{detail:e})}}j.eventName="video:progress";class V extends e{constructor(){super(V.eventName)}}V.eventName="video:ready";class H extends e{constructor(e){super(H.eventName,{detail:e})}}H.eventName="video:rewind";class K extends e{constructor(e){super(K.eventName,{detail:e})}}K.eventName="video:speedchange";class W extends e{constructor(e){super(W.eventName,{detail:e})}}W.eventName="video:timeupdate";class J extends e{constructor(e){super(J.eventName,{detail:e})}}J.eventName="video:timeupdate-ms";class ee extends e{constructor(e){super(ee.eventName,{detail:e})}}ee.eventName="video:volumechange";class te extends e{constructor(e){super(te.eventName,{detail:e})}}te.eventName="video:waiting";let a={Canplay:P,Canplaythrough:C,Ended:D,Forward:O,Loadeddata:M,Loadedmetadata:F,Pause:N,Play:U,Playing:$,Progress:j,Ready:V,Rewind:H,Speedchange:K,Timeupdate:W,TimeupdateMs:J,Volumechange:ee,Waiting:te};class ie{get smartAutoPlay(){return this.instance.inSmartAutoPlay}constructor(e){this.instance=e,this.video={currentTime:0},this.analytics={player:{options:{id:this.instance.config.id}}},this.instance.addEventListener(a.Timeupdate,e=>{this.video.currentTime=e.detail.time})}on(e,t){"timeupdate"===e&&this.instance.addEventListener(a.Timeupdate,e=>{t(e.detail.time)})}}class re{constructor(){this.doc=document,this.instances=[],this.win=window,this.obeserveInstances()}obeserveInstances(){let t=new Set;this.doc.addEventListener("player:ready",e=>{t.has(e.detail.player)||(t.add(e.detail.player),e=new ie(e.detail.player),this.instances.push(e))})}}re.smartplayer=new re;var se,t=()=>{window.smartplayer||(console.log("ApiCompat: loaded"),window.smartplayer=re.smartplayer)};document.addEventListener("DOMContentLoaded",t),window.addEventListener("load",t),"complete"===document.readyState&&t();class ae extends e{constructor(e){super(ae.eventName,{bubbles:!0,composed:!0,detail:e})}}ae.eventName="callaction:connected";class ne extends e{constructor(e){super(ne.eventName,{bubbles:!0,composed:!0,detail:e})}}ne.eventName="callaction:current-active-items";let oe={Connected:ae,CurrentActiveItems:ne};class le extends e{constructor(){super(le.eventName)}}le.eventName="mini-player:entered";class he extends e{constructor(){super(he.eventName)}}he.eventName="mini-player:exited";class de extends e{constructor(){super(de.eventName,{bubbles:!0,composed:!0,detail:{}})}}de.eventName="mini-player:scroll-back-request";class ce extends e{constructor(){super(ce.eventName,{bubbles:!0,composed:!0,detail:{}})}}ce.eventName="mini-player:toggle";let ue={Entered:le,Exited:he,ScrollBackRequest:de,Toggle:ce};class pe extends e{constructor(e){super(pe.eventName,{detail:e})}}pe.eventName="fullscreen:enter";class fe extends e{constructor(e){super(fe.eventName,{detail:e})}}fe.eventName="fullscreen:exit";class ge extends e{constructor(){super(ge.eventName,{bubbles:!0,composed:!0})}}ge.eventName="fullscreen:expand";class me extends e{constructor(){super(me.eventName,{bubbles:!0,composed:!0})}}me.eventName="fullscreen:minimize";class ve extends e{constructor(){super(ve.eventName,{bubbles:!0,composed:!0})}}ve.eventName="fullscreen:toggle";let n={Entered:pe,Exited:fe,Expand:ge,Minimize:me,Toggle:ve};class ye extends e{constructor(){super(ye.eventName)}}ye.eventName="license:allowed";class be extends e{constructor(e){super(be.eventName,{detail:e})}}be.eventName="license:denied";class Ee extends e{constructor(e){super(Ee.eventName,{detail:e})}}Ee.eventName="license:error";let we={Allowed:ye,Denied:be,Error:Ee};class Te extends e{constructor(){super(Te.eventName)}}Te.eventName="pitch:time";let Se={TimeReached:Te};class ke extends e{constructor(e){super(ke.eventName,{detail:e})}}ke.eventName="player:blocked";class _e extends e{constructor(e){super(_e.eventName,{detail:e})}}_e.eventName="player:config-updated";class Ae extends e{constructor(){super(Ae.eventName)}}Ae.eventName="player:offline";class Le extends e{constructor(){super(Le.eventName)}}Le.eventName="player:online";class xe extends e{constructor(e){super(xe.eventName,{detail:e})}}xe.eventName="player:ready";class Re extends e{constructor(){super(Re.eventName)}}Re.eventName="player:resize";class Ie extends e{constructor(e){super(Ie.eventName,{detail:e})}}Ie.eventName="player:unblocked";let o={Blocked:ke,ConfigUpdated:_e,Offline:Ae,Online:Le,Ready:xe,Resize:Re,Unblocked:Ie};class Pe extends e{constructor(e){super(Pe.eventName,{detail:e})}}Pe.eventName="preload:expired";class Ce extends e{constructor(e){super(Ce.eventName,{detail:e})}}Ce.eventName="preload:removed";let De={Expired:Pe,Removed:Ce};class Oe extends e{constructor(){super(Oe.eventName)}}Oe.eventName="smartautoplay:active";class Me extends e{constructor(e){super(Me.eventName,{detail:e})}}Me.eventName="smartautoplay:inactive";class Fe extends e{constructor(){super(Fe.eventName)}}Fe.eventName="smartautoplay:play";class Ne extends e{constructor(e){super(Ne.eventName,{detail:e})}}Ne.eventName="smartautoplay:selected";class Ue extends e{constructor(){super(Ue.eventName)}}Ue.eventName="smartautoplay:video-ready";class $e extends e{constructor(e){super($e.eventName,{bubbles:!0,composed:!0,detail:e})}}$e.eventName="background-probe:iframe-trigger-updated";class Be extends e{constructor(){super(Be.eventName)}}Be.eventName="background-probe:iframe-interaction";let je={IframeTriggerUpdated:$e,IframeUserInteraction:Be},r={Active:Oe,Inactive:Me,Play:Fe,Selected:Ne,VideoReady:Ue};(t=se=se||{}).HIGH="high",t.LOW="low",t.MEDIUM="medium";class Ve extends Event{constructor(e,t,i,r){super("context-request",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=i,this.subscribe=r??!1}}class Ge{constructor(e,t,i,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,void 0!==t.context){let e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=i,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new Ve(this.context,this.host,this.t,this.subscribe))}}class ze extends Event{constructor(e,t){super("context-provider",{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}}class He extends class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){t=t||!Object.is(e,this.o);this.o=e,t&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(var[e,{disposer:t}]of this.subscriptions)e(this.o,t)},void 0!==e&&(this.value=e)}addCallback(e,t,i){i?(this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t}),i=this.subscriptions.get(e).disposer,e(this.value,i)):e(this.value)}clearCallbacks(){this.subscriptions.clear()}}{constructor(e,t,i){super(void 0!==t.context?t.initialValue:i),this.onContextRequest=e=>{var t;e.context===this.context&&(t=e.contextTarget??e.composedPath()[0])!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{if(e.context===this.context&&(e.contextTarget??e.composedPath()[0])!==this.host){var i=new Set;for(let[e,{consumerHost:t}]of this.subscriptions)i.has(e)||(i.add(e),t.dispatchEvent(new Ve(this.context,t,e,!0)));e.stopPropagation()}},this.host=e,void 0!==t.context?this.context=t.context:this.context=t,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new ze(this.context,this.host))}}function Ke({context:e,subscribe:r}){return(t,i)=>{"object"==typeof i?i.addInitializer(function(){new Ge(this,{context:e,callback:e=>{t.set.call(this,e)},subscribe:r})}):t.constructor.addInitializer(t=>{new Ge(t,{context:e,callback:e=>{t[i]=e},subscribe:r})})}}let We=({delay:t,isReady:i,shouldResolveImmediately:r=!0,timeout:s})=>{let a=null,n=null;return new Promise(e=>{if(r&&i())return e(!0);a=setTimeout(()=>{n&&clearInterval(n),a&&clearTimeout(a),e(!1)},s),n=setInterval(()=>{i()&&(n&&clearInterval(n),a&&clearTimeout(a),e(!0))},t)})},qe=({prefix:e,suffix:t}={})=>void 0!==window.crypto&&"function"==typeof window.crypto.randomUUID?""+(null!=e?e:"")+window.crypto.randomUUID()+(null!=t?t:""):""+(null!=e?e:"")+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})+(null!=t?t:"");class Ye{constructor(e,t){this.value=e,this.next=t}hasReference(e){let t=this.next;if(this.value===e)return!0;for(;t;){if(t.value===e)return!0;t=t.next}return!1}}let Xe=e=>e instanceof Object,Qe=e=>!!Xe(e)&&function t(i,r){r=new Ye(i,r);for(var s in i){let e=i[s];if(Xe(e)&&(r.hasReference(e)||t(e,r)))return!0}return!1}(e,null);class Ze extends Error{constructor(e,t,i,r,s){super(e),this.module=t,this.traceId=i,this.spanId=r,this.metadata=s}}class Je extends Error{constructor(e,t,i,r,s,a){super(e),this.module=t,this.traceId=i,this.spanId=r,this.network=s,this.metadata=a}}let et=()=>/chrome/i.test(window.navigator.userAgent),tt={debug:"",error:"",info:"",trace:"",warning:""},it="",rt=(e,t,i)=>{e=[`${e=e,et()?`${tt[e]}[${e.toLocaleUpperCase()}]:`+it:e.toLocaleUpperCase()} `+t];return i&&e.push(i),e},st=["trace","debug","info","warning","error"],at=e=>{try{var t=/^\[(.*)\]|^(\w+):\s/g.exec(e);return(null==t?void 0:t[1])||(null==t?void 0:t[2])||"Unknown"}catch(e){return"Unknown"}},nt=()=>"deviceMemory"in navigator&&"number"==typeof navigator.deviceMemory?1024*navigator.deviceMemory*1024*1024:void 0;class ot{constructor(e){this.loggerOptions=e,this.traceId=null,this.contexts={},this.sentryKey="c66faa8e28e47bb7a9baa128334e4b48",this.sentryUrl="https://sentry.io/api/4509130195468288/envelope/"}send(e,t){this.request(e,t)}stackToFrame(e){let s=/at (.*) \((.*):(\d+):(\d+)\)/;return e.split("\n").map(e=>{var t,i,r,e=e.match(s);return e?([,e,t,i,r]=e,{colno:parseInt(r),filename:t,function:e,in_app:!0,lineno:parseInt(i)}):null}).filter(e=>null!==e)}safeObject(e){try{if(!Qe(e))return e}catch(e){}}buildEnvelope(e,t){return JSON.stringify({breadcrumbs:t.map(e=>Object.assign(Object.assign({},e),{data:this.safeObject(e.data)})),contexts:{device:this.deviceContext(),gpu:this.gpuContext()},environment:"production",event_id:qe(),exception:{values:[{value:e.message,module:e.module,stacktrace:{frames:this.stackToFrame(e.stack||"")}}]},extra:{metadata:this.safeObject(e.metadata),player_configs:this.loggerOptions.player_configs,device_id:this.loggerOptions.device_id,session_id:this.loggerOptions.session_id,referer:document.referrer,url:window.location.href,network:e instanceof Je?{response:{status:null==(t=e.network.response)?void 0:t.status,statusText:null==(t=e.network.response)?void 0:t.statusText,body:null==(t=e.network.response)?void 0:t.body},request:{url:e.network.request.url,method:e.network.request.method,headers:e.network.request.headers,data:e.network.request.body}}:void 0},level:"error",logger:"smartplayer",platform:"javascript",release:"smartplayer@4.24.0",request:e instanceof Je?{url:e.network.request.url,method:e.network.request.method,headers:e.network.request.headers,data:e.network.request.body}:void 0,sdk:{integrations:["Logger"],name:"smartplayer",version:"4.24.0"},server_name:window.location.hostname,timestamp:(new Date).getTime()/1e3,transaction:e.module||"Unknown",user:{id:null==(t=this.loggerOptions.player_configs)?void 0:t.oid,ip_address:"{{auto}}"}})}deviceContext(){var e;return this.contexts.device||(this.contexts.device={arch:navigator.platform,device_type:/Mobi|Android|iPhone|iPad|Windows Phone/i.test(navigator.userAgent)?"Handheld":"Desktop",family:navigator.platform,language:navigator.language,manufacturer:navigator.vendor||void 0,memory_size:nt(),model:navigator.userAgent.split(/[()]/)[1],name:navigator.userAgent,online:navigator.onLine,orientation:null!=(e=null==(e=window.screen.orientation)?void 0:e.type)&&e.includes("portrait")?"portrait":"landscape",processor_count:navigator.hardwareConcurrency,screen_density:window.devicePixelRatio,screen_height_pixels:window.screen.height,screen_resolution:window.screen.width+"x"+window.screen.height,screen_width_pixels:window.screen.width,supports_accelerometer:"DeviceMotionEvent"in window,supports_audio:"AudioContext"in window,supports_gyroscope:"DeviceOrientationEvent"in window,supports_location_service:"geolocation"in navigator,supports_vibration:"vibrate"in navigator,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}),this.contexts.device}gpuContext(){var e,t;return this.contexts.gpu||(this.contexts.gpu={api_type:window.WebGLRenderingContext?"WebGL":"Unknown",memory_size:nt(),multi_threaded_rendering:!1,name:(t=(t=document.createElement("canvas")).getContext("webgl")||t.getContext("experimental-webgl"))&&(e=t.getExtension("WEBGL_debug_renderer_info"))?t.getParameter(e.UNMASKED_RENDERER_WEBGL):"Unknown",npot_support:document.createElement("canvas").getContext("webgl")?"Full":"Unknown",vendor_name:(t=(t=document.createElement("canvas")).getContext("webgl")||t.getContext("experimental-webgl"))&&(e=t.getExtension("WEBGL_debug_renderer_info"))?t.getParameter(e.UNMASKED_VENDOR_WEBGL):"Unknown",version:(t=document.createElement("canvas").getContext("webgl"))?t.getParameter(t.VERSION):"Unknown"}),this.contexts.gpu}request(e,t){var i=new XMLHttpRequest;i.open("POST",this.sentryUrl,!0),i.setRequestHeader("Content-Type","text/plain;charset=UTF-8"),i.setRequestHeader("X-Sentry-Auth",`Sentry sentry_version=7, sentry_key=${this.sentryKey}, sentry_client=smartplayer/4.1.0`),i.withCredentials=!1,i.send(this.buildEnvelope(e,t))}}class lt{constructor(e){this.shouldDisplayLog=e}debug(e,t){this.shouldDisplayLog("debug",e)&&console.debug(...rt("debug",e,t))}error(e,t){this.shouldDisplayLog("error",e)&&console.error(...rt("error",e,t))}info(e,t){this.shouldDisplayLog("info",e)&&console.info(...rt("info",e,t))}trace(e,t){this.shouldDisplayLog("trace",e)&&console.debug(...rt("trace",e,t))}warning(e,t){this.shouldDisplayLog("warning",e)&&console.warn(...rt("warning",e,t))}}class ht{constructor(e,t){this.shouldDisplayLog=e,this.onEnd=t,this.level="debug",this.description="",this.messages=[],this.logMessage=new lt(()=>!0)}group(e,t){return this.level=e,this.description=t,this}message(e,t){return this.messages.push({message:e,metadata:t}),this}end(){if(this.onEnd(this.level,this.description,this.messages),this.shouldDisplayLog(this.level,this.description)){console.groupCollapsed(...rt(this.level,this.description));let t=(this.logMessage[this.level]||this.logMessage.info).bind(this.logMessage);this.messages.forEach(e=>t(e.message,e.metadata)),console.groupEnd()}}}let dt=["trace","debug","info","warning","error"];class s{constructor(e,t={}){this.named=e,this.options=t,this.breadcrumb=[],this.onGroupEnd=(e,t,i)=>{this.addCrumb("trace"===e?"debug":e,t,i),"error"===e&&this.sendErrorToMiddleware(t,i)},this.sendNetworkErrorToMiddleware=(e,t)=>{try{this.errorMiddleware.send(({traceId:i,message:r,network:s,metadata:a}=[{traceId:this.traceId,message:e,network:t}][0],n=at(r),new Je(r,n,i,qe(),s,a)),this.breadcrumb)}catch(e){console.error(e)}var i,r,s,a,n},this.sendErrorToMiddleware=(e,t)=>{try{this.errorMiddleware.send(({traceId:i,message:r,metadata:s}=[{traceId:this.traceId,message:e,metadata:t}][0],a=at(r),new Ze(r,a,i,qe(),s)),this.breadcrumb)}catch(e){console.error(e)}var i,r,s,a},this.addCrumb=(e,t,i)=>{this.breadcrumb.push({level:e,message:t,data:i,timestamp:(new Date).getTime()/1e3}),5{var i,t=dt.indexOf(t),r=dt.indexOf(s.level);try{return null!=(i=s.searchMatch)&&i.length&&e?new RegExp(decodeURIComponent(s.searchMatch),"i").test(e)&&r<=t:r<=t}catch(e){return r<=t}},this.prefixedMessage=e=>this.named?this.named+": "+e:e;var{logLevel:e,searchMatch:t}=(()=>{try{var e=new URL(window.location.href),t=e.searchParams.get("logLevel");return{logLevel:t&&st.includes(t.toLocaleLowerCase())?t:null,searchMatch:e.searchParams.get("logMatch")}}catch(e){return{logLevel:null,searchMatch:null}}})();e&&(s.level=e),t&&(s.searchMatch=t),s.traceId||(s.traceId=qe()),this.errorMiddleware=new ot(this.options),this.logMessage=new lt((e,t)=>this.shouldDisplayLog(e,t))}get traceId(){return s.traceId}get level(){return s.level}set loggerOptions(e){this.options=Object.assign(Object.assign({},this.options),e),this.errorMiddleware.loggerOptions=this.options}debug(e,t){this.addCrumb("debug",e,t),this.logMessage.debug(this.prefixedMessage(e),t)}network(e,t){this.addCrumb("error",e,t),this.sendNetworkErrorToMiddleware(e,t),this.logMessage.error(this.prefixedMessage(e),t)}error(e,t){this.addCrumb("error",e,t),this.sendErrorToMiddleware(e,t),this.logMessage.error(this.prefixedMessage(e),t)}info(e,t){this.addCrumb("info",e,t),this.logMessage.info(this.prefixedMessage(e),t)}trace(e,t){this.addCrumb("debug",e,t),this.logMessage.trace(this.prefixedMessage(e),t)}warn(e,t){this.addCrumb("warning",e,t),this.logMessage.warning(this.prefixedMessage(e),t)}group(e,t){return new ht(()=>this.shouldDisplayLog(e,t),this.onGroupEnd).group(e,this.prefixedMessage(t))}}s.level="warning",s.searchMatch=void 0;class ct{get config(){return this.player.config}constructor(e){this.player=e,this.mounted=!1,this.logger=new s(this.constructor.controllerName,{player_configs:e.config}),this.player.addController(this)}hostConnected(){this.checkRequirements()&&(this.init(),this.mount())}hostUpdated(){!this.mounted&&this.checkRequirements()&&(this.init(),this.mount())}init(){this.logger.error("method not implemented")}checkRequirements(){return this.logger.trace("checking requirements"),this.constructor.requirements.every(e=>e(this.player))}mount(){this.mounted=!0}}ct.controllerName="PlayerController",ct.requirements=[];var ut,pt=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})},ft=function(e,t,i,r){if("a"===i&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e===t&&r:t.has(e))return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e);throw new TypeError("Cannot read private member from an object whose class did not declare it")};class gt extends ct{constructor(){super(...arguments),ut.set(this,{finished:!1,resume:!1,smartAutoPlay:!1})}get blockers(){return Object.assign(Object.assign({},ft(this,ut,"f")),{played:this.player.playback.played})}anyBlocker(...e){return e.some(e=>this.blockers[e])}init(){this.logger.debug("init")}anyBlockerAsync(e){return pt(this,arguments,void 0,function*(e,t=100){return We({timeout:t,delay:10,isReady:()=>this.anyBlocker(...e),shouldResolveImmediately:!1})})}block(e){this.blockers[e]||(this.logger.info("block "+e),ft(this,ut,"f")[e]=!0,this.player.dispatchEvent(new o.Blocked({blocker:e})),this.player.deepUpdate(),this.logger.debug("Blocking "+e))}noneBlocker(...e){return e.every(e=>!this.blockers[e])}noneBlockerAsync(e){return pt(this,arguments,void 0,function*(e,t=100){return!(yield this.anyBlockerAsync(e,t))})}unblock(e){this.blockers[e]&&(this.logger.info("unblock "+e),ft(this,ut,"f")[e]=!1,this.player.dispatchEvent(new o.Unblocked({blocker:e})),this.player.deepUpdate(),this.logger.debug("Unblocking "+e))}}ut=new WeakMap,gt.controllerName="BlockerController";class mt extends e{constructor(e){super(mt.eventName,{bubbles:!0,composed:!0,detail:e})}}mt.eventName="analytics:event";class vt extends e{constructor(e){super(vt.eventName,{bubbles:!0,composed:!0,detail:e})}}vt.eventName="analytics:exited-click";class yt extends e{constructor(e){super(yt.eventName,{bubbles:!0,composed:!0,detail:e})}}yt.eventName="analytics:metric";let l={Event:mt,ExitedClick:vt,Metric:yt};var bt=Object.prototype.hasOwnProperty;function Et(e,t,i){for(i of e.keys())if(wt(i,t))return i}function wt(e,t){var i,r,s;if(e===t)return 1;if(e&&t&&(i=e.constructor)===t.constructor){if(i===Date)return e.getTime()===t.getTime();if(i===RegExp)return e.toString()===t.toString();if(i===Array){if((r=e.length)===t.length)for(;r--&&wt(e[r],t[r]););return-1===r}if(i===Set){if(e.size!==t.size)return;for(r of e){if((s=r)&&"object"==typeof s&&!(s=Et(t,s)))return;if(!t.has(s))return}return 1}if(i===Map){if(e.size!==t.size)return;for(r of e){if((s=r[0])&&"object"==typeof s&&!(s=Et(t,s)))return;if(!wt(r[1],t.get(s)))return}return 1}if(i===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(i===DataView){if((r=e.byteLength)===t.byteLength)for(;r--&&e.getInt8(r)===t.getInt8(r););return-1===r}if(ArrayBuffer.isView(e)){if((r=e.byteLength)===t.byteLength)for(;r--&&e[r]===t[r];);return-1===r}if(!i||"object"==typeof e){for(i in r=0,e){if(bt.call(e,i)&&++r&&!bt.call(t,i))return;if(!(i in t&&wt(e[i],t[i])))return}return Object.keys(t).length===r}}return e!=e&&t!=t}class Tt{constructor(e){this.host=e,this._changedProperties=new Map,this._firstUpdated=!1,this._previousValues=new Map,this._trackedProperties=[],this.logger=new s(this.constructor.name),e.addController({hostConnected:()=>{var e;this._snapshotValues(),this.logger.debug("hostConnected"),null!=(e=this.hostConnected)&&e.call(this)},hostDisconnected:()=>{var e;this.logger.debug("hostDisconnected"),null!=(e=this.hostDisconnected)&&e.call(this)},hostUpdate:()=>{var e;this._changedProperties=this._computeChangedProperties(),this._logChangedProperties("hostUpdate"),null!=(e=this.hostUpdate)&&e.call(this,this._changedProperties)},hostUpdated:()=>{var e;this._firstUpdated||(this._firstUpdated=!0,null!=(e=this.firstUpdated)&&e.call(this,this._computeChangedProperties(new Map))),this._snapshotValues(),this._logChangedProperties("hostUpdated"),null!=(e=this.hostUpdated)&&e.call(this,this._changedProperties)}})}trackProperties(...t){for(let e of t)this._trackedProperties.push({getter:()=>this.host[e],key:e})}_computeChangedProperties(e=this._previousValues){var t,i,r=new Map;for({getter:t,key:i}of this._trackedProperties){var s=t(),a=e.get(i);wt(a,s)||r.set(i,a)}return r}_logChangedProperties(e){0{var e;this.blockClose||this.player.playback.paused||(clearTimeout(this.showControlsTimeout),e=this.player.player,this.logger.debug("hide controls"),e.classList.remove("show-controls"),this.player.dispatchEvent(new xt.Inactive))},this.onFirstPlay=()=>{this.show(),this.player.removeEventListener(a.Play,this.onFirstPlay)},this.onKeyBindingBlocker=()=>{this.blockClose=!this.blockClose},this.show=()=>ii(this,void 0,void 0,function*(){try{var e;this.player.controllers.blockers.anyBlocker("resume","smartAutoPlay")||this.player.controllers.blockers.anyBlocker("played")&&(clearTimeout(this.showControlsTimeout),e=this.player.player,this.showControlsTimeout=setTimeout(()=>{this.blockClose?this.show():this.hide()},ri.hideTime),e.classList.add("show-controls"),this.player.dispatchEvent(new xt.Active))}catch(e){this.logger.error("Error showing controls",e)}}),this.touch=(e,t)=>ii(this,void 0,void 0,function*(){try{this.player.controllers.blockers.anyBlocker("played")&&(e.preventDefault(),e.stopPropagation(),this.player.pauseOneTouch?(t(),this.show()):this.showing?t():this.show())}catch(e){this.logger.error("Error handling touch event",e)}}),this.keyBindingBlocker=((t,i)=>{let r=0;return e=>{e.key===t[r]?++r===t.length&&(i(),r=0):r=0}})(["v","c","b"],this.onKeyBindingBlocker)}dispatchCloser(){this.player.dispatchEvent(new xt.BarCloser)}init(){return ii(this,void 0,void 0,function*(){this.doc.addEventListener("keydown",this.keyBindingBlocker),this.player.addEventListener(a.Play,this.onFirstPlay,{once:!0})})}}ri.controllerName="BarController",ri.hideTime=3500;var si=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class ai extends ct{constructor(){super(...arguments),this.state={action_buttons:[],controls_hide_time:ri.hideTime,controls_items:{},current_time:0,default_config:this.player.config,fakebar_active:!1,fakebar_progress:0,fakebar_width:0,headline_active:!1,headline_changed:null,minihook_active:!1,minihook_items:[],resume_action:"",resume_initialized:!1,resume_running:!1,smartautoplay_initialized:!1,smartautoplay_running:!1,smartautoplay_selected:null,subtitle_active:!1,subtitle_config:null,subtitle_multiplier:1,turbo_active:!1,turbo_speed:1,turbo_type:"single",video_duration:0,video_muted:!1,video_playing:!1}}get info(){var e;return Object.assign(Object.assign({},this.state),{controls_hide_time:ri.hideTime,current_time:this.player.playback.currentTime,default_config:this.player.config,video_duration:this.player.playback.duration,video_height:null==(e=this.player.playback.video)?void 0:e.videoHeight,video_muted:this.player.playback.muted,video_playing:!this.player.playback.paused,video_poster:null==(e=this.player.playback.video)?void 0:e.poster,video_src:null==(e=this.player.playback.video)?void 0:e.src,video_volume:this.player.playback.volume,video_width:null==(e=this.player.playback.video)?void 0:e.videoWidth})}init(){return si(this,void 0,void 0,function*(){})}}ai.controllerName="FeaturesController";let ni=()=>/mobile/i.test(window.navigator.userAgent),oi=e=>e.active&&(ni()?e.mobile:e.desktop);class li extends Tt{constructor(){super(...arguments),this._isFeatureEnabled=!1,this.hostConnected=()=>{this._isFeatureEnabled=this.isEnabled(),this._isFeatureEnabled&&this.enableFeature()},this.hostDisconnected=()=>this.disableFeature()}reevaluateFeatureState(){var e=this.isEnabled();e!==this._isFeatureEnabled&&((this._isFeatureEnabled=e)?this.enableFeature():this.disableFeature())}}let hi=["fullscreenchange","mozfullscreenchange","msfullscreenchange","MSFullscreenChange","webkitfullscreenchange"];class di extends li{get currentFullscreenElement(){return document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement}get inFullscreen(){var e;return null!=(e=null==(e=this.host.player)?void 0:e.classList.contains("in-fullscreen"))&&e}constructor(e){super(e),this.disableFeature=()=>{this.minimize(),document.removeEventListener("keydown",this.onKeyDown),this.host.removeEventListener(n.Expand,this.onFullscreenExpand),this.host.removeEventListener(n.Minimize,this.onFullscreenMinimize),this.host.removeEventListener(n.Toggle,this.onFullscreenToggle),hi.forEach(e=>document.removeEventListener(e,this.onFullscreenChange))},this.enableFeature=()=>{document.addEventListener("keydown",this.onKeyDown),this.host.addEventListener(n.Expand,this.onFullscreenExpand,{passive:!0}),this.host.addEventListener(n.Minimize,this.onFullscreenMinimize,{passive:!0}),this.host.addEventListener(n.Toggle,this.onFullscreenToggle,{passive:!0}),hi.forEach(e=>document.addEventListener(e,this.onFullscreenChange,{passive:!0}))},this.isEnabled=()=>!oi(this.host.config.immersiveMode),this.cancelFullscreenBrowser=()=>{document.fullscreenElement&&(document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msCancelFullScreen?document.msCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen())},this.expand=()=>{var e;this.logger.debug("Entering fullscreen mode"),this.requestFullscreenBrowser(),null!=(e=this.host.player)&&e.classList.add("in-fullscreen"),this.host.dispatchEvent(new n.Entered({type:"fullscreen"}))},this.minimize=()=>{var e;this.logger.debug("Exiting fullscreen mode"),null!=(e=this.host.player)&&e.classList.remove("in-fullscreen"),this.cancelFullscreenBrowser(),this.host.dispatchEvent(new n.Exited({type:"fullscreen"}))},this.onFullscreenChange=()=>{this.logger.debug("Fullscreen state changed",{browserFullscreenElement:this.currentFullscreenElement,playerFullscreenClass:this.inFullscreen}),!this.currentFullscreenElement&&this.inFullscreen&&this.minimize()},this.onFullscreenExpand=()=>this.expand(),this.onFullscreenMinimize=()=>this.minimize(),this.onFullscreenToggle=()=>{this.inFullscreen?this.minimize():this.expand()},this.onKeyDown=e=>{"Escape"===e.key&&this.inFullscreen&&this.minimize()},this.requestFullscreenBrowser=()=>{!ni()&&this.host.player&&(this.host.player.requestFullscreen?this.host.player.requestFullscreen():this.host.player.mozRequestFullScreen?this.host.player.mozRequestFullScreen():this.host.player.webkitRequestFullscreen?this.host.player.webkitRequestFullscreen():this.host.player.msRequestFullscreen?this.host.player.msRequestFullscreen():this.host.player.webkitEnterFullscreen&&this.host.player.webkitEnterFullscreen())},this.trackProperties("config")}hostUpdate(e){if(e.has("config"))return this.reevaluateFeatureState()}}let ci=(e,t)=>Math.floor(t-e);class ui extends ct{constructor(){super(...arguments),this.win=window,this.buffering_start_time=null,this.lost_connection_time=null,this.video_segments_loaded=[],this.onBufferingStart=()=>{this.buffering_start_time||(this.buffering_start_time=Date.now(),this.trackBufferingStart())},this.onBufferingEnd=()=>{this.buffering_start_time&&(this.trackBufferingEnd(ci(this.buffering_start_time,Date.now())),this.buffering_start_time=null)},this.onLostConnection=()=>{this.lost_connection_time||(this.lost_connection_time=Date.now())},this.onRecoveredConnection=()=>{this.lost_connection_time&&(this.trackLostConnection(ci(this.lost_connection_time,Date.now())),this.lost_connection_time=null)}}get pageLoadTime(){return this.win._plt}get timeSincePageLoad(){return ci(this.pageLoadTime,Date.now())}init(){this.trackTTPI(),this.player.addEventListener(a.Play,()=>{setTimeout(()=>{this.player.addEventListener(a.Waiting,this.onBufferingStart),this.player.addEventListener(a.Canplay,this.onBufferingEnd)},500)},{once:!0}),this.player.addEventListener(o.Offline,this.onLostConnection),this.player.addEventListener(o.Online,this.onRecoveredConnection),this.player.addEventListener(o.Ready,()=>this.trackTTMP(),{once:!0})}destroy(){this.player.removeEventListener(a.Waiting,this.onBufferingStart),this.player.removeEventListener(a.Canplay,this.onBufferingEnd),this.player.removeEventListener(o.Offline,this.onLostConnection),this.player.removeEventListener(o.Online,this.onRecoveredConnection)}trackTTFF(){try{this.player.dispatchEvent(new l.Metric({type:"player.ttff",value:this.timeSincePageLoad}))}catch(e){this.logger.error("Error tracking ttff",e)}}trackTTPI(){try{this.player.dispatchEvent(new l.Metric({type:"player.ttpi",value:this.timeSincePageLoad}))}catch(e){this.logger.error("Error tracking ttpi",e)}}trackTTMP(){try{this.player.dispatchEvent(new l.Metric({type:"player.ttmp",value:this.timeSincePageLoad}))}catch(e){this.logger.error("Error tracking ttmp",e)}}trackBufferingStart(){try{this.player.dispatchEvent(new l.Metric({type:"player.buffering",value:1}))}catch(e){this.logger.error("Error tracking buffering rate",e)}}trackBufferingEnd(e){try{this.player.dispatchEvent(new l.Metric({type:"player.buffering_duration",value:e}))}catch(e){this.logger.error("Error tracking buffering end",e)}}trackLostConnection(e){try{this.player.dispatchEvent(new l.Metric({type:"player.lost_connection",value:1})),this.player.dispatchEvent(new l.Metric({type:"player.lost_connection_duration",value:e}))}catch(e){this.logger.error("Error tracking lost connection",e)}}trackAverageVideoDownload(e){try{this.logger.debug("Tracking video download speed",{segments:[...e]});var t=(e=>{var{duration:t,size:i}=e.reduce((e,t)=>(e.size+=t.bytes/1e3,e.duration+=t.request.end-t.request.start,e),{duration:0,size:0});return{duration:t/e.length,size:i/e.length}})(e),i=8*t.size,r=t.duration/1e3;this.player.dispatchEvent(new l.Metric({type:"player.segment_download_avg_duration_ms",value:t.duration})),this.player.dispatchEvent(new l.Metric({type:"player.segment_download_avg_size_kb",value:t.size})),this.player.dispatchEvent(new l.Metric({type:"player.average_connection_speed_kbps",value:i/r}))}catch(e){this.logger.error("Error tracking download speed",e)}}trackVideoSegmentLoaded(e){try{this.logger.debug("Tracking video segment",{segment:e}),this.video_segments_loaded.push(e),5===this.video_segments_loaded.length&&this.trackAverageVideoDownload(this.video_segments_loaded)}catch(e){this.logger.error("Error tracking video segment loaded",e)}}}ui.controllerName="KPIsController";let pi=(e,t)=>{var i=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;return!!i&&i.call(e,t)},fi=(t,i)=>{try{if(t){if("function"==typeof t.closest)return t.closest(i);if(pi(t,i))return t;let e=t.parentElement;for(;e;){if(pi(e,i))return e;e=e.parentElement}}return null}catch(e){return null}};var gi=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};let mi=["vturb-smartplayer","vturb-anchor-button","vturb-custom-html"];class vi extends ct{constructor(){super(...arguments),this._updaters={medium:[],high:[],low:[]},this.win=window,this.injectBrowserSearchParams=(t,r)=>{try{if(!r||!mi.some(e=>fi(r,e)))return t;let i=new URL(t,this.win.location.href);return this.baseSearchParams.forEach((e,t)=>i.searchParams.set(t,e)),i.toString()}catch(e){return this.logger.error("Failed to update URL",{error:e}),t}},this.registerUrlUpdater=(e,t)=>{this.logger.trace("registerUrlUpdater",{priority:e,updater:t}),(e===se.HIGH?this._updaters.high:e===se.MEDIUM?this._updaters.medium:this._updaters.low).push(t)}}get updaters(){return[...this._updaters.low,...this._updaters.medium,...this._updaters.high]}init(){return gi(this,void 0,void 0,function*(){this.baseSearchParams=new URLSearchParams(this.win.location.search),this.baseSearchParams.delete("vl"),this._updaters.low.push(this.injectBrowserSearchParams)})}}vi.controllerName="LinksController";var yi=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class bi extends ct{constructor(){super(...arguments),this.currentPitchTime=null,this.playerConfigUpdated=e=>{try{this.logger.group("debug","playerConfigUpdated").message("pitchTime",e.detail.player.config.pitchTime).end();let t=e.detail.player.config.pitchTime;this.currentPitchTime!==t&&t&&0!==t&&(this.currentPitchTime=t,this.player.removeEventListener(a.TimeupdateMs,this.currentCallback),this.currentCallback=e=>{e.detail.time>=t&&this.player.playback.played&&(this.player.dispatchEvent(new Se.TimeReached),this.player.removeEventListener(a.TimeupdateMs,this.currentCallback))},this.player.addEventListener(a.TimeupdateMs,this.currentCallback))}catch(e){this.logger.error("Failed to update pitch time",{error:e})}},this.currentCallback=()=>{}}init(){return yi(this,void 0,void 0,function*(){this.player.addEventListener(o.ConfigUpdated,this.playerConfigUpdated)})}}bi.controllerName="PitchTimeController";var Ei=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class wi extends ct{constructor(){super(...arguments),this.callActionSelector=".smartplayer-scroll-event, .smartplayer-call-action, vturb-anchor-button, .smartplayer-callaction__html",this.delay=700,this.doc=document}init(){this.logger.debug("init"),this.player.config.playback.active&&(this.player.config.playback.actionAfterFinish&&"loop"===this.player.config.playback.actionAfterFinish.type&&this.setActionAfterFinishLoop(this.player.config.playback.actionAfterFinish),this.player.config.playback.scrollToActionIn)&&this.setScrollToActionIn(this.player.config.playback.scrollToActionIn)}setActionAfterFinishLoop(t){this.logger.debug("setActionAfterFinishLoop"),this.player.addEventListener(a.Ended,()=>Ei(this,void 0,void 0,function*(){var e;this.logger.info("video ended",{action:t}),this.player.playback.seek(null!=(e=null==(e=t.properties)?void 0:e.start)?e:0),yield this.player.playback.play()}))}setScrollToActionIn(t){this.logger.info("setScrollToActionIn",{scrollToActionIn:t});let i=e=>{e.detail.time>=t&&(this.player.dispatchEvent(new n.Minimize),setTimeout(()=>{var e,t=[...Array.from(this.doc.querySelectorAll(this.callActionSelector)),...Array.from(this.player.querySelectorAll(this.callActionSelector))];0e];var Si=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class ki extends ct{hostDisconnected(){var e;null!=(e=this.resizeObserver)&&e.disconnect()}init(){return Si(this,void 0,void 0,function*(){this.logger.debug("init");var e=Ti(100,()=>{var e;this.logger.debug("resize"),this.player.requestUpdate(),this.player.dispatchEvent(new o.Resize),this.player.height=null!=(e=null==(e=this.player.player)?void 0:e.clientHeight)?e:0,this.player.width=null!=(e=null==(e=this.player.player)?void 0:e.clientWidth)?e:0});this.resizeObserver=new ResizeObserver(e),this.resizeObserver.observe(this.player.player),e()})}}ki.controllerName="ResizerController",ki.requirements=[({player:e,ready:t})=>t&&!!e];class _i extends e{constructor(){super(_i.eventName)}}_i.eventName="smart-pause:paused";class Ai extends e{constructor(){super(Ai.eventName)}}Ai.eventName="smart-pause:resumed";let Li={Paused:_i,Resumed:Ai},xi=()=>new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())));var Ri=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};let Ii=(e,...t)=>Ri(void 0,[e,...t],void 0,function*(e,t={}){if(e){var{behavior:i="smooth",offset:r=0}=t;if(!e.offsetParent)return We({delay:0,isReady:()=>!!e.offsetParent,timeout:1e4}).then(()=>Ii(e,t));yield xi();var s=e.getBoundingClientRect(),a=window.innerHeight/2,n=s.height/2;window.scrollTo({behavior:i,left:0,top:s.top+window.scrollY-(a{this.isLocked||(this.isLocked=!0,this.captureStyles(),this.lockBodyScroll(),this.setFixedPosition(e,!0))},this.unlock=e=>{this.isLocked&&(this.isLocked=!1,this.unlockBodyScroll(),this.setFixedPosition(e,!1))},this.captureStyles=()=>{var e=getComputedStyle(document.body);this.bodySavedStyles={overflowX:e.overflowX,overflowY:e.overflowY,zIndex:e.zIndex}},this.lockBodyScroll=()=>{document.body.style.setProperty("overflow-x","hidden","important"),document.body.style.setProperty("overflow-y","hidden","important"),document.body.style.setProperty("z-index","auto","important")},this.setFixedPosition=(e,t)=>e.classList.toggle("fixed",t),this.unlockBodyScroll=()=>{document.body.style.setProperty("overflow-x",this.bodySavedStyles.overflowX||"hidden"),document.body.style.setProperty("overflow-y",this.bodySavedStyles.overflowY||"auto"),document.body.style.setProperty("z-index",this.bodySavedStyles.zIndex||"auto")}}}var Ci=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};var Di=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class Oi extends li{get config(){return this.host.config.immersiveMode}get inImmersiveMode(){var e;return null!=(e=null==(e=this.host.immersiveWrapper)?void 0:e.classList.contains("immersive-mode"))&&e}get visibleRatio(){return(e=this.host.immersiveWrapper)&&({bottom:e,height:t,top:i}=e.getBoundingClientRect(),e=Math.max(0,Math.min(window.innerHeight,e)-Math.max(0,i)),0{if(!this.host.immersiveWrapper)return this.logger.error("syncImmersivePosition","immersiveWrapper not found");var i;i=this.host.immersiveWrapper,Ci(void 0,void 0,void 0,function*(){yield xi();var e=i.getBoundingClientRect(),t=Math.max(0,window.innerWidth-document.documentElement.clientWidth);i.style.setProperty("--immersive-mode-scrollbar-width",t+"px"),i.style.setProperty("--immersive-mode-left",`-${e.left}px`)})},this.onWindowResize=Ti(16,()=>this.syncImmersivePosition()),this.scrollLockService=new Pi,this.disableFeature=()=>{this.host.removeEventListener(a.Play,this.onVideoPlay),this.host.removeEventListener(a.Pause,this.onVideoPause),this.host.removeEventListener(Li.Paused,this.onSmartPauseAction),this.host.removeEventListener(Li.Resumed,this.onSmartPauseAction),this.host.removeEventListener(n.Expand,this.onFullscreenExpand),this.host.removeEventListener(n.Minimize,this.onFullscreenMinimize),this.host.removeEventListener(n.Toggle,this.onFullscreenToggle),window.removeEventListener("resize",this.onWindowResize),window.removeEventListener("orientationchange",this.onOrientationChange),window.removeEventListener("keydown",this.onKeyDown),this.clearIgnoreNextAction(),this.exitImmersiveMode()},this.enableFeature=()=>{this.host.addEventListener(a.Play,this.onVideoPlay,{passive:!0}),this.host.addEventListener(a.Pause,this.onVideoPause,{passive:!0}),this.host.addEventListener(Li.Paused,this.onSmartPauseAction,{passive:!0}),this.host.addEventListener(Li.Resumed,this.onSmartPauseAction,{passive:!0}),this.host.addEventListener(n.Expand,this.onFullscreenExpand,{passive:!0}),this.host.addEventListener(n.Minimize,this.onFullscreenMinimize,{passive:!0}),this.host.addEventListener(n.Toggle,this.onFullscreenToggle,{passive:!0}),window.addEventListener("resize",this.onWindowResize,{passive:!0}),window.addEventListener("orientationchange",this.onOrientationChange,{passive:!0}),window.addEventListener("keydown",this.onKeyDown,{passive:!0})},this.isEnabled=()=>oi(this.config),this.clearIgnoreNextAction=()=>{this.ignoreNextAction=!1},this.enterImmersiveMode=()=>Di(this,void 0,void 0,function*(){this.host.immersiveWrapper&&!this.inImmersiveMode&&(this.logger.debug("Entering immersive mode"),this.host.classList.add("in-immersive-mode"),this.host.immersiveWrapper.classList.add("immersive-mode"),this.host.interface.style.setProperty("overflow","visible","important"),this.syncImmersivePosition(),this.scrollToImmersiveWrapper(),this.host.dispatchEvent(new n.Entered({type:"immersive-mode"})),this.config.disableScrolling)&&this.scrollLockService.lock(this.host.immersiveWrapper)}),this.exitImmersiveMode=()=>{this.host.immersiveWrapper&&this.inImmersiveMode&&(this.logger.debug("Exiting immersive mode"),this.host.classList.remove("in-immersive-mode"),this.host.immersiveWrapper.classList.remove("immersive-mode"),this.host.interface.style.setProperty("overflow","hidden","important"),this.scrollLockService.unlock(this.host.immersiveWrapper),this.host.dispatchEvent(new n.Exited({type:"immersive-mode"})),.42<=this.visibleRatio)&&this.scrollToImmersiveWrapper()},this.onFullscreenExpand=()=>this.enterImmersiveMode(),this.onFullscreenMinimize=()=>this.exitImmersiveMode(),this.onFullscreenToggle=()=>{this.inImmersiveMode?this.exitImmersiveMode():this.enterImmersiveMode()},this.onKeyDown=e=>{"Escape"===e.key&&this.exitImmersiveMode()},this.onOrientationChange=()=>Di(this,void 0,void 0,function*(){this.inImmersiveMode&&(this.syncImmersivePosition(),.5<=this.visibleRatio)&&this.scrollToImmersiveWrapper()}),this.onSmartPauseAction=()=>{this.logger.debug("Ignoring next action due to Smart Pause"),this.ignoreNextAction=!0},this.onVideoPause=()=>{if(this.ignoreNextAction)return this.clearIgnoreNextAction();this.config.minimizeOnPause&&this.exitImmersiveMode()},this.onVideoPlay=()=>{if(this.ignoreNextAction)return this.clearIgnoreNextAction();this.config.expandOnPlay&&this.enterImmersiveMode()},this.scrollToImmersiveWrapper=()=>Ii(this.host.immersiveWrapper,{behavior:"instant"}),this.syncScrollLockState=()=>{this.config.active&&this.host.immersiveWrapper&&(this.config.disableScrolling&&this.inImmersiveMode?this.scrollLockService.lock(this.host.immersiveWrapper):this.scrollLockService.unlock(this.host.immersiveWrapper))},this.trackProperties("config")}hostUpdate(e){e.has("config")&&(this.syncScrollLockState(),this.reevaluateFeatureState())}}let Mi=window,Fi=Mi.ShadowRoot&&(void 0===Mi.ShadyCSS||Mi.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ni=Symbol(),Ui=new WeakMap;class $i{constructor(e,t,i){if(this._$cssResult$=!0,i!==Ni)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;var t,i=this.t;return Fi&&void 0===e&&(t=void 0!==i&&1===i.length,void 0===(e=t?Ui.get(i):e))&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t)&&Ui.set(i,e),e}toString(){return this.cssText}}let i=(r,...e)=>{e=1===r.length?r[0]:e.reduce((e,t,i)=>e+(()=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})()+r[i+1],r[0]);return new $i(e,r,Ni)},Bi=Fi?e=>e:t=>{if(!(t instanceof CSSStyleSheet))return t;{let e="";for(var i of t.cssRules)e+=i.cssText;return t=e,new $i("string"==typeof t?t:t+"",void 0,Ni)}},ji,Vi=window,Gi=Vi.trustedTypes,zi=Gi?Gi.emptyScript:"",Hi=Vi.reactiveElementPolyfillSupport,Ki={toAttribute(e,t){switch(t){case Boolean:e=e?zi:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},Wi=(e,t)=>t!==e&&(t==t||e==e),qi={attribute:!0,type:String,converter:Ki,reflect:!1,hasChanged:Wi},Yi="finalized";class Xi extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!=(t=this.h)?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();let i=[];return this.elementProperties.forEach((e,t)=>{e=this._$Ep(t,e);void 0!==e&&(this._$Ev.set(e,t),i.push(e))}),i}static createProperty(e,t=qi){var i;t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),t.noAccessor||this.prototype.hasOwnProperty(e)||(i="symbol"==typeof e?Symbol():"__"+e,void 0!==(i=this.getPropertyDescriptor(e,i,t))&&Object.defineProperty(this.prototype,e,i))}static getPropertyDescriptor(i,r,s){return{get(){return this[r]},set(e){var t=this[i];this[r]=e,this.requestUpdate(i,t,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||qi}static finalize(){if(this.hasOwnProperty(Yi))return!1;this[Yi]=!0;let e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(var i of t)this.createProperty(i,e[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){var t=[];if(Array.isArray(e)){var i=new Set(e.flat(1/0).reverse());for(let e of i)t.unshift(Bi(e))}else void 0!==e&&t.push(Bi(e));return t}static _$Ep(e,t){t=t.attribute;return!1===t?void 0:"string"==typeof t?t:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null!=(e=this.constructor.h)&&e.forEach(e=>e(this))}addController(e){var t;(null!=(t=this._$ES)?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&null!=(t=e.hostConnected)&&t.call(e)}removeController(e){var t;null!=(t=this._$ES)&&t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])})}createRenderRoot(){var r,e,t=null!=(t=this.shadowRoot)?t:this.attachShadow(this.constructor.shadowRootOptions);return r=t,e=this.constructor.elementStyles,Fi?r.adoptedStyleSheets=e.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet):e.forEach(e=>{var t=document.createElement("style"),i=Mi.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=e.cssText,r.appendChild(t)}),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null!=(e=this._$ES)&&e.forEach(e=>{var t;return null==(t=e.hostConnected)?void 0:t.call(e)})}enableUpdating(e){}disconnectedCallback(){var e;null!=(e=this._$ES)&&e.forEach(e=>{var t;return null==(t=e.hostDisconnected)?void 0:t.call(e)})}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$EO(e,t,i=qi){var r,s=this.constructor._$Ep(e,i);void 0!==s&&!0===i.reflect&&(r=(void 0!==(null==(r=i.converter)?void 0:r.toAttribute)?i.converter:Ki).toAttribute(t,i.type),this._$El=e,null==r?this.removeAttribute(s):this.setAttribute(s,r),this._$El=null)}_$AK(e,i){var r=this.constructor,s=r._$Ev.get(e);if(void 0!==s&&this._$El!==s){let e=r.getPropertyOptions(s),t="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null==(r=e.converter)?void 0:r.fromAttribute)?e.converter:Ki;this._$El=s,this[s]=t.fromAttribute(i,e.type),this._$El=null}}requestUpdate(e,t,i){let r=!0;void 0!==e&&(((i=i||this.constructor.getPropertyOptions(e)).hasChanged||Wi)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===i.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,i))):r=!1),!this.isUpdatePending&&r&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}var e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(this.isUpdatePending){this.hasUpdated,this._$Ei&&(this._$Ei.forEach((e,t)=>this[t]=e),this._$Ei=void 0);let e=!1;var i=this._$AL;try{(e=this.shouldUpdate(i))?(this.willUpdate(i),null!=(t=this._$ES)&&t.forEach(e=>{var t;return null==(t=e.hostUpdate)?void 0:t.call(e)}),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}}willUpdate(e){}_$AE(e){var t;null!=(t=this._$ES)&&t.forEach(e=>{var t;return null==(t=e.hostUpdated)?void 0:t.call(e)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach((e,t)=>this._$EO(t,this[t],e)),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}Xi[Yi]=!0,Xi.elementProperties=new Map,Xi.elementStyles=[],Xi.shadowRootOptions={mode:"open"},null!=Hi&&Hi({ReactiveElement:Xi}),(null!=(ji=Vi.reactiveElementVersions)?ji:Vi.reactiveElementVersions=[]).push("1.6.3");let Qi=window,Zi=Qi.trustedTypes,Ji=Zi?Zi.createPolicy("lit-html",{createHTML:e=>e}):void 0,er="$lit$",tr=`lit$${(Math.random()+"").slice(9)}$`,ir="?"+tr,rr=`<${ir}>`,sr=document,ar=()=>sr.createComment(""),nr=e=>null===e||"object"!=typeof e&&"function"!=typeof e,or=Array.isArray,lr=e=>or(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]),hr="[ \t\n\f\r]",dr=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,cr=/-->/g,ur=/>/g,pr=RegExp(`>|${hr}(?:([^\\s"'>=/]+)(${hr}*=${hr}*(?:[^ \r"'\`<>=]|("|')|))|$)`,"g"),fr=/'/g,gr=/"/g,mr=/^(?:script|style|textarea|title)$/i,vr=i=>(e,...t)=>({_$litType$:i,strings:e,values:t}),c=vr(1),yr=(vr(2),Symbol.for("lit-noChange")),h=Symbol.for("lit-nothing"),br=new WeakMap,Er=sr.createTreeWalker(sr,129,null,!1);function wr(e,t){if(Array.isArray(e)&&e.hasOwnProperty("raw"))return void 0!==Ji?Ji.createHTML(t):t;throw Error("invalid template strings array")}let Tr=(n,e)=>{let t=n.length-1,o=[],l,h=2===e?"":"",d=dr;for(let a=0;a"===i[0]?(d=null!=l?l:dr,r=-1):void 0===i[1]?r=-2:(r=d.lastIndex-i[2].length,t=i[1],d=void 0===i[3]?pr:'"'===i[3]?gr:fr):d===gr||d===fr?d=pr:d===cr||d===ur?d=dr:(d=pr,l=void 0);var c=d===pr&&n[a+1].startsWith("/>")?" ":"";h+=d===dr?e+rr:0<=r?(o.push(t),e.slice(0,r)+er+e.slice(r)+tr+c):e+tr+(-2===r?(o.push(void 0),a):c)}return[wr(n,h+(n[t]||"")+(2===e?"":"")),o]};class Sr{constructor({strings:e,_$litType$:t},i){var r;this.parts=[];let s=0,a=0;var n=e.length-1,o=this.parts,[e,l]=Tr(e,t);if(this.el=Sr.createElement(e,i),Er.currentNode=this.el.content,2===t){let e=this.el.content,t=e.firstChild;t.remove(),e.append(...t.childNodes)}for(;null!==(r=Er.nextNode())&&o.length{var r,s=null!=(s=null==i?void 0:i.renderBefore)?s:t;let a=s._$litPart$;if(void 0===a){let e=null!=(r=null==i?void 0:i.renderBefore)?r:null;s._$litPart$=a=new Ar(t.insertBefore(ar(),e),e,void 0,null!=i?i:{})}return a._$AI(e),a},Mr,Fr;class Nr extends Xi{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t=super.createRenderRoot();return null==(e=this.renderOptions).renderBefore&&(e.renderBefore=t.firstChild),t}update(e){var t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Or(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null!=(e=this._$Do)&&e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this._$Do)&&e.setConnected(!1)}render(){return yr}}Nr.finalized=!0,Nr._$litElement$=!0,null!=(Mr=globalThis.litElementHydrateSupport)&&Mr.call(globalThis,{LitElement:Nr});var Dr=globalThis.litElementPolyfillSupport;null!=Dr&&Dr({LitElement:Nr});(null!=(Fr=globalThis.litElementVersions)?Fr:globalThis.litElementVersions=[]).push("3.3.3");let Ur=s=>e=>{var t,i,r;return"function"!=typeof e?(t=s,{kind:r,elements:i}=e,{kind:r,elements:i,finisher(e){customElements.define(t,e)}}):(r=e,customElements.define(s,r),r)};function d(s){return(e,t)=>{return void 0!==t?void e.constructor.createProperty(t,s):(i=s,"method"!==(r=e).kind||!r.descriptor||"value"in r.descriptor?{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:r.key,initializer(){"function"==typeof r.initializer&&(this[r.key]=r.initializer.call(this))},finisher(e){e.createProperty(r.key,i)}}:{...r,finisher(e){e.createProperty(r.key,i)}});var i,r}}function u(e){return d({...e,state:!0})}let $r=({finisher:s,descriptor:a})=>(i,t)=>{var r;if(void 0===t){let t=null!=(r=i.originalKey)?r:i.key,e=null!=a?{kind:"method",placement:"prototype",key:t,descriptor:a(i.key)}:{...i,key:t};return null!=s&&(e.finisher=function(e){s(e,t)}),e}{let e=i.constructor;void 0!==a&&Object.defineProperty(i,t,a(t)),null!=s&&s(e,t)}};function p(r,t){return $r({descriptor:e=>{var i={get(){var e;return null!=(e=null==(e=this.renderRoot)?void 0:e.querySelector(r))?e:null},enumerable:!0,configurable:!0};if(t){let t="symbol"==typeof e?Symbol():"__"+e;i.get=function(){var e;return void 0===this[t]&&(this[t]=null!=(e=null==(e=this.renderRoot)?void 0:e.querySelector(r))?e:null),this[t]}}return i}})}function Br(t){return $r({descriptor:e=>({get(){var e;return null!=(e=null==(e=this.renderRoot)?void 0:e.querySelectorAll(t))?e:[]},enumerable:!0,configurable:!0})})}function jr(t){return $r({descriptor:e=>({async get(){var e;return await this.updateComplete,null==(e=this.renderRoot)?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}null!=(Dr=window.HTMLSlotElement)&&Dr.prototype.assignedElements;function f(t){return function(e){return customElements.get(t)||Ur(t)(e),e}}class Vr extends Nr{constructor(){super(...arguments),this.logger=new s(this.constructor.name),this.createRenderRoot=()=>this}}let Gr=c` `,zr=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3 ${Gr} `}};Hr=zr([f("vturb-mini-player-close")],Hr);let Kr="vturb-in-mini-player";let Wr="vturb-mini-player-page-spacer";let qr={"1:1":{height:260,width:260},"3:4":{height:267,width:200},"4:3":{height:240,width:320},"9:16":{height:400,width:225},"16:9":{height:225,width:400}},Yr={"1:1":{height:200,width:200},"3:4":{height:240,width:180},"4:3":{height:180,width:240},"9:16":{height:280,width:160},"16:9":{height:160,width:280}};class Xr{constructor(){this.owner=null}isOwner(e){return this.owner===e}release(e){this.owner===e&&(this.owner=null)}reset(){this.owner=null}tryAcquire(e){return(null===this.owner||this.owner===e)&&(this.owner=e,!0)}}let Qr="__vturbMiniPlayerArbiter__";let Zr="undefined"==typeof window?new Xr:(window[Qr]||(window[Qr]=new Xr),window[Qr]),Jr=I(3627),es=I.n(Jr);class ts extends es(){constructor(){super(...arguments),this.active=!1,this.intersectionObserver=null,this.observedTarget=null,this.disconnect=()=>{var e;window.removeEventListener("resize",this.rebuild),window.removeEventListener("orientationchange",this.rebuild),null!=(e=this.intersectionObserver)&&e.disconnect(),this.intersectionObserver=null,this.observedTarget=null,this.active=!1},this.observe=e=>{this.observedTarget||(window.addEventListener("resize",this.rebuild,{passive:!0}),window.addEventListener("orientationchange",this.rebuild,{passive:!0})),this.observedTarget=e,this.rebuild()},this.onIntersection=e=>{var t,e=e[e.length-1];e&&(e=e,t=this.viewportHeight(),"keep"!=(e=e.isIntersecting?"deactivate":e.boundingClientRect.top>=t?"keep":"activate"))&&(t="activate"==e)!==this.active&&(this.active=t,this.emit(t?"activate":"deactivate"))},this.rebuild=()=>{var e,t,i=this.observedTarget;i&&(t=this.viewportHeight(),t=Math.min(i.getBoundingClientRect().height,t),t=Math.round(.3*t),null!=(e=this.intersectionObserver)&&e.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onIntersection,{rootMargin:`-${t}px 0px 0px 0px`}),this.intersectionObserver.observe(i))},this.viewportHeight=()=>window.innerHeight||document.documentElement.clientHeight}}let is=(e,t,i)=>{t=t;t=!((e=e)&&t&&isFinite(e)&&isFinite(t))||1.539<=(e=e/t)?"16:9":1.155<=e?"4:3":.866<=e?"1:1":.65<=e?"3:4":"9:16";return(i?Yr:qr)[t]},rs=e=>!(null==e||!e.active),ss="data-vturb-mini-overflow-released",as=new Set(["auto","clip","hidden","scroll"]),ns=e=>as.has(e),os=e=>{let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;)(e=>{e=window.getComputedStyle(e);return ns(e.overflow)||ns(e.overflowX)||ns(e.overflowY)})(t)&&(i={overflow:(i=t).style.overflow,overflowX:i.style.overflowX,overflowY:i.style.overflowY},t.setAttribute(ss,JSON.stringify(i)),t.style.setProperty("overflow","visible","important"),t.style.setProperty("overflow-x","visible","important"),t.style.setProperty("overflow-y","visible","important")),t=t.parentElement;var i},ls=()=>{document.querySelectorAll(`[${ss}]`).forEach(t=>{var e,i,r=t.getAttribute(ss);if(r)try{var s=JSON.parse(r);e=t,(i=s).overflow?e.style.overflow=i.overflow:e.style.removeProperty("overflow"),i.overflowX?e.style.overflowX=i.overflowX:e.style.removeProperty("overflow-x"),i.overflowY?e.style.overflowY=i.overflowY:e.style.removeProperty("overflow-y")}catch(e){t.style.removeProperty("overflow"),t.style.removeProperty("overflow-x"),t.style.removeProperty("overflow-y")}t.removeAttribute(ss)})},hs=()=>document.querySelector("."+Wr),ds=e=>{var t=(t=hs())||((t=document.createElement("div")).className=Wr,t.setAttribute("aria-hidden","true"),t.style.display="none",t.style.width="100%",t.style.pointerEvents="none",document.body.appendChild(t),t);t.style.height=e+"px",t.style.display="block"},cs=()=>{var e=hs();e&&(e.style.display="none")};class us extends li{get config(){return this.host.config.miniPlayer}get inMiniPlayer(){var e;return this.host.isIframe?this.iframeInMini:null!=(e=null==(e=null==(e=this.host.immersiveWrapper)?void 0:e.classList)?void 0:e.contains(Kr))&&e}constructor(e){super(e),this.activeCtaKeys=new Set,this.entrySlotAspect=null,this.iframeInMini=!1,this.inImmersive=!1,this.manualEntry=!1,this.viewportObserver=new ts,this.wasInImmersive=!1,this.scrollBackToPlayer=()=>{var e;this.host.isIframe?this.host.dispatchEvent(new ue.ScrollBackRequest):(e=this.host.interface)&&(e.scrollIntoView({block:"center"}),!this.manualEntry)||this.exitMiniPlayer()},this.disableFeature=()=>{var e,t=this.inMiniPlayer;this.viewportObserver.off("activate",this.onViewportActivate),this.viewportObserver.off("deactivate",this.onViewportDeactivate),this.viewportObserver.disconnect(),this.exitMiniPlayer(),this.host.miniActive=!1,t?(t=hs(),null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)):(e=hs())&&"none"===e.style.display&&null!=(t=e.parentElement)&&t.removeChild(e),this.host.removeEventListener(a.Play,this.onVideoPlay),this.host.removeEventListener(oe.CurrentActiveItems,this.onCtaActiveItemsChanged),this.host.removeEventListener(ue.Toggle,this.onMiniPlayerToggle),this.host.removeEventListener(n.Entered,this.onFullscreenEntered),this.host.removeEventListener(n.Exited,this.onFullscreenExited),this.host.removeEventListener(ue.ScrollBackRequest,this.onScrollBackRequested),this.host.removeEventListener(ue.Entered,this.onIframeMiniEntered),this.host.removeEventListener(ue.Exited,this.onIframeMiniExited),window.removeEventListener("resize",this.onViewportResize),window.removeEventListener("orientationchange",this.onViewportResize),this.iframeInMini=!1,this.inImmersive=!1,this.wasInImmersive=!1,this.manualEntry=!1,this.activeCtaKeys.clear()},this.enableFeature=()=>{this.host.addEventListener(a.Play,this.onVideoPlay,{passive:!0}),this.host.addEventListener(oe.CurrentActiveItems,this.onCtaActiveItemsChanged,{passive:!0}),this.host.addEventListener(ue.Toggle,this.onMiniPlayerToggle,{passive:!0}),this.host.addEventListener(n.Entered,this.onFullscreenEntered,{passive:!0}),this.host.addEventListener(n.Exited,this.onFullscreenExited,{passive:!0}),this.host.isIframe?(this.host.addEventListener(ue.Entered,this.onIframeMiniEntered,{passive:!0}),this.host.addEventListener(ue.Exited,this.onIframeMiniExited,{passive:!0})):this.host.interface&&(this.host.addEventListener(ue.ScrollBackRequest,this.onScrollBackRequested,{passive:!0}),this.viewportObserver.on("activate",this.onViewportActivate),this.viewportObserver.on("deactivate",this.onViewportDeactivate),window.addEventListener("resize",this.onViewportResize,{passive:!0}),window.addEventListener("orientationchange",this.onViewportResize,{passive:!0}),this.viewportObserver.observe(this.host.interface))},this.isEnabled=()=>rs(this.config),this.applyMiniCssVars=e=>{var t=window.innerWidth<=768,i=is(this.host.config.video.width,this.host.config.video.height,t),t=t?12:16;e.style.setProperty("--mini-player-width",i.width+"px"),e.style.setProperty("--mini-player-height",i.height+"px"),e.style.setProperty("--mini-player-margin",t+"px"),e.style.setProperty("--mini-player-z-index","9999998"),e.style.setProperty("--mini-player-placeholder-height",this.slotHeight()+"px")},this.applyPageBottomSpacer=()=>{var e=window.innerWidth<=768;if(!e)return cs();e=is(this.host.config.video.width,this.host.config.video.height,e);ds(e.height+24)},this.clearMiniCssVars=e=>{e.style.removeProperty("--mini-player-width"),e.style.removeProperty("--mini-player-height"),e.style.removeProperty("--mini-player-margin"),e.style.removeProperty("--mini-player-z-index"),e.style.removeProperty("--mini-player-placeholder-height")},this.enterMiniPlayer=()=>{var e,t,i;!this.inMiniPlayer&&this.host.interface&&this.host.immersiveWrapper&&(Zr.tryAcquire(this)?(this.logger.debug("Entering mini-player mode"),this.inImmersive&&(this.wasInImmersive=!0,this.host.dispatchEvent(new n.Minimize)),e=this.host.immersiveWrapper,i=(t=this.host.interface).offsetWidth,this.entrySlotAspect=0{var e,t;this.inMiniPlayer&&(this.logger.debug("Exiting mini-player mode"),e=this.host.interface,t=this.host.immersiveWrapper)&&(ls(),t.classList.remove(Kr),e&&this.clearMiniCssVars(e),this.entrySlotAspect=null,this.host.miniActive=!1,cs(),this.host.interface&&this.viewportObserver.observe(this.host.interface),this.host.dispatchEvent(new ue.Exited),Zr.release(this),this.manualEntry=!1,this.wasInImmersive)&&(this.wasInImmersive=!1,this.host.dispatchEvent(new n.Expand))},this.onCtaActiveItemsChanged=e=>{let{items:t,type:i}=e.detail;var e=t.map(e=>i+":"+e.id),r=e.some(e=>!this.activeCtaKeys.has(e)),s=Array.from(this.activeCtaKeys).filter(e=>!e.startsWith(i+":"));this.activeCtaKeys=new Set([...e,...s]),r&&this.config.autoReturn&&this.inMiniPlayer&&(this.logger.debug("CTA appeared while in mini — scrolling back to player"),this.scrollBackToPlayer())},this.onFullscreenEntered=e=>{"immersive-mode"===(null==(e=e.detail)?void 0:e.type)&&(this.inImmersive=!0,this.host.isIframe||this.exitMiniPlayer())},this.onFullscreenExited=e=>{"immersive-mode"===(null==(e=e.detail)?void 0:e.type)&&(this.inImmersive=!1)},this.onIframeMiniEntered=()=>{this.iframeInMini=!0,this.host.miniActive=!0},this.onIframeMiniExited=()=>{this.iframeInMini=!1,this.host.miniActive=!1},this.onMiniPlayerToggle=()=>{this.host.isIframe||(this.inMiniPlayer?this.exitMiniPlayer():(this.logger.debug("Entering mini-player mode via controls button"),this.manualEntry=!0,this.enterMiniPlayer(),this.inMiniPlayer||(this.manualEntry=!1)))},this.onScrollBackRequested=()=>{this.scrollBackToPlayer()},this.onVideoPlay=()=>{this.inMiniPlayer&&oi(this.host.config.immersiveMode)&&(this.logger.debug("Play pressed in mini with immersive active — exiting mini and expanding"),this.host.isIframe||this.exitMiniPlayer(),this.host.dispatchEvent(new n.Expand))},this.onViewportActivate=()=>{this.config.autoEnableOnScroll&&this.enterMiniPlayer()},this.onViewportDeactivate=()=>{this.manualEntry||this.exitMiniPlayer()},this.onViewportResize=()=>{this.inMiniPlayer&&(this.applyPageBottomSpacer(),this.applyMiniCssVars(this.host.interface))},this.slotHeight=()=>{var e=this.host.interface.offsetWidth;return null!==this.entrySlotAspect&&0{this.pausedBySmartPause=!1,document.removeEventListener("visibilitychange",this.onVisibilityChange)},this.enableFeature=()=>{document.addEventListener("visibilitychange",this.onVisibilityChange,{passive:!0})},this.isEnabled=()=>!0===this.host.config.playback.smartPause,this.onVisibilityChange=()=>{this.host.playback.played&&(document.hidden&&!this.host.playback.paused?this.pause():!document.hidden&&this.pausedBySmartPause&&this.play())},this.pause=()=>{this.logger.debug("Pausing video via Smart Pause"),this.pausedBySmartPause=!0,this.host.dispatchEvent(new Li.Paused),this.host.playback.pause(!0)},this.play=()=>ps(this,void 0,void 0,function*(){this.logger.debug("Resuming video via Smart Pause"),this.pausedBySmartPause=!1,this.host.dispatchEvent(new Li.Resumed),yield xi(),this.host.playback.play()}),this.trackProperties("config")}hostUpdate(e){e.has("config")&&this.reevaluateFeatureState()}}class gs extends e{constructor(e){super(gs.eventName,{bubbles:!0,composed:!0,detail:e})}}gs.eventName="media-session:change-artwork";let ms={ChangeArtwork:gs};class vs extends Tt{constructor(){super(...arguments),this.hostConnected=()=>{this.host.addEventListener(ms.ChangeArtwork,this.onUpdateArtwork),this.host.addEventListener(a.Play,this.onVideoPlay)},this.hostDisconnected=()=>{this.host.removeEventListener(ms.ChangeArtwork,this.onUpdateArtwork),this.host.removeEventListener(a.Play,this.onVideoPlay)},this.disablePlayingWidget=()=>{this.logger.info("disablePlayingWidget"),this.updateActionHandler("play",()=>{}),this.updateActionHandler("pause",()=>{}),this.updateActionHandler("stop",()=>{}),this.updateActionHandler("seekto",()=>{}),this.updateActionHandler("seekbackward",null),this.updateActionHandler("seekforward",null),this.updateActionHandler("previoustrack",null),this.updateActionHandler("nexttrack",null),this.updateActionHandler("skipad",null),this.resetVideoPosition()},this.onUpdateArtwork=e=>{try{e.stopImmediatePropagation(),null!=navigator&&navigator.mediaSession&&(this.logger.info("onUpdateArtwork",e.detail.artwork),navigator.mediaSession.metadata=new MediaMetadata({artwork:[{src:e.detail.artwork}],title:window.document.title}))}catch(e){this.logger.warn("Failed to setup media artwork",e)}},this.onVideoPlay=()=>{this.disablePlayingWidget()},this.resetVideoPosition=()=>{try{null!=navigator&&navigator.mediaSession&&navigator.mediaSession.setPositionState({duration:0,playbackRate:1,position:0})}catch(e){this.logger.warn("Failed to setup media metadata",e)}},this.updateActionHandler=(t,e)=>{try{null!=navigator&&navigator.mediaSession&&navigator.mediaSession.setActionHandler(t,e)}catch(e){this.logger.warn("Failed to setup media action: "+t,e)}}}}let ys={ArrowLeft:{action:{step:-5,type:"seek"},requiredFeatures:["rewind"]},ArrowRight:{action:{step:5,type:"seek"},requiredFeatures:["forward"]},KeyJ:{action:{step:-10,type:"seek"},requiredFeatures:["rewind"]},KeyL:{action:{step:10,type:"seek"},requiredFeatures:["forward"]},Space:{action:{type:"togglePlay"},requiredFeatures:["smallPlay","bigPlay"]}},bs=["forward","rewind","smallPlay","bigPlay"];class Es extends li{constructor(e){super(e),this.activeShortcuts=new Map,this.disableFeature=()=>{this.host.removeEventListener("keydown",this.onKeyDown),this.host.removeEventListener(a.Play,this.onVideoPlay),this.activeShortcuts.clear()},this.enableFeature=()=>{this.syncActiveShortcuts(),this.host.addEventListener("keydown",this.onKeyDown),this.host.addEventListener(a.Play,this.onVideoPlay,{passive:!0})},this.isEnabled=()=>bs.some(e=>this.host.config.style[e]),this.handleNextStep=e=>{var{currentTime:t,duration:i}=this.host.playback,i=Math.max(0,Math.min(i,t+e));i!==t&&(this.host.playback.seek(i),this.host.dispatchEvent(0{var t;(t=document.activeElement)instanceof HTMLElement&&("INPUT"===t.tagName||"TEXTAREA"===t.tagName||!0===t.isContentEditable||""===(t=t.getAttribute("contenteditable"))||"true"===t||"plaintext-only"===t)||(t=this.activeShortcuts.get(e.code))&&(e.preventDefault(),e.stopPropagation(),this.runAction(t))},this.onVideoPlay=()=>this.host.focus({preventScroll:!0}),this.runAction=e=>"seek"===e.type?this.handleNextStep(e.step):"togglePlay"===e.type?this.host.playback.toggle():void 0,this.syncActiveShortcuts=()=>{let t=this.host.config.style;for(var e in this.activeShortcuts.clear(),ys){var i=ys[e];i.requiredFeatures.some(e=>t[e])&&this.activeShortcuts.set(e,i.action)}},this.trackProperties("config")}hostUpdate(e){e.has("config")&&(this.syncActiveShortcuts(),this.reevaluateFeatureState())}}c` `,c` `;let ws=c` `,Ts=c` `,Ss=c` `,ks=c` `,_s=c` `,As=c` `;c` `,c` `;let Ls=c` `,xs=c` `,Rs=c` `,Is=c` `,Ps=c` `,Cs=c` `,Ds=c` `,Os=c``,Ms=c``,Fs=c` `,Ns=c` `,Us=c` `;var Dr=e=>{try{var t;return e?e:"closed"===(t=new URLSearchParams(window.location.search).get("vturbMode"))||"open"===t?t:"closed"}catch(e){return"closed"}},g=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var t=()=>{this.requestUpdate()};this.player.addEventListener(e.toString(),t),this._reRenderOn.push({event:e,fn:t})})}disconnectedCallback(){super.disconnectedCallback(),this.logger.debug("disconnectedCallback",{player:this.player}),this._reRenderOn.forEach(({event:e,fn:t})=>{this.player.removeEventListener(e.toString(),t)})}}$s.componentName="Base",$s.reRenderOn=[],$s.styles=[],g([d({type:Object})],$s.prototype,"player",void 0);class Bs extends $s{createRenderRoot(){return this}}Bs.componentName="Playerable";class js extends $s{}js.componentName="PlayerableShadow",js.shadowRootOptions={mode:Dr()};let Vs={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Gs=t=>(...e)=>({_$litDirective$:t,values:e});class zs{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}let Hs=Gs(class extends zs{constructor(e){if(super(e),e.type!==Vs.ATTRIBUTE||"class"!==e.name||2<(null==(e=e.strings)?void 0:e.length))throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter(e=>t[e]).join(" ")+" "}update(e,[t]){var i,r,s;if(void 0===this.it){for(var a in this.it=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter(e=>""!==e))),t)!t[a]||null!=(i=this.nt)&&i.has(a)||this.it.add(a);return this.render(t)}let n=e.element.classList;for(s in this.it.forEach(e=>{e in t||(n.remove(e),this.it.delete(e))}),t){let e=!!t[s];e===this.it.has(s)||null!=(r=this.nt)&&r.has(s)||(e?(n.add(s),this.it.add(s)):(n.remove(s),this.it.delete(s)))}return yr}});var g=i`.bezel{bottom:0;color:var(--bezel-color);display:var(--bezel-display);left:0;pointer-events:none;position:absolute;right:0;top:0;transform:translateY(0);transition:transform var(--base-transition)}.show-controls .bezel{transform:translateY(calc(-50% - var(--control-padding)*2/2 - .75rem))}.bezel__icon{background:var(--bezel-background-color);border-radius:var(--bezel-border-radius);box-sizing:border-box;fill:var(--bezel-icon-fill);height:var(--bezel-icon-size);left:50%;margin:calc(var(--bezel-icon-size)/-2) 0 0 calc(var(--bezel-icon-size)/-2);opacity:0;padding:var(--bezel-icon-padding);pointer-events:none;position:absolute;top:50%;width:var(--bezel-icon-size)}.bezel__icon svg{height:100%;width:100%}.bezel__icon .bezel__step{color:var(--bezel-color);display:grid;font-size:.825em;font-weight:600;inset:var(--bezel-icon-padding);line-height:1;place-items:center;pointer-events:none;position:absolute}.bezel__icon.bezel-transition{animation:bezel-hide var(--bezel-animation-duration) var(--bezel-animation-timing)}@keyframes bezel-hide{0%{opacity:var(--bezel-opacity-start);transform:scale(var(--bezel-scale-start))}to{opacity:var(--bezel-opacity-end);transform:scale(var(--bezel-scale-end))}}.bezel__loading{left:50%;max-width:var(--bezel-loading-max-width);min-width:var(--bezel-loading-min-width);position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--bezel-loading-width)}.bezel__loading--hidden{display:none}.bezel__loading svg{height:100%;width:100%}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3Ks(this,void 0,void 0,function*(){this.logger.debug("animateBezel"),(yield this.iconElement).classList.add("bezel-transition")}),this.onAnimationEnd=()=>Ks(this,void 0,void 0,function*(){this.logger.debug("onAnimationEnd"),(yield this.iconElement).classList.remove("bezel-transition")}),this.onForward=e=>{this.step=e.detail.step,this.switch("forward"),this.logger.debug("onForward"),this.animateBezel()},this.onPause=()=>{this.step=0,this.logger.debug("onPause"),this.switch("pause"),this.animateBezel()},this.onPlay=()=>{this.step=0,this.logger.debug("onPlay"),this.switch("play"),this.animateBezel()},this.onCanPlay=()=>{this.logger.debug("onCanPlay"),this.loading=!1},this.onRewind=e=>{this.step=e.detail.step,this.switch("rewind"),this.logger.debug("onRewind"),this.animateBezel()},this.onWaiting=()=>{this.logger.debug("onWaiting"),this.loading=!0;let e=this.player.playback.currentTime,t=()=>{this.loading&&(this.player.playback.currentTime>e?(this.logger.debug("onWaiting: loading false"),this.loading=!1):setTimeout(t,this.waitingTimeoutMS))};setTimeout(t,this.waitingTimeoutMS)}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(a.Canplay,this.onCanPlay),this.player.addEventListener(a.Waiting,this.onWaiting),this.player.addEventListener(a.Play,this.onPlay),this.player.addEventListener(a.Pause,this.onPause),this.player.addEventListener(a.Forward,this.onForward),this.player.addEventListener(a.Rewind,this.onRewind)}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(a.Canplay,this.onCanPlay),this.player.removeEventListener(a.Waiting,this.onWaiting),this.player.removeEventListener(a.Play,this.onPlay),this.player.removeEventListener(a.Pause,this.onPause),this.player.removeEventListener(a.Forward,this.onForward),this.player.removeEventListener(a.Rewind,this.onRewind)}render(){var e=Hs({"bezel__loading--hidden":!this.loading});return c`
${this.icon} ${this.step?c`${this.step}`:""} ${Ts}
`}switch(e){switch(e){case"forward":this.icon=xs;break;case"pause":this.icon=ks;break;case"play":this.icon=_s;break;case"rewind":this.icon=Is;break;default:return}}};Ws.componentName="Bezel",Ws.styles=[g],m([d({type:Boolean})],Ws.prototype,"_testing",void 0),m([u()],Ws.prototype,"step",void 0),m([u()],Ws.prototype,"icon",void 0),m([jr(".bezel__icon")],Ws.prototype,"iconElement",void 0),m([u()],Ws.prototype,"loading",void 0),Ws=m([f("vturb-bezel")],Ws);g=i`.player .bigplay{background:var(--bigplay-background);border:none;border-radius:var(--bigplay-border-radius);bottom:0;box-sizing:border-box;cursor:pointer;fill:var(--style-foreground);height:var(--bigplay-base-size);left:50%;opacity:var(--bigplay-opacity);outline:none;padding:var(--bigplay-padding-y) var(--bigplay-padding-x);position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform var(--base-transition),background-color var(--base-transition);width:var(--bigplay-base-size);z-index:10}.player .bigplay:hover{background:var(--bigplay-background-hover)!important}.player .bigplay.hidden{display:none}.player .bigplay svg{cursor:pointer;height:100%;width:100%}.player.m-w-360 .bigplay{height:var(--bigplay-size-360);width:var(--bigplay-size-360)}.player.m-w-480 .bigplay{height:var(--bigplay-size-480);width:var(--bigplay-size-480)}.player.m-w-550 .bigplay{height:var(--bigplay-size-550);width:var(--bigplay-size-550)}.player.in-resume .bigplay,.player.smartplay .bigplay{display:none!important}.player.show-controls .bigplay{transform:translate(-50%,calc(-50% - var(--control-padding)*2/2 - .75rem))}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.player.dispatchEvent(new xt.Items({items:{bigplay:e}}))},this.togglePlay=e=>{try{e.preventDefault(),e.stopPropagation(),this.player.playback.toggle(),this.player.controllers.bar.show(),this.player.dispatchEvent(new xt.BarCloser),this.logger.debug("Toggle play clicked",{ev:e})}catch(e){this.logger.error("Error toggling play",e)}}}render(){var e=this.player.controllers.blockers.anyBlocker("resume","smartAutoPlay");return this.player.playback.playing||e?(this.sendControlsEvent(!1),null):(this.sendControlsEvent(!0),c`
${_s}
`)}};qs.componentName="BigPlay",qs.reRenderOn=[a.Pause,a.Play],qs.styles=g,qs=m([f("vturb-bigplay")],qs);let Ys={en:{backward:"Backward",blocked:"Blocked",forward:"Forward",fullscreen:"Fullscreen","license.blocked.by_rule":"Unable to display the video!","license.blocked.default_message":"BLOCKED","license.blocked.domain_not_allowed":"This domain is not in the list of allowed domains! Update the domain settings in the panel.","license.blocked.indefinite_block":"This domain has been blocked indefinitely. Contact support to learn more.","license.blocked.payment_open":"Video temporarily unavailable\nCheck your panel.",loop:"Loop",pause:"Pause",play:"Play",poweredBy:"Powered by VTurb",poweredByLink:"https://www.vturb.com/en/?via=player&utm_source=player","contextmenu.optimizeYourVslNow":"Optimize Your VSL Now!","contextmenu.optimizeYourVslNowLink":"https://vturb.com/en?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=optimize_your_vsl_now_en","contextmenu.wantToOptimizeYourVsl":"Want to Optimize Your VSL?","contextmenu.wantToOptimizeYourVslLink":"https://vturb.com/en?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=want_to_optimize_your_vsl_en","contextmenu.clickToOptimizeYourVslCheckEmoji":"Click to Optimize Your VSL ✅","contextmenu.clickToOptimizeYourVslCheckEmojiLink":"https://vturb.com/en?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_check_emoji_en","contextmenu.clickToOptimizeYourVsl":"Click to Optimize Your VSL","contextmenu.clickToOptimizeYourVslLink":"https://vturb.com/en?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_en",replay:"Replay",resume:"Resume","resume.play":"Continue watching","resume.replay":"Watch from beginning","resume.title":"You have already started watching this","miniPlayer.placeholder.title":"The video keeps playing","miniPlayer.placeholder.subtitle":"It keeps playing in a floating window at the corner of the screen. Keep browsing without missing anything","miniPlayer.placeholder.subtitleShort":"Keep browsing without missing anything","miniPlayer.placeholder.returnLabel":"Back to the video here","smallplay.pause":"Pause","smallplay.play":"Play",speed:"Speed","speed.normal":"Normal","volume.control":"Volume control"},pt:{backward:"Backward",blocked:"Bloqueado",forward:"Forward",fullscreen:"Fullscreen","license.blocked.by_rule":"Não foi possível exibir o vídeo!","license.blocked.default_message":"BLOQUEADO","license.blocked.domain_not_allowed":"Este domínio não está na lista de domínios permitidos! Atualize as configurações de domínios no painel.","license.blocked.indefinite_block":"Esse domínio foi bloqueado por tempo indeterminado. Contate o suporte para saber mais.","license.blocked.payment_open":"Vídeo temporariamente indisponível\nVerifique seu painel.",loop:"Repetir",pause:"Pause",play:"Play",poweredBy:"Conheça o VTurb",poweredByLink:"https://www.vturb.com/pt-BR/?via=player&utm_source=player","contextmenu.optimizeYourVslNow":"Otimize Seu VSL Agora!","contextmenu.optimizeYourVslNowLink":"https://vturb.com/pt-BR?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=optimize_your_vsl_now_pt-br","contextmenu.wantToOptimizeYourVsl":"Quer Otimizar Seu VSL?","contextmenu.wantToOptimizeYourVslLink":"https://vturb.com/pt-BR?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=want_to_optimize_your_vsl_pt-br","contextmenu.clickToOptimizeYourVslCheckEmoji":"Clique Para Otimizar Seu VSL ✅","contextmenu.clickToOptimizeYourVslCheckEmojiLink":"https://vturb.com/pt-BR?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_check_emoji_pt-br","contextmenu.clickToOptimizeYourVsl":"Clique Para Otimizar Seu VSL","contextmenu.clickToOptimizeYourVslLink":"https://vturb.com/pt-BR?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_pt-br",replay:"Reativar",resume:"Resumir","resume.play":"Continuar assistindo","resume.replay":"Assistir do início","resume.title":"Você já começou a assistir isso","miniPlayer.placeholder.title":"O vídeo continua tocando","miniPlayer.placeholder.subtitle":"Ele continua em uma janela flutuante no canto da tela. Siga navegando sem perder nada","miniPlayer.placeholder.subtitleShort":"Siga navegando sem perder nada","miniPlayer.placeholder.returnLabel":"Voltar para o vídeo aqui","smallplay.pause":"Pausar","smallplay.play":"Reproduzir",speed:"Velocidade","speed.normal":"Normal","volume.control":"Controle de volume"},es:{backward:"Retroceder",blocked:"Bloqueado",forward:"Avanzar",fullscreen:"Pantalla completa","license.blocked.by_rule":"¡No se puede mostrar el video!","license.blocked.default_message":"BLOQUEADO","license.blocked.domain_not_allowed":"¡Este dominio no está en la lista de dominios permitidos! Actualiza la configuración de dominio en el panel.","license.blocked.indefinite_block":"Este dominio ha sido bloqueado indefinidamente. Contacta al soporte para obtener más información.","license.blocked.payment_open":"Vídeo temporalmente no disponible\nVerifica tu panel.",loop:"Repetir",pause:"Pausar",play:"Reproducir",poweredBy:"Desarrollado por VTurb",poweredByLink:"https://www.vturb.com/en/?via=player&utm_source=player","contextmenu.optimizeYourVslNow":"¡Optimiza Tu VSL Ahora!","contextmenu.optimizeYourVslNowLink":"https://vturb.com/es?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=optimize_your_vsl_now_es","contextmenu.wantToOptimizeYourVsl":"¿Quieres Optimizar Tu VSL?","contextmenu.wantToOptimizeYourVslLink":"https://vturb.com/es?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=want_to_optimize_your_vsl_es","contextmenu.clickToOptimizeYourVslCheckEmoji":"Haz Clic para Optimizar Tu VSL ✅","contextmenu.clickToOptimizeYourVslCheckEmojiLink":"https://vturb.com/es?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_check_emoji_es","contextmenu.clickToOptimizeYourVsl":"Haz Clic para Optimizar Tu VSL","contextmenu.clickToOptimizeYourVslLink":"https://vturb.com/es?via=player&utm_medium=powered_by_VTurb&utm_campaign=viral_player&utm_source=player&utm_content=click_to_optimize_your_vsl_es",replay:"Repetir",resume:"Reanudar","resume.play":"Continuar viendo","resume.replay":"Ver desde el principio","resume.title":"Ya has comenzado a ver esto","miniPlayer.placeholder.title":"El video sigue reproduciéndose","miniPlayer.placeholder.subtitle":"Sigue en una ventana flotante en la esquina de la pantalla. Sigue navegando sin perderte nada","miniPlayer.placeholder.subtitleShort":"Sigue navegando sin perderte nada","miniPlayer.placeholder.returnLabel":"Volver al video aquí","smallplay.pause":"Pausar","smallplay.play":"Reproducir",speed:"Velocidad","speed.normal":"Normal","volume.control":"Control de volumen"}},Xs="en",Qs=e=>(Ys[Xs]||(console.warn(`Language ${Xs} not found`),Ys.en))[e],Zs=()=>{try{return localStorage.setItem("feature_test","yes"),localStorage.removeItem("feature_test"),!0}catch(e){return!1}},Js=(e,t,i={})=>{let r={saveStorageSuccessful:!1,storageType:"none",storedIdentifier:void 0,wasStoraged:!1};if(!e||0===e.length)return[t,r];let{identifierKey:s,storageKey:a,store:n}=i;if(a&&s){if(n)r.storageType="store",r.storedIdentifier=n.get(a,void 0);else if(Zs()){r.storageType="localStorage";t=localStorage.getItem(a);if(t)try{r.storedIdentifier=JSON.parse(t)}catch(e){r.storedIdentifier=t}}if(void 0!==r.storedIdentifier){i=e.find(e=>e[s]===r.storedIdentifier);if(i)return r.wasStoraged=!0,r.saveStorageSuccessful=!0,[i,r]}}t=e[Math.floor(Math.random()*e.length)];if(a&&s){i=t[s];try{n?(n.set(a,i),r.saveStorageSuccessful=!0):Zs()&&(localStorage.setItem(a,JSON.stringify(i)),r.saveStorageSuccessful=!0)}catch(e){r.saveStorageSuccessful=!1}}return[t,r]},ea=[{translationLinkKey:"contextmenu.optimizeYourVslNowLink",translationKey:"contextmenu.optimizeYourVslNow"},{translationLinkKey:"contextmenu.wantToOptimizeYourVslLink",translationKey:"contextmenu.wantToOptimizeYourVsl"},{translationLinkKey:"contextmenu.clickToOptimizeYourVslCheckEmojiLink",translationKey:"contextmenu.clickToOptimizeYourVslCheckEmoji"},{translationLinkKey:"contextmenu.clickToOptimizeYourVslLink",translationKey:"contextmenu.clickToOptimizeYourVsl"}];g=i`.contextmenu{align-items:center;background:rgba(0,0,0,.9);border-radius:.3em;display:flex;font-size:18px;position:fixed;z-index:1002}.contextmenu a{color:#fff;cursor:pointer;display:inline-block;font-size:.8em;min-width:10.625em;padding:.7em 1em;pointer-events:auto;text-align:left;text-decoration:none;white-space:nowrap}.contextmenu a:hover{background-color:hsla(0,0%,100%,.1)}.contextmenu__backdrop{display:flex;height:100%;left:0;pointer-events:auto;position:fixed;top:0;width:100%;z-index:1001}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var[e]=Js(ea,ea[0]);return e||ea[0]})(),this.text="",this.visible=!1,this.x=0,this.y=0,this.hide=e=>{e.stopPropagation(),this.visible=!1},this.show=e=>{e.preventDefault(),this.visible=!0,this.x=e.clientX,this.y=e.clientY,this.link=Qs(this.option.translationLinkKey),this.text=Qs(this.option.translationKey);let t=e.clientX;this.updateComplete.then(()=>{var e=this.querySelector(".contextmenu");e&&(e=e.getBoundingClientRect().width,this.x+e>window.innerWidth)&&(this.x=Math.max(0,t-e))})}}connectedCallback(){var e;super.connectedCallback(),ni()||null!=(e=this.player.player)&&e.addEventListener("contextmenu",this.show)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player.player)&&e.removeEventListener("contextmenu",this.show)}render(){if(this.visible)return c`
`}},ia=(ta.styles=[g],m([u()],ta.prototype,"link",void 0),m([u()],ta.prototype,"option",void 0),m([u()],ta.prototype,"text",void 0),m([u()],ta.prototype,"visible",void 0),m([u()],ta.prototype,"x",void 0),m([u()],ta.prototype,"y",void 0),ta=m([f("vturb-context-menu")],ta),t=>e=>{if(ni()&&"click"===e.type)try{"function"==typeof e.preventDefault&&e.preventDefault(),"function"==typeof e.stopPropagation&&e.stopPropagation()}catch(e){}else t(e,ni())});g=i`.player.forward{pointer-events:auto}.player.forward svg{fill:inherit}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{e.stopPropagation(),this.player.dispatchEvent(new a.Forward({step:this.step})),this.player.controllers.bar.show(),this.player.playback.seek(this.player.playback.currentTime+this.step)}),this.noop=ia(e=>{e.stopPropagation(),e.preventDefault()})}render(){return c` `}},sa=(ra.styles=g,ra=m([f("vturb-forward")],ra),c` `),aa=c` `;g=i`.player.fullscreen{pointer-events:auto}.player.fullscreen svg{fill:inherit}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.dispatchEvent(new(this.isFullscreen?n.Minimize:n.Expand))}}render(){return c` `}},oa=(na.styles=g,m([d({type:Boolean})],na.prototype,"isFullscreen",void 0),m([d({type:Object})],na.prototype,"styles",void 0),na=m([f("vturb-fullscreen-button")],na),c` `);g=i`button.mini-player-toggle{opacity:1;pointer-events:auto}button.mini-player-toggle svg{fill:inherit}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.dispatchEvent(new ue.Toggle)}}render(){return c` `}};la.styles=g,la=m([f("vturb-mini-player-toggle-button")],la);class ha extends es(){constructor(){super(...arguments),this.played=!1,this.video=null,this._boundHandlers=new Map,this._lastSecond=-1,this.eventsMap={canplay:e=>this.emit("event",new a.Canplay({video:e})),canplaythrough:e=>this.emit("event",new a.Canplaythrough({video:e})),ended:()=>{this.played&&this.emit("event",new a.Ended)},loadeddata:e=>this.emit("event",new a.Loadeddata({video:e})),loadedmetadata:e=>this.emit("event",new a.Loadedmetadata({video:e})),pause:e=>{this.played&&this.emit("event",new a.Pause({time:null!=(e=e.currentTime)?e:0}))},play:()=>{this.played&&this.emit("event",new a.Play)},playing:e=>{this.played&&this.emit("event",new a.Playing({video:e}))},progress:e=>this.emit("event",new a.Progress({video:e})),ratechange:e=>this.emit("event",new a.Speedchange({video:e})),timeupdate:e=>{var t;this.played&&(this.emit("event",new a.TimeupdateMs({time:null!=(t=e.currentTime)?t:0})),(e=Math.floor(null!=(t=e.currentTime)?t:0))!==this._lastSecond)&&(this._lastSecond=e,this.emit("event",new a.Timeupdate({time:e})))},volumechange:e=>this.emit("event",new a.Volumechange({volume:e.volume})),waiting:e=>this.emit("event",new a.Waiting({video:e}))},this.bindVideoElement=e=>{this.video&&this.destroy(),this.video=e;for(let[e,t]of Object.entries(this.eventsMap)){var i=()=>{this.video&&t(this.video)};this._boundHandlers.set(e,i),this.video.addEventListener(e,i,{capture:!0,passive:!0})}},this.destroy=()=>{this.off("event"),this.unbindEvents(),this.video=null,this.played=!1,this._lastSecond=-1},this.unbindEvents=()=>{if(this.video){for(var[e,t]of this._boundHandlers)this.video.removeEventListener(e,t,{capture:!0});this._boundHandlers.clear()}}}}var da=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class ca extends EventTarget{constructor(){super(...arguments),this._disablePause=!1,this._lastVolume=1,this.logger=new s("PlaybackControls"),this.playback=new ha,this.bindVideoElement=(e,t)=>{this.playback.bindVideoElement(e),this.playback.on("event",e=>{t(e),this.dispatchEvent(e)})},this.destroy=()=>this.playback.destroy(),this.mute=()=>{try{if(!this.playback.video)return this.logger.warn("mute: video element not found");this.volume=0,this.playback.video.muted=!0}catch(e){this.logger.error("Failed to mute video",{error:e})}},this.pause=(e=!1)=>{try{return this.playback.video?!e&&this._disablePause?this.logger.debug("pause: blocked by disablePause"):void this.playback.video.pause():this.logger.warn("pause: video element not found")}catch(e){this.logger.error("Failed to pause video",{error:e})}},this.play=()=>da(this,void 0,void 0,function*(){try{if(!this.playback.video)return this.logger.error("play: video element not found");this.playback.played=!0,yield this.playback.video.play()}catch(e){this.logger.error("Failed to play video",{error:e})}}),this.seek=e=>{try{if(!this.playback.video)return this.logger.warn("seek: video element not found");e!==this.currentTime&&(this.playback.video.currentTime=e)}catch(e){this.logger.error("Failed to seek video",{error:e})}},this.toggle=()=>{try{this.paused?this.play():this.pause()}catch(e){this.logger.error("Failed to toggle play/pause",{error:e})}},this.unmute=()=>{try{if(!this.playback.video)return this.logger.warn("unmute: video element not found");this.playback.video.muted=!1,this.volume=this._lastVolume<=.05?1:this._lastVolume}catch(e){this.logger.error("Failed to unmute video",{error:e})}}}get currentTime(){var e;return(null==(e=this.playback.video)?void 0:e.currentTime)||0}set disablePause(e){this._disablePause=e}set disableRemotePlayback(e){this.playback.video&&(this.playback.video.disableRemotePlayback=e)}get duration(){var e=(null==(e=this.playback.video)?void 0:e.duration)||0;return Number.isFinite(e)?e:0}get muted(){var e;return null!=(e=null==(e=this.playback.video)?void 0:e.muted)&&e}get paused(){var e;return!this.played||null==(e=null==(e=this.playback.video)?void 0:e.paused)||e}get played(){return this.playback.played}get playing(){return!this.paused}set speed(e){this.playback.video&&(this.playback.video.playbackRate=e)}get speed(){var e;return null!=(e=null==(e=this.playback.video)?void 0:e.playbackRate)?e:1}get textTracks(){var e;return null==(e=this.playback.video)?void 0:e.textTracks}get video(){return this.playback.video}get volume(){var e;return null!=(e=null==(e=this.playback.video)?void 0:e.volume)?e:1}set volume(e){this.playback.video&&(this._lastVolume=this.volume,this.playback.video.volume=Math.max(0,Math.min(1,e)),0e.toString().padStart(2,"0"),fa=e=>{var e=Number.isFinite(e)?Math.max(0,Math.floor(e)):0,t=Math.floor(e/3600),i=Math.floor(e%3600/60),e=e%60;return 0{cancelAnimationFrame(this.rafId),this.rafId=0},this.push=e=>{this.latest=e,this.rafId||(this.rafId=requestAnimationFrame(this.flush))},this.flush=()=>{this.rafId=0,this.emit("frame",this.latest)}}}class ma extends es(){constructor(){super(...arguments),this.rafId=0,this.start=()=>{this.cancel(),this.scheduleNext()},this.stop=()=>{this.cancel(),this.emit("update")},this.cancel=()=>{cancelAnimationFrame(this.rafId)},this.scheduleNext=()=>{this.rafId=requestAnimationFrame(this.tick)},this.tick=()=>{this.emit("update"),this.scheduleNext()}}}let va=({clientX:e,left:t,width:i})=>i<=0?0:Math.min(1,Math.max(0,(e-t)/i));g=i`.progress-bar{align-items:center;cursor:pointer;justify-content:center;padding:.625em 0;position:relative;touch-action:none;user-select:none;width:100%}.progress-bar__background{background-color:var(--progressbar-background-color,hsla(0,0%,100%,.2));height:var(--progressbar-height,.25em);position:relative;width:100%}.progress-bar__handle{background-color:var(--progressbar-handle-color);border:1px solid var(--style-foreground-80,hsla(0,0%,100%,.8));border-radius:50%;box-shadow:0 0 .375em var(--style-foreground-50,hsla(0,0%,100%,.5)),0 0 2em .5em hsla(0,0%,100%,.1);height:calc(var(--progressbar-height, .25em) + .25em);left:calc(var(--progress, 0)*100%);position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(var(--progressbar-height, .25em) + .25em)}@media (hover:hover){.progress-bar__handle:hover{box-shadow:0 0 .125em .125em var(--style-foreground-50,hsla(0,0%,100%,.5)),0 0 .25em .0625em hsla(0,0%,100%,.15);transform:translate(-50%,-50%) scale(1.45)}}:host([dragging]) .progress-bar__handle{box-shadow:0 0 .125em .125em var(--style-foreground-50,hsla(0,0%,100%,.5)),0 0 .25em .0625em hsla(0,0%,100%,.15);transform:translate(-50%,-50%) scale(1.45)}.progress-bar__hover-handle{background-color:var(--progressbar-handle-color);border:1px solid var(--style-foreground-80,hsla(0,0%,100%,.8));border-radius:50%;box-shadow:0 0 .375em var(--style-foreground-50,hsla(0,0%,100%,.5)),0 0 2em .5em hsla(0,0%,100%,.1);height:calc(var(--progressbar-height, .25em) + .25em);left:calc(var(--hover-progress, 0)*100%);opacity:var(--tooltip-opacity,0);pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .12s ease;width:calc(var(--progressbar-height, .25em) + .25em)}.progress-bar__fill{background-color:var(--progressbar-fill-color);height:100%;left:0;position:absolute;top:0;transform:scaleX(var(--progress,0));transform-origin:left center;width:100%;will-change:transform}.progress-bar__time-tooltip{background-color:rgba(0,0,0,.8);border-radius:.25em;bottom:100%;color:#fff;font-size:.75em;left:calc(var(--hover-progress, 0)*100%);opacity:var(--tooltip-opacity,0);padding:.25em .5em;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .12s ease;white-space:nowrap}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.playback.duration<=0||(this.style.setProperty("--progress",""+this.activeProgress),this.playback.seek(this.activeProgress*this.playback.duration))},this.drawTooltip=e=>{this.style.setProperty("--hover-progress",""+e),this.updateTooltipTime(e)},this.endDrag=()=>{this.dragging=!1,this.toggleAttribute("dragging",!1)},this.hideTooltip=()=>this.style.setProperty("--tooltip-opacity","0"),this.onFrame=e=>{var{left:t,width:i}=this.dragging?this.dragRect:this.bar.getBoundingClientRect();i<=0||(e=va({clientX:e,left:t,width:i}),this.drawTooltip(e),this.dragging&&this.scrub(e))},this.onPointerCancel=()=>{this.endDrag(),this.hideTooltip()},this.onPointerDown=e=>{e.preventDefault();try{this.bar.setPointerCapture(e.pointerId)}catch(e){}var{left:t,width:i}=this.bar.getBoundingClientRect();this.dragRect={left:t,width:i},this.dragging=!0,this.toggleAttribute("dragging",!0),this.dragPointerIsTouch="touch"===e.pointerType,this.activeProgress=va(Object.assign({clientX:e.clientX},this.dragRect)),this.tooltipFrame.push(e.clientX)},this.onPointerMove=e=>this.tooltipFrame.push(e.clientX),this.onPointerUp=()=>{this.dragging&&(this.commitSeek(),this.endDrag())},this.onTimeUpdate=()=>{this.playback.playing||this.updateFill()},this.scrub=e=>{this.playback.duration<=0||(this.activeProgress=e,this.style.setProperty("--progress",""+e),this.dragPointerIsTouch)||this.playback.seek(e*this.playback.duration)},this.showTooltip=e=>{this.style.setProperty("--tooltip-opacity","1"),this.tooltipFrame.push(e.clientX)},this.syncToPlayback=()=>{this.playback.playing&&this.fillTicker.start(),this.updateFill()},this.updateFill=()=>{var e,t;this.dragging||({currentTime:e,duration:t}=this.playback,t<=0)||this.style.setProperty("--progress",""+Math.min(1,e/t))},this.updateTooltipTime=e=>{var t=this.playback.duration;t<=0||(e=Math.floor(e*t))!==this.lastTooltipSeconds&&(this.lastTooltipSeconds=e,this.tooltip.textContent=fa(e))}}connectedCallback(){super.connectedCallback(),this.fillTicker.on("update",this.updateFill),this.tooltipFrame.on("frame",this.onFrame),this.playback.addEventListener(a.Playing,this.fillTicker.start,{passive:!0}),this.playback.addEventListener(a.Pause,this.fillTicker.stop,{passive:!0}),this.playback.addEventListener(a.Ended,this.fillTicker.stop,{passive:!0}),this.playback.addEventListener(a.Waiting,this.fillTicker.stop,{passive:!0}),this.playback.addEventListener(a.TimeupdateMs,this.onTimeUpdate,{passive:!0}),this.syncToPlayback()}disconnectedCallback(){super.disconnectedCallback(),this.dragging=!1,this.tooltipFrame.cancel(),this.tooltipFrame.off("frame",this.onFrame),this.fillTicker.stop(),this.fillTicker.off("update",this.updateFill),this.playback.removeEventListener(a.Playing,this.fillTicker.start),this.playback.removeEventListener(a.Pause,this.fillTicker.stop),this.playback.removeEventListener(a.Ended,this.fillTicker.stop),this.playback.removeEventListener(a.Waiting,this.fillTicker.stop),this.playback.removeEventListener(a.TimeupdateMs,this.onTimeUpdate)}render(){return c`
`}};ya.styles=g,m([Ke({context:ua})],ya.prototype,"playback",void 0),m([p(".progress-bar")],ya.prototype,"bar",void 0),m([p(".progress-bar__time-tooltip")],ya.prototype,"tooltip",void 0),ya=m([f("vturb-progress-bar")],ya);g=i`.player .rewind{pointer-events:auto}.player .rewind svg{fill:inherit}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{e.stopPropagation(),this.player.dispatchEvent(new xt.BarCloser),this.player.dispatchEvent(new a.Rewind({step:this.step})),this.player.controllers.bar.show(),this.player.playback.seek(Math.max(0,this.player.playback.currentTime-this.step))}),this.noop=ia(e=>{e.stopPropagation(),e.preventDefault()})}render(){return c` `}};function v(e,t,i){return e?t():null==i?void 0:i()}ba.styles=g,ba=m([f("vturb-rewind")],ba);let Ea=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.player.playback.toggle(),this.player.controllers.bar.show()}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(a.Play,()=>this.requestUpdate()),this.player.addEventListener(a.Pause,()=>this.requestUpdate())}render(){return c` `}};wa.styles=i``,wa=Ea([f("vturb-smallplay")],wa);g=i`:host{display:block}.menu-item{align-items:center;cursor:pointer;display:flex;height:var(--menu-item-height);padding:calc(var(--menu-padding)/2) var(--menu-padding);transition:background-color var(--menu-transition);user-select:none}.menu-item:hover{background-color:var(--menu-hover-color)}.menu-item__icon{align-items:center;color:var(--menu-icon-color);display:flex;fill:var(--menu-icon-color);height:var(--menu-icon-size);justify-content:center;margin-right:var(--menu-padding);width:var(--menu-icon-size)}.menu-item__icon svg{height:1em;width:1em}.menu-item__label{flex:1;font-size:var(--menu-font-size);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.menu-item__check{color:var(--menu-icon-color);fill:var(--menu-icon-color);margin-left:var(--menu-padding)}.menu-item__check svg{height:1em;width:1em}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.dispatchEvent(new CustomEvent("item-selected",{bubbles:!0,composed:!0,detail:{value:this.value}}))}),this.icon="",this.label="",this.selected=!1}render(){return c` `}};Ta.styles=[g],m([d({type:String})],Ta.prototype,"value",void 0),m([d({type:String})],Ta.prototype,"icon",void 0),m([d({type:String})],Ta.prototype,"label",void 0),m([d({reflect:!0,type:Boolean})],Ta.prototype,"selected",void 0),Ta=m([f("smart-menu-item")],Ta);g=i`:host{--menu-bg-color:#203ea6;--menu-text-color:#fafafa;--menu-hover-color:#2b4bb3;--menu-selected-color:#2b4bb3;--menu-icon-color:#fff;--menu-divider-color:hsla(0,0%,100%,.1);--menu-shadow:0 4px 6px rgba(0,0,0,.1);--menu-item-height:1.6em;--menu-padding:0.6em;--menu-border-radius:0.4em;--menu-icon-size:0.75em;--menu-font-size:0.75em;--menu-transition:0.2s ease;display:block}.menu{background-color:var(--menu-bg-color);border-radius:var(--menu-border-radius);box-shadow:var(--menu-shadow);color:var(--menu-text-color);display:none;min-width:10em;overflow:hidden}.menu[opened]{display:flex;flex-direction:column}.menu.top-left{left:0;top:0}.menu.top-right{right:0;top:0}.menu.bottom-left{bottom:0;left:0}.menu.bottom-right{bottom:0;right:0}.menu__header{align-items:center;border-bottom:1px solid var(--menu-divider-color);display:flex;font-size:var(--menu-font-size);height:var(--menu-item-height);padding:var(--menu-padding)}.menu__content{display:flex;flex-direction:column;overflow-y:auto}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var e=document.querySelector(this.target);e&&(e=e.getBoundingClientRect(),this.style.left=e.left+"px",this.style.top=e.top+"px")}}connectedCallback(){super.connectedCallback(),this.target&&(window.addEventListener("resize",this._reposition),window.addEventListener("scroll",this._reposition))}disconnectedCallback(){super.disconnectedCallback(),this.target&&(window.removeEventListener("resize",this._reposition),window.removeEventListener("scroll",this._reposition))}render(){return c` `}};Sa.styles=[g],m([d({reflect:!0,type:Boolean})],Sa.prototype,"opened",void 0),m([d({type:String})],Sa.prototype,"position",void 0),m([d({type:String})],Sa.prototype,"target",void 0),m([d({type:String})],Sa.prototype,"title",void 0),Sa=m([f("smart-menu")],Sa);g=i`:host{display:block}.submenu__header{align-items:center;cursor:pointer;display:flex;height:var(--menu-item-height);padding:0 var(--menu-padding);transition:background-color var(--menu-transition);user-select:none}.submenu__header:hover{background-color:var(--menu-hover-color)}.submenu__header ::slotted([slot=icon]){color:var(--menu-icon-color);height:var(--menu-icon-size);margin-right:var(--menu-padding);width:var(--menu-icon-size)}.submenu__label{flex:1;font-size:var(--menu-font-size)}.submenu__value{margin-right:var(--menu-padding);opacity:.8}.submenu__arrow{align-items:center;color:var(--menu-icon-color);display:flex;transition:transform var(--menu-transition)}.submenu__arrow.opened{transform:rotate(90deg)}.submenu__content{background-color:var(--menu-hover-color);display:none}.submenu__content[opened]{display:block}.submenu__switch{align-items:center;display:flex}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3 `}_handleClick(){this.opened=!this.opened,this.dispatchEvent(new CustomEvent("submenu-toggle",{bubbles:!0,composed:!0,detail:{opened:this.opened}}))}};ka.styles=[g],m([d({type:Boolean})],ka.prototype,"hasSwitch",void 0),m([d({type:String})],ka.prototype,"label",void 0),m([d({reflect:!0,type:Boolean})],ka.prototype,"opened",void 0),m([d({type:String})],ka.prototype,"value",void 0),ka=m([f("smart-submenu")],ka);g=i`:host{display:inline-block}.switch{--switch-width:40px;--switch-height:24px;--switch-padding:2px;--switch-thumb-size:calc(var(--switch-height) - var(--switch-padding)*2);align-items:center;cursor:pointer;display:inline-flex}.switch__track{background-color:hsla(0,0%,100%,.3);border-radius:calc(var(--switch-height)/2);height:var(--switch-height);padding:var(--switch-padding);transition:background-color var(--menu-transition);width:var(--switch-width)}.switch__thumb{background-color:var(--menu-text-color);border-radius:50%;height:var(--switch-thumb-size);transform:translateX(0);transition:transform var(--menu-transition);width:var(--switch-thumb-size)}.switch[aria-checked=true] .switch__track{background-color:var(--menu-selected-color)}.switch[aria-checked=true] .switch__thumb{transform:translateX(calc(var(--switch-width) - var(--switch-height)))}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3
`}_handleClick(){this.checked=!this.checked,this.dispatchEvent(new CustomEvent("switch-change",{bubbles:!0,composed:!0,detail:{checked:this.checked}}))}};_a.styles=[g],m([d({reflect:!0,type:Boolean})],_a.prototype,"checked",void 0),_a=m([f("smart-switch")],_a);var Aa,g=i`vturb-speed-control{position:relative}.m-w-360 vturb-speed-control .speed-control__option{font-size:.7em}.m-w-480 vturb-speed-control .speed-control__option{font-size:.8em}.m-w-550 vturb-speed-control .speed-control__option{font-size:.9em}#speed-control-menu{--menu-bg-color:var(--style-gradient-surface,var(--style-background-opacity));--menu-text-color:var(--style-foreground);--menu-hover-color:var(--style-gradient-surface-hover,var(--style-background));--menu-selected-color:var(--style-background);--menu-icon-color:var(--style-foreground);--menu-divider-color:hsla(0,0%,100%,.1);--menu-shadow:0 4px 6px rgba(0,0,0,.1)}.speed-control__current{align-items:center;color:var(--style-foreground);display:inline-flex;font-size:1em;text-align:center}.speed-control__options{bottom:100%;display:flex;flex-direction:column;justify-content:flex-end;position:absolute!important;right:0;white-space:nowrap}.speed-control__options button.speed-control__option{background-color:var(--style-background-opacity);color:#fff;cursor:pointer;display:block;font-size:1em;opacity:1;padding:.5em 1.5em;text-align:left;width:100%}.m-w-360 .speed-control__options button.speed-control__option{font-size:.7em;padding:.3em 1em}.m-w-480 .speed-control__options button.speed-control__option{font-size:.8em;padding:.4em 1.2em}.m-w-550 .speed-control__options button.speed-control__option{font-size:.9em;padding:.4em 1.5em}.speed-control__options button.speed-control__option:hover{background-color:var(--style-background-90)}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.mountedMenu||!e||(this.mountedMenu=e),this._updatePosition()},this.getContainingBlockOffset=e=>{let t=e.parentElement;for(;t;){var i=getComputedStyle(t);if("none"!==i.transform||"none"!==i.perspective||"none"!==i.filter||i.willChange.includes("transform"))return t.getBoundingClientRect();t=t.parentElement}return{top:0,left:0}},this._updatePosition=()=>{if(this.speedOptionsVisible&&this.mountedMenu&&this.speedControl)if(10this._updatePosition(),10);this.tries=0,this.mountedMenu.style.visibility="visible";var n=this.getContainingBlockOffset(this.mountedMenu);let e=i-s-10-n.top;i=t+r-a-n.left;0===Math.round(window.scrollY)&&e<0&&(e=0),this.mountedMenu.style.top=e+"px",this.mountedMenu.style.left=i+"px"}},this.close=e=>{var t;this.player.controlBar.removeEventListener("click",this.close),null!=(t=this.player.player)&&t.removeEventListener("click",this.close),this.player.removeEventListener(xt.BarCloser,this.close),this.speedOptionsVisible=!1,this.mountedMenu=null,this.tries=0,this.player.controllers.bar.blockClose=!1,this.requestUpdate()},this.onSpeedChange=()=>{this.requestUpdate()},this.onSpeedControlClick=e=>{e.stopPropagation(),"click"===e.type&&ni()?e.preventDefault():this.toggleSpeedOptions()},this.open=()=>{var e;this.player.controlBar.addEventListener("click",this.close),null!=(e=this.player.player)&&e.addEventListener("click",this.close),this.player.addEventListener(xt.BarCloser,this.close),this.speedOptionsVisible=!0,this.player.controllers.bar.blockClose=!0,this.requestUpdate()}}connectedCallback(){var e;super.connectedCallback(),null!=(e=this.player)&&e.addEventListener(a.Speedchange,this.onSpeedChange),null!=(e=this.player)&&e.addEventListener(n.Entered,this._updatePosition),null!=(e=this.player)&&e.addEventListener(n.Exited,this._updatePosition),window.addEventListener("resize",this._updatePosition),window.addEventListener("scroll",this._updatePosition,!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player)&&e.removeEventListener(a.Speedchange,this.onSpeedChange),null!=(e=this.player)&&e.removeEventListener(n.Entered,this._updatePosition),null!=(e=this.player)&&e.removeEventListener(n.Exited,this._updatePosition),window.removeEventListener("resize",this._updatePosition),window.removeEventListener("scroll",this._updatePosition,!0)}render(){var e=Hs({active:this.speedOptionsVisible,"speed-control":!0});return c`
{e.stopPropagation(),e.preventDefault()}} > ${v(this.speedOptionsVisible,()=>c` {this.setSpeed(Number(e.detail.value)),setTimeout(()=>{this.player.dispatchEvent(new xt.BarCloser)},Aa.CLOSE_DELAY)}} @click=${e=>{e.stopPropagation(),e.preventDefault()}} @touchend=${e=>{e.stopPropagation(),e.preventDefault()}} > `)}
`}renderSpeedOptions(){return c``}setSpeed(e,t){t&&(t.stopPropagation(),t.preventDefault()),this.player.playback.speed=e}toggleSpeedOptions(){this.speedOptionsVisible?this.close():this.open()}},xa=(La.CLOSE_DELAY=250,La.ComponentName="SpeedControl",La.reRenderOn=[o.Resize],La.speedOptions=[.5,.75,1,1.25,1.5,2],La.styles=g,m([p(".speed-control")],La.prototype,"speedControl",void 0),La=Aa=m([f("vturb-speed-control")],La),"important"),Ra=(xa,Gs(class extends zs{constructor(e){if(super(e),e.type!==Vs.ATTRIBUTE||"style"!==e.name||2<(null==(e=e.strings)?void 0:e.length))throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(r){return Object.keys(r).reduce((e,t)=>{var i=r[t];return null==i?e:e+`${t=t.includes("-")?t:t.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`},"")}update(e,[i]){let r=e.element.style;if(void 0===this.ht){for(var t in this.ht=new Set,i)this.ht.add(t);return this.render(i)}for(var s in this.ht.forEach(e=>{null==i[e]&&(this.ht.delete(e),e.includes("-")?r.removeProperty(e):r[e]="")}),i){let t=i[s];if(null!=t){this.ht.add(s);let e="string"==typeof t&&t.endsWith(" !important");s.includes("-")||e?r.setProperty(s,e?t.slice(0,-11):t,e?xa:""):r[s]=t}}return yr}}));var Ia,g=i`.subtitles{bottom:calc(var(--fakebar-height, 0) + .5em);color:var(--style-foreground);left:50%;max-width:var(--subtitle-max-width);position:absolute;text-align:center;text-shadow:var(--subtitle-text-shadow);transform:translateX(-50%);width:100%;z-index:9}.m-w-360 .subtitles,.m-w-480 .subtitles,.m-w-550 .subtitles{max-width:var(--subtitle-max-width-small)}.subtitles span{-webkit-box-decoration-break:clone;box-decoration-break:clone;font-family:var(--style-font-family);font-size:1em;font-weight:var(--subtitle-font-weight);letter-spacing:var(--subtitle-letter-spacing);line-height:var(--subtitle-line-height);margin:0;padding:var(--subtitle-padding);text-align:inherit;text-shadow:var(--subtitle-text-shadow);white-space:pre-wrap}.subtitles span span{position:relative}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var e=this.player.config.video.width;let t=this.player.config.subtitles.fontSize;"string"==typeof t&&(t=Number(t.replace("px","").replace("%","").replace("em","").replace("rem","")));var i=Number(null==(i=this.player.playback.video)?void 0:i.clientWidth)/Number(e)||1,i=Math.min(1.2,Math.max(.6,i)),e=(this.player.dispatchEvent(new ti.ConfigChange({config:Object.assign(Object.assign({},null!=(e=this.config)?e:{}),{multiplier:i})})),i*(null!=t?t:18)+"px");e!==this.fontSize&&(this.fontSize=e,this.requestUpdate())},this.onConfigUpdated=e=>{this.logger.debug("Subtitle config updated",{config:e.detail.config,player:e.detail.player}),this.calculateFontSize()},this.onLoadedMetadata=()=>{var e,t;null!=(t=this.player.hlsVideo)&&t.video&&((t=this.logger.group("debug","Video metadata loaded")).message("Checking for active track",{hasActiveTrack:!!this.player.activeTrack,hasVideo:!(null==(e=this.player.hlsVideo)||!e.video)}),this.player.activeTrack&&(t.message("Setting up initial subtitle track",{trackKind:this.player.activeTrack.kind,trackLabel:this.player.activeTrack.label,trackLanguage:this.player.activeTrack.language}),this.setupCueChangeListener(this.player.activeTrack)),t.end())},this.onTrackChange=e=>{var t,i;this.currentCue!==e.detail.track&&((i=this.logger.group("info","Subtitle track changed")).message("Track details",{kind:null==(t=e.detail.track)?void 0:t.kind,label:null==(t=e.detail.track)?void 0:t.label,language:null==(t=e.detail.track)?void 0:t.language,mode:null==(t=e.detail.track)?void 0:t.mode}),this.cleanupTrackListeners(),e.detail.track?(i.message("Setting up new track listener",{trackLabel:e.detail.track.label}),this.setupCueChangeListener(e.detail.track)):(i.message("No track selected, clearing current cue"),this.currentCue=null),i.end())},this.cueChangeHandler=()=>{var e,t=this.player.activeTrack;t?(e=Array.from(t.activeCues||[])[0]||null)!==this.currentCue&&(this.logger.debug("Subtitle cue changed",{endTime:null===e?void 0:e.endTime,startTime:null===e?void 0:e.startTime,text:null===e?void 0:e.text,trackLabel:t.label,trackLanguage:t.language}),this.currentCue=e):this.currentCue=null}}connectedCallback(){super.connectedCallback(),this.logger.info("Subtitle component initialized",{componentName:Ia.componentName,config:this.config,fontSize:this.fontSize,show:this.show}),this.player.addEventListener(a.Loadedmetadata,this.onLoadedMetadata),this.player.addEventListener(ti.TrackChange,this.onTrackChange),this.player.addEventListener(o.Resize,this.calculateFontSize),this.player.addEventListener(o.ConfigUpdated,this.onConfigUpdated)}disconnectedCallback(){var e;this.logger.debug("Subtitle component disconnected",{componentName:Ia.componentName,currentCue:null==(e=this.currentCue)?void 0:e.text,show:this.show}),super.disconnectedCallback(),this.player.removeEventListener(a.Loadedmetadata,this.onLoadedMetadata),this.player.removeEventListener(ti.TrackChange,this.onTrackChange),this.player.removeEventListener(o.Resize,this.calculateFontSize),this.player.removeEventListener(o.ConfigUpdated,this.onConfigUpdated),this.player.dispatchEvent(new ti.Inactive),this.cleanupTrackListeners()}firstUpdated(){this.calculateFontSize()}render(){var e,t,i;return this.currentCue&&this.show&&!this.player.controllers.blockers.noneBlocker("played")?(i=this.player.config.subtitles,t=Ra({fontSize:this.fontSize,justifyContent:{center:"center",left:"flex-start",right:"flex-end"}[null!=(t=i.align)?t:"center"]||"center",textAlign:null!=(t=i.align)?t:"center"}),i=Ra({backgroundColor:null!=(e=i.backgroundColor)?e:"rgba(0, 0, 0, 0.7)",color:null!=(e=i.color)?e:"#FFFFFF"}),c`
${this.currentCue.text}
`):null}cleanupTrackListeners(){this.currentCue&&(this.logger.debug("Cleaning up track listeners",{hadCurrentCue:!!this.currentCue}),this.currentCue.removeEventListener("cuechange",this.cueChangeHandler))}setupCueChangeListener(e){this.logger.debug("Setting up cue change listener",{trackLabel:e.label,trackLanguage:e.language,trackMode:e.mode}),e.addEventListener("cuechange",this.cueChangeHandler)}};Pa.componentName="Subtitle",Pa.styles=g,m([d({type:Object})],Pa.prototype,"config",void 0),m([d({reflect:!0,type:Boolean})],Pa.prototype,"show",void 0),m([u()],Pa.prototype,"currentCue",void 0),Pa=Ia=m([f("vturb-subtitles")],Pa);g=i``,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.player.interface.setup({subtitles:{show:!this.player.config.subtitles.show}})}}render(){return c` `}};Ca.styles=g,Ca=m([f("vturb-subtitle-control")],Ca);g=i`.video-time{align-items:center!important;color:var(--style-foreground);display:flex;justify-content:center!important;padding-left:.5em;padding-right:.5em}.m-w-360 .video-time .video-time-total,.m-w-480 .video-time .video-time-total,.m-w-550 .video-time .video-time-total,.video-time .video-time-total{display:none}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.videoTimeTotal.innerHTML=" / "+fa(this.player.playback.duration)},this.onTimeUpdate=e=>{this.videoTimeCurrent.textContent=fa(e.detail.time)}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(a.TimeupdateMs,this.onTimeUpdate),this.player.addEventListener(a.Loadedmetadata,this.onLoadedMetadata)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player)&&e.removeEventListener(a.TimeupdateMs,this.onTimeUpdate),null!=(e=this.player)&&e.removeEventListener(a.Loadedmetadata,this.onLoadedMetadata)}render(){return c`
00:00 / --:--
`}firstUpdated(e){this.onTimeUpdate({detail:{time:this.player.playback.currentTime}})}};Da.styles=g,m([p(".video-time-current")],Da.prototype,"videoTimeCurrent",void 0),m([p(".video-time-total")],Da.prototype,"videoTimeTotal",void 0),Da=m([f("vturb-video-time")],Da);g=i`#player .volume{position:relative}#player .volume__control{align-items:center;background:var(--style-gradient-surface,var(--style-background-opacity));border-radius:var(--control-border-radius) var(--control-border-radius) 0 0;bottom:100%;box-sizing:border-box;cursor:pointer;display:flex;height:7em;justify-content:center;left:50%;opacity:0;padding:1.125em .5em;position:absolute;transform:translateX(-50%);transition:opacity .2s ease;visibility:hidden;width:100%}#player .volume__control range-slider{height:5em;width:1.5em;--slider-height:0.125em;--thumb-diameter:0.625em;--slider-background:var(--style-foreground-50);--slider-value-color:var(--style-foreground);--thumb-color:var(--style-foreground)}#player .volume__button-icon{align-items:center;display:none;fill:#fff;height:100%;justify-content:center;width:1.5em}#player .volume.in-change .volume__button,#player .volume:not(.mobile):hover .volume__button{padding-right:.625em}#player .volume.in-change .volume__control,#player .volume:not(.mobile):hover .volume__control{opacity:1;overflow:hidden;visibility:visible}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{e.preventDefault(),e.stopPropagation(),this.volumeChangeStarted&&(this.player.controllers.bar.show(),this.player.playback.volume=this.Slider.value)},this.onVolumeChange=e=>{this.updateVolume(),this.requestUpdate()},this.startVolumeChange=e=>{this.volumeChangeStarted=!0,this.doc.addEventListener("mouseup",this.stopVolumeChange),this.doc.addEventListener("touchend",this.stopVolumeChange),this.player.controllers.bar.dispatchCloser()},this.stopVolumeChange=()=>{this.volumeChangeStarted=!1,this.doc.removeEventListener("mouseup",this.stopVolumeChange),this.doc.removeEventListener("touchend",this.stopVolumeChange)},this.toggleMute=e=>{this.player.playback.muted||this.player.playback.volume<=.05?this.player.playback.unmute():this.player.playback.mute(),this.player.controllers.bar.show(),this.updateVolume()}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(a.Volumechange,this.onVolumeChange)}disconnectedCallback(){var e;super.disconnectedCallback(),null!=(e=this.player)&&e.removeEventListener(a.Volumechange,this.onVolumeChange)}firstUpdated(){this.updateVolume()}render(){return c`
${v(!ni(),()=>c`
{e.stopPropagation()}} @mousedown=${this.startVolumeChange} @touchstart=${this.startVolumeChange} >
`)}
`}updateVolume(){0===this.player.playback.volume||this.player.playback.muted?(this.Volume3.style.display="none",this.Volume2.style.display="none",this.Volume1.style.display="none",this.VolumeMute.style.display="flex"):(this.player.playback.volume<.25?(this.Volume3.style.display="none",this.Volume2.style.display="none",this.Volume1.style.display="flex"):(this.player.playback.volume<.75?(this.Volume3.style.display="none",this.Volume2.style.display="flex"):(this.Volume3.style.display="flex",this.Volume2.style.display="none"),this.Volume1.style.display="none"),this.VolumeMute.style.display="none")}},Ma=(Oa.styles=g,m([p("range-slider")],Oa.prototype,"Slider",void 0),m([p(".volume__button-icon--1")],Oa.prototype,"Volume1",void 0),m([p(".volume__button-icon--2")],Oa.prototype,"Volume2",void 0),m([p(".volume__button-icon--3")],Oa.prototype,"Volume3",void 0),m([p(".volume__button")],Oa.prototype,"VolumeButton",void 0),m([u()],Oa.prototype,"volumeChangeStarted",void 0),m([p(".volume__button-icon--mute")],Oa.prototype,"VolumeMute",void 0),Oa=m([f("vturb-volume")],Oa),t).I,Fa=()=>document.createComment(""),Na=(r,e,s)=>{var a,n=r._$AA.parentNode,o=void 0===e?r._$AB:e._$AA;if(void 0===s){let e=n.insertBefore(Fa(),o),t=n.insertBefore(Fa(),o);s=new Ma(e,t,r,r.options)}else{let t=s._$AB.nextSibling,i=s._$AM,e=i!==r;if(e){let e;null!=(a=s._$AQ)&&a.call(s,r),s._$AM=r,void 0!==s._$AP&&(e=r._$AU)!==i._$AU&&s._$AP(e)}if(t!==o||e){let e=s._$AA;for(;e!==t;){var l=e.nextSibling;n.insertBefore(e,o),e=l}}}return s},Ua=(e,t,i=e)=>(e._$AI(t,i),e),$a={},Ba=e=>{var t;null!=(t=e._$AP)&&t.call(e,!1,!0);let i=e._$AA;for(var r=e._$AB.nextSibling;i!==r;){let e=i.nextSibling;i.remove(),i=e}},ja=(t,i,r)=>{var s=new Map;for(let e=i;e<=r;e++)s.set(t[e],e);return s},Va=Gs(class extends zs{constructor(e){if(super(e),e.type!==Vs.CHILD)throw Error("repeat() can only be used in text expressions")}ct(t,e,i){let r;void 0===i?i=e:void 0!==e&&(r=e);var s=[],a=[];let n=0;for(let e of t)s[n]=r?r(e,n):n,a[n]=i(e,n),n++;return{values:a,keys:s}}render(e,t,i){return this.ct(e,t,i).values}update(i,[e,t,r]){var s=i._$AH,{values:a,keys:n}=this.ct(e,t,r);if(!Array.isArray(s))return this.ut=n,a;var o,l=null!=(e=this.ut)?e:this.ut=[],h=[];let d,c,u=0,p=s.length-1,f=0,g=a.length-1;for(;u<=p&&f<=g;)if(null===s[u])u++;else if(null===s[p])p--;else if(l[u]===n[f])h[f]=Ua(s[u],a[f]),u++,f++;else if(l[p]===n[g])h[g]=Ua(s[p],a[g]),p--,g--;else if(l[u]===n[g])h[g]=Ua(s[u],a[g]),Na(i,h[g+1],s[u]),u++,g--;else if(l[p]===n[f])h[f]=Ua(s[p],a[f]),Na(i,s[u],s[p]),p--,f++;else if(void 0===d&&(d=ja(n,f,g),c=ja(l,u,p)),d.has(l[u]))if(d.has(l[p])){let e=c.get(n[f]),t=void 0!==e?s[e]:null;null===t?(o=Na(i,s[u]),Ua(o,a[f]),h[f]=o):(h[f]=Ua(t,a[f]),Na(i,s[u],t),s[e]=null),f++}else Ba(s[p]),p--;else Ba(s[u]),u++;for(;f<=g;){var m=Na(i,h[g+1]);Ua(m,a[f]),h[f++]=m}for(;u<=p;){var v=s[u++];null!==v&&Ba(v)}return this.ut=n,[t,r=$a]=[i,h],t._$AH=r,yr}});var g=i`.controls{bottom:0;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--control-gap-vertical);justify-content:flex-end;left:0;opacity:0;position:absolute;transform:translateY(var(--control-translate-y));transition:opacity var(--base-transition),transform var(--base-transition);width:100%;z-index:var(--control-index)}.controls--progress-bar{justify-content:flex-start}.controls vturb-volume button.active,.controls vturb-volume:hover{background:var(--style-gradient-surface,var(--style-background-opacity));border-top-left-radius:0!important;border-top-right-radius:0!important}.controls .controls__first{background:var(--style-gradient,var(--style-background-opacity))}.controls .controls__menu-button-wrapper,.controls vturb-forward,.controls vturb-fullscreen-button,.controls vturb-progress-bar,.controls vturb-rewind,.controls vturb-smallplay,.controls vturb-speed-control,.controls vturb-subtitle-control,.controls vturb-video-time,.controls vturb-volume{align-items:center;display:flex;height:100%;justify-content:center}.controls .controls__menu-button-wrapper:hover,.controls vturb-forward:hover,.controls vturb-fullscreen-button:hover,.controls vturb-progress-bar:hover,.controls vturb-rewind:hover,.controls vturb-smallplay:hover,.controls vturb-speed-control:hover,.controls vturb-subtitle-control:hover,.controls vturb-video-time:hover,.controls vturb-volume:hover{opacity:1;transition:opacity calc(var(--base-transition-duration)/2.2) var(--base-transition-cubic)}.controls .controls__menu-button-wrapper>:not(.no-size),.controls vturb-forward>:not(.no-size),.controls vturb-fullscreen-button>:not(.no-size),.controls vturb-progress-bar>:not(.no-size),.controls vturb-rewind>:not(.no-size),.controls vturb-smallplay>:not(.no-size),.controls vturb-speed-control>:not(.no-size),.controls vturb-subtitle-control>:not(.no-size),.controls vturb-video-time>:not(.no-size),.controls vturb-volume>:not(.no-size){align-items:stretch;display:flex;height:calc(var(--control-padding)*2 + var(--control-button-size));position:relative}.controls button{align-items:center;background:transparent;border:none;color:var(--style-foreground);cursor:pointer;display:flex;fill:var(--style-foreground);font-size:1em;justify-content:center;opacity:.75;padding:var(--control-padding);padding-block:var(--control-padding);padding-inline:var(--control-padding);transition:opacity calc(var(--base-transition-duration)/2.2) var(--base-transition-cubic)}.controls button:hover{background:var(--style-gradient-surface,var(--style-hover-background));opacity:1}.controls button,.controls button *{pointer-events:auto}.controls svg{background:transparent;color:var(--style-foreground);fill:var(--style-foreground);height:var(--control-button-size);width:var(--control-button-size)}.controls__control,.controls__first{align-items:center;display:flex;flex-direction:row;justify-content:flex-start;position:relative}.controls__control vturb-progress-bar{flex:1;padding:0 var(--control-padding,.5em)}.controls__control--grow{flex:1}.controls__control--collapsed{display:none}.controls__control--right-start{margin-left:auto}.controls__pill{display:none;height:100%;pointer-events:none;position:absolute;top:0}.controls__menu-button--active{background:var(--style-gradient-surface,var(--style-hover-background))!important;opacity:1!important}.controls .controls__menu-button-wrapper{order:999}.controls .controls__menu-button-wrapper--hidden{display:none}.controls:not(.controls--progress-bar) .controls__first{background:transparent}.controls:not(.controls--progress-bar) .controls__pill{background:var(--style-gradient,var(--style-background-opacity));background-repeat:no-repeat;background-size:var(--controls-bar-width,100%) 100%;display:block}.controls:not(.controls--progress-bar) .controls__pill--left{background-position:0;border-radius:0 var(--control-border-radius) var(--control-border-radius) 0;left:0;width:var(--controls-pill-left,0)}.controls:not(.controls--progress-bar) .controls__pill--right{background-position:100%;border-radius:var(--control-border-radius) 0 0 var(--control-border-radius);right:0;width:var(--controls-pill-right,0)}.controls:not(.controls--progress-bar) .controls__control--cluster-end button,.controls:not(.controls--progress-bar) .controls__control--cluster-end>*{border-radius:0 var(--control-border-radius) var(--control-border-radius) 0}.controls:not(.controls--progress-bar) .controls__control--cluster-start button,.controls:not(.controls--progress-bar) .controls__control--cluster-start>*{border-radius:var(--control-border-radius) 0 0 var(--control-border-radius)}.controls:not(.controls--progress-bar) .controls__control vturb-volume button{border-top-left-radius:0;border-top-right-radius:0}.has-fakebar .controls.bottom-controls-visible{background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);box-sizing:border-box;padding:1.4em .8em calc(var(--fakebar-height, 0) + .4em)}.has-fakebar .controls.bottom-controls-visible .controls__first{background:transparent;gap:.5em}.has-fakebar .controls.bottom-controls-visible .controls__pill{display:none}.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper,.has-fakebar .controls.bottom-controls-visible vturb-forward,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen-button,.has-fakebar .controls.bottom-controls-visible vturb-mini-player-toggle-button,.has-fakebar .controls.bottom-controls-visible vturb-rewind,.has-fakebar .controls.bottom-controls-visible vturb-smallplay,.has-fakebar .controls.bottom-controls-visible vturb-speed-control,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control,.has-fakebar .controls.bottom-controls-visible vturb-volume{background:transparent;border-radius:var(--control-border-radius)}.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper button,.has-fakebar .controls.bottom-controls-visible vturb-forward button,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen-button button,.has-fakebar .controls.bottom-controls-visible vturb-mini-player-toggle-button button,.has-fakebar .controls.bottom-controls-visible vturb-rewind button,.has-fakebar .controls.bottom-controls-visible vturb-smallplay button,.has-fakebar .controls.bottom-controls-visible vturb-speed-control button,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control button,.has-fakebar .controls.bottom-controls-visible vturb-volume button{border-radius:var(--control-border-radius);opacity:1}.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper button.active,.has-fakebar .controls.bottom-controls-visible .controls__menu-button-wrapper:hover,.has-fakebar .controls.bottom-controls-visible vturb-forward button.active,.has-fakebar .controls.bottom-controls-visible vturb-forward:hover,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen-button button.active,.has-fakebar .controls.bottom-controls-visible vturb-fullscreen-button:hover,.has-fakebar .controls.bottom-controls-visible vturb-mini-player-toggle-button button.active,.has-fakebar .controls.bottom-controls-visible vturb-mini-player-toggle-button:hover,.has-fakebar .controls.bottom-controls-visible vturb-rewind button.active,.has-fakebar .controls.bottom-controls-visible vturb-rewind:hover,.has-fakebar .controls.bottom-controls-visible vturb-smallplay button.active,.has-fakebar .controls.bottom-controls-visible vturb-smallplay:hover,.has-fakebar .controls.bottom-controls-visible vturb-speed-control button.active,.has-fakebar .controls.bottom-controls-visible vturb-speed-control:hover,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control button.active,.has-fakebar .controls.bottom-controls-visible vturb-subtitle-control:hover,.has-fakebar .controls.bottom-controls-visible vturb-volume button.active,.has-fakebar .controls.bottom-controls-visible vturb-volume:hover{background:var(--style-gradient-surface,var(--style-background-opacity));border-radius:var(--control-border-radius)}.has-fakebar .controls.bottom-controls-visible vturb-volume button{border-top-left-radius:0;border-top-right-radius:0}.has-fakebar .controls.bottom-controls-visible vturb-progress-bar,.has-fakebar .controls.bottom-controls-visible vturb-video-time{background:transparent}.has-fakebar .controls.bottom-controls-visible vturb-progress-bar button,.has-fakebar .controls.bottom-controls-visible vturb-video-time button{opacity:1}.controls__inner{align-items:center;display:flex;gap:var(--control-gap-horizontal);justify-content:space-around;left:0;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transform:translateY(-30%);transition:opacity var(--base-transition),transform var(--base-transition);width:100%}.controls__inner,.controls__inner *{pointer-events:none!important}.controls__inner--center,.controls__inner--left,.controls__inner--right{align-items:center;display:flex;justify-content:center;width:33%}.m-w-360 .controls__inner{font-size:10px}.m-w-480 .controls__inner{font-size:12px}.m-w-550 .controls__inner{font-size:14px}.m-w-640 .controls__inner{font-size:16px}.m-w-768 .controls__inner{font-size:18px}.m-w-1024 .controls__inner{font-size:20px}.m-w-1280 .controls__inner{font-size:22px}.m-w-1440 .controls__inner{font-size:24px}.m-w-1600 .controls__inner{font-size:26px}.m-w-1920 .controls__inner{font-size:28px}.controls__inner button{align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:100%;color:#fff;cursor:pointer;display:inline-flex;fill:#fff;font-size:1em;justify-content:center;opacity:.75;padding:var(--control-mobile-button-padding);padding-block:var(--control-mobile-button-padding);padding-inline:var(--control-mobile-button-padding);transition:opacity calc(var(--base-transition-duration)/2.2) var(--base-transition-cubic)}.is-mobile .controls__inner button:active{animation:mobile-click-feedback var(--base-transition-duration) var(--base-transition-cubic)}@keyframes mobile-click-feedback{0%{box-shadow:0 0 0 0 hsla(0,0%,100%,.8)}70%{box-shadow:0 0 0 .9375em hsla(0,0%,100%,0)}to{box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}#player:not(.is-mobile) .controls__inner button:hover{background:var(--style-dark-hover-background);opacity:1}.controls__inner button,.controls__inner button *{pointer-events:auto}.controls__inner button svg{background:transparent;color:#fff;fill:#fff;height:var(--control-mobile-button-icon-size);width:var(--control-mobile-button-icon-size)}.controls__inner .featured button{padding:var(--control-mobile-button-featured-padding);padding-block:var(--control-mobile-button-featured-padding);padding-inline:var(--control-mobile-button-featured-padding)}.controls__inner .featured button svg{height:var(--control-mobile-button-featured-icon-size);width:var(--control-mobile-button-featured-icon-size)}.show-controls .controls{opacity:1;transform:translateY(0)}.show-controls .controls__inner{opacity:1;transform:translateY(calc(-50% - var(--control-padding)*2/2 - .75rem))}.show-controls .controls__inner,.show-controls .controls__inner *{pointer-events:all!important}#player.is-mobile .controls vturb-fullscreen-button button:focus,#player.is-mobile .controls vturb-fullscreen-button button:hover,#player.is-mobile vturb-fullscreen-button:focus,#player.is-mobile vturb-fullscreen-button:hover{background:transparent}`,Ga=function(e,t){var i={};for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,s=Object.getOwnPropertySymbols(e);r{var{mounted:t,visible:i=!0,template:r}=e,e=Ga(e,["mounted","visible","template"]);return Object.assign(Object.assign({},e),{element:v(t,r),visible:t&&i})},Ha=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.player.dispatchEvent(new xt.BarCloser),e.stopPropagation(),t||e.preventDefault()}),this.showMenu=!1,this.wasMenuActive=!1,this.pillResizeObserver=new ResizeObserver(()=>this.updatePillWidths()),this.keepControlsActive=()=>this.player.controllers.bar.show(),this.renderMenuButton=(e,t)=>c`
`,this.controlsActiveHandler=()=>this.sendEvents(!0),this.controlsInactiveHandler=()=>this.sendEvents(!1)}get allowProgressBar(){return this.player.config.style.progressBar}get showCaptions(){return this.player.config.subtitles.active&&this.player.config.style.captions&&0c``,space:10,order:1}),za({mounted:e.rewind,visible:!this.allowMenuDisplay,template:()=>c``,space:10,order:2}),za({mounted:e.videoTime,template:()=>c``,space:10,order:3}),za({mounted:this.allowProgressBar,template:()=>c``,space:this.allowMenuDisplay?70:60,grow:!0,order:5}),za({mounted:e.volume,template:()=>c``,space:10,order:4}),za({mounted:this.showCaptions,template:()=>c``,space:10,preferRight:!0,order:6}),za({mounted:e.speed,template:()=>c``,space:10,preferRight:!0,order:7}),za({mounted:rs(this.player.config.miniPlayer),template:()=>c``,space:10,preferRight:!0,order:8}),za({mounted:e.fullscreen||i,template:()=>c``,space:10,preferRight:!0,order:9})];return i=i,s=this.allowMenuDisplay,{leftControls:(t=i.filter(e=>e.visible).reduce((e,t,i,r)=>{i=i===r.length-1,r=0e.order-t.order),rightControls:t.rightControls.sort((e,t)=>e.order-t.order),hiddenControls:i.filter(e=>!e.visible),leftUsedSpace:t.leftUsedSpace,controlsSize:t.leftControls.length+t.rightControls.length}}get isMenuVisible(){var{rightControls:e,leftUsedSpace:t}=this.controlsOptions;return 1this.pillResizeObserver.observe(e))}updatePillWidths(){var e,t;this.allowProgressBar?(this.style.removeProperty("--controls-pill-left"),this.style.removeProperty("--controls-pill-right")):this.controlsBar&&(t=this.controlsBar.getBoundingClientRect(),e=this.clusterEnd?this.clusterEnd.getBoundingClientRect().right-t.left:0,t=this.clusterStart?t.right-this.clusterStart.getBoundingClientRect().left:0,this.style.setProperty("--controls-pill-left",Math.max(0,e)+"px"),this.style.setProperty("--controls-pill-right",Math.max(0,t)+"px"))}updated(){var e=this.allowMenuDisplay&&this.isMenuVisible;this.showMenu&&!e&&(this.showMenu=!1),this.player.width&&this.style.setProperty("--controls-bar-width",this.player.width+"px"),this.updatePillWidths(),e!==this.wasMenuActive&&(this.wasMenuActive=e,this.player.dispatchEvent(new xt.BarCloser))}render(){var e=this.player.config.style,{leftControls:t,rightControls:i,hiddenControls:r=[],controlsSize:s}=this.controlsOptions,a=this.allowMenuDisplay&&this.isMenuVisible,n=a&&!this.showMenu,s=(this.player.isControlsBottomVisible=0
${v(e.rewind,()=>c``,()=>c` `)}
 
${v(e.forward,()=>c``,()=>c` `)}
${this.renderControls({leftControls:t,rightControls:i,hiddenControls:r,menuOpen:a&&this.showMenu,menuCollapsed:n})} ${this.renderMenuButton(a,n)}
`}renderControls(e){e=(e=>{let{leftControls:i,rightControls:t,hiddenControls:r,menuOpen:s,menuCollapsed:a}=e,n=i[i.length-1],o=t[0],l=(e,t,i)=>({control:e,visualOrder:i,classes:{controls__control:!0,"controls__control--grow":!!e.grow,"controls__control--collapsed":t,"controls__control--right-start":e===o,"controls__control--cluster-start":e===o,"controls__control--cluster-end":e===n}});return[...i.map((e,t)=>l(e,s,t)),...t.map((e,t)=>l(e,a,i.length+t)),...r.map(e=>l(e,!0,0))].sort((e,t)=>e.control.order-t.control.order)})(e);return Va(e,e=>e.control.order,e=>c`
${e.control.element}
`)}sendEvents(i){var e=this.player.config.style,e={forward:e.forward,fullscreen:e.fullscreen,progressBar:e.progressBar,rewind:e.rewind,smallplay:e.smallPlay,speed:e.speed,videoTime:e.videoTime,volume:e.volume},e=Object.entries(e).reduce((e,t)=>Object.assign(Object.assign({},e),{[t[0]]:t[1]&&i}),{});this.player.dispatchEvent(new xt.Items({items:e}))}createRenderRoot(){return this}};Ka.componentName="Controls",Ka.reRenderOn=[o.Resize],Ka.styles=[g,wa.styles,ra.styles,ba.styles,na.styles,la.styles,Da.styles,Oa.styles,La.styles,Ca.styles],Ha([u()],Ka.prototype,"showMenu",void 0),Ha([p(".controls__first")],Ka.prototype,"controlsBar",void 0),Ha([p(".controls__control--cluster-end")],Ka.prototype,"clusterEnd",void 0),Ha([p(".controls__control--cluster-start")],Ka.prototype,"clusterStart",void 0),Ha([Br(".controls__control")],Ka.prototype,"controlWrappers",void 0),Ka=Ha([f("vturb-controls")],Ka);var Wa,qa,m=i`.fakebar{background:var(--fakebar-background-color,#fff);bottom:0;height:var(--fakebar-height,10px);left:0;opacity:.8;position:absolute;transition:width .1s var(--base-transition-cubic,ease);width:0;z-index:var(--fakebar-index,100)}`,t=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.visibility=!1;var e=this.player.playback.duration,e=this.player.playback.currentTime/e||0;this.setProgress(e)},this.onPause=()=>{this.logger.info("Fakebar onPause"),this.player.addEventListener(a.TimeupdateMs,this.onTimeUpdate),this.timer&&(clearInterval(this.timer),this.timer=null)},this.onPlay=()=>{this.logger.info("Fakebar onPlay"),this.player.removeEventListener(a.TimeupdateMs,this.onTimeUpdate),this.timer||(this.timer=setInterval(this.sync,40))},this.onTimeUpdate=()=>{this.logger.info("Fakebar onTimeUpdate"),this.sync()},this.setProgress=e=>{var t,e=Ya(this,Wa,"f").call(this,e);this.progress=e,this.player.dispatchEvent(new Dt.Progress({progress:e})),null!=(t=null==(t=this.fakebar)?void 0:t.style)&&t.setProperty("--fakebar-width",e+"%")},this.sync=()=>{var e;this.player.controllers.blockers.noneBlocker("played")||(e=this.player.playback.duration,(e=this.player.playback.currentTime/e||0)===1/0)?(this.setProgress(0),this.visibility=!1):(this.visibility=!0,this.setProgress(e),this.player.dispatchEvent(new Dt.Width({width:e})))},Wa.set(this,e=>100*Math.pow(1-(e-=1)*e,1/this.alpha)),qa.set(this,()=>{var e=this.player.config.fakeBar.alpha;this.alpha=Math.min(3,Math.max(2,e))})}connectedCallback(){var e;super.connectedCallback(),this.logger.info("connectedCallback"),Ya(this,qa,"f").call(this),null!=(e=this.player.player)&&e.classList.add("with-fakebar"),this.player.controllers.blockers.noneBlocker("played")?this.player.addEventListener(a.Loadeddata,this.defaultConfig):this.timer=setInterval(this.sync,40),this.player.dispatchEvent(new Dt.Active),this.player.addEventListener(a.Play,this.onPlay),this.player.addEventListener(a.Pause,this.onPause)}disconnectedCallback(){this.logger.info("disconnectedCallback"),super.disconnectedCallback(),this.player.dispatchEvent(new Dt.Inactive),this.timer&&(clearInterval(this.timer),this.timer=null)}render(){return this.visibility?c`
`:null}},Qa=(Wa=new WeakMap,qa=new WeakMap,Xa.componentName="Fakebar",Xa.styles=[m],t([p(".fakebar")],Xa.prototype,"fakebar",void 0),t([u()],Xa.prototype,"visibility",void 0),Xa=t([f("vturb-fakebar")],Xa),e=>{var t,i;null!=e&&e.family&&null!=e&&e.embedLink&&(t="vturb-typography-font-"+e.family.toLowerCase().replace(/\W+/g,"-"),document.getElementById(t)||((i=document.createElement("link")).id=t,i.setAttribute("href",e.embedLink),i.setAttribute("rel","stylesheet"),i.setAttribute("type","text/css"),document.head.appendChild(i)))}),Za=(e,t)=>{let i=e;try{(e=>{e=(new DOMParser).parseFromString(e,"text/html").body;return!(!(e&&e.textContent&&e.textContent.trim())||e.children.length<=0)})(e)||(i=atob(e),i=(new TextDecoder).decode(Uint8Array.from(i,e=>e.charCodeAt(0))))}catch(e){t.warn("Error decoding headline HTML:",e)}return i},Ja=4,en=e=>{var t=null==e?void 0:e.width;return{margin:(e=>{if(Array.isArray(e)&&0!==e.length)return e.slice(0,Ja).map(e=>Number.isFinite(e)?e+"px":"0px").join(" ")})(null==(e=null==e?void 0:e.margin)?void 0:e.values),width:"number"==typeof t&&Number.isFinite(t)?t+"%":void 0}};g=i`:host{color:#000;display:block;font-family:inherit;font-size:18px;text-align:left;width:100%}@media (max-width:768px){:host{font-size:14px}}.headline{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;width:fit-content}.headline *{box-sizing:border-box;margin:0;padding:0}.headline img{margin-bottom:var(--headline-margin-bottom,30px)}.headline h1{margin:0}.headline-content{display:flex;flex-direction:column;font-family:var(--headline-font-family,inherit);font-size:var(--headline-font-size,inherit);margin:var(--headline-margin,0);width:var(--headline-width,100%)}.headline-content *{letter-spacing:var(--headline-letter-spacing,0);line-height:var(--headline-line-height,100%)!important}picture img{background-color:transparent;max-width:100%}.headline--image{margin:var(--headline-margin,0 0 var(--headline-margin-bottom,30px) 0);width:auto}#vturb-headline-image{display:block;max-width:100%;width:var(--headline-width,fit-content)}#vturb-headline-image img{display:block;margin:0;width:100%}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3 ${e.css}
`}renderImage(e){var t=e.isResponsive&&e.urlMobile,i=en(e.layout),i=Ra({"--headline-margin":i.margin,"--headline-width":i.width});return c`
${v(t,()=>c` `)} ${e.name}
`}render(){if(this.headline&&"none"!==this.headline.name)return"html"===this.headline.type?this.renderHtml(this.headline):this.renderImage(this.headline)}willUpdate(e){e.has("headline")&&this.headline&&"html"===this.headline.type&&Qa(this.headline.typography)}},rn=(tn.styles=[g],m([d({type:Object})],tn.prototype,"headline",void 0),tn=m([f("vturb-headline")],tn),Symbol("vturb-interface-context")),sn=e=>(e instanceof HTMLInputElement||e instanceof HTMLButtonElement)&&"submit"===e.type,an=e=>"http:"===e.protocol||"https:"===e.protocol,nn=e=>{var t=fi(e,"a[href]")||e.querySelector("a[href]");return t instanceof HTMLAnchorElement?t.href:sn(e)&&null!=(t=e.form)&&t.action?e.form.action:""},on=e=>{var t,i,r;return e instanceof HTMLElement?(t=fi(e,"vturb-anchor-button, vturb-custom-html"),i=(i=null!=t?t:e).id?{type:"id",value:i.id}:{type:"class",value:null!=(i=null==(i=i.getAttribute("class"))?void 0:i.replace(/\s+/g," ").trim())?i:""},r=(null==(r=(null!=t?t:e).getAttribute("aria-label"))?void 0:r.trim())||(e=>{var t,i,r,s;const a=(t=e.textContent)===null||t===void 0?void 0:t.trim();if(a)return a;const n=e instanceof HTMLImageElement?(i=e.getAttribute("alt"))===null||i===void 0?void 0:i.trim():(s=(r=e.querySelector("img"))===null||r===void 0?void 0:r.getAttribute("alt"))===null||s===void 0?void 0:s.trim();return n!==null&&n!==void 0?n:""})(e),{cta_identifier:i.value,cta_identifier_type:i.type,cta_label:r.slice(0,100),cta_source:t?"vturb":"external",cta_url:(e=>{e=nn(e);if(!e)return"";try{var t=new URL(e,window.location.href);return an(t)?""+t.origin+t.pathname:""}catch(e){return""}})(e)}):{cta_identifier:"",cta_identifier_type:"id",cta_label:"",cta_source:"external",cta_url:""}};let ln={capacity:1e3,interval:75},hn={browser:6048e5,device:31536e6,session:6048e5},dn={baseUrls:["https://vt-h-1.b-cdn.net","https://a.vturb.com"],beacon:"/y",fetch:"/x",gif:"/gif"},cn={fallbackToBeacon:!1,initialDelay:200,limit:5,retryOnResponseStatuses:new Set([400,404,408,500,502,503,504])},un={REQUEST_ABORTED:"REQUEST_ABORTED",REQUEST_FALLBACK:"REQUEST_FALLBACK"},pn=["utm_source","utm_medium","utm_campaign","utm_term","utm_content","src","sck"];let fn=(e=0)=>5*Math.ceil(Math.floor(e)/5);class gn extends Tt{constructor(){super(...arguments),this._viewedCTAs=new Set,this.track=r=>{let s=fn(this.host.playback.currentTime);this.host.ctas.forEach(e=>{var t=r.has(e.id),i=this._viewedCTAs.has(e.id);t&&!i?(this._viewedCTAs.add(e.id),this.dispatch("cta_view",e.id,s)):!t&&i&&(this._viewedCTAs.delete(e.id),this.dispatch("cta_hide",e.id,s))})},this.dispatch=(e,t,i)=>{this.host.dispatchEvent(new l.Event({body:{cta_id:t,cta_version:3,time:i},type:e}))}}hostConnected(){this._viewedCTAs.clear()}hostDisconnected(){this._viewedCTAs.clear()}}let mn="Thu, 01 Jan 1970 00:00:00 GMT";function vn(){return";path=/;SameSite=Lax"+("undefined"!=typeof location&&"https:"===location.protocol?";Secure":"")}let yn="undefined"!=typeof localStorage?localStorage:"undefined"!=typeof sessionStorage?sessionStorage:{clear:()=>{document.cookie.split(";").forEach(e=>{document.cookie=e.replace(/^ +/,"").replace(/=.*/,`=;expires=${mn};path=/`)})},getItem:e=>{e=encodeURIComponent(e).replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),e=document.cookie.match(new RegExp("(^| )"+e+"=([^;]*)"));return e?decodeURIComponent(e[2]):null},key:()=>null,length:0,removeItem:e=>{document.cookie=encodeURIComponent(e)+"=;expires="+mn+vn()},setItem:(e,t)=>{document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+vn()}};let bn={get(e,t){try{var i,r=yn.getItem(e);return r?null===(i=(e=>{try{return JSON.parse(e)}catch(e){return null}})(r))?t:i:t}catch(e){return t}},set(e,t){try{yn.setItem(e,JSON.stringify(t))}catch(e){}},removeByPattern(t){for(let e=yn.length-1;0<=e;e--){var i=yn.key(e);i&&t.test(i)&&yn.removeItem(i)}}};let En={lg:22,md:18,sm:16},wn={lg:{binding:!1,values:[18,32,18,32]},md:{binding:!1,values:[12,24,12,24]},sm:{binding:!1,values:[6,12,6,12]}},Tn={blur:8,color:"#1e8fffbf",horizontal:0,spread:1,vertical:4},Sn={embedLink:"",family:"var(--style-font-family)",letter_spacing:1,line_height:150,weight:700};class kn extends Tt{constructor(e){super(e),this._currentlyActiveItems=new Map,this._formattedCTAs=[],this.callActionsChanged=e=>{this._formattedCTAs=this.formatCTAs(e),this.changeActiveItemsByTime(this.host.playback.currentTime)},this.changeActiveItemsByTime=e=>{e=this.findCTAsByTime(e);wt(this._currentlyActiveItems,e)||(this._currentlyActiveItems=e,this.host.changeActiveItems(e))},this.findCTAsByTime=e=>{let t=Math.floor(e),i=new Map;return this._formattedCTAs=this._formattedCTAs.map(e=>(e._is_show_to_returning_viewer&&i.set(e.id,e),this.host.playback.played&&this.isInBetweenRange(e,t)&&(i.set(e.id,e),e.show_to_returning_viewer)&&!e._is_show_to_returning_viewer&&(bn.set(this.returningViewerKey(e.id),!0),e._is_show_to_returning_viewer=!0),e)),i},this.formatCTAs=e=>e.map(e=>Object.assign(Object.assign({},e),{_is_show_to_returning_viewer:e.show_to_returning_viewer&&bn.get(this.returningViewerKey(e.id),!1)})),this.isInBetweenRange=(e,t)=>t>=e.range.start&&(!!e.persist_on_video_end||t<=e.range.finish),this.onTimeupdate=({detail:e})=>this.changeActiveItemsByTime(e.time),this.returningViewerKey=e=>"callaction-show-to-returning-viewer-"+e,this.trackProperties("ctas")}firstUpdated(e){e.has("ctas")&&this.callActionsChanged(this.host.ctas)}hostConnected(){this.host.playback.addEventListener(a.Timeupdate,this.onTimeupdate)}hostDisconnected(){this.host.playback.removeEventListener(a.Timeupdate,this.onTimeupdate)}hostUpdated(e){e.has("ctas")&&this.callActionsChanged(this.host.ctas)}}var _n=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class An{constructor(){this.elements=new Map,this.cleanUp=()=>this.elements.clear(),this.push=(e,t=e.id)=>this.elements.set(t,e),this.removeById=e=>this.elements.delete(e),this.scrollToFirstUnscrolledElement=(i,r)=>_n(this,void 0,void 0,function*(){yield xi();for(var e of i.values())if(e.scroll_enabled){var t=this.elements.get(e.id);if(t&&!t.isScrolled&&r){t.handleScrollTo(e.scroll_offset);break}}this.markElementsAsScrolled(i)}),this.markElementsAsScrolled=e=>{e.forEach(e=>{e=this.elements.get(e.id);e&&(e.isScrolled=!0)})}}}class Ln extends es(){constructor(){super(...arguments),this.containers=new Map,this.logger=new s("CallToActions Services - LightDomInjector"),this.cleanUp=()=>{this.containers.forEach((e,t)=>{try{e.remove(),this.containers.delete(t)}catch(e){this.logger.warn("Error removing light dom container",e)}})},this.inject=(e,t)=>{t=this.findContainerBySlotId(t);Or(e,t),this.emit("inject",t)},this.findContainerBySlotId=e=>{var t;return this.containers.has(e)?this.containers.get(e):((t=document.createElement("div")).classList.add("vturb-light-dom-inject"),t.setAttribute("slot",e),this.containers.set(e,t),t)}}}let xn=e=>"callaction-button-"+e;t=i`vturb-outside-call-to-action{display:block}.callaction--outside{align-items:center;display:flex;flex-direction:column;font-size:var(--anchor-button-base-font-size);justify-content:center}.callaction--outside .callaction__slot:not(.callaction__slot--html){margin:var(--callaction-button-margin) 0}`,g=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.dispatchEvent(new oe.CurrentActiveItems({items:Array.from(e.values()),type:"outside"})),this.trackingController.track(e),this.toggleSlotsVisibility(e)},this.createCustomHtml=t=>c` this.interface.urlUpdater(e,t)} .onOpenUrl=${e=>this.dispatchEvent(new l.ExitedClick(on(e.target)))} id=${xn(t.id)} class="smartplayer-callaction__html" @connected=${e=>this.elementScroll.push(e.detail,t.id)} @disconnected=${()=>this.elementScroll.removeById(t.id)} > `,this.createOutsideButton=t=>{var e=Ra({"--anchor-button-background-color":t.styles.background_color,"--anchor-button-background-color-hover":t.styles.background_hover_color,"--anchor-button-border-radius":t.styles.border_radius+"px","--anchor-button-color":t.styles.text_color,"--anchor-button-color-hover":t.styles.text_hover_color,"--anchor-button-font-family":t.typography.family,"--anchor-button-font-size":t.typography.size+"px","--anchor-button-font-weight":t.typography.weight,"--anchor-button-letter-spacing":t.typography.letter_spacing+"px","--anchor-button-line-height":t.typography.line_height+"%","--anchor-button-padding":""+t.styles.padding.values.map(e=>e+"px").join(" "),"--anchor-button-shadow-blur":t.styles.shadow.blur+"px","--anchor-button-shadow-color":t.styles.shadow.color,"--anchor-button-shadow-horizontal":t.styles.shadow.horizontal+"px","--anchor-button-shadow-spread":t.styles.shadow.spread+"px","--anchor-button-shadow-vertical":t.styles.shadow.vertical+"px"});return Qa(t.typography),c` this.interface.urlUpdater(e,t)} .onOpenUrl=${e=>this.dispatchEvent(new l.ExitedClick(on(e.target)))} .content=${t.content} .href=${t.url} aria-label=${t.content} id=${xn(t.id)} style=${e} @connected=${e=>this.elementScroll.push(e.detail,t.id)} @disconnected=${()=>this.elementScroll.removeById(t.id)} > `},this.createOutsideImage=t=>{var e,i=Ra({height:t.image_styles.height+"px",maxWidth:"95vw",opacity:t.image_styles.opacity+"%",width:t.image_styles.width+"px"});return c` this.interface.urlUpdater(e,t)} .onOpenUrl=${e=>this.dispatchEvent(new l.ExitedClick(on(e.target)))} .href=${t.url} .image_url=${t.image_url} .image_alt=${null!=(e=t.name)?e:""} id=${xn(t.id)} style=${i} @connected=${e=>this.elementScroll.push(e.detail,t.id)} @disconnected=${()=>this.elementScroll.removeById(t.id)} > `},this.injectInitialElements=()=>{this.interface.isFrame||this.ctas.forEach(e=>{var t;e.as_html?(t=this.createCustomHtml(e),this.lightDomInjector.inject(t,e.id)):e.image_as_button?(t=this.createOutsideImage(e),this.lightDomInjector.inject(t,e.id)):(t=this.createOutsideButton(e),this.lightDomInjector.inject(t,e.id))})},this.onInject=e=>this.interface.appendChild(e),this.toggleSlotsVisibility=r=>{var e;if(!this.interface.isFrame){let i=!1;null!=(e=this.slots)&&e.forEach(e=>{var t=r.has(e.name);t&&"none"===e.style.display&&(i=!0),e.style.setProperty("display",t?"block":"none","important")}),i&&this.dispatchEvent(new n.Minimize),this.elementScroll.scrollToFirstUnscrolledElement(r,this.playback.played)}}}connectedCallback(){super.connectedCallback(),this.lightDomInjector.on("inject",this.onInject)}disconnectedCallback(){super.disconnectedCallback(),this.elementScroll.elements.clear(),this.lightDomInjector.cleanUp(),this.lightDomInjector.off("inject",this.onInject)}willUpdate(e){e.has("ctas")&&(this.injectInitialElements(),this.dispatchEvent(new oe.Connected({items:this.ctas})))}render(){return this.interface.isFrame?h:c`
${Va(this.ctas,e=>e.id,e=>c` `)}
`}};Rn.styles=[t],g([d({type:Array})],Rn.prototype,"ctas",void 0),g([Ke({context:rn})],Rn.prototype,"interface",void 0),g([Ke({context:ua})],Rn.prototype,"playback",void 0),g([Br("slot")],Rn.prototype,"slots",void 0),Rn=g([f("vturb-outside-call-to-action")],Rn);function*In(t,i){if(void 0!==t){let e=0;for(var r of t)yield i(r,e++)}}let Pn=(e,t)=>{var i,r,s=e._$AN;if(void 0===s)return!1;for(let e of s)null!=(r=(i=e)._$AO)&&r.call(i,t,!1),Pn(e,t);return!0},Cn=e=>{let t,i;for(;void 0!==(t=e._$AM)&&((i=t._$AN).delete(e),e=t,0===(null==i?void 0:i.size)););},Dn=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),Fn(t)}};function On(e){void 0!==this._$AN?(Cn(this),this._$AM=e,Dn(this)):this._$AM=e}function Mn(e,t=!1,i=0){var r=this._$AH,s=this._$AN;if(void 0!==s&&0!==s.size)if(t)if(Array.isArray(r))for(let e=i;e{e.type==Vs.CHILD&&(null==e._$AP&&(e._$AP=Mn),null==e._$AQ)&&(e._$AQ=On)};class Nn extends zs{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,i){super._$AT(e,t,i),Dn(this),this.isConnected=e._$AU}_$AO(e,t=!0){var i;e!==this.isConnected&&((this.isConnected=e)?null!=(i=this.reconnected)&&i.call(this):null!=(i=this.disconnected)&&i.call(this)),t&&(Pn(this,e),Cn(this))}setValue(e){var t;void 0===this._$Ct.strings?this._$Ct._$AI(e,this):((t=[...this._$Ct._$AH])[this._$Ci]=e,this._$Ct._$AI(t,this,0))}disconnected(){}reconnected(){}}class Un{}let $n=new WeakMap,Bn=Gs(class extends Nn{render(e){return h}update(e,[t]){var i=t!==this.G;return i&&void 0!==this.G&&this.ot(void 0),!i&&this.rt===this.lt||(this.G=t,this.dt=null==(i=e.options)?void 0:i.host,this.ot(this.lt=e.element)),h}ot(t){if("function"==typeof this.G){var i=null!=(i=this.dt)?i:globalThis;let e=$n.get(i);void 0===e&&(e=new WeakMap,$n.set(i,e)),void 0!==e.get(this.G)&&this.G.call(this.dt,void 0),e.set(this.G,t),void 0!==t&&this.G.call(this.dt,t)}else this.G.value=t}get rt(){var e;return"function"==typeof this.G?null==(e=$n.get(null!=(e=this.dt)?e:globalThis))?void 0:e.get(this.G):null==(e=this.G)?void 0:e.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),jn=["borderRadius","borderWidth","fontSize","height","width","left","top"];let Vn=class{constructor(e){var t;this.options=e,this.container=null!=(t=e.container)?t:e.video,this.video=this.options.video,this.els=this.getElementsToScale(e.elements)}getElementsToScale(e){return Array.prototype.map.call(e,t=>{let i={domEel:t,original:{}};return jn.forEach(e=>{i.original[e]=parseInt(t.style[e]||"0",10)}),i})}ratio(){return Math.min(this.video.clientWidth/this.options.width,this.video.clientHeight/this.options.height)}repositionElement(e,t){var i=this.container.clientWidth/this.options.width,r=this.container.clientHeight/this.options.height;e.domEel.style.left=e.original.left*i+(e.original.width*i/2-e.original.width*t/2)+"px",e.domEel.style.top=e.original.top*r+(e.original.height*r/2-e.original.height*t/2)+"px"}scale(){this.scaleBy(this.ratio())}scaleBy(t){this.container.style.width=this.options.width*t+"px",this.container.style.height=this.options.height*t+"px",this.container.style.left=(this.video.clientWidth-this.container.clientWidth)/2+"px",this.container.style.top=(this.video.clientHeight-this.container.clientHeight)/2+"px",this.els.forEach(e=>{this.scaleElement(e,t)})}scaleElement(i,r){let s=["top","left"];Object.entries(i.original).forEach(([e,t])=>{s.includes(e)||(i.domEel.style[e]=t*r+"px")}),this.repositionElement(i,r)}};let Gn=class{constructor(e,t){this.options=e,this.logger=t,this.logger.group("trace","RichElement.MaxScaleFactorCalculator.constructor").message("options",e).end(),this.maxFactor=this.calculateMaxFactor(),this.proportionalScale=this.calcElementsProportionalScale(),this.multiplier=(1-this.proportionalScale)/5;t=this.options.width{t=this.lowerBorderDistance(t);return Math.min(e,t)},0)}calcElementsProportionalScale(){var{bottom:e,left:t,right:i,top:r}=this.maxBorderDistanceOfAllElements(),i=Math.max((i-t)/this.options.width,(e-r)/this.options.height);return this.logger.group("trace","RichElement.MaxScaleFactorCalculator.calcElementsProportionalScale").message("result",i).end(),i}calculateMaxFactor(){var e=this.bestElementToCalculate(),t=1/(2*e/this.options.width-1)*-1,i=1/(2*e/this.options.height-1)*-1;return this.logger.group("trace","RichElement.MaxScaleFactorCalculator.calculateMaxFactor").message("distance",e).message("distanceWidth",t).message("distanceHeight",i).message("maxFactor",Math.max(t,i)).message("proportionalScale",this.proportionalScale).end(),Math.max(t,i)}lowerBorderDistance(e){var{height:t,width:i}=this.options,e=this.mountReactFromRichElement(e);return this.logger.group("trace","RichElement.MaxScaleFactorCalculator.lowerBorderDistance").message("rect",e).end(),Math.min(e.left,e.top,i-e.right,t-e.bottom)}maxBorderDistanceOfAllElements(){var e=this.options.elements.map(e=>this.mountReactFromRichElement(e)),t=e.map(e=>e.left),i=e.map(e=>e.right),r=e.map(e=>e.top);return{bottom:e.map(e=>e.bottom).reduce((e,t)=>Math.max(e,t),0),left:t.reduce((e,t)=>Math.min(e,t),0),right:i.reduce((e,t)=>Math.max(e,t),0),top:r.reduce((e,t)=>Math.min(e,t),0)}}};let zn=class{constructor(e){var t;this.options=e,this.container=null!=(t=e.container)?t:e.video}compareConatinerScale(e){var t=this.containerRatio();return this.options.logger.group("trace","NativeScaler.compareContainerScale").message("containerRatio",t).message("objectFit",this.objectFit()).message("ratio",e).end(),Math.max(e,t)}containerRatio(){var e=this.container.getBoundingClientRect(),t=+e.width/this.options.width,e=+e.height/this.options.height;return"cover"===this.objectFit()?Math.max(t,e):Math.min(t,e)}objectFit(){var e=null!=(e=this.options.video)?e:this.container;try{return window.getComputedStyle(e).objectFit||"contain"}catch(e){return"contain"}}ratio(){var e=this.container.getBoundingClientRect(),t=Math.min(+e.width/this.options.width,+e.height/this.options.height),i=Math.max(+e.width/this.options.width,+e.height/this.options.height);return this.options.logger.group("trace","NativeScaler.ratio").message("ratioMin",t).message("ratioMax",i).message("rect",e).message("width",this.options.width).message("height",this.options.height).end(),t}scale(){this.scaleBy(this.ratio())}scaleBy(e){let t=this.compareConatinerScale(e);Array.prototype.forEach.call(this.options.elements,e=>{this.scaleElement(e,t)})}scaleElement(e,t){e.style.scale=t.toString(),e.style.transformOrigin="top left",e.style.left=(this.container.clientWidth-e.clientWidth*t)/2+"px",e.style.top=(this.container.clientHeight-e.clientHeight*t)/2+"px"}},Hn=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3`}createRenderRoot(){return this}},Wn=(Hn([d()],Kn.prototype,"props",void 0),Kn=Hn([f("rich-element-box")],Kn),function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3this.onUrlUpdater(e,t)} .onOpenUrl=${e=>this.dispatchEvent(new l.ExitedClick(on(e.target)))} .logger=${this.logger} aria-label=${e.properties.alt} href=${e.properties.link.url} id=${e.id} image_url=${e.properties.src} > `:c`${e.properties.alt}`}render(){return c` ${this.renderImage(this.props)} `}createRenderRoot(){return this}},Yn=(Wn([d({type:Object})],qn.prototype,"props",void 0),Wn([d({attribute:!1})],qn.prototype,"onUrlUpdater",void 0),Wn([d({attribute:!1})],qn.prototype,"logger",void 0),qn=Wn([f("rich-element-image")],qn),function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3 ${this.props.properties.value} `}createRenderRoot(){return this}},Qn=(Yn([d()],Xn.prototype,"props",void 0),Xn=Yn([f("rich-element-text")],Xn),function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3e+"px").join(" "),"--anchor-button-border-radius":this.props.properties.styles.border_radius+"px","--anchor-button-font-size":this.props.properties.typography.size+"px","--anchor-button-line-height":this.props.properties.typography.line_height+"%","--anchor-button-letter-spacing":this.props.properties.typography.letter_spacing+"px","--anchor-button-font-family":this.props.properties.typography.family,"--anchor-button-font-weight":null!=(e=this.props.properties.typography.weight)?e:400,"--anchor-button-shadow-horizontal":this.props.properties.styles.shadow.horizontal+"px","--anchor-button-shadow-vertical":this.props.properties.styles.shadow.vertical+"px","--anchor-button-shadow-blur":this.props.properties.styles.shadow.blur+"px","--anchor-button-shadow-spread":this.props.properties.styles.shadow.spread+"px","--anchor-button-shadow-color":this.props.properties.styles.shadow.color});return Qa(this.props.properties.typography),c` this.onUrlUpdater(e,t)} .onOpenUrl=${e=>this.dispatchEvent(new l.ExitedClick(on(e.target)))} .logger=${this.logger} content=${this.props.properties.content} href=${this.props.properties.url||""} id=${this.id} style=${e} > `}createRenderRoot(){return this}},Jn=(Qn([d({type:Object})],Zn.prototype,"props",void 0),Qn([d({attribute:!1})],Zn.prototype,"onUrlUpdater",void 0),Qn([d({attribute:!1})],Zn.prototype,"logger",void 0),Zn=Qn([f("rich-element-button")],Zn),e=>e.toString().padStart(2,"0")),eo=e=>{var t;return Number.isFinite(e)?(e=Math.max(0,Math.floor(e)),t=Math.floor(e/60),e=e%60,Jn(t)+":"+Jn(e)):"00:00"},to=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.counter=null,this.textBefore="",this.textAfter="",this.remaining="",this.maxLength=0;var e,t,i,r=this.props.properties.value.match(/^([\s\S]*?)\{(\d+):(\d{1,2})\}([\s\S]*)$/);r&&([,r,i,e,t]=r,(i=60*Number(i)+Number(e))<=0||(this.counter=i,this.remaining=eo(this.counter),this.textBefore=r,this.textAfter=t,this.maxLength=this.remaining.length))},this.onTimeupdate=e=>{!this.counter||!this.range||e.detail.timee+"px").join(" "),left:this.props.x+"px",position:"absolute",rotate:this.props.rotation+"deg",top:this.props.y+"px",whiteSpace:"pre",zIndex:this.props.order,transformOrigin:"left top",textAlign:this.props.properties.styles.align,fontWeight:this.props.properties.typography.weight})}getCountStyle(){return Ra({color:this.props.properties.styles.count_color,fontWeight:this.props.properties.styles.count_weight,fontSize:this.props.properties.styles.count_size+"px",display:"inline-block",textAlign:"center",fontVariantNumeric:"tabular-nums",minWidth:this.maxLength-.5+"ch"})}render(){var e;return this.counter?(e=c`${this.remaining}`,c`${this.textBefore}${e}${this.textAfter}`):c`${this.props.properties.value}`}};to([d({attribute:!1,type:Object})],io.prototype,"props",void 0),to([d({attribute:!1,type:Object})],io.prototype,"playback",void 0),to([d({attribute:!1,type:Object})],io.prototype,"range",void 0),to([u()],io.prototype,"counter",void 0),to([u()],io.prototype,"textBefore",void 0),to([u()],io.prototype,"textAfter",void 0),to([u()],io.prototype,"remaining",void 0),io=to([f("rich-element-countdown-text")],io);var ro,so,ao,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{try{return CSS.supports("scale: 0.5")&&CSS.supports("transform-origin: top left")}catch(e){return!1}})(),this.containerRef=new Un,this.isMobile=ni(),ro.set(this,!1),this.scaleInterval=0,this.scale=()=>no(this,void 0,void 0,function*(){if(this.scaler){var e=this.scaler.ratio();let t=this.logger.group("trace",`Ratio Start: ${this.interface.config().video.width} ---- `+e);var i=null==(i=this.factorCalculator)?void 0:i.bestFactor(e,e=>t.message("details",e));t.message("ratio",i),i&&(i=Math.min(Math.max(i,e),this.factorCalculator.maxFactor),t.message("selected ratio",i),this.scaler.scaleBy(i)),t.end()}}),so.set(this,()=>{this.playback.video&&!oo(this,ro,"f")&&(lo(this,ro,!0,"f"),this.resizeObserver.observe(this.playback.video),oo(this,ao,"f").call(this))}),ao.set(this,()=>{this.containerRef.value&&this.useScaler(this.containerRef.value)}),this.renderElement=e=>"image"===e.type?c``:"text"===e.type?c``:"box"===e.type?c``:"button"===e.type?c``:"countdown-text"===e.type&&this.range?c``:void 0}connectedCallback(){super.connectedCallback(),this.resizeObserver=new ResizeObserver(oo(this,ao,"f")),lo(this,ro,!1,"f"),oo(this,so,"f").call(this),this.playback.addEventListener(a.Loadedmetadata,oo(this,so,"f"),{once:!0,passive:!0}),document.addEventListener("DOMContentLoaded",oo(this,ao,"f")),window.addEventListener("resize",oo(this,ao,"f")),oo(this,ao,"f").call(this),this.scaleInterval&&(this.scaleIntervalId=window.setInterval(oo(this,ao,"f"),this.scaleInterval))}disconnectedCallback(){var e;super.disconnectedCallback(),this.playback.removeEventListener(a.Loadedmetadata,oo(this,so,"f")),document.removeEventListener("DOMContentLoaded",oo(this,ao,"f")),window.removeEventListener("resize",oo(this,ao,"f")),null!=(e=this.resizeObserver)&&e.disconnect(),this.scaleIntervalId&&(window.clearInterval(this.scaleIntervalId),this.scaleIntervalId=void 0),this.scaler=void 0,this.factorCalculator=void 0}render(){var{width:e,height:t}=this.interface.config().video,t=Ra({display:"block",height:t+"px",left:0,overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,width:e+"px",zIndex:"1000"});return c`
${In(this.elements.sort((e,t)=>e.order-t.order),this.renderElement)}
`}updated(){this.scale()}useScaler(s){return no(this,void 0,void 0,function*(){this.logger.trace("useScaler",this.name);var e,t,i,r=this.playback.video;r&&({width:e,height:t}=this.interface.config().video,r={height:t,video:r,width:e},i=Array.from(this.elementsHtml),this.canUseScale?(this.logger.trace("Using NativeScaler"),this.scaler=new zn(Object.assign(Object.assign({},r),{elements:[s],logger:this.logger}))):this.scaler||(this.logger.trace("Using MakeshiftScaler"),this.scaler=new Vn(Object.assign(Object.assign({},r),{container:s,elements:i,logger:this.logger}))),r={elements:this.elements,height:t,width:e},this.factorCalculator=null!=(i=this.factorCalculator)?i:new Gn(r,this.logger),this.scale())})}};ro=new WeakMap,so=new WeakMap,ao=new WeakMap,ho.styles=i``,m([Ke({context:rn})],ho.prototype,"interface",void 0),m([Ke({context:ua})],ho.prototype,"playback",void 0),m([d({attribute:!1,type:Object})],ho.prototype,"elements",void 0),m([d({attribute:!1,type:Object})],ho.prototype,"range",void 0),m([Br("rich-element-image > *, rich-element-text > *, rich-element-box > *, rich-element-button > *, rich-element-countdown-text > *")],ho.prototype,"elementsHtml",void 0),m([d({attribute:"name",reflect:!0,type:String})],ho.prototype,"name",void 0),m([d({type:Number})],ho.prototype,"scaleInterval",void 0),ho=m([f("rich-element")],ho);t=i`vturb-inside-call-to-action{display:block}.callaction--inside{font-size:var(--anchor-button-base-font-size);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:var(--callaction-index)}`,g=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var e;this.dispatchEvent(new oe.CurrentActiveItems({items:Array.from(t.values()),type:"inside"})),this.trackingController.track(t),null!=(e=this.slots)&&e.forEach(e=>{e.style.setProperty("visibility",t.has(e.name)?"visible":"hidden","important")})},this.injectInitialElements=()=>{this.ctas.forEach(e=>{var t;e.rich_element&&(t=c``,this.lightDomInjector.inject(t,e.id))})},this.onInject=e=>this.interface.appendChild(e)}connectedCallback(){super.connectedCallback(),this.lightDomInjector.on("inject",this.onInject)}disconnectedCallback(){super.disconnectedCallback(),this.lightDomInjector.cleanUp(),this.lightDomInjector.off("inject",this.onInject)}willUpdate(e){e.has("ctas")&&this.injectInitialElements()}render(){return c`
${Va(this.ctas,e=>e.id,e=>c``)}
`}};co.styles=[t],g([d({type:Array})],co.prototype,"ctas",void 0),g([Ke({context:rn})],co.prototype,"interface",void 0),g([Ke({context:ua})],co.prototype,"playback",void 0),g([Br("slot")],co.prototype,"slots",void 0),co=g([f("vturb-inside-call-to-action")],co);m=i`@keyframes mini-player-eq1{0%,to{height:33%}50%{height:108%}}@keyframes mini-player-eq2{0%,to{height:83%}40%{height:25%}}@keyframes mini-player-eq3{0%,to{height:50%}60%{height:117%}}@keyframes mini-player-pip-pulse{0%,to{opacity:.9;transform:translate(0)}50%{opacity:1;transform:translate(5px,5px)}}@keyframes mini-player-slide-down{0%,15%{opacity:.6;transform:translate(0) scale(1)}55%,to{opacity:1;transform:translate(var(--mini-placeholder-slide-x),var(--mini-placeholder-slide-y)) scale(.62)}}@keyframes mini-player-float-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}vturb-mini-player-placeholder{display:block;inset:0;position:absolute}.mini-player-placeholder{align-items:center;animation:mini-player-float-in .45s ease both;background:linear-gradient(140deg,#141b38,#0d1330 55%,#101637);border-radius:var(--player-border-radius);box-sizing:border-box;color:#eef1f9;display:flex;flex-direction:column;gap:22px;height:100%;justify-content:center;overflow:hidden;pointer-events:auto;position:relative;width:100%}.mini-player-placeholder__glow{background:radial-gradient(600px 300px at 50% 45%,rgba(47,139,255,.12),transparent 70%);inset:0;position:absolute}.mini-player-placeholder__glyph{background:hsla(0,0%,100%,.03);border:2px solid rgba(170,185,230,.45);border-radius:12px;flex:none;height:64px;position:relative;width:96px}.mini-player-placeholder__glyph-mini{align-items:center;animation:mini-player-pip-pulse 2.2s ease-in-out infinite;background:linear-gradient(90deg,#2f8bff,#8b5cf6);border-radius:6px;bottom:6px;box-shadow:0 4px 14px rgba(63,120,255,.45);display:flex;gap:3px;height:24px;justify-content:center;position:absolute;right:6px;width:38px}.mini-player-placeholder__glyph-mini span{background:hsla(0,0%,100%,.95);border-radius:2px;display:block;width:3px}.mini-player-placeholder__glyph-mini span:first-child{animation:mini-player-eq1 1s ease-in-out infinite}.mini-player-placeholder__glyph-mini span:nth-child(2){animation:mini-player-eq2 1.1s ease-in-out infinite;height:58%}.mini-player-placeholder__glyph-mini span:nth-child(3){animation:mini-player-eq3 .9s ease-in-out infinite;height:42%}.mini-player-placeholder__text{align-items:center;display:flex;flex-direction:column;gap:6px;max-width:calc(100% - 140px);min-width:0;padding:0 16px;position:relative;text-align:center}.mini-player-placeholder__title{font-size:22px;font-weight:700;letter-spacing:.2px;line-height:1.25}.mini-player-placeholder__subtitle{color:#9aa4c4;font-size:15px;line-height:1.4}.mini-player-placeholder__return{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid rgba(150,170,235,.3);border-radius:11px;bottom:16px;box-sizing:border-box;color:#eef1f9;cursor:pointer;display:flex;height:44px;justify-content:center;padding:0;position:absolute;right:16px;width:44px}.mini-player-placeholder__return:hover{background:hsla(0,0%,100%,.14)}.mini-player-placeholder__return svg{height:22px;width:22px}.mini-player-placeholder--narrow{gap:18px;padding:24px 20px}.mini-player-placeholder--narrow .mini-player-placeholder__glow{background:radial-gradient(260px 220px at 50% 40%,rgba(47,139,255,.12),transparent 70%)}.mini-player-placeholder--narrow .mini-player-placeholder__glyph{height:92px;width:52px}.mini-player-placeholder--narrow .mini-player-placeholder__glyph-mini{--mini-placeholder-slide-x:14px;--mini-placeholder-slide-y:61px;animation:mini-player-slide-down 2.4s ease-in-out infinite;bottom:auto;box-shadow:0 3px 10px rgba(63,120,255,.45);gap:2px;height:21px;left:8px;right:auto;top:9px;transform-origin:top left;width:34px}.mini-player-placeholder--narrow .mini-player-placeholder__glyph-mini span{width:2px}.mini-player-placeholder--narrow .mini-player-placeholder__text{max-width:100%;padding:0}.mini-player-placeholder--narrow .mini-player-placeholder__title{font-size:19px}.mini-player-placeholder--narrow .mini-player-placeholder__subtitle{font-size:13px}.mini-player-placeholder--narrow .mini-player-placeholder__return{bottom:14px;right:12px}.mini-player-placeholder--short{flex-direction:row;gap:20px;padding:16px 18px 18px}.mini-player-placeholder--short .mini-player-placeholder__glow{background:radial-gradient(240px 160px at 38% 50%,rgba(47,139,255,.14),transparent 70%)}.mini-player-placeholder--short .mini-player-placeholder__glyph{border-radius:10px;height:82px;width:46px}.mini-player-placeholder--short .mini-player-placeholder__glyph-mini{--mini-placeholder-slide-x:11px;--mini-placeholder-slide-y:54px;animation:mini-player-slide-down 2.4s ease-in-out infinite;border-radius:5px;bottom:auto;box-shadow:0 3px 10px rgba(63,120,255,.45);gap:2px;height:19px;left:6px;right:auto;top:8px;transform-origin:top left;width:30px}.mini-player-placeholder--short .mini-player-placeholder__glyph-mini span{width:2px}.mini-player-placeholder--short .mini-player-placeholder__text{align-items:flex-start;max-width:100%;padding:0;text-align:left}.mini-player-placeholder--short .mini-player-placeholder__title{font-size:15px}.mini-player-placeholder--short .mini-player-placeholder__subtitle{font-size:12px}.mini-player-placeholder--short .mini-player-placeholder__return{border-radius:10px;bottom:12px;height:40px;right:10px;width:40px}.mini-player-placeholder--short .mini-player-placeholder__return svg{height:20px;width:20px}`,t=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var{height:e,width:t}=e.contentRect;this.short=0{this.dispatchEvent(new ue.ScrollBackRequest)}}connectedCallback(){var e;super.connectedCallback(),null!=(e=this.resizeObserver)&&e.observe(this)}disconnectedCallback(){var e;null!=(e=this.resizeObserver)&&e.disconnect(),super.disconnectedCallback()}render(){var e=this.narrow||this.short,t={"mini-player-placeholder":!0,"mini-player-placeholder--narrow":this.narrow,"mini-player-placeholder--short":this.short};return c`
${Qs("miniPlayer.placeholder.title")}
${e?Qs("miniPlayer.placeholder.subtitleShort"):Qs("miniPlayer.placeholder.subtitle")}
`}};uo.styles=m,t([u()],uo.prototype,"narrow",void 0),t([u()],uo.prototype,"short",void 0),uo=t([f("vturb-mini-player-placeholder")],uo);var g=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{e.style.setProperty("display",t?"block":"none","important")}),this.dispatchEvent(new CustomEvent(t?"showing":"hiding",{detail:this})))}handleScrollTo(){return po(this,arguments,void 0,function*(e=0){var t=this.elements[0];t&&(this.logger.debug("scroll to delay element",{query:this.query,offset:e}),yield Ii(t,{offset:e}),this.dispatchEvent(new CustomEvent("scrolling",{detail:this})),this.isScrolled=!0)})}},go=(g([d({type:String})],fo.prototype,"query",void 0),g([d({type:String})],fo.prototype,"query_type",void 0),g([d({type:Boolean})],fo.prototype,"isScrolled",void 0),fo=g([f("vturb-delay-element")],fo),function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.dispatchEvent(new oe.CurrentActiveItems({items:Array.from(e.values()),type:"delay"})),this.trackingController.track(e),this.toggleSlotsVisibility(e)},this.toggleSlotsVisibility=t=>{this.interface.isFrame||(this.elementScroll.elements.forEach(e=>e.toggleVisibility(t.has(e.id))),this.elementScroll.scrollToFirstUnscrolledElement(t,this.playback.played))}}disconnectedCallback(){super.disconnectedCallback(),this.elementScroll.elements.clear()}willUpdate(e){e.has("ctas")&&this.dispatchEvent(new oe.Connected({items:this.ctas}))}render(){return this.interface.isFrame?h:c`
${Va(this.ctas,e=>e.id,e=>c` this.dispatchEvent(new n.Minimize)} @connected=${e=>this.elementScroll.push(e.detail)} @disconnected=${()=>this.elementScroll.removeById(e.id)} > `)}
`}},vo=(go([d({type:Array})],mo.prototype,"ctas",void 0),go([Ke({context:rn})],mo.prototype,"interface",void 0),go([Ke({context:ua})],mo.prototype,"playback",void 0),mo=go([f("vturb-delay-call-to-action")],mo),function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.confirmDestination(e)&&(this.projected=e.detail.content||[],e.detail.onMount)&&e.detail.onMount(this)}}confirmDestination(e){return this.name||console.warn("This destination has not been named."),e.detail.destination===this.name&&(e.stopPropagation(),!0)}connectedCallback(){super.connectedCallback(),document.addEventListener("portal-open",this.updatePortalContent,!0),document.addEventListener("portal-close",this.updatePortalContent,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("portal-open",this.updatePortalContent,!0),document.removeEventListener("portal-close",this.updatePortalContent,!0)}render(){return c`${this.projected}`}createRenderRoot(){return this}},bo=(yo.styles=[i` :host { } `],vo([d({type:String})],yo.prototype,"name",void 0),vo([d({type:Array})],yo.prototype,"projected",void 0),yo=vo([f("portal-destination")],yo),function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3 `}};function wo(e,t){return new CustomEvent(e,{composed:!0,detail:t})}bo([d({type:String})],Eo.prototype,"destination",void 0),bo([d({type:Function})],Eo.prototype,"onMount",void 0),bo([d({type:String})],Eo.prototype,"reference",void 0),Eo=bo([f("portal-entrance")],Eo);let To=e=>/^(https?:\/\/)?(www\.)?[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(:[0-9]+)?(.*)$/gi.test(e.trim()),So=e=>/^(http:\/\/)?(www\.)?localhost:[0-9]{1,}(.*)$/gi.test(e.trim()),ko=e=>/^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,}\.[a-z]{2,}\b(.*)$/gi.test(e.trim())||So(e.trim())||To(e.trim()),_o=({logger:t,search:e})=>{try{if(!e.match(/[?&]vl=/))return null;t.debug("Parsing location vl param");var i=new URLSearchParams(e).get("vl");return i&&ko(decodeURIComponent(i))?new URL(decodeURIComponent(i)):null}catch(e){return t.error("Error parsing location vl param",e),null}},Ao=({isIframe:e,logger:t})=>{var i=e||window.location!==window.parent.location;if(t.group("debug","getPlayerLocation").message("isUsingIframe",i).message("payload",{isIframe:e,isSameOrigin:window.location===window.parent.location}).end(),!i)return new URL(window.location.href);try{if(window.parent.location.href)return new URL(window.parent.location.href)}catch(e){t.warn("Error getting iframe domain from parent location",e)}try{if(ko(document.referrer))return new URL(document.referrer)}catch(e){t.error("Error getting iframe domain from referrer",e)}e=_o({logger:t,search:window.location.search});return null!=e&&e.hostname?e:new URL(window.location.href)};var m=i`.blocked{background-color:#202020;box-shadow:inset 0 0 160px 0 #000;left:0;overflow:hidden;top:0;z-index:1000}.blocked,.blocked__logo{height:100%;position:absolute;width:100%}.blocked__logo svg{height:80%;left:50%;opacity:.035;position:absolute;top:50%;transform:translate(-50%,-50%);width:80%}.blocked__logo svg path{fill:#fff}.blocked__content{left:50%;max-width:32em;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:80%}.blocked__msg{color:#ccc;font-size:1.2em;text-align:center;text-shadow:0 2px 0 #000,0 3px 3px #000;white-space:pre-line}.blocked__button{background:#f1582d;border-radius:5px;color:#fff;display:inline-block;font-size:1em;font-weight:600;margin:1.2em auto 0;padding:.7em 1.5em;text-decoration:none;transition:transform .2s}.blocked__button:hover{transform:scale(1.05)}@media (max-width:480px){.blocked__msg{font-size:1em}.blocked__button{font-size:.8em}}`,t=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3Lo(this,void 0,void 0,function*(){var e;this.player.removeEventListener(o.Ready,this.check);let t={domain:Ao({isIframe:this.player.isIframe,logger:this.logger}).hostname,m3u8_path:null==(e=this.player.hlsVideo)?void 0:e.m3u8,player_id:this.player.config.id};this.logger.group("debug","details to request").message("domain",t.domain).message("m3u8_path",t.m3u8_path).message("player_id",t.player_id).end(),fetch(this.URL,{body:JSON.stringify(t),method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8"}}).then(e=>e.status).then(e=>{try{this.exceptionByStatus(e),this.player.dispatchEvent(new we.Allowed)}catch(e){e instanceof Error&&"LicenseError"===e.name&&(this.logger.warn(`license error(${e.status}): `+e.message,e),this.error=e,this.player.dispatchEvent(new we.Denied({reason:e.message})),this.player.changeLicense(!1))}}).catch(e=>{this.logger.network("License response error",{request:{url:this.URL,method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8"},body:t},response:e instanceof Response?e:void 0})})})}connectedCallback(){super.connectedCallback(),this.player.addEventListener(o.Ready,this.check,{once:!0})}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(o.Ready,this.check)}exceptionByStatus(e){switch(e){case 401:throw new xo(Qs("license.blocked.by_rule"),401);case 403:throw new xo(Qs("license.blocked.payment_open"),403);case 406:throw new xo(Qs("license.blocked.domain_not_allowed"),406);case 451:throw new xo(Qs("license.blocked.indefinite_block"),451)}}render(){if(this.error)return c` `}};Ro.componentName="License",Ro.styles=[m],t([u()],Ro.prototype,"error",void 0),Ro=t([f("vturb-license")],Ro);class Io extends zs{constructor(e){if(super(e),this.et=h,e.type!==Vs.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===h||null==e)return this.ft=void 0,this.et=e;if(e===yr)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");return e===this.et?this.ft:(e=[this.et=e],this.ft={_$litType$:this.constructor.resultType,strings:e.raw=e,values:[]})}}Io.directiveName="unsafeHTML",Io.resultType=1;let Po=Gs(Io),Co=e=>{var t,i,r,s,a,n,o,l,h,d;return"pulse"===(null==e?void 0:e.animation)?(i=null!=(i=null==(i=(i=e).properties)?void 0:i.speed)?i:1,t=qe({prefix:"pulse-"}),i=` @keyframes animation-${t} { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .${t} { animation: animation-${t} ${4/i}s infinite; } `,{className:t,style:c``}):"glow"===(null==e?void 0:e.animation)?(i=null!=(i=null==(i=(t=e).properties)?void 0:i.speed)?i:1,t=null!=(t=null==(t=t.properties)?void 0:t.size)?t:4,r=qe({prefix:"glow-"}),i=` .${r} .rich-element-container :is(rich-element-box, rich-element-image):first-child :is(.rich-element-box, .rich-element-image):before { content: ''; background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); position: absolute; top: -${t}px; left: -${t}px; background-size: 500%; z-index: -1; filter: blur(${1.25*t}px); width: calc(100% - ${t*t}px); height: calc(100% - ${t*t}px); animation: animation-${r} ${75/i}s linear infinite; border-radius: ${2.5*t}px; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; padding: ${t*t}px; } .${r} picture.rich-element-image { font-size:0; color:transparent; position: relative; content: ' '; } @keyframes animation-${r} { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } `,{className:r,style:c``}):"slide-horizontal"===(null==e?void 0:e.animation)?(s=null!=(s=null==(s=(r=e).properties)?void 0:s.speed)?s:1,r=null!=(r=null==(r=r.properties)?void 0:r.distance)?r:3,a=qe({prefix:"slide-h-"}),r=` @keyframes animation-${a} { 0% { transform: translateX(-${r}%); } 50% { transform: translateX(${r}%); } 100% { transform: translateX(-${r}%); } } .${a} { position: absolute; transform-origin: center center; animation: animation-${a} ${8/s}s var(--base-transition-cubic) infinite; } `,{className:a,style:c``}):"slide-vertical"===(null==e?void 0:e.animation)?(a=null!=(a=null==(a=(s=e).properties)?void 0:a.speed)?a:1,s=null!=(s=null==(s=s.properties)?void 0:s.distance)?s:3,n=qe({prefix:"slide-v-"}),s=` @keyframes animation-${n} { 0% { transform: translateY(-${s}%); } 50% { transform: translateY(${s}%); } 100% { transform: translateY(-${s}%); } } .${n} { position: absolute; transform-origin: center center; animation: animation-${n} ${8/a}s var(--base-transition-cubic) infinite; } `,{className:n,style:c``}):"head-shake"===(null==e?void 0:e.animation)?(o=null!=(o=null==(o=(n=e).properties)?void 0:o.speed)?o:1,n=null!=(n=null==(n=n.properties)?void 0:n.distance)?n:6,l=qe({prefix:"head-shake-"}),n=` @keyframes animation-${l} { 0% { transform: translateX(0); } 6.5% { transform: translateX(-${n}px) rotateY(-${1.5*n}deg); } 18.5% { transform: translateX(${.83333333*n}px) rotateY(${1.16666667*n}deg); } 31.5% { transform: translateX(-${.5*n}px) rotateY(-${.83333333*n}deg); } 43.5% { transform: translateX(${.333*n}px) rotateY(${.5*n}deg); } 50% { transform: translateX(0); } } .${l} { position: absolute; transform-origin: center center; animation: animation-${l} ${10/o}s ease-in-out infinite; } `,{className:l,style:c``}):"tada"===(null==e?void 0:e.animation)?(l=null!=(l=null==(l=(o=e).properties)?void 0:l.speed)?l:1,o=null!=(o=null==(o=o.properties)?void 0:o.distance)?o:6,h=qe({prefix:"tada-"}),o=` @keyframes animation-${h} { from { transform: scale3d(1, 1, 1); } 8% { transform: scale3d(0.98, 0.98, 0.98) rotate3d(0, 0, 1, -${o=3*(o/5)}deg); } 16%, 32%, 48%, 64% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, ${o}deg); } 24%, 40%, 56%, 72% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -${o}deg); } 80%, 0% { transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0deg); } to { transform: scale3d(1, 1, 1); } } .${h} { position: absolute; transform-origin: center center; animation-name: animation-${h}; animation-duration: ${10/l}s; animation-timing-function: linear; animation-iteration-count: infinite; } `,{className:h,style:c``}):"swing"===(null==e?void 0:e.animation)?(e=null!=(e=null==(e=(h=e).properties)?void 0:e.speed)?e:1,h=null!=(h=null==(h=h.properties)?void 0:h.distance)?h:6,d=qe({prefix:"swing-"}),h=` @keyframes animation-${d} { from { transform: rotate3d(0, 0, 1, 0deg); } 15% { transform: rotate3d(0, 0, 1, ${15*(h/=5)}deg); } 30% { transform: rotate3d(0, 0, 1, -${10*h}deg); } 45% { transform: rotate3d(0, 0, 1, ${5*h}deg); } 60% { transform: rotate3d(0, 0, 1, -${5*h}deg); } 75% { transform: rotate3d(0, 0, 1, 0deg); } to { transform: rotate3d(0, 0, 1, 0deg); } } .${d} { position: absolute; transform-origin: center center; animation-name: animation-${d}; animation-duration: ${10/e}s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; } `,{className:d,style:c``}):{className:"",style:c``}},Do=i`vturb-headline{display:var(--headlines-display,var(--elements-display,block));height:var(--headlines-height,var(--elements-height));opacity:var(--headlines-opacity,var(--elements-opacity,1))}vturb-bigplay,vturb-controls,vturb-delay-call-to-action,vturb-inside-call-to-action,vturb-minihook,vturb-outside-call-to-action,vturb-smartautoplay,vturb-thumbsniper{height:var(--elements-height);opacity:var(--elements-opacity,1)}vturb-anchor-button{box-sizing:border-box;cursor:pointer;display:block;font-size:var(--anchor-button-base-font-size);pointer-events:all!important;text-align:center;z-index:var(--anchor-button-zindex)}.smartplayer-anchor-button:not(.smartplayer-anchor-button--image){background-color:var(--anchor-button-background-color,var(--style-background));border:0 solid transparent;border-radius:var(--anchor-button-border-radius,5px);color:var(--anchor-button-color,var(--style-foreground));display:var(--anchor-button-display,inline-block);font-family:var(--anchor-button-font-family,var(--style-font-family));font-size:var(--anchor-button-font-size,1em);font-weight:var(--anchor-button-font-weight,700);line-height:var(--anchor-button-line-height,1.2);padding:var(--anchor-button-padding,1.25em);pointer-events:all;text-align:center;text-decoration:none;transition:all .2s ease-in-out}.smartplayer-anchor-button:not(.smartplayer-anchor-button--image):hover{background-color:var(--anchor-button-background-color-hover,var(--anchor-button-background-color));color:var(--anchor-button-color-hover,var(--anchor-button-color))}.smartplayer-anchor-button:not(.smartplayer-anchor-button--image).smartplayer-anchor-button--lg{font-size:var(--anchor-button-font-size-lg);padding:var(--anchor-button-padding-lg)}.smartplayer-anchor-button:not(.smartplayer-anchor-button--image).smartplayer-anchor-button--md{font-size:var(--anchor-button-font-size-md);padding:var(--anchor-button-padding-md)}.smartplayer-anchor-button:not(.smartplayer-anchor-button--image).smartplayer-anchor-button--sm{font-size:var(--anchor-button-font-size-sm);padding:var(--anchor-button-padding-sm)}.smartplayer-anchor-button.smartplayer-anchor-button--shadow{box-shadow:var(--anchor-button-shadow-horizontal,0) var(--anchor-button-shadow-vertical,0) var(--anchor-button-shadow-blur,0) var(--anchor-button-shadow-spread,0) var(--anchor-button-shadow-color,rgba(0,0,0,.25))}.smartplayer-anchor-button.smartplayer-anchor-button--image,.smartplayer-anchor-button.smartplayer-anchor-button--image img{display:block;height:100%;width:100%}.smartplayer-anchor-button.smartplayer-anchor-button--image img{object-fit:contain;object-position:center}`,Oo=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3e,this.onOpenUrl=()=>{},this.isScrolled=!1}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("connected",{detail:this}))}disconnectedCallback(){super.disconnectedCallback(),this.dispatchEvent(new CustomEvent("disconnected",{detail:this}))}handleScrollTo(){return Mo(this,arguments,void 0,function*(e=0){this.logger.debug("scroll to anchor button",{content:this.content,offset:e}),yield Ii(this,{offset:e}),this.dispatchEvent(new CustomEvent("scrolling",{detail:this})),this.isScrolled=!0})}handleUpdateHref(e){try{this.onUrlUpdater&&(e.stopPropagation(),this.href=this.onUrlUpdater(this.href,this))}catch(e){this.logger.error("Error updating href",e)}}handleOpenLink(e){try{e.stopPropagation(),this.handleUpdateHref(e),this.onOpenUrl&&this.onOpenUrl(e)}catch(e){this.logger.error("Error handling link click",e)}}render(){var{className:e,style:t}=Co(this.animation),e=Hs({["smartplayer-anchor-button--"+this.size]:!!this.size,"smartplayer-anchor-button--shadow":this.is_shadow_enabled,"smartplayer-anchor-button--image":!!this.image_url,[e]:!!this.animation});return c` this.handleOpenLink(e)} @mouseenter=${e=>this.handleUpdateHref(e)} @pointerdown=${e=>this.handleUpdateHref(e)} class="smartplayer-anchor-button ${e}" > ${this.image_url?c`${this.image_alt}`:this.content} ${t} `}},No=(Oo([d({type:Object})],Fo.prototype,"animation",void 0),Oo([d({type:String})],Fo.prototype,"href",void 0),Oo([d({type:Boolean})],Fo.prototype,"open_in_new_tab",void 0),Oo([d({type:String})],Fo.prototype,"content",void 0),Oo([d({type:String})],Fo.prototype,"image_url",void 0),Oo([d({type:String})],Fo.prototype,"image_alt",void 0),Oo([d({type:String})],Fo.prototype,"size",void 0),Oo([d({type:Boolean})],Fo.prototype,"is_shadow_enabled",void 0),Oo([d({type:Object})],Fo.prototype,"logger",void 0),Oo([d({type:Function})],Fo.prototype,"onUrlUpdater",void 0),Oo([d({type:Function})],Fo.prototype,"onOpenUrl",void 0),Oo([d({type:Boolean})],Fo.prototype,"isScrolled",void 0),Fo=Oo([f("vturb-anchor-button")],Fo),i`vturb-headline{display:var(--headlines-display,var(--elements-display,block));height:var(--headlines-height,var(--elements-height));opacity:var(--headlines-opacity,var(--elements-opacity,1))}vturb-bigplay,vturb-controls,vturb-delay-call-to-action,vturb-inside-call-to-action,vturb-minihook,vturb-outside-call-to-action,vturb-smartautoplay,vturb-thumbsniper{height:var(--elements-height);opacity:var(--elements-opacity,1)}vturb-custom-html{display:block}`),Uo=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3e,this.onOpenUrl=()=>{},this.isScrolled=!1}createRenderRoot(){return this.closed?this.attachShadow({mode:"closed"}):this}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("connected",{detail:this}))}disconnectedCallback(){super.disconnectedCallback(),this.dispatchEvent(new CustomEvent("disconnected",{detail:this}))}handleScrollTo(){return $o(this,arguments,void 0,function*(e=0){this.logger.debug("scroll to custom html",{content:this.content,offset:e}),yield Ii(this,{offset:e}),this.dispatchEvent(new CustomEvent("scrolling",{detail:this})),this.isScrolled=!0})}handleUpdateHref(){this.onUrlUpdater&&this.querySelectorAll("a").forEach(e=>{try{e.href=this.onUrlUpdater(e.href,e)}catch(e){this.logger.error("Error updating href on custom html",e)}})}handleOpenLink(e){try{e.stopPropagation(),this.handleUpdateHref(),this.onOpenUrl&&this.onOpenUrl(e)}catch(e){this.logger.error("Error handling link click on custom html",e)}}render(){return c`
this.handleOpenLink(e)} @mouseenter=${e=>this.handleUpdateHref()} @pointerdown=${e=>this.handleUpdateHref()} .innerHTML=${Za(this.content,this.logger)} >
`}};Uo([d({type:Boolean})],Bo.prototype,"closed",void 0),Uo([d({type:String})],Bo.prototype,"content",void 0),Uo([d({type:Object})],Bo.prototype,"logger",void 0),Uo([d({type:Function})],Bo.prototype,"onUrlUpdater",void 0),Uo([d({type:Function})],Bo.prototype,"onOpenUrl",void 0),Uo([d({type:Boolean})],Bo.prototype,"isScrolled",void 0),Bo=Uo([f("vturb-custom-html")],Bo);var jo,g=i`vturb-minihook{z-index:-1}#player .minihook,#player.show-smartautoplay{pointer-events:none}#player .minihook{height:100%;position:absolute;top:0;width:100%;z-index:9}#player .minihook .item{opacity:0;transition:opacity .8s ease-in}#player .minihook .item.show{opacity:1}#player .minihook .item.hide{opacity:0}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{this.onTimeUpdate(new a.TimeupdateMs({time:this.player.playback.currentTime}))},this.onTimeUpdate=e=>{e=e.detail.time;try{var t=[...this.activeItems.values()],i=this.getItems(e);wt(t,i)||(this.activeItems=new Map(i.map(e=>[e.id,e])),this.dispatchEvent(new jt.Items({items:i})))}catch(e){this.logger.error("Error updating active items by time",e)}}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(a.TimeupdateMs,this.onTimeUpdate),this.player.addEventListener(o.ConfigUpdated,this.onPlayerConfigUpdated)}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(a.TimeupdateMs,this.onTimeUpdate),this.player.removeEventListener(o.ConfigUpdated,this.onPlayerConfigUpdated)}getItems(t){return this.player.controllers.blockers.noneBlocker("played")?[]:this.player.config.minihooks.items.filter(e=>t>=e.range.start&&t<=e.range.finish)}render(){return c`
${Va(this.player.config.minihooks.items,e=>e.id,e=>c` `)}
`}},Go=(Vo.styles=[g],Vo.componentName="Minihook",m([u()],Vo.prototype,"activeItems",void 0),Vo=m([f("vturb-minihook")],Vo),e=>"string"==typeof e&&0Math.max(0,Math.min((e||0)/(t||1)*100,100)),Ho=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{let e,t=this.player.playback.currentTime,i=zo(t,this.player.playback.duration);null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{this.shouldDispatchPixel(e,t,i)&&this.dispatchedPixels.add(this.formatDispatchedPixelId(e))})},this.onTimeUpdate=(e,t)=>{var i,t=t.detail.time,r=zo(t,this.player.playback.duration);"facebook"===e.type?(i=`View${r-r%jo.continousPercentage}%`,this.shouldDispatchPixel(e,t,r,i)&&this.dispatchPixel(e,i),this.shouldDispatchPixel(e,t,r)&&this.dispatchPixel(e)):this.shouldDispatchPixel(e,t,r)&&(this.dispatchPixel(e),this.player.removeEventListener(a.Timeupdate,e.caller))}}connectedCallback(){super.connectedCallback(),this.initFacebookPixel(),this.player.addEventListener(Kt.Continue,this.onCheckIfPixelsWasAlreadyDispatched)}disconnectedCallback(){var e;super.disconnectedCallback(),this.player.removeEventListener(Kt.Continue,this.onCheckIfPixelsWasAlreadyDispatched),null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{e.caller&&this.player.removeEventListener(a.Timeupdate,e.caller)})}firstUpdated(){var e;null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{this.setPixelCaller(e)})}render(){return null}setPixelCaller(t){t.caller||(t.caller=e=>this.onTimeUpdate(t,e),this.player.addEventListener(a.Timeupdate,t.caller))}updated(){var e;null!=(e=this.player.config.pixels)&&e.items.forEach(e=>{this.setPixelCaller(e)})}formatDispatchedPixelId(e,t){return t?e.id+"-"+t:e.id}dispatchPixel(e,t){switch(this.logger.group("debug",`dispatching pixel: ${e.id} `+(null!=t?t:"")).message("pixel",e).end(),e.type){case"custom":var i=this.doc.createRange().createContextualFragment(atob(e.customHtml));this.logger.debug("fragment",[i,atob(e.customHtml)]),this.doc.body.appendChild(i);break;case"facebook":this.win.fbq&&"function"==typeof this.win.fbq||this.initFacebookPixel(),this.win.fbq("trackSingleCustom",e.pixelId,null!=t?t:e.pixelValue);break;case"google":this.win.gtag&&"function"==typeof this.win.gtag||this.initGoogleTagManager(),this.win.gtag("event","conversion",{send_to:e.pixelId+"/"+e.pixelValue})}this.dispatchedPixels.add(this.formatDispatchedPixelId(e,t))}initFacebookPixel(){var e=null==(e=this.player.config.pixels)?void 0:e.items.filter(e=>"facebook"===e.type).map(e=>e.pixelId).filter((e,t,i)=>i.indexOf(e)===t);this.logger.group("debug","initializing Facebook Pixel").message("pixelIds",e).end();(()=>{if(!this.win.fbq){let t=this.win.fbq=function(...e){t.callMethod?t.callMethod(...e):t.queue.push(e)};this.win._fbq||(this.win._fbq=t),(t.push=t).loaded=!0,t.version="2.0",t.queue=[];var e=this.doc.createElement("script"),i=(e.async=!0,e.src="https://connect.facebook.net/en_US/fbevents.js",this.doc.getElementsByTagName("script")[0]);i.parentNode.insertBefore(e,i)}})(),e.forEach(e=>{this.win.fbq("init",e)}),this.win.fbq("track","PageView")}initGoogleTagManager(){var e=null==(e=this.player.config.pixels)?void 0:e.items.some(e=>"google"===e.type);if(e){var t=this.win.gtag&&"function"==typeof this.win.gtag,i=this.win.dataLayer&&"function"==typeof this.win.dataLayer.push,e=(this.logger.group("debug","initializing Google Tag Manager").message("hasGooglePixel",e).message("haveGoogleTagManager",t).message("haveDatalayer",i).end(),null==(e=this.player.config.pixels)?void 0:e.items.filter(e=>"google"===e.type).map(e=>e.pixelId).filter((e,t,i)=>i.indexOf(e)===t));if(i||(this.logger.info("Add Data Layer to page"),this.win.dataLayer=this.win.dataLayer||[]),!t){this.logger.info("Add Google Tag Manager to page"),this.logger.info("https://developers.google.com/tag-manager/quickstart");let t=this.win;t.gtag=function(...e){t.dataLayer.push(e)},t.gtag("js",new Date)}e.forEach(t=>{var e;this.win.dataLayer.find(e=>e&&e.config&&e.config.send_to===t)||(this.win.gtag("config",t),(e=document.createElement("script")).async=!0,e.src="https://www.googletagmanager.com/gtag/js?id="+t,document.head.appendChild(e))})}}shouldDispatchPixel(e,t,i,r){var s;return!(null==(s=this.player.config.pixels)||!s.active||!Go(r)&&this.dispatchedPixels.has(this.formatDispatchedPixelId(e))||(Go(r)?this.dispatchedPixels.has(this.formatDispatchedPixelId(e,r)):this.hasMissingPixelValue(e)||(s="time"===e.dispatchType?t:i,!(e.dispatchIn<=s))))}hasMissingPixelValue(e){return("facebook"===e.type||"google"===e.type)&&!Go(e.pixelValue)}};Ko.componentName="Pixels",Ko.continousPercentage=5,Ho([u()],Ko.prototype,"dispatchedPixels",void 0),Ko=jo=Ho([f("vturb-pixels")],Ko);class Wo{constructor({maxAge:e,namespace:t,storeJsCompatibility:i}={}){this.clearAll=()=>this.each(e=>this.remove(e)),this.each=t=>{this.removeExpiredKeys();let i=this.namespaceKey(""),r=this.expireKey("");Object.keys(localStorage).forEach(e=>{e.startsWith(i)&&!e.startsWith(r)&&t(e.slice(i.length),this.readStorage(e,null))})},this.get=(e,t)=>(this.removeExpiredKeys(),this.readStorage(this.namespaceKey(e),t)),this.getAll=()=>{let i={};return this.each((e,t)=>{i[e]=t}),i},this.remove=e=>{localStorage.removeItem(this.namespaceKey(e)),localStorage.removeItem(this.expireKey(e))},this.removeByPattern=t=>{this.each(e=>{t.test(e)&&this.remove(e)})},this.removeExpiredKeys=()=>{let i=Date.now();Object.keys(localStorage).filter(e=>e.startsWith(this.expireKey(""))).forEach(e=>{var t=this.readStorage(e,0);t&&t{var i;return localStorage.setItem(this.namespaceKey(e),JSON.stringify(t)),this.maxAge&&(i=Date.now()+this.maxAge,localStorage.setItem(this.expireKey(e),i.toString())),t},this.expireKey=e=>""+this.storeJsPrefix+this.namespaceKey("expire_mixin_"+e),this.namespaceKey=e=>""+this.storeJsPrefix+this.namespace+e,this.readStorage=(e,t)=>{e=localStorage.getItem(e);if(!e)return t;try{return JSON.parse(e)}catch(e){return t}},this.storeJsPrefix=i?"__storejs_":"",this.namespace=t?t+"_":"",this.maxAge=e}}var qo,t=i`.resume{backdrop-filter:blur(var(--resume-blur,.3125em));background-color:var(--resume-background-color,rgba(0,0,0,.6));bottom:0;cursor:auto;font-size:var(--resume-font-size,1em);padding:.5em;top:0;z-index:var(--resume-index,9999)}.resume,.resume__content{left:0;position:absolute;right:0}.resume__content{text-align:center;top:50%;transform:translateY(-50%)}.resume__title{color:var(--resume-foreground-color,#fff);font-size:2.5em;font-weight:700;line-height:var(--resume-line-height,1.3);margin:0 .5em .8em;min-width:var(--resume-min-width,11.25em);text-align:center}.resume__actions{display:inline-block}.resume__actions>div{background:transparent;border:none;color:var(--resume-foreground-color,#fff);cursor:pointer;display:inline-table;margin:.8em;min-width:var(--resume-min-width,11.25em);opacity:1;padding:0;pointer-events:all;text-align:left;transition:opacity .2s ease}.m-w-360 .resume__actions>div,.m-w-480 .resume__actions>div,.m-w-550 .resume__actions>div{display:table;margin-bottom:1.2em}.resume__text{align-content:normal;font-size:1.4em;font-weight:700;line-height:1.1;padding:0 1em 0 .6em;text-align:left}.resume__icon,.resume__text{display:table-cell;vertical-align:middle}.resume__icon{align-items:center;border:.125em solid var(--resume-foreground-color,#fff);border-radius:50%;box-sizing:border-box;display:flex;fill:var(--resume-foreground-color,#fff);height:2.9em;justify-content:center;margin-right:.5em;padding:0;text-align:center;width:2.9em}.resume__icon svg{display:inline-block;height:1.875em;width:1.875em}.resume__play .resume__icon{padding:0 0 0 .125em}.resume__rewind .resume__icon{padding:.0625em .25em 0 .125em}.m-w-480 .resume__title,.m-w-550 .resume__title{font-size:1.8em;margin:.6em}.m-w-480 .resume__icon,.m-w-550 .resume__icon{height:3em;width:3em}.m-w-480 .resume__icon svg,.m-w-550 .resume__icon svg{height:1.7em;width:1.7em}.m-w-360 .resume__title{font-size:1.8em;margin-bottom:.4em}.m-w-360 .resume__icon{height:2.5em;width:2.5em}.m-w-360 .resume__icon svg{height:1.125em;width:1.125em}`,g=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{e.stopPropagation(),e.preventDefault()},this.updateResume=({detail:e})=>{this.player.controllers.blockers.noneBlocker("smartAutoPlay")&&5<=e.time&&qo.setResumePosition(this.player.config.id,e.time)}}static shouldLoad(e){return e.active}static getResumePosition(e){return Yo.get(e+"-resume",0)}static setResumePosition(e,t){Yo.set(e+"-resume",t)}connectedCallback(){super.connectedCallback();var e=qo.getResumePosition(this.player.config.id);this.player.config.resume.active&&e&&(this.player.dispatchEvent(new Kt.Active),this.player.controllers.blockers.block("resume"),this.logger.debug("Resume block: "+e),this.player.playback.seek(Math.max(e-this.lastTimeReduced,0))),this.player.addEventListener(a.Timeupdate,this.updateResume)}continue(e){e.stopPropagation(),this.player.playback.play(),this.player.dispatchEvent(new Kt.Continue),this.destroy()}destroy(){this.player.controllers.blockers.unblock("resume"),this.player.dispatchEvent(new Kt.Inactive),this.destroyed=!0}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(a.Timeupdate,this.updateResume),this.player.controllers.blockers.unblock("resume")}render(){if(!this.player.controllers.blockers.noneBlocker("resume")&&!this.destroyed)return c`
${this.player.config.resume.title}
${_s} ${this.player.config.resume.play}
${As} ${this.player.config.resume.replay}
`}restart(e){e.stopPropagation(),this.player.playback.seek(0),this.player.playback.play(),this.player.dispatchEvent(new Kt.Restart),this.destroy()}},Qo=(Xo.styles=[t],g([u()],Xo.prototype,"destroyed",void 0),Xo=qo=g([f("vturb-resume")],Xo),()=>navigator.vendor&&-1{i&&e.removeByPattern(new RegExp(`^${t}(?:$|-(?!${i}$).+)$`))};m=i`#player.show-smartautoplay{pointer-events:none}#player.already-played .smartautoplay{display:none}#player.show-smartautoplay .smartautoplay{display:block}.smartautoplay{cursor:pointer;display:none;height:100%;position:absolute;top:0;width:100%;z-index:9999}.smartautoplay .controller,.smartautoplay .controller-mask{opacity:0!important;transform:translateY(100%)!important}.smartautoplay .smartautoplay *{cursor:pointer}`;let Jo=(e,i)=>{let r;var t=new Promise((e,t)=>{r=setTimeout(()=>t(new Error("Timeout")),i)});return Promise.race([e,t]).finally(()=>clearTimeout(r))};var el=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};var tl=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};let il=null,rl=t=>tl(void 0,void 0,void 0,function*(){e=window.AudioContext||window.webkitAudioContext;var e=il=!il&&e?new e:il;if("suspended"===(null==e?void 0:e.state))return Jo(e.resume(),t)});var sl=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class al extends li{get probeConfig(){return this.host.config.backgroundProbe}get triggerEvents(){return ni()?this.probeConfig.mobileTriggerEvents:this.probeConfig.triggerEvents}constructor(e){super(e),this.currentListeners=new Set,this.probeAttempts=0,this.probeTimeoutId=null,this.probeVideo=null,this.userInteractionDetected=!1,this.disableFeature=()=>{this.clearListeners(),this.clearProbeVideo(),this.userInteractionDetected=!1,this.host.dispatchEvent(new je.IframeTriggerUpdated({triggerEvents:[]})),this.host.removeEventListener(je.IframeUserInteraction,this.onUserInteraction),this.probeTimeoutId&&clearTimeout(this.probeTimeoutId)},this.enableFeature=()=>{var e;this.probeVideo=((e=document.createElement("video")).style.position="fixed",e.style.top="-1px",e.style.left="-1px",e.style.width="1px",e.style.height="1px",e.style.opacity="0",e.style.pointerEvents="none",e.style.zIndex="9",e.style.backgroundColor="transparent",e.style.display="block",e.style.objectFit="fill",e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex","-1"),e.src="https://cdn.converteai.net/1.mp4",e.loop=!1,e.muted=!1,e.playsInline=!0,document.body.appendChild(e),e),this.syncListeners(),this.host.dispatchEvent(new l.Metric({type:"background_autoplay_probe.initialized",value:1})),this.host.addEventListener(je.IframeUserInteraction,this.onUserInteraction),"userActivation"in navigator&&(this.logger.debug("User activation",{hasBeenActive:null==(e=navigator.userActivation)?void 0:e.hasBeenActive}),null!=(e=navigator.userActivation))&&e.hasBeenActive&&this.onUserInteraction()},this.isEnabled=()=>this.host.config.active&&this.probeConfig.enabled&&this.host.settings.autoUnmute,this.clearListeners=()=>{this.currentListeners.forEach(e=>document.removeEventListener(e,this.onUserInteraction,{capture:!0})),this.currentListeners.clear()},this.clearProbeVideo=()=>{this.probeVideo&&(this.probeVideo.pause(),this.probeVideo.remove(),this.probeVideo=null)},this.onUserInteraction=()=>{this.userInteractionDetected||(this.logger.debug("User interaction detected, starting probes"),this.userInteractionDetected=!0,this.probeAttempts=0,this.host.dispatchEvent(new l.Metric({type:"background_autoplay_probe.started",value:1})),this.performProbe())},this.sheduleNextProbe=()=>{this.isEnabled()&&(this.probeTimeoutId=setTimeout(()=>this.performProbe(),this.probeConfig.probeInterval))},this.syncListeners=()=>{if(!this.isEnabled())return this.clearListeners();this.clearListeners(),this.host.dispatchEvent(new je.IframeTriggerUpdated({triggerEvents:this.triggerEvents})),this.triggerEvents.forEach(e=>{document.addEventListener(e,this.onUserInteraction,{capture:!0,passive:!0}),this.currentListeners.add(e)})},this.trackProperties("config","settings")}hostUpdate(e){(e.has("config")||e.has("settings"))&&(this.syncListeners(),this.reevaluateFeatureState())}attemptProbe(){return sl(this,void 0,void 0,function*(){try{return this.probeVideo?(this.logger.debug("Ensuring audio context is resumed"),yield rl(this.probeConfig.probeTimeout),this.logger.debug("Attempting autoplay probe"),e=this.probeVideo,i=this.probeConfig.probeTimeout,yield el(void 0,void 0,void 0,function*(){return e.currentTime=0,Jo(e.play(),i)}),this.logger.info("Background autoplay probe succeeded - audio autoplay is now possible"),this.host.dispatchEvent(new l.Metric({type:"background_autoplay_probe.success",value:1})),!0):!1}catch(e){var t=e instanceof Error?e.message:String(e);return t.includes("no supported sources")||t.includes("NotSupportedError")?(this.logger.info("No supported sources, but autoplay is not blocked - treating as success"),this.host.dispatchEvent(new l.Metric({type:"background_autoplay_probe.success",value:1})),!0):(this.logger.debug("Background autoplay probe failed",{error:e}),!1)}var e,i})}performProbe(){return sl(this,void 0,void 0,function*(){if(this.isEnabled()){if(this.probeAttempts++,this.probeAttempts>this.probeConfig.maxAttempts)return this.userInteractionDetected=!1,this.host.dispatchEvent(new l.Metric({type:"background_autoplay_probe.max_attempts_reached",value:1})),this.logger.debug("Max background autoplay probe attempts reached");if(!(yield this.attemptProbe()))return this.sheduleNextProbe();if(this.isEnabled())try{yield Jo(this.host.attemptUnmutedPlayback(),this.probeConfig.probeTimeout),this.host.dispatchEvent(new l.Metric({type:"smartautoplay.background_probe_success",value:1}))}catch(e){this.logger.warn("Failed to play video with audio",e),this.host.dispatchEvent(new l.Metric({type:"smartautoplay.background_probe_failure",value:1})),this.sheduleNextProbe()}}})}}var nl,t=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3this.dispatchEvent(new je.IframeUserInteraction),this.onPlayerConfigUpdated=()=>{this.isPlayedOrInResume||(wt(this.previousSettings,this.settings)?this.logger.debug("onPlayerConfigUpdated: no relevant changes, skipping reinit"):(this.logger.debug("onPlayerConfigUpdated: relevant changes detected, reinitializing",{previous:this.previousSettings,current:this.settings}),this.previousSettings=Object.assign({},this.settings),this.times=0,this.initializeAutoplay()))},this.onBlockerChanged=e=>{"resume"===e.detail.blocker?(this.logger.trace("destroy smartautoplay by resume blocker"),this.dispatchInactiveAutoplayEvent()):"smartAutoPlay"!==e.detail.blocker||this.isPlayedOrInResumeOrDestroyed||(this.player.dispatchEvent(new r.Active),this.logger.info("show smartautoplay by smartAutoPlay blocker"),this.initializeAutoplay())},this.attemptUnmutedPlayback=()=>ol(this,void 0,void 0,function*(){this.player.playback.video&&!this.isPlayedOrInResumeOrDestroyed&&(this.logger.info("Background autoplay probe succeeded, attempting audio play"),this.player.playback.video.muted=!1,yield this.player.playback.video.play(),this.player.playback.video.currentTime=0,this.dismountAutoplay())}),this.onSmartAutoPlayClick=e=>{this.logger.debug("click"),e.stopPropagation(),e.preventDefault(),this.dismountAutoplay()},this.onVideoTimeUpdate=()=>{var e,t;this.player.playback.video&&(this.isPlayedOrInResumeOrDestroyed?(this.logger.warn("onVideoTimeUpdate: skipping seek operations, autoplay will be destroyed"),this.player.playback.video.removeEventListener("timeupdate",this.onVideoTimeUpdate)):((t=this.player.playback.video.currentTime)<(null!=(e=this.settings.startAt)?e:0)&&(this.player.playback.video.currentTime=null!=(e=this.settings.startAt)?e:0),t>=(null!=(e=this.settings.endAt)?e:1/0)&&(this.player.playback.video.currentTime=null!=(t=this.settings.startAt)?t:0)))},this.attemptVideoInitialization=()=>ol(this,void 0,void 0,function*(){if(this.logger.trace("init"),this.times+=1,this.player.config.preview||!this.settings.autoUnmute||!this.player.playback.video)return this.logger.info("init preview"),this.attemptMutedPlayback();this.player.playback.video.muted=!1,this.logger.info("init video not muted"),this.logger.info("init video play",{video:this.player.playback.video}),this.player.playback.video.currentTime=0,this.player.playback.video.play().then(()=>{this.logger.info("able to play video"),this.dispatchEvent(new l.Metric({type:"smartautoplay.audio_play_success",value:1})),this.dismountAutoplay()}).catch(()=>{this.logger.info("unable to play video, try muted"),this.attemptMutedPlayback()}),this.player.dispatchEvent(new r.Active)}),this.attemptMutedPlayback=()=>ol(this,void 0,void 0,function*(){var e;return this.isPlayedOrInResumeOrDestroyed?this.logger.warn("attemptMutedPlayback: skipping, autoplay will be destroyed"):this.player.playback.video?(this.player.playback.video.setAttribute("loop","loop"),this.player.playback.video.setAttribute("autoplay","autoplay"),this.player.playback.video.setAttribute("muted","muted"),this.player.playback.video.setAttribute("playsinline","playsinline"),this.player.playback.video.muted=!0,this.logger.info("set current time",{currentTime:this.settings.startAt}),this.player.playback.video.currentTime=null!=(e=this.settings.startAt)?e:0,Promise.resolve(this.player.playback.video.play()).then(()=>this.dispatchVideoReadyEvent()).catch(this.retryPlaybackOrStartSimulator)):this.logger.error("muted: video not found")}),this.backupVideoAttributes=()=>{this.player.playback.video&&(this.previousAttributes=new Map(ll.map(e=>[e,this.player.playback.video.getAttribute(e)])))},this.checkIfSimulatorMP4Exists=()=>ol(this,void 0,void 0,function*(){try{return 200===(yield fetch(this.simulatorMP4,{method:"HEAD"})).status}catch(e){return this.logger.error("Failed to fetch simulator MP4",{error:e,simulatorMP4:this.simulatorMP4,method:"HEAD"}),!1}}),this.dismountAutoplay=()=>{this.logger.debug("removing smart autoplay"),this.restorePreviousAttributes(),this.dispatchAutoplayClickedEvent(),this.dispatchInactiveAutoplayEvent()},this.initializeAutoplay=()=>ol(this,void 0,void 0,function*(){this.player.playback.video&&!this.isPlayedOrInResumeOrDestroyed&&(this.player.playback.video.addEventListener("timeupdate",this.onVideoTimeUpdate),this.backupVideoAttributes(),this.attemptVideoInitialization())}),this.startAutoPlaySimulator=()=>{this.logger.trace("startAutoPlaySimulator"),this.dispatchEvent(new l.Event({type:"custom-smartautoplay-simulator",body:{}})),this.dispatchEvent(new l.Metric({type:"smartautoplay.simulator_activated",value:1})),this.smartautoplaySimulator.then(e=>ol(this,void 0,void 0,function*(){(yield this.checkIfSimulatorMP4Exists())?(e.src=this.simulatorMP4,e.style.display="block",e.addEventListener("load",()=>this.dispatchVideoReadyEvent())):(this.dispatchEvent(new l.Event({type:"custom-smartautoplay-simulator-not-found",body:{}})),e.style.display="none",this.dispatchVideoReadyEvent())}))},this.restorePreviousAttributes=()=>{this.player.playback.video&&0!==this.previousAttributes.size&&(this.logger.debug("restoring previous attributes",{attributes:this.previousAttributes}),ll.forEach(e=>{var t,i=this.previousAttributes.get(e);i?null!=(t=this.player.playback.video)&&t.setAttribute(e,i):(this.player.playback.video.removeAttribute(e),e in this.player.playback.video&&(this.player.playback.video[e]=!1))}))},this.retryPlaybackOrStartSimulator=()=>{var e;if(this.isPlayedOrInResumeOrDestroyed)return this.logger.warn("retryPlaybackOrStartSimulator: skipping, autoplay will be destroyed");this.logger.group("info","restore muted").message("times",this.times).end();let t=(null!=(e=this.settings.startAt)?e:0)+.01;this.times<=5?setTimeout(()=>{this.logger.group("info","we can't plays inline try again").message("details",{times:this.times}).end(),this.player.playback.currentTime<=t&&this.attemptVideoInitialization()},50):this.startAutoPlaySimulator()},this.dispatchAutoplayClickedEvent=()=>ol(this,void 0,void 0,function*(){var e;this.player.playback.video&&(yield rl(2e3).catch(()=>this.logger.warn("ensureAudioContextResumed: timeout")),this.player.dispatchEvent(new r.Play),this.player.playback.volume=100,this.player.playback.seek(0),this.player.autoplay(!1),this.player.playback.video.muted=!1,this.player.playback.play(),null!=(e=this.player.playback.video))&&e.dispatchEvent(new Event("play"))}),this.dispatchInactiveAutoplayEvent=()=>{var e;this.logger.trace("inactivate smartautoplay"),this.player.dispatchEvent(new r.Inactive({customPreview:this.settings.customPreview})),null!=(e=this.player.playback.video)&&e.removeEventListener("timeupdate",this.onVideoTimeUpdate),this.player.controllers.blockers.unblock("smartAutoPlay"),this.destroyed=!0,this.player.config.smartAutoPlay&&(this.player.config.smartAutoPlay.active=!1)}}static shouldLoad(e){return e.active&&0super.disconnectedCallback}});return ol(this,void 0,void 0,function*(){var e;t.disconnectedCallback.call(this),this.logger.debug("disconnectedCallback"),this.player.removeEventListener(je.IframeUserInteraction,this.onBackgroundProbeUserInteraction),this.player.removeEventListener(o.Blocked,this.onBlockerChanged),this.player.removeEventListener(o.ConfigUpdated,this.onPlayerConfigUpdated),null!=(e=this.player.playback.video)&&e.removeEventListener("timeupdate",this.onVideoTimeUpdate),this.restorePreviousAttributes()})}render(){var e,t;if(!this.isPlayedOrInResumeOrDestroyed)return this.hasSlot?this.renderSlotSmartAutoPlay():(e=this.settings,{className:e,style:t}=Co(e.animation),c` ${this.renderAutoplayFallback()}
${t}
`)}renderSlotSmartAutoPlay(){var e=this.slotSmartAutoPlay;return e&&(e.style.display="block"),c` ${this.renderAutoplayFallback()}
`}renderAutoplayFallback(){var e="position: absolute; top: 0; left: 0; width: 100%;height: 100%; object-fit: cover; display: none; z-index: 9999;",t="smartautoplay-simulator";return Qo()||/iPad|iPhone|iPod/.test(window.navigator.userAgent)?c`${"Smart`:c` `}dispatchVideoReadyEvent(){this.player.dispatchEvent(new r.VideoReady)}firstUpdated(){var e=this.player.controllers.blockers.anyBlocker("resume"),t=this.player.controllers.blockers.noneBlocker("played");e&&t&&(this.logger.group("trace","firstUpdated: destroy smartautoplay").message("blockers",{isNotPlayedYet:t,isInResume:e}).end(),this.dispatchInactiveAutoplayEvent())}willUpdate(e){this.logger.group("trace","willUpdate").message("checks",{destroyed:this.destroyed,isPlayedOrInResumeOrDestroyed:this.isPlayedOrInResumeOrDestroyed}).end(),!this.isPlayedOrInResume&&this.player.config.smartAutoPlay.active&&(this.destroyed=!1,this.player.controllers.blockers.block("smartAutoPlay")),e.has("destroyed")&&this.destroyed&&(this.logger.debug("willUpdate: destroyed"),this.player.removeEventListener(o.Blocked,this.onBlockerChanged))}};hl.componentName="SmartAutoPlay",hl.styles=m,t([u()],hl.prototype,"destroyed",void 0),t([u()],hl.prototype,"hasSlot",void 0),t([d({type:Object})],hl.prototype,"config",void 0),t([d({type:Object})],hl.prototype,"settings",void 0),t([u()],hl.prototype,"show",void 0),t([jr(".smartautoplay")],hl.prototype,"smartautoplay",void 0),t([jr(".smartautoplay-simulator")],hl.prototype,"smartautoplaySimulator",void 0),hl=nl=t([f("vturb-smartautoplay")],hl);g=i`.thumbsniper{display:none;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:var(--thumbsniper-index,100)}.in-pause .thumbsniper{display:block}.thumbsniper__thumb{background-color:var(--thumbsniper-background-color);height:100%;left:0;position:absolute;top:0;width:100%}.thumbsniper__thumb img{height:100%;object-fit:var(--thumbsniper-image-fit);width:100%}.thumbsniper vturb-anchor-button{position:absolute}.thumbsniper vturb-anchor-button.thumbsniper__button_position--tl{left:var(--thumbsniper-button-margin);top:var(--thumbsniper-button-margin)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--tc{left:50%;top:var(--thumbsniper-button-margin);transform:translateX(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--tr{right:var(--thumbsniper-button-margin);top:var(--thumbsniper-button-margin)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--cl{left:var(--thumbsniper-button-margin);top:50%;transform:translateY(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--cc{left:50%;top:50%;transform:translate(-50%,-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--cr{right:var(--thumbsniper-button-margin);top:50%;transform:translateY(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--bl{bottom:var(--thumbsniper-button-margin);left:var(--thumbsniper-button-margin)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--bc{bottom:var(--thumbsniper-button-margin);left:50%;transform:translateX(-50%)}.thumbsniper vturb-anchor-button.thumbsniper__button_position--br{bottom:var(--thumbsniper-button-margin);right:var(--thumbsniper-button-margin)}`,m=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var e;null!=(e=this.currentThumb)&&e.image&&this.player.dispatchEvent(new ms.ChangeArtwork({artwork:this.currentThumb.image}))},this.onEnded=()=>{this.player.config.video.picFinish&&(this.currentThumb={finish:1/0,id:"pic-finish",image:this.player.config.video.picFinish,start:0},this.player.dispatchEvent(new ms.ChangeArtwork({artwork:this.currentThumb.image})),this.requestUpdate())},this.onPlayerConfigUpdated=()=>{this.onTimeUpdate(new a.TimeupdateMs({time:this.player.playback.currentTime}))},this.onTimeUpdate=e=>{e=this.getThumb(e.detail.time);e!==this.currentThumb&&(this.logger.group("debug","change thumb: "+(null==e?void 0:e.id)).message("thumb",e).end(),this.currentThumb=e)},this.togglePlay=e=>{e.stopPropagation(),this.player.playback.toggle()}}connectedCallback(){super.connectedCallback(),this.player.addEventListener(a.TimeupdateMs,this.onTimeUpdate),this.player.addEventListener(a.Ended,this.onEnded),this.player.addEventListener(a.Pause,this.onUpdateMediaSessionArtwork),this.player.addEventListener(o.ConfigUpdated,this.onPlayerConfigUpdated)}disconnectedCallback(){super.disconnectedCallback(),this.player.removeEventListener(a.TimeupdateMs,this.onTimeUpdate),this.player.removeEventListener(a.Ended,this.onEnded),this.player.removeEventListener(a.Pause,this.onUpdateMediaSessionArtwork),this.player.removeEventListener(o.ConfigUpdated,this.onPlayerConfigUpdated)}getThumb(e){if(this.player.config.thumbsniper.active)for(var t of this.player.config.thumbsniper.items)if(t.start<=e&&t.finish>=e)return t;return null}render(){return!this.currentThumb||this.player.controllers.blockers.noneBlocker("played")?null:c`
${this.renderThumb()} ${this.renderButton()}
`}renderButton(){var e,t;return null!=(e=this.currentThumb)&&e.button?(e=this.currentThumb.button,t=Ra({"--anchor-button-background-color":e.backgroundColor,"--anchor-button-background-color-hover":e.backgroundHoverColor,"--anchor-button-color":e.textColor,"--anchor-button-color-hover":e.textColor}),c` this.player.urlUpdater(e,t)} .onOpenUrl=${e=>this.dispatchEvent(new l.ExitedClick(on(e.target)))} .logger=${this.logger} class="thumbsniper__button_position--${e.position}" content=${e.name} href=${e.url} id=${e.id} size=${e.size} style=${t} > `):null}renderThumb(){return this.currentThumb?c`
thumbnail
`:null}};dl.styles=[g],m([u()],dl.prototype,"currentThumb",void 0),dl=m([f("vturb-thumbsniper")],dl);class cl extends ct{constructor(){super(...arguments),this.onSpeedChange=()=>{var e;this.config.turbo.active&&(e="single"===this.config.turbo.type?this.useSingle(this.config.turbo):this.useAutoTest(this.config.turbo),this.player.dispatchEvent(new Xt.SpeedChanged({speed:e})),this.player.dispatchEvent(new Xt.Active))}}static chooseSpeed(e,t,i){if("single"===t.type)return t.speed;var r=(null!=(r=t.items)?r:[]).filter(e=>e.active);if(0===r.length)return 1;Zo(i,"turbo-"+e,t.testId);var[r]=Js(r,r[0],{identifierKey:"speed",storageKey:"turbo-"+e+(t.testId?"-"+t.testId:""),store:i});return r.speed}disconnectedCallback(){this.player.dispatchEvent(new Xt.Inactive),this.player.removeEventListener(o.ConfigUpdated,this.onSpeedChange),this.player.removeEventListener(r.Inactive,this.onSpeedChange)}init(){this.logger.debug("init"),this.logger.debug("host connected"),this.player.addEventListener(o.Ready,this.onSpeedChange,{once:!0}),this.player.addEventListener(o.ConfigUpdated,this.onSpeedChange),this.player.addEventListener(r.Inactive,this.onSpeedChange)}useAutoTest(e){this.logger.info("use auto test",{turbos:e});var t=(null!=(t=e.items)?t:[]).filter(e=>e.active);return 0===t.length?1:(t=cl.chooseSpeed(this.player.config.id,e,this.player.store),this.logger.info("turbo",{speed:t}),this.player.dispatchEvent(new l.Event({type:"turbo",body:{speed:t}})),this.player.playback.speed=t)}useSingle(e){return this.logger.info("use single",{turbo:e}),this.player.playback.speed=e.speed,e.speed}}cl.controllerName="TurboController",cl.requirements=[({ready:e})=>e];class ul extends e{constructor(e){super(ul.eventName,{detail:e})}}ul.eventName="conversion-tracking:update";let pl={Update:ul},fl="smartplayer/message-text-v4",y={BackgroundProbeTriggerUpdated:"backgroundProbeTriggerUpdated",BackgroundProbeUserInteraction:"backgroundProbeUserInteraction",CallactionConnected:"callactionConnected",CallactionCurrentActiveItems:"callactionCurrentActiveItems",Connect:"connect",Disconnect:"disconnect",EnableConversionTraking:"enableConversionTraking",ExitPlayerClick:"exitPlayerClick",Fullscreen:"fullscreen",FullscreenEnter:"fullscreenEnter",FullscreenExit:"fullscreenExit",HeadlineChosen:"headlineChosen",MiniPlayerConfigUpdate:"miniPlayerConfigUpdate",MiniPlayerEntered:"miniPlayerEntered",MiniPlayerExited:"miniPlayerExited",MiniPlayerScrollBack:"miniPlayerScrollBack",MiniPlayerToggleRequest:"miniPlayerToggleRequest",Mute:"mute",PitchTime:"pitchTime",ResumeActive:"resumeActive",ResumeInactive:"resumeInactive",SmartautoplayActive:"smartautoplayActive",SmartautoplayInactive:"smartautoplayInactive",SmartautoplayVideoReady:"smartautoplayVideoReady",Unmute:"unmute",UpdateConversionKey:"updateConversionKey",UpdateUrlParams:"updateUrlParams",VideoEnded:"videoEnded",VideoLoadedmetadata:"videoLoadedmetadata",VideoPause:"videoPause",VideoPlay:"videoPlay",VideoSeek:"videoSeek",VideoSpeed:"videoSpeed",VideoTimeUpdate:"videoTimeUpdate",VolumeChange:"volumeChange"},gl=e=>{e=e.video;return e.aspectRatio?100*e.aspectRatio:e.height/e.width*100};var ml=function(e,n,o,l){return new(o=o||Promise)(function(i,t){function r(e){try{a(l.next(e))}catch(e){t(e)}}function s(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?i(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(r,s)}a((l=l.apply(e,n||[])).next())})};class vl extends Tt{constructor(e){super(e),this.onBackgroundProbeTriggerUpdated=e=>{this.postMessage(y.BackgroundProbeTriggerUpdated,e.detail)},this.onCallactionConnected=e=>{this.postMessage(y.CallactionConnected,Object.assign(Object.assign({},e.detail),{type:"outside_video",version:3}))},this.onCallactionCurrentActiveItems=e=>{var{items:e,type:t}=e.detail;"inside"!==t&&this.postMessage(y.CallactionCurrentActiveItems,{items:e,scope:t,type:"outside_video",version:3})},this.onConversionTrackingKeyUpdated=e=>{this.postMessage(y.UpdateConversionKey,{key:e.detail.key})},this.onConversionTrackingReady=()=>this.postMessage(y.EnableConversionTraking,{}),this.onConversionTrackingUrlUpdated=()=>ml(this,void 0,void 0,function*(){var e=yield this.host.interface.urlUpdater("http://localhost/"),e=new URLSearchParams(e.split("?")[1]);this.postMessage(y.UpdateUrlParams,Object.fromEntries(e.entries()))}),this.onFullscreenEntered=e=>{this.postMessage(y.FullscreenEnter,{type:e.detail.type})},this.onFullscreenExited=e=>{this.postMessage(y.FullscreenExit,{type:e.detail.type})},this.onHeadlineChosen=e=>{this.postMessage(y.HeadlineChosen,e.detail)},this.onMessage=({data:e})=>{if(e.mime===fl)switch(this.logger.debug("Message received",e),e.type){case y.ExitPlayerClick:this.host.dispatchEvent(new l.ExitedClick(e.payload));break;case y.Fullscreen:this.host.interface.fullscreen(e.payload.mode);break;case y.Mute:this.host.interface.mute();break;case y.Unmute:this.host.interface.unmute();break;case y.VideoPause:this.host.interface.pause();break;case y.VideoPlay:this.host.interface.play();break;case y.VideoSeek:this.host.interface.seek(e.payload.time);break;case y.VideoSpeed:this.host.interface.speed(e.payload.speed);break;case y.VolumeChange:this.host.interface.setVolume(e.payload.volume);break;case y.BackgroundProbeUserInteraction:this.host.dispatchEvent(new je.IframeUserInteraction);break;case y.MiniPlayerEntered:this.host.dispatchEvent(new ue.Entered);break;case y.MiniPlayerExited:this.host.dispatchEvent(new ue.Exited);break;default:this.logger.warn("Unknown message",e)}},this.onMiniPlayerScrollBackRequest=()=>this.postMessage(y.MiniPlayerScrollBack,{}),this.onMiniPlayerToggle=()=>this.postMessage(y.MiniPlayerToggleRequest,{}),this.onPause=()=>this.postMessage(y.VideoPause,{}),this.onPitchTimeReached=()=>this.postMessage(y.PitchTime,{}),this.onPlay=()=>this.postMessage(y.VideoPlay,{}),this.onResumeActive=()=>this.postMessage(y.ResumeActive,{}),this.onResumeInactive=()=>this.postMessage(y.ResumeInactive,{}),this.onSmartAutoplayActive=()=>this.postMessage(y.SmartautoplayActive,{}),this.onSmartAutoplayInactive=()=>this.postMessage(y.SmartautoplayInactive,{}),this.onSmartAutoplayVideoReady=()=>this.postMessage(y.SmartautoplayVideoReady,{}),this.onSpeedChange=e=>{this.postMessage(y.VideoSpeed,{speed:e.detail.video.playbackRate||1})},this.onVideoEnded=()=>this.postMessage(y.VideoEnded,{}),this.onVideoLoadedmetadata=e=>{this.postMessage(y.VideoLoadedmetadata,{duration:e.detail.video.duration})},this.onVideoTimeupdateMs=e=>{this.postMessage(y.VideoTimeUpdate,{time:e.detail.time})},this.onVolumeChange=e=>{this.postMessage(y.VolumeChange,{volume:e.detail.volume})},this.postMiniPlayerConfigUpdate=()=>{this.postMessage(y.MiniPlayerConfigUpdate,{borderRadius:this.host.config.style.borderRadius,config:this.host.config.miniPlayer,language:this.host.config.language,videoHeight:this.host.config.video.height,videoWidth:this.host.config.video.width})},this.trackProperties("config")}firstUpdated(){this.shouldConnect()&&(this.postMessage(y.Connect,{aspect:gl(this.host.config),conversionKey:this.host.conversionKey,id:this.host.config.id,isVideoVertical:this.host.config.video.width(e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e))({}),Y=(e=>(e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.ASSET_LIST_LOAD_ERROR="assetListLoadError",e.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",e.ASSET_LIST_PARSING_ERROR="assetListParsingError",e.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.ATTACH_MEDIA_ERROR="attachMediaError",e.UNKNOWN="unknown",e))({}),X=(e=>(e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.MEDIA_ENDED="hlsMediaEnded",e.STALL_RESOLVED="hlsStallResolved",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFERED_TO_END="hlsBufferedToEnd",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e.ASSET_LIST_LOADING="hlsAssetListLoading",e.ASSET_LIST_LOADED="hlsAssetListLoaded",e.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",e.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",e.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",e.INTERSTITIAL_STARTED="hlsInterstitialStarted",e.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",e.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",e.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",e.INTERSTITIAL_ENDED="hlsInterstitialEnded",e.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",e.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",e.EVENT_CUE_ENTER="hlsEventCueEnter",e))({});var El="manifest",wl="level",Tl="audioTrack",Sl="subtitleTrack",w="main",kl="audio",_l="subtitle";class Al{constructor(e,t=0,i=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_=i}sample(e,t){var i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class Ll{constructor(e,t,i,r=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_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Al(e),this.fast_=new Al(t),this.defaultTTFB_=r,this.ttfb_=new Al(e)}update(e,t){var{slow_:i,fast_:r,ttfb_:s}=this;i.halfLife!==e&&(this.slow_=new Al(e,i.getEstimate(),i.getTotalWeight())),r.halfLife!==t&&(this.fast_=new Al(t,r.getEstimate(),r.getTotalWeight())),s.halfLife!==e&&(this.ttfb_=new Al(e,s.getEstimate(),s.getTotalWeight()))}sample(e,t){e=(e=Math.max(e,this.minDelayMs_))/1e3,t=8*t/e;this.fast_.sample(e,t),this.slow_.sample(e,t)}sampleTTFB(e){var t=e/1e3,t=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(t,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_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function xl(e,t,i){(t=(e=>"symbol"==typeof(e=((e,t)=>{if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);if("object"!=typeof(i=i.call(e,t)))return i;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"))?e:e+"")(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}function Q(){return(Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t`):Pl)}let Ml=Dl();let z=Ml;function Fl(e=!0){if("undefined"!=typeof self)return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function Nl(e,t){e=Object.keys(e);let i=Object.keys(t);var t=e.length,r=i.length;return!t||!r||t===r&&!e.some(e=>-1===i.indexOf(e))}function Ul(e,t=!1){var i,r;if("undefined"!=typeof TextDecoder)return i=new TextDecoder("utf-8").decode(e),t?-1!==(r=i.indexOf("\0"))?i.substring(0,r):i:i.replace(/\0/g,"");var s,a,n=e.length;let o,l="",h=0;for(;h>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:l+=String.fromCharCode(s);break;case 12:case 13:o=e[h++],l+=String.fromCharCode((31&s)<<6|63&o);break;case 14:o=e[h++],a=e[h++],l+=String.fromCharCode((15&s)<<12|(63&o)<<6|(63&a)<<0)}}return l}function $l(i){let r="";for(let t=0;t{let t=e.subarray(8),i=t.subarray(86),r=ah(t.subarray(4,8)),s=r,a,n="enca"===r||"encv"===r;n&&(e=x(t,[r])[0],x(e.subarray("enca"===r?28:78),["sinf"]).forEach(e=>{var t=x(e,["schm"])[0];!t||"cbcs"!==(t=ah(t.subarray(4,8)))&&"cenc"!==t||(t=x(e,["frma"])[0])&&(s=ah(t))}));var o=s;switch(s){case"avc1":case"avc2":case"avc3":case"avc4":var l=x(i,["avcC"])[0];l&&3>3;31===t&&(t+=1+((7&d)<<3)+((224&h[e])>>5)),s+="."+t}break;case"hvc1":case"hev1":h=x(i,["hvcC"])[0];if(h&&12>6],f=31&u,g=L(h,2),u=(32&u)>>5?"H":"L",m=h[12],v=h.subarray(6,12);s=(s=(s+="."+p+f)+("."+(t=>{let i=0;for(let e=0;e<32;e++)i|=(t>>e&1)<<31-e;return i>>>0})(g).toString(16).toUpperCase()))+("."+u+m);let t="";for(let e=v.length;e--;){var y=v[e];(y||t)&&(y=y.toString(16).toUpperCase(),t="."+y+t)}s+=t}a=dh("hev1"==o?"dvhe":"dvh1",i);break;case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":s=dh(s,i)||s;break;case"vp09":p=x(i,["vpcC"])[0];p&&6>4&15,s+="."+ph(f)+"."+ph(g)+"."+ph(u));break;case"av01":var b,E,w,T,S,k,_,A,m=x(i,["av1C"])[0];m&&2>>5,E=31&m[1],w=m[2]>>>7?"H":"M",S=(64&m[2])>>6,T=(32&m[2])>>5,T=2==b&&S?T?12:10:S?10:8,S=(16&m[2])>>4,k=(8&m[2])>>3,_=(4&m[2])>>2,A=3&m[2],0,s+="."+b+"."+ph(E)+w+"."+ph(T)+"."+S+"."+k+_+A+".01.01.01.0",a=dh("dav1",i))}return{codec:s,encrypted:n,supplemental:a}})(x(n,["mdia","minf","stbl","stsd"])[0]),a?(i[o]={timescale:r,type:a,stsd:n},i[a]=b({timescale:r,id:o},n)):i[o]={timescale:r,type:s,stsd:n})}return x(e,["moov","mvex","trex"]).forEach(e=>{var t=L(e,4),t=i[t];t&&(t.default={duration:L(e,12),flags:L(e,20)})}),i}function dh(e,t){var i=x(t,["dvvC"]),i=(i.length?i:x(t,["dvcC"]))[0];if(i)return t=i[2]>>1&127,i=i[2]<<5&32|i[3]>>3&31,e+"."+ph(t)+"."+ph(i)}function ch(e,t){for(var i=t+5;128&e[t++]&&t{i=x(i,["mdia","minf","stbl","stsd"])[0];if(i){i=i.subarray(8);let e=x(i,["enca"]),t=0{x(t?e.subarray(28):e.subarray(78),["sinf"]).forEach(e=>{e=gh(e);e&&r(e,t)})})}})}function gh(e){var t=x(e,["schm"])[0];if(t){t=ah(t.subarray(4,8));if("cbcs"===t||"cenc"===t){t=x(e,["schi","tenc"])[0];if(t)return t}}}function mh(e,t,i){let o={};var r=x(e,["moof","traf"]);for(let e=0;eo[e].duration)){let t=1/0,i=0;var s=x(e,["sidx"]);for(let e=0;e{var i=[],e=t[0];let r=8;var s=L(t,r);r+=4;let a=0,n=0,o=(0===e?(a=L(t,r),n=L(t,r+4),r+=8):(a=oh(t,r),n=oh(t,r+8),r+=16),r+=2,t.length+n);var l=nh(t,r);r+=2;for(let e=0;e>>31)return z.warn("SIDX has hierarchical references (not supported)"),null;d=L(t,h);h+=4,i.push({referenceSize:c,subsegmentDuration:d,info:{duration:d/s,start:o,end:o+c-1}}),o+=c,h+=4,r=h}return{earliestPresentationTime:a,timescale:s,version:e,referencesCount:l,references:i}})(s[e]);null!=n&&n.references&&(t=Math.min(t,n.earliestPresentationTime/n.timescale),a=n.references.reduce((e,t)=>e+t.info.duration||0,0),i=Math.max(i,a+n.earliestPresentationTime/n.timescale))}i&&G(i)&&Object.keys(o).forEach(e=>{o[e].duration||(o[e].duration=i*o[e].timescale-o[e].start)})}return o}function vh(e,t){var i=new Uint8Array(e.length+t.length);return i.set(e),i.set(t,e.length),i}function yh(E,w){let T=[],S=w.samples,k=w.timescale,h=w.id,_=!1;return x(S,["moof"]).map(e=>{let b=e.byteOffset-8;x(e,["traf"]).map(l=>{var e=x(l,["tfdt"]).map(e=>{var t=e[0];let i=L(e,4);return(i=1===t?(i*=Math.pow(2,32))+L(e,8):i)/k})[0];return void 0!==e&&(E=e),x(l,["tfhd"]).map(e=>{var t=L(e,4),i=16777215&L(e,0),r=0!=(1&i),s=0!=(2&i),a=0!=(8&i);let v=0;var n=0!=(16&i);let y=0;i=0!=(32&i);let o=8;t===h&&(r&&(o+=8),s&&(o+=4),a&&(v=L(e,o),o+=4),n&&(y=L(e,o),o+=4),i&&(o+=4),"video"===w.type&&(_=bh(w.codec)),x(l,["trun"]).map(t=>{var i=t[0],e=16777215&L(t,0);let r=0;var s=0!=(256&e);let a=0;var n=0!=(512&e);let o=0;var l=0!=(1024&e),h=0!=(2048&e);let d=0;var c,u,p=L(t,4);let f=8,g=(0!=(1&e)&&(r=L(t,f),f+=4),0!=(4&e)&&(f+=4),r+b);for(let e=0;e>1&63)||40==c:6==(31&u))&&Eh(S.subarray(g,g+m),_?2:1,E+d/k,T),g+=m,e+=m+4}}E+=a/k}}))})})}),T}function bh(e){return!!e&&("hvc1"===(e=e.substring(0,4))||"hev1"===e||"dvh1"===e||"dvhe"===e)}function Eh(e,t,i,r){var s=wh(e);let a=0,n=(a+=t,0),o=0,l=0;for(;a=s.length)&&(l=s[a++],n+=l,255===l););for(o=0;!(a>=s.length)&&(l=s[a++],o+=l,255===l););var h=s.length-a;let t=a;if(oh){z.error(`Malformed SEI payload. ${o} is too small, only ${h} bytes left to parse.`);break}if(4===n){if(181===s[t++]){h=nh(s,t);if(t+=2,49===h){h=L(s,t);if(t+=4,1195456820===h){h=s[t++];if(3===h){var d=s[t++],c=64&d,u=c?2+3*(31&d):0,p=new Uint8Array(u);if(c){p[0]=d;for(let e=1;e>24&255,d[1]=e>>16&255,d[2]=e>>8&255,d[3]=255&e,d.set(o,4),t=0,e=8;t{var t=e.getUint32(0),i=e.byteOffset,r=e.byteLength;if(r>>24)&&1!=s)return{offset:i,size:t};let a=e.buffer,n=$l(new Uint8Array(a,i+12,16)),o=null,l=null,h=0;if(0==s)h=28;else{var d=e.getUint32(28);if(!d||r<32+16*d)return{offset:i,size:t};o=[];for(let e=0;e/\(Windows.+Firefox\//i.test(navigator.userAgent),_h={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,dav1:.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 Ah(e,t){t=_h[t];return!!t&&!!t[e.slice(0,4)]}function Lh(e,t,i=!0){return!e.split(",").some(e=>!xh(e,t,i))}function xh(e,t,i=!0){var i=Fl(i);return null!=(i=null==i?void 0:i.isTypeSupported(Rh(e,t)))&&i}function Rh(e,t){return t+"/mp4;codecs="+e}function Ih(e){return e?(e=e.substring(0,4),_h.video[e]):2}function Ph(e){let r=kh();return e.split(",").reduce((e,t)=>{var i=r&&bh(t)?9:_h.video[t];return i?(2*i+e)/(e?3:2):(_h.audio[t]+e)/(e?2:1)},0)}let Ch={};let Dh=/flac|opus|mp4a\.40\.34/i;function Oh(e,a=!0){return e.replace(Dh,e=>{var[t,i=!0]=[e.toLowerCase(),a];if(Ch[t])return Ch[t];var r,s={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[t];for(let e=0;e!1};return{mpeg:e.isTypeSupported("audio/mpeg"),mp3:e.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:e.isTypeSupported('audio/mp4; codecs="ac-3"')}}function Uh(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}let $h={supported:!1,smooth:!1,powerEfficient:!1},Bh={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function jh(e,t){return{supported:!1,configurations:t,decodingInfoResults:[$h],error:e}}function Vh(e,t,i,r={}){var s=e.videoCodec;if(!s&&!e.audioCodec||!i)return Promise.resolve(Bh);let a=[];var n=(e=>{let t,i=null==(t=e.videoCodec)?void 0:t.split(","),r=Gh(e),s=e.width||640,a=e.height||480,n=e.frameRate||30,o=e.videoRange.toLowerCase();return i?i.map(e=>{e={contentType:Rh((e=>{if(e.startsWith("av01.")){var t=e.split("."),i=["0","111","01","01","01","0"];for(let e=t.length;4{let t,a=null==(t=e.audioCodec)?void 0:t.split(","),n=Gh(e);return a&&e.audioGroups?e.audioGroups.reduce((e,t)=>{var i=t?null==(i=r.groups[t])?void 0:i.tracks:null;return i?i.reduce((i,e)=>{if(e.groupId===t){let t=parseFloat(e.channels||"");a.forEach(e=>{e={contentType:Rh(e,"audio"),bitrate:s?((e,t)=>{if(t<=1)return 1;let i=128e3;return"ec-3"===e?i=768e3:"ac-3"===e&&(i=64e4),Math.min(t/2,i)})(e,n):n};t&&(e.channels=""+t),i.push(e)})}return i},e):e},[]):[]})(e,t,0bh(e))&&kh())return Promise.resolve(jh(new Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),a))}return Promise.all(a.map(e=>{var t=(e=>{let t="",{audio:i,video:r}=e;return r&&(e=Uh(r.contentType),t+=`${e}_r${r.height}x${r.width}f${Math.ceil(r.framerate)}${r.transferFunction||"sd"}_`+Math.ceil(r.bitrate/1e5)),i&&(e=Uh(i.contentType),t+=(r?"_":"")+e+"_c"+i.channels),t})(e);return r[t]||(r[t]=i.decodingInfo(e))})).then(e=>({supported:!e.some(e=>!e.supported),configurations:a,decodingInfoResults:e})).catch(e=>({supported:!1,configurations:a,decodingInfoResults:[],error:e}))}function Gh(e){return 1e3*Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)/1e3)||1}let zh=["NONE","TYPE-0","TYPE-1",null];let Hh=["SDR","PQ","HLG"];var Kh="",Wh="YES",qh="v2";function Yh(e){var{canSkipUntil:e,canSkipDateRanges:t,age:i}=e;return e&&i!!e).map(e=>e.substring(0,4)).join(","),"supplemental"in e&&(this.supplemental=e.supplemental,t=null==(t=e.supplemental)?void 0:t.videoCodec)&&t!==e.videoCodec&&(this.codecSet+=","+t.substring(0,4)),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 Zh(this._audioGroups,e)}hasSubtitleGroup(e){return Zh(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t)if("audio"===e){let e=this._audioGroups;-1===(e=e||(this._audioGroups=[])).indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;-1===(e=e||(this._subtitleGroups=[])).indexOf(t)&&e.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 null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function Zh(e,t){return!(!t||!e)&&-1!==e.indexOf(t)}function Jh(e,t){let i=!1,r=[];return e&&(i="SDR"!==e,r=[e]),!t||(e="SDR"!==(r=t.allowedVideoRanges||Hh.slice(0)).join("")&&!t.videoCodec,i=void 0!==t.preferHDR?t.preferHDR:e&&(()=>{if("function"==typeof matchMedia){var e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1})())||(r=["SDR"]),{preferHDR:i,allowedVideoRanges:r}}let ed=i=>{let r=new WeakSet;return(e,t)=>{if("object"==typeof(t=i?i(e,t):t)&&null!==t){if(r.has(t))return;r.add(t)}return t}},B=(e,t)=>JSON.stringify(e,ed(t));function td(e,t){z.log(`[abr] start candidates with "${e}" ignored because `+t)}function id(e){return e.reduce((e,t)=>{let i=e.groups[t.groupId];(i=i||(e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1})).tracks.push(t);var r=t.channels||"2";return i.channels[r]=(i.channels[r]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function rd(e){var t,i,r,s,a;return e&&({lang:t,assocLang:i,characteristics:r,channels:s,audioCodec:a}=e,{lang:t,assocLang:i,characteristics:r,channels:s,audioCodec:a})}function sd(t,i,r){if("attrs"in t){var e=i.indexOf(t);if(-1!==e)return e}for(let e=0;e{let i=e.split(","),r=t.split(",");return i.length===r.length&&!i.some(e=>-1===r.indexOf(e))})(e.characteristics||"",t.characteristics))&&(void 0===i||i(e,t))}function nd(e,t){var{audioCodec:e,channels:i}=e;return!(void 0!==e&&(t.audioCodec||"").substring(0,4)!==e.substring(0,4)||void 0!==i&&i!==(t.channels||"2"))}function od(t,i,r){for(let e=i;-1{let s,{fragCurrent:a,partCurrent:n,hls:o}=this;var{autoLevelEnabled:l,media:h}=o;if(a&&h){var d=performance.now(),c=(n||a).stats,u=(n||a).duration,d=d-c.loading.start;let r=o.minAutoLevel;var p=a.level,f=this._nextAutoLevel;if(c.aborted||c.loaded&&c.loaded===c.total||p<=r)this.clearTimer(),this._nextAutoLevel=-1;else if(l){l=-1r;i--){var k=y[i].maxBitrate,_=!y[i].details||S;if((e=this.getTimeToLoadFrag(w,T,u*k,_))=b||e>10*u||(h?this.bwEstimator.sample(d-Math.min(f,g),c.loaded):this.bwEstimator.sampleTTFB(d),t=y[i].maxBitrate,this.getBwEstimate()*E>t&&this.resetEstimator(t),-1<(h=this.findBestLevel(t,r,i,0,m,1,1))&&(i=h),this.warn(`Fragment ${a.sn}${n?" part "+n.index:""} of level ${p} is loading too slowly; Fragment duration: ${a.duration.toFixed(3)} Time to underbuffer: ${m.toFixed(3)} s Estimated load time for current fragment: ${b.toFixed(3)} s Estimated load time for down switch fragment: ${e.toFixed(3)} s TTFB estimate: ${0|g} ms Current BW estimate: ${G(v)?0|v:"Unknown"} bps New BW estimate: ${0|this.getBwEstimate()} bps Switching to level ${i} @ ${0|t} bps`),o.nextLoadLevel=o.nextAutoLevel=i,this.clearTimer(),f=()=>{if(this.clearTimer(),this.fragCurrent===a&&this.hls.loadLevel===i&&0r){let e=this.findBestLevel(this.hls.levels[r].bitrate,r,i,0,t,1,1);-1===e&&(e=r),this.hls.nextLoadLevel=this.hls.nextAutoLevel=e,this.resetEstimator(this.hls.levels[e].bitrate)}}},l||b>2*e?f():this.timer=self.setInterval(f,1e3*e),o.trigger(X.FRAG_LOAD_EMERGENCY_ABORTED,{frag:a,part:n,stats:c}))}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){var e=this.hls.config;return new Ll(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_LOADED,this.onFragLoaded,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this),e.on(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e&&(e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_LOADED,this.onFragLoaded,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this),e.off(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(X.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){-1Math.max(e,t)&&i[e].loadError<=i[t].loadError)return e}return this._nextAutoLevel=t,this.nextAutoLevelKey=this.getAutoLevelKey(),t}getAutoLevelKey(){return this.getBwEstimate()+"_"+this.getStarvationDelay().toFixed(2)}getNextABRAutoLevel(){var{fragCurrent:e,partCurrent:t,hls:i}=this;if(i.levels.length<=1)return i.loadLevel;var{maxAutoLevel:r,config:s,minAutoLevel:a}=i,t=t?t.duration:e?e.duration:0,e=this.getBwEstimate(),n=this.getStarvationDelay();let o=s.abrBandWidthFactor,l=s.abrBandWidthUpFactor;if(n){var h=this.findBestLevel(e,a,r,n,0,o,l);if(0<=h)return this.rebufferNotice=-1,h}let d=t?Math.min(t,s.maxStarvationDelay):s.maxStarvationDelay;n||(h=this.bitrateTestDelay)&&(t=t?Math.min(t,s.maxLoadingDelay):s.maxLoadingDelay,d=t-h,this.info(`bitrate test took ${Math.round(1e3*h)}ms, set first fragment max fetchDuration to ${Math.round(1e3*d)} ms`),o=l=1);s=this.findBestLevel(e,a,r,n,d,o,l);return this.rebufferNotice!==s&&(this.rebufferNotice=s,this.info(`${n?"rebuffering expected":"buffer is empty"}, optimal quality level `+s)),-1{var a=Object.keys(r);let n=null==t?void 0:t.channels,o=null==t?void 0:t.audioCodec,l=null==i?void 0:i.videoCodec,h=n&&2===parseInt(n),d=!1,c=!1,u=1/0,p=1/0,f=1/0,g=1/0,m=0,v=[],{preferHDR:y,allowedVideoRanges:b}=Jh(e,i);for(let e=a.length;e--;){let t=r[a[e]];d=d||00{let i=r[t];if(t===e)return e;if(v=c?b.filter(e=>0s)return td(t,`min bitrate of ${i.minBitrate} > current estimate of `+s),e;if(!i.hasDefaultAudio)return td(t,"no renditions with default or auto-select sound found"),e;if(o&&t.indexOf(o.substring(0,4))%5!=0)return td(t,`audio codec preference "${o}" not found`),e;if(n&&!h){if(!i.channels[n])return td(t,`no renditions with ${n} channel sound found (channels options: ${Object.keys(i.channels)})`),e}else if((!o||h)&&d&&0===i.channels[2])return td(t,"no renditions with stereo sound found"),e;if(i.minHeight>E)return td(t,`min resolution of ${i.minHeight} > maximum of `+E),e;if(i.minFramerate>w)return td(t,`min framerate of ${i.minFramerate} > maximum of `+w),e;if(!v.some(e=>0=Ph(e)||i.fragmentError>r[e].fragmentError)?e:(g=i.minIndex,m=i.maxScore,t)},void 0),videoRanges:v,preferHDR:y,minFramerate:p,minBitrate:f,minIndex:g}})(this.codecTiers||(this.codecTiers=(T=_,p.slice(e,s+1).reduce((e,t,r)=>{if(t.codecSet){var s=t.audioGroups;let i=e[t.codecSet];i||(e[t.codecSet]=i={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:r,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!s,fragmentError:0}),i.minBitrate=Math.min(i.minBitrate,t.bitrate);var a=Math.min(t.height,t.width);i.minHeight=Math.min(i.minHeight,a),i.minFramerate=Math.min(i.minFramerate,t.frameRate),i.minIndex=Math.min(i.minIndex,r),i.maxScore=Math.max(i.maxScore,t.score),i.fragmentError+=t.fragmentError,i.videoRanges[t.videoRange]=(i.videoRanges[t.videoRange]||0)+1,s&&s.forEach(e=>{if(e){let t=T.groups[e];t&&(i.hasDefaultAudio=i.hasDefaultAudio||T.hasDefaultAudio?t.hasDefault:t.hasAutoSelect||!T.hasDefaultAudio&&!T.hasAutoSelectAudio,Object.keys(t.channels).forEach(e=>{i.channels[e]=(i.channels[e]||0)+t.channels[e]}))}})}return e},{}))),E,i,S,k),{codecSet:k,videoRanges:L,minFramerate:F,minBitrate:N,minIndex:U,preferHDR:$}=r;A=U,b=k,E=$?L[L.length-1]:L[0],w=F,i=Math.max(i,N),this.log("picked start tier "+B(r))}else b=null==m?void 0:m.codecSet,E=null==m?void 0:m.videoRange;var x=u?u.duration:t?t.duration:0,R=this.bwEstimator.getEstimateTTFB()/1e3,I=[];for(let t=s;t>=e;t--){let r=p[t];var P,C=t>c;if(r)if(!g.useMediaCapabilities||r.supportedResult||r.supportedPromise||("function"==typeof(null==(P=navigator.mediaCapabilities)?void 0:P.decodingInfo)&&((e,r,t,i,s,a)=>{var n=e.videoCodec,o=e.audioCodec?e.audioGroups:null,l=null==a?void 0:a.audioCodec;let h=(a=null==a?void 0:a.channels)?parseInt(a):l?1/0:2,d=null;if(null!=o&&o.length)try{d=1===o.length&&o[0]?r.groups[o[0]].channels:o.reduce((i,e)=>{if(e){let t=r.groups[e];if(!t)throw new Error(`Audio track group ${e} not found`);Object.keys(t.channels).forEach(e=>{i[e]=(i[e]||0)+t.channels[e]})}return i},{2:0})}catch(e){return 1}return void 0!==n&&(n.split(",").some(e=>bh(e))||1920Math.max(i,30)||"SDR"!==e.videoRange&&e.videoRange!==t||e.bitrate>Math.max(s,8e6))||d&&G(h)&&Object.keys(d).some(e=>parseInt(e)>h)})(r,_,E,w,i,S)?(r.supportedPromise=Vh(r,_,P,this.supportedCache),r.supportedPromise.then(e=>{var t,i;this.hls&&(r.supportedResult=e,i=(t=this.hls.levels).indexOf(r),e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${i} `+B(e)):e.supported?e.decodingInfoResults.some(e=>!1===e.smooth||!1===e.powerEfficient)&&this.log(`MediaCapabilities decodingInfo for level ${i} not smooth or powerEfficient: `+B(e)):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${i} `+B(e)),-1{this.warn("Error handling MediaCapabilities decodingInfo: "+e)})):r.supportedResult=Bh),!(b&&r.codecSet!==b||E&&r.videoRange!==E||C&&w>r.frameRate||!C&&0!1===e.smooth))||y&&t===A){var D=r.details,O=(u?null==D?void 0:D.partTarget:null==D?void 0:D.averagetargetduration)||x;let e;e=C?l*i:o*i;var M,C=x&&2*x<=a&&0===n?r.averageBitrate:r.maxBitrate,D=this.getTimeToLoadFrag(R,e,C*O,void 0===D);if(e>=C&&(t===d||0===r.loadError&&0===r.fragmentError)&&(D<=R||!G(D)||v&&!this.bitrateTestDelay||D${t} adjustedbw(${Math.round(e)})-bitrate=${Math.round(e-C)} ttfb:${R.toFixed(1)} avgDuration:${O.toFixed(1)} maxFetchDuration:${h.toFixed(1)} fetchDuration:${D.toFixed(1)} firstSelection:${y} codecSet:${r.codecSet} videoRange:${r.videoRange} hls.loadLevel:`+f)),y&&(this.firstSelection=t),t}else I.push(t)}return-1}set nextAutoLevel(e){e=this.deriveNextAutoLevel(e);this._nextAutoLevel!==e&&(this.nextAutoLevelKey="",this._nextAutoLevel=e)}deriveNextAutoLevel(e){var{maxAutoLevel:t,minAutoLevel:i}=this.hls;return Math.min(Math.max(e,i),t)}}let dd={search:function(e,t){let i=0,r=e.length-1;for(;i<=r;){var s,a,n=t(a=e[s=(i+r)/2|0]);if(0(t=1e3*Math.min(t,i.duration+(i.deltaPTS||0)),i=i.endProgramDateTime||0,e{if(t&&0===t.start&&t.level("INF"===t[0]&&(e+=parseFloat(t[1])),e),i),e.start<=t})(a,e,Math.min(s,r)))||!(n=dd.search(t,pd.bind(null,i,r)))||n===e&&a?a:n}function pd(e=0,t=0,i){return i.start<=e&&i.start+i.duration>e?0:(t=Math.min(t,i.duration+(i.deltaPTS||0)),i.start+i.duration-t<=e?1:i.start-t>e&&i.start?-1:0)}function fd(i,r,s){if(i&&i.startCC<=r&&i.endCC>=r){let e=i.fragments;i=i.fragmentHint;i&&(e=e.concat(i));let t;return dd.search(e,e=>e.cc0<=t.indexOf(e.groupId)).some(e=>null==(e=e.details)?void 0:e.hasKey(i))}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){if(!t.fatal){var i=this.hls,r=t.context;switch(t.details){case Y.FRAG_LOAD_ERROR:case Y.FRAG_LOAD_TIMEOUT:case Y.KEY_LOAD_ERROR:case Y.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case Y.FRAG_PARSING_ERROR:if(null!=(s=t.frag)&&s.gap)return void(t.errorAction=Cd());case Y.FRAG_GAP:case Y.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=kd);case Y.LEVEL_EMPTY_ERROR:case Y.LEVEL_PARSING_ERROR:var s=t.parent===w?t.level:i.loadLevel;return void(t.details===Y.LEVEL_EMPTY_ERROR&&null!=(a=t.context)&&null!=(a=a.levelDetails)&&a.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,s)));case Y.LEVEL_LOAD_ERROR:case Y.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==r?void 0:r.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.level)));case Y.AUDIO_TRACK_LOAD_ERROR:case Y.AUDIO_TRACK_LOAD_TIMEOUT:case Y.SUBTITLE_LOAD_ERROR:case Y.SUBTITLE_TRACK_LOAD_TIMEOUT:if(r){var a=i.loadLevelObj;if(a&&(r.type===Tl&&a.hasAudioGroup(r.groupId)||r.type===Sl&&a.hasSubtitleGroup(r.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,i.loadLevel),t.errorAction.action=kd,void(t.errorAction.flags=xd)}return;case Y.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:return void(t.errorAction={action:kd,flags:Rd});case Y.KEY_SYSTEM_SESSION_UPDATE_FAILED:case Y.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case Y.KEY_SYSTEM_NO_SESSION:return void(t.errorAction={action:kd,flags:Id});case Y.BUFFER_ADD_CODEC_ERROR:case Y.REMUX_ALLOC_ERROR:case Y.BUFFER_APPEND_ERROR:return void(t.errorAction||(t.errorAction=this.getLevelSwitchAction(t,null!=(s=t.level)?s:i.loadLevel)));case Y.INTERNAL_EXCEPTION:case Y.BUFFER_APPENDING_ERROR:case Y.BUFFER_FULL_ERROR:case Y.LEVEL_SWITCH_ERROR:case Y.BUFFER_STALLED_ERROR:case Y.BUFFER_SEEK_OVER_HOLE:case Y.BUFFER_NUDGE_ON_STALL:return void(t.errorAction=Cd())}t.type===q.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=Cd())}}getPlaylistRetryOrSwitchAction(e,t){var i=yd(this.hls.config.playlistLoadPolicy,e),r=this.playlistError++;return wd(i,r,gd(e),e.response)?{action:Ad,flags:Ld,retryConfig:i,retryCount:r}:(e=this.getLevelSwitchAction(e,t),i&&(e.retryConfig=i,e.retryCount=r),e)}getFragRetryOrSwitchAction(e){var t=this.hls,i=this.getVariantLevelIndex(e.frag),r=t.levels[i],{fragLoadPolicy:s,keyLoadPolicy:a}=t.config,a=yd(md(e)?a:s,e),s=t.levels.reduce((e,t)=>e+t.fragmentError,0);if(r&&(e.details!==Y.FRAG_GAP&&r.fragmentError++,!vd(e)&&wd(a,s,gd(e),e.response)))return{action:Ad,flags:Ld,retryConfig:a,retryCount:s};t=this.getLevelSwitchAction(e,i);return a&&(t.retryConfig=a,t.retryCount=s),t}getLevelSwitchAction(r,e){var t=this.hls;null==e&&(e=t.loadLevel);let s=this.hls.levels[e];if(s){var a=r.details;s.loadError++,a===Y.BUFFER_APPEND_ERROR&&s.fragmentError++;let i=-1;var{levels:n,loadLevel:o,minAutoLevel:l,maxAutoLevel:h}=t,d=(t.autoLevelEnabled||t.config.preserveManualLevelOnError||(t.loadLevel=-1),null==(e=r.frag)?void 0:e.type),c=(d===kl&&a===Y.FRAG_PARSING_ERROR||"audio"===r.sourceBufferName&&(a===Y.BUFFER_ADD_CODEC_ERROR||a===Y.BUFFER_APPEND_ERROR))&&n.some(({audioCodec:e})=>s.audioCodec!==e),u="video"===r.sourceBufferName&&(a===Y.BUFFER_ADD_CODEC_ERROR||a===Y.BUFFER_APPEND_ERROR)&&n.some(({codecSet:e,audioCodec:t})=>s.codecSet!==e&&s.audioCodec===t),{type:p,groupId:f}=null!=(e=r.context)?e:{};for(let e=n.length;e--;){var g,m=(e+o)%n.length;if(m!==o&&l<=m&&m<=h&&0===n[m].loadError){let t=n[m];if(a===Y.FRAG_GAP&&d===w&&r.frag){var v=n[m].details;if(v){var v=ud(r.frag,v.fragments,r.frag.start);if(null!=v&&v.gap)continue}}else{if(p===Tl&&t.hasAudioGroup(f)||p===Sl&&t.hasSubtitleGroup(f))continue;if(d===kl&&null!=(v=s.audioGroups)&&v.some(e=>t.hasAudioGroup(e))||d===_l&&null!=(g=s.subtitleGroups)&&g.some(e=>t.hasSubtitleGroup(e))||c&&s.audioCodec===t.audioCodec||u&&s.codecSet===t.codecSet||!c&&s.codecSet!==t.codecSet)continue}i=m;break}}if(-1{let t=this.fragments[e];!t||n>=t.body.sn||(t.buffered||t.loaded&&!a?(e=t.range[i])&&(0===e.time.length?this.removeFragment(t.body):e.time.some(e=>{e=!this.isTimeBuffered(e.startPTS,e.endPTS,r);return e&&this.removeFragment(t.body),e})):t.body.type===s&&this.removeFragment(t.body))})}detectPartialFragments(n){let o=this.timeRanges;if(o&&"initSegment"!==n.frag.sn){let s=n.frag;var e=$d(s);let a=this.fragments[e];if(!(!a||a.buffered&&s.gap)){let r=!s.relurl;Object.keys(o).forEach(e=>{var t,i=s.elementaryStreams[e];i&&(t=o[e],i=r||!0===i.partial,a.range[e]=this.getBufferedTimes(s,n.part,i,t))}),a.loaded=null,Object.keys(a.range).length?(this.bufferedEnd(a,s),Ud(a)||this.removeParts(s.sn-1,s.type)):this.removeFragment(a.body)}}}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e)}removeParts(t,e){var i=this.activePartLists[e];i&&(this.activePartLists[e]=Bd(i,e=>e.fragment.sn>=t))}fragBuffered(e,t){var i=$d(e);let r=this.fragments[i];!r&&t&&(r=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap)&&(this.hasGaps=!0),r&&(r.loaded=null,this.bufferedEnd(r,e))}getBufferedTimes(e,t,i,r){var s={time:[],partial:i},a=e.start,n=e.end,o=e.minEndPTS||n,l=e.maxStartPTS||a;for(let e=0;e{e=l[e];e&&Ud(e)&&(s=e.body.start-o,a=e.body.end+o,t>=s)&&t<=a&&(r=Math.min(t-s,a-t),n<=r)&&(i=e.body,n=r)}),i}isEndListAppended(e){e=this.endListFragments[e];return void 0!==e&&(e.buffered||Ud(e))}getState(e){e=$d(e),e=this.fragments[e];return e?e.buffered?Ud(e)?Md:Fd:Od:Dd}isTimeBuffered(t,i,r){var s,a;for(let e=0;e{var t,e=this.fragments[e];!e||(t=e.body).type!==s||a&&!t.gap||t.starti&&(e.buffered||n)&&this.removeFragment(t)})}removeFragment(e){var t=$d(e),i=(e.clearElementaryStreamInfo(),this.activePartLists[e.type]);if(i){let t=e.sn;this.activePartLists[e.type]=Bd(i,e=>e.fragment.sn!==t)}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;var e=null==(e=this.hls)||null==(e=e.latestLevelDetails)?void 0:e.partList;e&&e.forEach(e=>e.clearElementaryStreamInfo())}}function Ud(e){var t;return e.buffered&&!!(e.body.gap||null!=(t=e.range.video)&&t.partial||null!=(t=e.range.audio)&&t.partial||null!=(t=e.range.audiovideo)&&t.partial)}function $d(e){return e.type+`_${e.level}_`+e.sn}function Bd(e,i){return e.filter(e=>{var t=i(e);return t||e.clearElementaryStreamInfo(),t})}var jd=0,Vd=1;class Gd{constructor(e,t,i){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=i}decrypt(e,t){switch(this.aesMode){case jd:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case Vd:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw new Error("[AESCrypto] invalid aes mode "+this.aesMode)}}}class zd{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){var t=new DataView(e),i=new Uint32Array(4);for(let e=0;e<4;e++)i[e]=t.getUint32(4*e);return i}initTable(){var e=this.sBox,t=this.invSBox,i=this.subMix,r=i[0],s=i[1],a=i[2],n=i[3],i=this.invSubMix,o=i[0],l=i[1],h=i[2],d=i[3],c=new Uint32Array(256);let u=0,p=0,f=0;for(f=0;f<256;f++)f<128?c[f]=f<<1:c[f]=f<<1^283;for(f=0;f<256;f++){var g=(g=p^p<<1^p<<2^p<<3^p<<4)>>>8^255&g^99,m=c[t[e[u]=g]=u],v=c[m],y=c[v],b=257*c[g]^16843008*g;r[u]=b<<24|b>>>8,s[u]=b<<16|b>>>16,a[u]=b<<8|b>>>24,n[u]=b,b=16843009*y^65537*v^257*m^16843008*u,o[g]=b<<24|b>>>8,l[g]=b<<16|b>>>16,h[g]=b<<8|b>>>24,d[g]=b,u?(u=m^c[c[c[y^m]]],p^=c[c[p]]):u=p=1}}expandKey(s){var a=this.uint8ArrayToUint32Array_(s);let e=!0,t=0;for(;t{var i=ArrayBuffer.isView(r)?r:new Uint8Array(r),i=(this.softwareDecrypt(i,s,a,n),this.flush());i?e(i.buffer):t(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(r),s,a,n)}softwareDecrypt(e,t,i,r){var{currentIV:s,currentResult:a,remainderData:n}=this;if(r!==jd||16!==t.byteLength)return z.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),n&&(e=vh(n,e),this.remainderData=null);r=this.getValidChunk(e);if(!r.length)return null;s&&(i=s);let o=this.softwareDecrypter;(o=o||(this.softwareDecrypter=new zd)).expandKey(t);n=a;return this.currentResult=o.decrypt(r.buffer,0,i),this.currentIV=r.slice(-16).buffer,n||null}webCryptoDecrypt(t,i,r,s){if(this.key!==i||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(t,i,r,s));this.key=i,this.fastAesKey=new Hd(this.subtle,i,s)}return this.fastAesKey.expandKey().then(e=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Gd(this.subtle,new Uint8Array(r),s).decrypt(t.buffer,e)):Promise.reject(new Error("web crypto not initialized"))).catch(e=>(z.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${e.name}: `+e.message),this.onWebCryptoError(t,i,r,s)))}onWebCryptoError(e,t,i,r){var s=this.enableSoftwareAES;if(s){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i,r);e=this.flush();if(e)return e.buffer}throw new Error("WebCrypto"+(s?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e;var i=e.length-e.length%16;return i!==e.length&&(t=e.slice(0,i),this.remainderData=e.slice(i)),t}logOnce(e){this.logEnabled&&(z.log("[decrypter]: "+e),this.logEnabled=!1)}}let Wd=Math.pow(2,17);class qd{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(o,l){let h=o.url;if(!h)return Promise.reject(new Qd({type:q.NETWORK_ERROR,details:Y.FRAG_LOAD_ERROR,fatal:!1,frag:o,error:new Error("Fragment does not have a "+(h?"part list":"url")),networkDetails:null}));this.abort();let i=this.config,d=i.fLoader,c=i.loader;return new Promise((a,s)=>{if(this.loader&&this.loader.destroy(),o.gap){if(o.tagList.some(e=>"GAP"===e[0]))return void s(Xd(o));o.gap=!1}let n=this.loader=new(d||c)(i);var e=Yd(o),t=(o.loader=n,Ed(i.fragLoadPolicy.default));let r={loadPolicy:t,timeout:t.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===o.sn?1/0:Wd};o.stats=n.stats;t={onSuccess:(e,t,i,r)=>{this.resetLoader(o,n);let s=e.data;i.resetIV&&o.decryptdata&&(o.decryptdata.iv=new Uint8Array(s.slice(0,16)),s=s.slice(16)),a({frag:o,part:null,payload:s,networkDetails:r})},onError:(e,t,i,r)=>{this.resetLoader(o,n),s(new Qd({type:q.NETWORK_ERROR,details:Y.FRAG_LOAD_ERROR,fatal:!1,frag:o,response:b({url:h,data:void 0},e),error:new Error(`HTTP Error ${e.code} `+e.text),networkDetails:i,stats:r}))},onAbort:(e,t,i)=>{this.resetLoader(o,n),s(new Qd({type:q.NETWORK_ERROR,details:Y.INTERNAL_ABORTED,fatal:!1,frag:o,error:new Error("Aborted"),networkDetails:i,stats:e}))},onTimeout:(e,t,i)=>{this.resetLoader(o,n),s(new Qd({type:q.NETWORK_ERROR,details:Y.FRAG_LOAD_TIMEOUT,fatal:!1,frag:o,error:new Error(`Timeout after ${r.timeout}ms`),networkDetails:i,stats:e}))}};l&&(t.onProgress=(e,t,i,r)=>l({frag:o,part:null,payload:i,networkDetails:r})),n.load(e,r,t)})}loadPart(l,h,d){this.abort();let t=this.config,i=t.fLoader,c=t.loader;return new Promise((n,o)=>{if(this.loader&&this.loader.destroy(),l.gap||h.gap)o(Xd(l,h));else{let s=this.loader=new(i||c)(t),a=Yd(l,h);l.loader=s;var e=Ed(t.fragLoadPolicy.default);let r={loadPolicy:e,timeout:e.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:Wd};h.stats=s.stats,s.load(a,r,{onSuccess:(e,t,i,r)=>{this.resetLoader(l,s),this.updateStatsFromPart(l,h);e={frag:l,part:h,payload:e.data,networkDetails:r};d(e),n(e)},onError:(e,t,i,r)=>{this.resetLoader(l,s),o(new Qd({type:q.NETWORK_ERROR,details:Y.FRAG_LOAD_ERROR,fatal:!1,frag:l,part:h,response:b({url:a.url,data:void 0},e),error:new Error(`HTTP Error ${e.code} `+e.text),networkDetails:i,stats:r}))},onAbort:(e,t,i)=>{l.stats.aborted=h.stats.aborted,this.resetLoader(l,s),o(new Qd({type:q.NETWORK_ERROR,details:Y.INTERNAL_ABORTED,fatal:!1,frag:l,part:h,error:new Error("Aborted"),networkDetails:i,stats:e}))},onTimeout:(e,t,i)=>{this.resetLoader(l,s),o(new Qd({type:q.NETWORK_ERROR,details:Y.FRAG_LOAD_TIMEOUT,fatal:!1,frag:l,part:h,error:new Error(`Timeout after ${r.timeout}ms`),networkDetails:i,stats:e}))}})}})}updateStatsFromPart(e,t){var i=e.stats,r=t.stats,s=r.total,e=(i.loaded+=r.loaded,s?(s=((e=Math.round(e.duration/t.duration))-(t=Math.min(Math.round(i.loaded/s),e)))*Math.round(i.loaded/t),i.total=i.loaded+s):i.total=Math.max(i.loaded,i.total),i.loading),t=r.loading;e.start?e.first+=t.first-t.start:(e.start=t.start,e.first=t.first),e.end=t.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function Yd(i,r=null){var s=r||i,r={frag:i,part:r,responseType:"arraybuffer",url:s.url,headers:{},rangeStart:0,rangeEnd:0},a=s.byteRangeStartOffset,s=s.byteRangeEndOffset;if(G(a)&&G(s)){let e=a,t=s;"initSegment"!==i.sn||"AES-128"!==(i=null==(i=i.decryptdata)?void 0:i.method)&&"AES-256"!==i||((i=s-a)%16&&(t=s+(16-i%16)),0!==a&&(r.resetIV=!0,e=a-16)),r.rangeStart=e,r.rangeEnd=t}return r}function Xd(e,t){var i=new Error(`GAP ${e.gap?"tag":"attribute"} found`),i={type:q.MEDIA_ERROR,details:Y.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(i.part=t),(t||e).stats.aborted=!0,new Qd(i)}class Qd extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class Zd extends Il{constructor(e,t){super(e,t),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&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return!(!this._tickInterval||(self.clearInterval(this._tickInterval),this._tickInterval=null))}clearNextTick(){return!(!this._tickTimer||(self.clearTimeout(this._tickTimer),this._tickTimer=null))}tick(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),10,end:()=>0};class E{static isBuffered(e,t){if(e){var i=E.getBuffered(e);for(let e=i.length;e--;)if(t>=i.start(e)&&t<=i.end(e))return!0}return!1}static bufferedRanges(e){return e?(e=E.getBuffered(e),E.timeRangesToArray(e)):[]}static timeRangesToArray(t){var i=[];for(let e=0;ee.start-t.start||t.end-e.end);let s=-1,a=[];if(r)for(let e=0;e=t[e].start&&i<=t[e].end&&(s=e);var n,o=a.length;o&&(n=a[o-1].end,t[e].start-nn&&(a[o-1].end=t[e].end):a.push(t[e])}else a=t;let l=0,h,d=i,c=i;for(let e=0;e{var t=e.substring(2,e.length-1),i=null==r?void 0:r[t];return void 0===i?(s.playlistParsingError||(s.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${t}"`)),e):i})}return e}function ac(t,e,i){let r=t.variableList;r||(t.variableList=r={});let s,a;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{var n=new self.URL(i).searchParams;if(!n.has(s))throw new Error(`"${s}" does not match any query parameter in URI: "${i}"`);a=n.get(s)}catch(e){t.playlistParsingError||(t.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+e.message))}}else s=e.NAME,a=e.VALUE;s in r?t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):r[s]=a||""}let nc=/^(\d+)x(\d+)$/,oc=/(.+?)=(".*?"|.*?)(?:,|$)/g;class lc{constructor(e,t){Q(this,e="string"==typeof e?lc.parseAttrList(e,t):e)}get clientAttrs(){return Object.keys(this).filter(e=>"X-"===e.substring(0,2))}decimalInteger(e){e=parseInt(this[e],10);return e>Number.MAX_SAFE_INTEGER?1/0:e}hexadecimalInteger(e){if(this[e]){var t=(1&(t=(this[e]||"0x").slice(2)).length?"0":"")+t,i=new Uint8Array(t.length/2);for(let e=0;eNumber.MAX_SAFE_INTEGER?1/0:e}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){e=this[e];return e?parseFloat(e):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){e=this[e];return(e?e.split(/[ ,]+/):[]).reduce((e,t)=>(e[t.toLowerCase()]=!0,e),t)}bool(e){return"YES"===this[e]}decimalResolution(e){e=nc.exec(this[e]);if(null!==e)return{width:parseInt(e[1],10),height:parseInt(e[2],10)}}static parseAttrList(i,r){var s={};for(oc.lastIndex=0;null!==(n=oc.exec(i));){var a=n[1].trim();let e=n[2];var n=0===e.indexOf('"')&&e.lastIndexOf('"')===e.length-1;let t=!1;if(n)e=e.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":t=!0}if(r&&(n||t))e=sc(r,e);else if(!t&&!n)switch(a){case"CLOSED-CAPTIONS":if("NONE"===e)break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":z.warn(i+`: attribute ${a} is missing quotes`)}s[a]=e}return s}}class hc{constructor(e,t,i=0){var r;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(null==t?void 0:t.tagAnchor)||null,this.tagOrder=null!=(r=null==t?void 0:t.tagOrder)?r:i,t){var s,a=t.attr;for(s in a)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==a[s]){z.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=Q(new lc({}),a,e)}this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr&&(r=(null==t?void 0:t.endDate)||new Date(this.attr["END-DATE"]),G(r.getTime()))&&(this._endDate=r)}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){var e=this._cue;return void 0===e?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){var e=this.tagAnchor;return null===e||null===e.programDateTime?(z.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": `+e),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){var e=this._endDate||this._dateAtEnd;return e||(null!==(e=this.duration)?this._dateAtEnd=new Date(this._startDate.getTime()+1e3*e):null)}get duration(){if("DURATION"in this.attr){var e=this.attr.decimalFloatingPoint("DURATION");if(G(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 isInterstitial(){return"com.apple.hls.interstitial"===this.class}get isValid(){return!!this.id&&!this._badValueForSameId&&G(this.startDate.getTime())&&(null===this.duration||0<=this.duration)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}class dc{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.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!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.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){var t,i;e?(t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex,this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||0{let t=e.decryptdata;return t||(e.setKeyFormat(i.keyFormat),t=e.decryptdata),!!t&&i.matches(t)})}get hasProgramDateTime(){return!!this.fragments.length&&G(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){var e=this.driftEndTime-this.driftStartTime;return 0i)return t[e].index;return i}}return 0}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){var e;return!!(this.live&&this.age&&this.misses<3)&&(e=this.partEnd-this.fragmentStart,this.age>Math.max(e,this.totalduration)+this.levelTargetDuration)}}function cc(e,i){return e.length===i.length&&!e.some((e,t)=>e!==i[t])}function uc(e,t){return!e&&!t||!(!e||!t)&&cc(e,t)}function pc(e){return"AES-128"===e||"AES-256"===e||"AES-256-CTR"===e}function fc(e){switch(e){case"AES-128":case"AES-256":return jd;case"AES-256-CTR":return Vd;default:throw new Error("invalid full segment method "+e)}}function gc(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function mc(e){return Uint8Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}function vc(e){function t(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function yc(e){var t,i,e=e.split(":");let r=null;return"data"===e[0]&&2===e.length&&2===(t=(e=e[1].split(";"))[e.length-1].split(",")).length&&(i="base64"===t[0],t=t[1],r=i?(e.splice(-1,1),gc(t)):(i=mc(i=t).subarray(0,16),(e=new Uint8Array(16)).set(i,16-i.length),e)),r}let bc="undefined"!=typeof self?self:void 0;var Ec={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},wc="org.w3.clearkey",Tc="com.apple.streamingkeydelivery",Sc="com.microsoft.playready",kc="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function _c(e){switch(e){case Tc:return Ec.FAIRPLAY;case Sc:return Ec.PLAYREADY;case kc:return Ec.WIDEVINE;case wc:return Ec.CLEARKEY}}function Ac(e){switch(e){case Ec.FAIRPLAY:return Tc;case Ec.PLAYREADY:return Sc;case Ec.WIDEVINE:return kc;case Ec.CLEARKEY:return wc}}function Lc(e){let{drmSystems:t,widevineLicenseUrl:i}=e;e=t?[Ec.FAIRPLAY,Ec.WIDEVINE,Ec.PLAYREADY,Ec.CLEARKEY].filter(e=>!!t[e]):[];return!e[Ec.WIDEVINE]&&i&&e.push(Ec.WIDEVINE),e}let xc=null!=bc&&null!=(g=bc.navigator)&&g.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function Rc(e){e=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),e=String.fromCharCode.apply(null,Array.from(e)),e=e.substring(e.indexOf("<"),e.length),e=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("KID")[0];if(e){var e=e.childNodes[0]?e.childNodes[0].nodeValue:e.getAttribute("VALUE");if(e)return vc(e=gc(e).subarray(0,16)),e}return null}let Ic={};class Pc{static clearKeyUriToKeyIdMap(){Ic={}}static setKeyIdForUri(e,t){Ic[e]=t}static addKeyIdForUri(e){var t=Object.keys(Ic).length%Number.MAX_SAFE_INTEGER,i=new Uint8Array(16);return new DataView(i.buffer,12,4).setUint32(0,t),Ic[e]=i}constructor(e,t,i,r=[1],s=null,a){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=i,this.keyFormatVersions=r,this.iv=s,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&!pc(e),null!=a&&a.startsWith("0x")&&(this.keyId=new Uint8Array(Bl(a)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&cc(e.keyFormatVersions,this.keyFormatVersions)&&uc(e.iv,this.iv)&&uc(e.keyId,this.keyId)}isSupported(){if(this.method){if(pc(this.method)||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case Tc:case kc:case Sc:case wc:return-1!==["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(t,i){if(!this.encrypted||!this.uri)return null;if(pc(this.method)){let e=this.iv;return e||("number"!=typeof t&&(z.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),t=0),e=(t=>{var i=new Uint8Array(16);for(let e=12;e<16;e++)i[e]=t>>8*(15-e)&255;return i})(t)),new Pc(this.method,this.uri,"identity",this.keyFormatVersions,e)}if(this.keyId){t=Ic[this.uri];if(t&&!cc(this.keyId,t)&&Pc.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}var r,s=yc(this.uri);if(s)switch(this.keyFormat){case kc:this.pssh=s,this.keyId||(r=Sh(s.buffer)).length&&(r=r[0],this.keyId=null!=(e=r.kids)&&e.length?r.kids[0]:null),this.keyId||(this.keyId=Cc(i));break;case Sc:var e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=Th(e,0,s),this.keyId=Rc(s);break;default:{let e=s.subarray(0,16);16!==e.length&&((r=new Uint8Array(16)).set(e,16-e.length),e=r),this.keyId=e;break}}if(!this.keyId||16!==this.keyId.byteLength){let e;(e=(e=(e=(e=>(e=null==e?void 0:e[kc])?e.keyId:null)(i))||Cc(i))||Ic[this.uri])&&(this.keyId=e,Pc.setKeyIdForUri(this.uri,e))}return this}}function Cc(e){e=null==e?void 0:e[Sc];if(e){e=yc(e.uri);if(e)return Rc(e)}return null}let Dc=/#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,Oc=/#EXT-X-MEDIA:(.*)/g,Mc=/^#EXT(?:INF|-X-TARGETDURATION):/m,Fc=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),Nc=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|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("|"));class Uc{static findGroup(t,i){for(let e=0;e({id:e.attrs.AUDIO,audioCodec:e.audioCodec})),SUBTITLES:s.map(e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec})),"CLOSED-CAPTIONS":[]};let n=0;for(Oc.lastIndex=0;null!==(f=Oc.exec(e));){var o,l,h,d,c,u,p,f=new lc(f[1],i),g=f.TYPE;g&&(o=a[g],l=r[g]||[],r[g]=l,p=f.LANGUAGE,h=f["ASSOC-LANGUAGE"],d=f.CHANNELS,c=f.CHARACTERISTICS,u=f["INSTREAM-ID"],g={attrs:f,bitrate:0,id:n++,groupId:f["GROUP-ID"]||"",name:f.NAME||p||"",type:g,default:f.bool("DEFAULT"),autoselect:f.bool("AUTOSELECT"),forced:f.bool("FORCED"),lang:p,url:f.URI?Uc.resolve(f.URI,t):""},h&&(g.assocLang=h),d&&(g.channels=d),c&&(g.characteristics=c),u&&(g.instreamId=u),null!=o&&o.length&&(Gc(g,p=Uc.findGroup(o,g.groupId)||o[0],"audioCodec"),Gc(g,p,"textCodec")),l.push(g))}return r}static parseLevelPlaylist(e,t,i,r,F,N){var s={url:t},a=new dc(t),n=a.fragments,o=[];let l=null,h=0,d=0,c=0,u=0,p=0,f=null,g=new eh(r,s),m,v,y,b=-1,E=!1,w=null,T;if(Fc.lastIndex=0,a.m3u8=e,a.hasVariableRefs=rc(e),"#EXTM3U"!==(null==(M=Fc.exec(e))?void 0:M[0]))a.playlistParsingError=new Error("Missing format identifier #EXTM3U");else{for(;null!==(m=Fc.exec(e));){E&&(E=!1,(g=new eh(r,s)).playlistOffset=c,g.setStart(c),g.sn=h,g.cc=u,p&&(g.bitrate=p),g.level=i,l)&&((g.initSegment=l).rawProgramDateTime&&(g.rawProgramDateTime=l.rawProgramDateTime,l.rawProgramDateTime=null),w)&&(g.setByteRange(w),w=null);var S=m[1];if(S){g.duration=parseFloat(S);var k=(" "+m[2]).slice(1);g.title=k||null,g.tagList.push(k?["INF",S,k]:["INF",S])}else if(m[3])G(g.duration)&&(g.playlistOffset=c,g.setStart(c),y&&Kc(g,y,a),g.sn=h,g.level=i,g.cc=u,n.push(g),k=(" "+m[3]).slice(1),g.relurl=sc(a,k),zc(g,f,o),f=g,c+=g.duration,h++,d=0,E=!0);else if(m=m[0].match(Nc)){for(v=1;v{let r=t[i];for(let e=i;e--;){var s=t[e];if(!s)return;s.programDateTime=r.programDateTime-1e3*s.duration,r=s}})(n,b),j)&&o.unshift(j),a.fragmentHint&&(c+=a.fragmentHint.duration),a.totalduration=c,o.length&&a.dateRangeTagCount&&j&&$c(o,a),a.endCC=u}return a}}function $c(t,i){let r=t.length;if(!r){if(!i.hasProgramDateTime)return;var e=i.fragments[i.fragments.length-1];t.push(e),r++}var s=t[r-1],a=i.live?1/0:i.totalduration,n=Object.keys(i.dateRanges);for(let e=n.length;e--;){var o=i.dateRanges[n[e]],l=o.startDate.getTime();o.tagAnchor=s.ref;for(let e=r;e--;){if((null==(h=t[e])?void 0:h.sn){var a=r[s];if(a){var n=a.programDateTime;if(n<=i||0===s){var o=((null==(o=r[s+1])?void 0:o.start)||e)-a.start;if(i<=n+1e3*o){var l=r[s].sn-t.startSN;if(l<0)return-1;var h=t.fragments;if(h.length>r.length)for(let e=(r[s+1]||h[h.length-1]).sn-t.startSN;e>l;e--){var d=h[e].programDateTime;if(d<=i&&ie);["video","audio","text"].forEach(t=>{let i=s.filter(e=>Ah(e,t));i.length&&(r[t+"Codec"]=i.map(e=>e.split("/")[0]).join(","),s=s.filter(e=>-1===i.indexOf(e)))}),r.unknownCodecs=s}function Gc(e,t,i){t=t[i];t&&(e[i]=t)}function zc(e,t,i){e.rawProgramDateTime?i.push(e):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime)}function Hc(e,t,i,r){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",r&&(e.levelkeys=r),e.initSegment=null}function Kc(e,t,i){e.levelkeys=t;i=i.encryptedFragments;i.length&&i[i.length-1].levelkeys===t||!Object.keys(t).some(e=>t[e].isCommonEncryption)||i.push(e)}function Wc(e,t,i){e.playlistParsingError=new Error(`#EXT-X-${t} must not appear more than once (${i[0]})`)}function qc(e,t,i){e.playlistParsingError=new Error(`#EXT-X-${t} must appear before the first Media Segment (${i[0]})`)}function Yc(i,r){var s=r.startPTS;if(G(s)){let e=0,t;(t=r.sn>i.sn?(e=s-i.start,i):(e=i.start-s,r)).duration!==e&&t.setDuration(e)}else r.sn>i.sn?i.cc===r.cc&&i.minEndPTS?r.setStart(i.start+(i.minEndPTS-i.start)):r.setStart(i.start+i.duration):r.setStart(Math.max(i.start-r.duration,0))}function Xc(e,t,i,r,s,a,n){r-i<=0&&(n.warn("Fragment should have a positive duration",t),r=i+t.duration,a=s+t.duration);let o=i,l=r;var h=t.startPTS,d=t.endPTS,n=(G(h)&&(c=Math.abs(h-i),e&&c>e.totalduration?n.warn(`media timestamps and playlist times differ by ${c}s for level ${t.level} `+e.url):G(t.deltaPTS)?t.deltaPTS=Math.max(c,t.deltaPTS):t.deltaPTS=c,o=Math.max(i,h),i=Math.min(i,h),s=void 0!==t.startDTS?Math.min(s,t.startDTS):s,l=Math.min(r,d),r=Math.max(r,d),a=void 0!==t.endDTS?Math.max(a,t.endDTS):a),i-t.start),c=(0!==t.start&&t.setStart(i),t.setDuration(r-t.start),t.startPTS=i,t.maxStartPTS=o,t.startDTS=s,t.endPTS=r,t.minEndPTS=l,t.endDTS=a,t.sn);if(!e||ce.endSN)return 0;let u;var h=c-e.startSN,p=e.fragments;for(p[h]=t,u=h;0{var a=r.skippedSegments,e=Math.max(i.startSN,r.startSN)-r.startSN,n=(i.fragmentHint?1:0)+(a?r.endSN:Math.min(i.endSN,r.endSN))-r.startSN,o=r.startSN-i.startSN,l=r.fragmentHint?r.fragments.concat(r.fragmentHint):r.fragments,h=i.fragmentHint?i.fragments.concat(i.fragmentHint):i.fragments;for(let t=e;t<=n;t++){var d=h[o+t];let e=l[t];if(a&&!e&&d&&(e=r.fragments[t]=d),d&&e){s(d,e,t,l);var c=d.relurl,u=e.relurl;if(c&&((e,t)=>e!==t&&t&&nu(e)!==nu(t))(c,u))return r.playlistParsingError=Zc(`media sequence mismatch ${e.sn}:`,i,r,0,e);if(d.cc!==e.cc)return r.playlistParsingError=Zc(`discontinuity sequence mismatch (${d.cc}!=${e.cc})`,i,r,0,e)}}})(e,o,(e,t,i,r)=>{if((!o.startCC||o.skippedSegments)&&t.cc!==e.cc){var s=e.cc-t.cc;for(let e=i;e{var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=a)?void 0:t.relurl)||(e.initSegment=a)}),o.skippedSegments){if(o.deltaUpdateFailed=s.some(e=>!e),o.deltaUpdateFailed){t.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=o.skippedSegments;e--;)s.shift();o.startSN=s[0].sn}else{o.canSkipDateRanges&&(o.dateRanges=((e,t,r)=>{let{dateRanges:s,recentlyRemovedDateranges:i}=t,a=Q({},e),n=(i&&i.forEach(e=>{delete a[e]}),Object.keys(a)),o=n.length;return o?(Object.keys(s).forEach(e=>{var t=a[e],i=new hc(s[e].attr,t);i.isValid?(a[e]=i,t||(i.tagOrder+=o)):r.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${B(s[e].attr)}"`)}),a):s})(e.dateRanges,o,t));var h=e.fragments.filter(e=>e.rawProgramDateTime);if(e.hasProgramDateTime&&!o.hasProgramDateTime)for(let e=1;e{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats};if(d&&c){let i=0;for(let e=0,t=d.length;e<=t;e++){var p=d[e],f=c[e+i];p&&f&&p.index===f.index&&p.fragment.sn===f.fragment.sn?u(p,f):i--}}n?Xc(o,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS,t):Jc(e,o),s.length&&(o.totalduration=o.edge-s[0].start),o.driftStartTime=e.driftStartTime,o.driftStart=e.driftStart;var g=o.advancedDateTime;o.advanced&&g?(t=o.edge,o.driftStart||(o.driftStartTime=g,o.driftStart=t),o.driftEndTime=g,o.driftEnd=t):(o.driftEndTime=e.driftEndTime,o.driftEnd=e.driftEnd,o.advancedDateTime=e.advancedDateTime),-1===o.requestScheduled&&(o.requestScheduled=e.requestScheduled)}}function Zc(e,t,i,r,s){return new Error(`${e} ${s.url} Playlist starting @${t.startSN} ${t.m3u8} Playlist starting @${i.startSN} `+i.m3u8)}function Jc(e,t,i=!0){var r=t.startSN+t.skippedSegments-e.startSN,s=e.fragments,a=0<=r;let n=0;if(a&&rt&&(t=1e3*e[e.length-1].duration){null!=(e=e.details)&&e.fragments.forEach(e=>{e.level=t,e.initSegment&&(e.initSegment.level=t)})})}function nu(e){return e.replace(/\?[^?]*$/,"")}function ou(i,r){for(let e=0,t=i.length;er.startCC&&(i=Math.min(t.endCC,e.endCC),r=ou(t.fragments,i),t=ou(e.fragments,i),r)&&t&&(z.log("Aligning playlist at start of dicontinuity sequence "+i),hu(r.start-t.start,e))}function cu(i,r){if(i.hasProgramDateTime&&r.hasProgramDateTime){var s=i.fragments,a=r.fragments;if(s.length&&a.length){let e,t;var n=Math.min(r.endCC,i.endCC),r=(r.startCC{var{config:e,fragCurrent:t,media:i,mediaBuffer:r,state:s}=this,a=i?i.currentTime:0,r=E.bufferInfo(r||i,a,e.maxBufferHole),n=!r.len;this.log(`Media seeking to ${G(a)?a.toFixed(3):a}, state: ${s}, ${n?"out of":"in"} buffer`),this.state===T.ENDED?this.resetLoadingState():t&&(s=e.maxFragLookUpTolerance,e=t.start-s,s=t.start+t.duration+s,n||sr.end)&&(s=s{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=s,this.hls=e,this.fragmentLoader=new qd(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Kd(e.config)}registerListeners(){var e=this.hls;e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){var e;this.state!==T.STOPPED&&(this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType),null!=(e=this.fragCurrent)&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=T.STOPPED)}get startPositionValue(){var{nextLoadPosition:e,startPosition:t}=this;return-1===t&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){var i,r;return!(t.live||!this.media||(e.end||0)<=(i=this.config.timelineOffset||0)||(r=e.buffered,(r=(e=this.config.maxBufferHole&&r&&1{var t=e.frag;this.fragContextChanged(t)?(this.warn(`${t.type} sn: ${t.sn}${e.part?" part: "+e.part.index:""} of ${this.fragInfo(t,!1,e.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(t)):(t.stats.chunkCount++,this._handleFragmentLoadProgress(e))}).then(e=>{var t,i;e&&(t=this.state,i=e.frag,this.fragContextChanged(i)?t!==T.FRAG_LOADING&&(this.fragCurrent||t!==T.PARSING)||(this.fragmentTracker.removeFragment(i),this.state=T.IDLE):("payload"in e&&(this.log(`Loaded ${i.type} sn: ${i.sn} of ${this.playlistLabel()} `+i.level),this.hls.trigger(X.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e)))}).catch(e=>{this.state!==T.STOPPED&&this.state!==T.ERROR&&(this.warn("Frag error: "+((null==e?void 0:e.message)||e)),this.resetFragmentLoading(t))})}clearTrackerIfNeeded(e){var t,i,r=this.fragmentTracker;r.getState(e)===Od?(t=e.type,t=this.getFwdBufferInfo(this.mediaBuffer,t),t=Math.max(e.duration,t?t.len:this.config.maxBufferLength),1!=((i=this.backtrackFragment)?e.sn-i.sn:0)&&!this.reduceMaxBufferLength(t,e.duration)||r.removeFragment(e)):0===(null==(i=this.mediaBuffer)?void 0:i.buffered.length)?r.removeAllFragments():r.hasParts(e.type)&&(r.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),r.getState(e)===Md)&&r.removeFragment(e)}checkLiveUpdate(e){var t;e.updated&&!e.live&&(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)}waitForLive(e){var t=e.details;return(null==t?void 0:t.live)&&"EVENT"!==t.type&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,i=null){e-t&&(e={startOffset:e,endOffset:t,type:i},this.hls.trigger(X.BUFFER_FLUSHING,e))}_loadInitSegment(t,e){this._doFragLoad(t,e).then(e=>{var t=null==e?void 0:e.frag;if(t&&!this.fragContextChanged(t)&&this.levels)return e;throw new Error("init load aborted")}).then(r=>{let s=this.hls,{frag:a,payload:e}=r;var t=a.decryptdata;if(e&&0{throw s.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:a}),e}).then(e=>{var t=self.performance.now();return s.trigger(X.FRAG_DECRYPTED,{frag:a,payload:e,stats:{tstart:i,tdecrypt:t}}),r.payload=e,this.completeInitSegmentLoad(r)})}return this.completeInitSegmentLoad(r)}).catch(e=>{this.state!==T.STOPPED&&this.state!==T.ERROR&&(this.warn(e),this.resetFragmentLoading(t))})}completeInitSegmentLoad(e){var t=this.levels;if(!t)throw new Error("init load aborted, missing levels");t=e.frag.stats;this.state!==T.STOPPED&&(this.state=T.IDLE),e.frag.data=new Uint8Array(e.payload),t.parsing.start=t.buffering.start=self.performance.now(),t.parsing.end=t.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var i,e=e.tracks;return!(!e||t.encrypted||!(null!=(i=e.audio)&&i.encrypted||null!=(i=e.video)&&i.encrypted)||this.config.emeEnabled&&this.keyLoader.emeController||(e=this.media,i=new Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${e?"attached mediaKeys: "+e.mediaKeys:"detached"})`),this.warn(i.message),!e)||e.mediaKeys||(this.hls.trigger(X.ERROR,{type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_NO_KEYS,fatal:!1,error:i,frag:t}),this.resetTransmuxer(),0))}fragContextChanged(e){var t=this.fragCurrent;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var i=this.mediaBuffer||this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${i?fu.toString(E.getBuffered(i)):"(detached)"})`),Jl(e)){if(e.type!==_l){let t=e.elementaryStreams;if(!Object.keys(t).some(e=>!!t[e]))return void(this.state=T.IDLE)}i=null==(t=this.levels)?void 0:t[e.level];null!=i&&i.fragmentError&&(this.log(`Resetting level fragment error count of ${i.fragmentError} on frag buffered`),i.fragmentError=0)}this.state=T.IDLE}_handleFragmentLoadComplete(e){var t,i,r=this.transmuxer;r&&({frag:e,part:t,partsLoaded:i}=e,i=!i||0===i.length||i.some(e=>!e),e=new Jd(e.level,e.sn,e.stats.chunkCount+1,0,t?t.index:-1,!i),r.flush(e))}_handleFragmentLoadProgress(e){}_doFragLoad(i,r,s=null,a){this.fragCurrent=i;var n=r.details;if(!this.levels||!n)throw new Error(`frag load aborted, missing level${n?"":" detail"}s`);let o=null;if(!i.encrypted||null!=(l=i.decryptdata)&&l.key)i.encrypted||(o=this.keyLoader.loadClear(i,n.encryptedFragments,this.startFragRequested))&&this.log("[eme] blocking frag load until media-keys acquired");else if(this.log(`Loading key for ${i.sn} of [${n.startSN}-${n.endSN}], ${this.playlistLabel()} `+i.level),this.state=T.KEY_LOADING,this.fragCurrent=i,o=this.keyLoader.load(i).then(e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(X.KEY_LOADED,e),this.state===T.KEY_LOADING&&(this.state=T.IDLE),e}),this.hls.trigger(X.KEY_LOADING,{frag:i}),null===this.fragCurrent)return this.log("context changed in KEY_LOADING"),Promise.resolve(null);var l=this.fragPrevious;if(!Jl(i)||l&&i.sn===l.sn||(h=this.shouldLoadParts(r.details,i.end))!==this.loadingParts&&(this.log(`LL-Part loading ${h?"ON":"OFF"} loading sn ${null==l?void 0:l.sn}->`+i.sn),this.loadingParts=h),s=Math.max(i.start,s||0),this.loadingParts&&Jl(i)){l=n.partList;if(l&&a){s>n.fragmentEnd&&n.fragmentHint&&(i=n.fragmentHint);var h=this.getNextPart(l,i,s);if(-1!e||this.fragContextChanged(e.frag)?null:this.doFragPartsLoad(i,t,r,a)).catch(e=>this.handleFragLoadError(e)):this.doFragPartsLoad(i,t,r,a).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(X.FRAG_LOADING,{frag:i,part:t,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):e}if(!i.url||this.loadedEndOfParts(l,s))return Promise.resolve(null)}}if(Jl(i)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${s.toFixed(2)} Check buffer at sn: ${i.sn} loaded parts: `+(null==(h=n.partList)?void 0:h.filter(e=>e.loaded).map(e=>`[${e.start}-${e.end}]`))),this.loadingParts=!1;else if(!i.url)return Promise.resolve(null);this.log(`Loading ${i.type} sn: ${i.sn} of ${this.fragInfo(i,!1)}) cc: ${i.cc} ${"["+n.startSN+"-"+n.endSN+"]"}, target: `+parseFloat(s.toFixed(3))),G(i.sn)&&!this.bitrateTest&&(this.nextLoadPosition=i.start+i.duration),this.state=T.FRAG_LOADING;let t=this.config.progressive&&i.type!==_l,e;return e=t&&o?o.then(e=>!e||this.fragContextChanged(e.frag)?null:this.fragmentLoader.load(i,a)).catch(e=>this.handleFragLoadError(e)):Promise.all([this.fragmentLoader.load(i,t?a:void 0),o]).then(([e])=>(!t&&a&&a(e),e)).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(X.FRAG_LOADING,{frag:i,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):e}doFragPartsLoad(o,i,l,h){return new Promise((r,e)=>{let t,s=[],a=null==(t=l.details)?void 0:t.partList,n=i=>{this.fragmentLoader.loadPart(o,i,h).then(e=>{var t=(s[i.index]=e).part,e=(this.hls.trigger(X.FRAG_LOADED,e),ru(l.details,o.sn,i.index+1)||su(a,o.sn,i.index+1));if(!e)return r({frag:o,part:t,partsLoaded:s});n(e)}).catch(e)};n(i)})}handleFragLoadError(e){var t;return"data"in e?(t=e.data).frag&&t.details===Y.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===q.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(X.ERROR,t):this.hls.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0}),null}_handleTransmuxerFlush(e){var t,i,r,s=this.getCurrentContext(e);s&&this.state===T.PARSING?({frag:s,part:t,level:i}=s,r=self.performance.now(),s.stats.parsing.end=r,t&&(t.stats.parsing.end=r),(r=(r=this.getLevelDetails())&&s.sn>r.endSN||this.shouldLoadParts(r,s.end))!==this.loadingParts&&(this.log(`LL-Part loading ${r?"ON":"OFF"} after parsing segment ending @`+s.end.toFixed(2)),this.loadingParts=r),this.updateLevelTiming(s,t,i,e.partial)):this.fragCurrent||this.state===T.STOPPED||this.state===T.ERROR||(this.state=T.IDLE)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var i=e.partList[0];if(i.fragment.type===_l)return!1;var e=i.end+((null==(e=e.fragmentHint)?void 0:e.duration)||0);if(e<=t)if((this.hls.hasEnoughToStart?(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime:this.getLoadPosition())>i.start-i.fragment.duration)return!0}}return!1}getCurrentContext(e){var t,{levels:i,fragCurrent:r}=this,{level:e,sn:s,part:a}=e;return null!=i&&i[e]?(t=(i=i[e]).details,(t=(a=-1i&&this.flushMainBuffer(r,e.start)):this.flushMainBuffer(0,e.start))}getFwdBufferInfo(e,t){var i,r=this.getLoadPosition();return G(r)?(i=this.lastCurrentTime>r||null!=(i=this.media)&&i.paused?0:this.config.maxBufferHole,this.getFwdBufferInfoAtPos(e,r,t,i)):null}getFwdBufferInfoAtPos(e,t,i,r){var s=E.bufferInfo(e,t,r);if(0===s.len&&void 0!==s.nextStart){var i=this.fragmentTracker.getBufferedFrag(t,i);if(i&&(s.nextStart<=i.end||i.gap))return i=Math.max(Math.min(s.nextStart,i.end)-t,r),E.bufferInfo(e,t,i)}return s}getMaxBufferLength(e){var t=this.config;let i;return i=e?Math.max(8*t.maxBufferSize/e,t.maxBufferLength):t.maxBufferLength,Math.min(i,t.maxMaxBufferLength)}exceedsMaxBuffer(e,i,r){var t=e.nextStart;if(t&&r.start>t){var s=e.buffered;if(s){let t=e.len;var a=e.bufferedIndex;for(let e=s.length-1;e>a;e--)s[e].start=i}}return!1}reduceMaxBufferLength(e,t){var i=this.config,r=Math.max(Math.min(e-t,i.maxBufferLength),t),e=Math.max(e-3*t,i.maxMaxBufferLength/2,r);return r<=e&&(i.maxMaxBufferLength=e,this.warn(`Reduce max buffer length to ${e}s`),!0)}getAppendedFrag(e,t=w){e=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return e&&"fragment"in e?e.fragment:e}getNextFragment(i,r){var e=r.fragments,s=e.length;if(!s)return null;var a=this.config,n=r.fragmentStart,o=a.lowLatencyMode&&!!r.partList;let l=null;if(r.live){var a=a.initialLiveManifestSize;if(s=s)return t=a.sn,this.loopSn!==t&&(this.log(`buffer full after gaps in "${r}" playlist starting at sn: `+t),this.loopSn=t),null}return this.loopSn=void 0,a}get primaryPrefetch(){var e;if(mu(this.config)&&(null==(e=this.hls.interstitialsManager)||null==(e=e.playingItem)?void 0:e.event))return!0;return!1}filterReplacedPrimary(t,e){if(t&&mu(this.config)&&t.type!==_l){var i=this.hls.interstitialsManager,r=null==i?void 0:i.bufferingItem;if(r){var s=r.event;if(s){if(s.appendInPlace||1r.end&&r.nextEvent&&(r.nextEvent.appendInPlace||1=n.startTime&&t.end<=n.resumeTime)return null}}return t}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(i,r,s){let a=-1,n=!1,o=!0;for(let e=0,t=i.length;e=e.startSN&&t<=e.endSN&&(i=i[t-e.startSN],r.cc===i.cc)&&(s=i,this.log("Live playlist, switching playlist, load frag with next SN: "+s.sn)),s)||(s=fd(e,r.cc,r.end))&&this.log("Live playlist, switching playlist, load frag with same CC: "+s.sn)):null!==(t=this.hls.liveSyncPosition)&&(s=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e)),s}getFragmentAtPosition(e,t,i){var r=this.config;let s=this.fragPrevious,{fragments:a,endSN:n}=i;var o=i.fragmentHint,r=r.maxFragLookUpTolerance,l=i.partList,h=!!(this.loadingParts&&null!=l&&l.length&&o);h&&!this.bitrateTest&&l[l.length-1].fragment.sn===o.sn&&(a=a.concat(o),n=o.sn);let d;return(d=ed.sn||!i.live)&&d.level===s.level&&(e=a[1+o],d=d.sn${e.startSN} fragments: `+n),i):r):(this.warn("No fragments in live playlist"),0)}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let i=this.startPosition;i `+(null==(r=this.fragCurrent)?void 0:r.url));else{var r=t.details===Y.FRAG_GAP,s=(r&&this.fragmentTracker.fragBuffered(i,!0),t.errorAction);if(s){var{action:a,flags:n,retryCount:o=0,retryConfig:l}=s,h=!!l,d=h&&a===Ad,h=h&&!s.resolved&&n===xd,n=null==(n=this.hls.latestLevelDetails)?void 0:n.live;if(!d&&h&&Jl(i)&&!i.endList&&n&&!vd(t))this.resetFragmentErrors(e),this.treatAsGap(i),s.resolved=!0;else if((d||h)&&o":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(s,e,a,n){let o=a.details;if(o){if(!Object.keys(s.elementaryStreams).reduce((e,t)=>{var i,r=s.elementaryStreams[t];return r?(i=r.endPTS-r.startPTS)<=0?(this.warn(`Could not parse fragment ${s.sn} ${t} duration reliably (${i})`),e||!1):(i=n?0:Xc(o,s,r.startPTS,r.endPTS,r.startDTS,r.endDTS,this),this.hls.trigger(X.LEVEL_PTS_UPDATED,{details:o,level:a,drift:i,type:t,frag:s,start:r.startPTS,end:r.endPTS}),!0):e},!1)){var t=null===(null==(t=this.transmuxer)?void 0:t.error);if((0===a.fragmentError||t&&(a.fragmentError<2||s.endList))&&this.treatAsGap(s,a),t){t=new Error(`Found no media in fragment ${s.sn} of ${this.playlistLabel()} ${s.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(t.message),this.hls.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:s,reason:`Found no media in msn ${s.sn} of ${this.playlistLabel()} "${a.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=T.PARSED,this.log(`Parsed ${s.type} sn: ${s.sn}${e?" part: "+e.index:""} of ${this.fragInfo(s,!1,e)})`),this.hls.trigger(X.FRAG_PARSED,{frag:s,part:e})}else this.warn("level.details undefined")}playlistLabel(){return this.playlistType===w?"level":"track"}fragInfo(e,t=!0,i){var r;return`${this.playlistLabel()} ${e.level} (${i?"part":"frag"}:[${(null!=(r=t&&!i?e.startPTS:(i||e).start)?r:NaN).toFixed(3)}-${(null!=(r=t&&!i?e.endPTS:(i||e).end)?r:NaN).toFixed(3)}]`+(i&&"main"===e.type?"INDEPENDENT="+(i.independent?"YES":"NO"):"")}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;null!=(e=this.transmuxer)&&e.reset()}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){var t=this._state;t!==e&&(this._state=e,this.log(t+"->"+e))}get state(){return this._state}}function mu(e){return e.interstitialsController&&!1!==e.enableInterstitialPlayback}class vu{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){var{chunks:e,dataLength:t}=this;let i;return e.length?(i=1===e.length?e[0]:((t,e)=>{let i=new Uint8Array(e),r=0;for(let e=0;e>>5}function Mu(e,t){return t+1{var s=(n=t[i+2])>>2&15;if(!(12>6&3),t=t[i+3]>>6&3|(1&n)<<2,i="mp4a.40."+a,n=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][s];let e=s;5!=a&&29!=a||(e-=3);var o=[a<<3|(14&e)>>1,(1&e)<<7|t<<3];return z.log(`manifest codec:${r}, parsed codec:${i}, channels:${t}, rate:${n} (ADTS object type:${a} sampling index:${s})`),{config:o,samplerate:n,channelCount:t,codec:i,parsedCodec:i,manifestCodec:r}}a=new Error("invalid ADTS sampling index:"+s),e.emit(X.ERROR,X.ERROR,{type:q.MEDIA_ERROR,details:Y.FRAG_PARSING_ERROR,fatal:!0,error:a,reason:a.message})})(t,i,r,s))&&Q(e,t)}function Nu(e){return 9216e4/e}function Uu(e,t,i,r,s){var a,n,r=r+s*Nu(e.samplerate),s=((e,t)=>{var i=Du(e,t);if(t+i<=e.length){e=Ou(e,t)-i;if(0e instanceof ArrayBuffer?e:e.buffer)(i),t=1;"BYTES_PER_ELEMENT"in a&&(t=a.BYTES_PER_ELEMENT);var i=((n=(e=>e&&e.buffer instanceof ArrayBuffer&&void 0!==e.byteLength&&void 0!==e.byteOffset)(i)?i.byteOffset:0)+i.byteLength)/t,n=(n+r)/t,r=Math.floor(Math.max(0,Math.min(n,i))),n=Math.floor(Math.min(r+Math.max(s,0),i));return new a(e,r,n-r)}}function Bu(t){var i={key:t.type,description:"",data:"",mimeType:null,pictureType:null};if(!(t.size<2))if(3!==t.data[0])console.log("Ignore frame with unrecognized character encoding");else{var r=t.data.subarray(1).indexOf(0);if(-1!==r){var s=Ul($u(t.data,1,r)),a=t.data[2+r],n=t.data.subarray(3+r).indexOf(0);if(-1!==n){var o=Ul($u(t.data,3+r,n));let e;return e="--\x3e"===s?Ul($u(t.data,4+r+n)):(t=t.data.subarray(4+r+n))instanceof ArrayBuffer?t:(0==t.byteOffset&&t.byteLength==t.buffer.byteLength?t:new Uint8Array(t)).buffer,i.mimeType=s,i.pictureType=a,i.description=o,i.data=e,i}}}}function ju(e){var t,i,r,s,a;return"PRIV"===e.type?(t=e).size<2?void 0:(i=Ul(t.data,!0),a=new Uint8Array(t.data.subarray(i.length+1)),{key:t.type,info:i,data:a.buffer}):"W"===e.type[0]?"WXXX"===(t=e).type?t.size<2?void 0:(i=1,i+=(r=Ul(t.data.subarray(1),!0)).length+1,i=Ul(t.data.subarray(i)),{key:t.type,info:r,data:i}):(r=Ul(t.data),{key:t.type,info:"",data:r}):"APIC"===e.type?Bu(e):(a=e).size<2?void 0:"TXXX"===a.type?(r=1,r+=(s=Ul(a.data.subarray(1),!0)).length+1,r=Ul(a.data.subarray(r)),{key:a.type,info:s,data:r}):(s=Ul(a.data.subarray(1)),{key:a.type,info:"",data:s})}let Vu=10,Gu=10;function zu(e){let t=0;for(var i,r=[];Ru(e,t);){for(var s=Iu(e,t+6),a=(e[t+5]>>6&1&&(t+=Vu),(t+=Vu)+s);t+Gu(e.audioId3="org.id3",e.dateRange="com.apple.quicktime.HLS",e.emsg="https://aomedia.org/emsg/ID3",e.misbklv="urn:misb:KLV:bin:1910.1",e))({});function qu(e="",t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}class Yu{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,i,r){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,i){}demux(e,t){this.cachedData&&(e=vh(this.cachedData,e),this.cachedData=null);let i=Pu(e,0),r=i?i.length:0,s;var a,n,o=this._audioTrack,l=this._id3Track,h=i?Ku(i):void 0,d=e.length;for((null===this.basePTS||0===this.frameIndex&&G(h))&&(this.basePTS=Xu(h,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),i&&0G(e)?90*e:9e4*t+(i?9e4*i.baseTime/i.timescale:0),Qu=null,Zu=[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],Ju=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],ep=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],tp=[0,1,1,4];function ip(e,t,i,r,s){var a;return!(i+24>t.length)&&(a=rp(t,i))&&i+a.frameLength<=t.length?(r=r+s*(9e4*a.samplesPerFrame/a.sampleRate),s={unit:t.subarray(i,i+a.frameLength),pts:r,dts:r},e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(s),{sample:s,length:a.frameLength,missing:0}):void 0}function rp(e,t){var i,r,s,a,n,o=e[t+1]>>3&3,l=e[t+1]>>1&3,h=e[t+2]>>4&15,d=e[t+2]>>2&3;if(1!=o&&0!=h&&15!=h&&3!=d)return n=e[t+2]>>1&1,i=e[t+3]>>6,r=3==o?3-l:3==l?3:4,r=1e3*Zu[14*r+h-1],h=3==o?0:2==o?1:2,h=Ju[3*h+d],d=3==i?1:2,a=8*(o=ep[o][l])*(s=tp[l]),o=Math.floor(o*r/h+n)*s,null===Qu&&(n=(navigator.userAgent||"").match(/Chrome\/(\d+)/i),Qu=n?parseInt(n[1]):0),!!Qu&&Qu<=87&&2==l&&224e3<=r&&0==i&&(e[t+3]=128|e[t+3]),{sampleRate:h,channelCount:d,frameLength:o,samplesPerFrame:a}}function sp(e,t){return 255===e[t]&&224==(224&e[t+1])&&0!=(6&e[t+1])}function ap(e,t){return t+1=s.length?void 0:!((n=Ou(s,a))<=o)&&((o=a+n)===s.length||Mu(s,o)))return i.log("ADTS sync word found !"),!0}return!1}canParse(e,t){return(t=t)+5<(e=e).length&&Cu(e,t)&&Ou(e,t)<=e.length-t}appendFrame(e,t,i){Fu(e,this.observer,t,i,e.manifestCodec);e=Uu(e,t,i,this.basePTS,this.frameIndex);if(e&&0===e.missing)return e}}let lp=(e,t)=>{let i=0,r=5;t+=r;for(var s=new Uint32Array(1),a=new Uint32Array(1),n=new Uint8Array(1);0>>24+l<>l,i=i?i<t.length)return-1;if(11!==t[i]||119!==t[i+1])return-1;var a=t[i+4]>>6;if(3<=a)return-1;var n=[48e3,44100,32e3][a],o=63&t[i+4],l=2*[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][3*o+a];if(t.length>5;let d=0;(2==h||(1&h&&1!=h&&(d+=2),4&h))&&(d+=2);var c=(t[i+6]<<8|t[i+7])>>12-d&1,u=[2,1,2,3,3,4,4,5][h]+c,p=7&t[i+5],a=new Uint8Array([a<<6|t[i+5]>>3<<1|p>>2,(3&p)<<6|h<<3|c<<2|o>>4,o<<4&224]),p=r+s*(1536/n*9e4),h=t.subarray(i,i+l);return e.config=a,e.channelCount=u,e.samplerate=n,e.samples.push({unit:h,pts:p}),l}class cp extends Yu{resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(t){if(t){var i=Pu(t,0);let e=(null==i?void 0:i.length)||0;if(!(i&&11===t[e]&&119===t[e+1]&&void 0!==Ku(i)&&lp(t,e)<=16))for(var r=t.length;e{t=(e=>{var t=e[0];let i="",r="",s=0,a=0,n=0,o=0,l=0,h=0;if(0===t){for(;"\0"!==ah(e.subarray(h,h+1));)i+=ah(e.subarray(h,h+1)),h+=1;for(i+=ah(e.subarray(h,h+1)),h+=1;"\0"!==ah(e.subarray(h,h+1));)r+=ah(e.subarray(h,h+1)),h+=1;r+=ah(e.subarray(h,h+1)),h+=1,s=L(e,12),a=L(e,16),o=L(e,20),l=L(e,24),h=28}else if(1===t){h+=4,s=L(e,h);var t=L(e,h+=4),d=L(e,h+=4);for(h+=4,n=2**32*t+d,yl(n)||(n=Number.MAX_SAFE_INTEGER,z.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=L(e,h),h+=4,l=L(e,h),h+=4;"\0"!==ah(e.subarray(h,h+1));)i+=ah(e.subarray(h,h+1)),h+=1;for(i+=ah(e.subarray(h,h+1)),h+=1;"\0"!==ah(e.subarray(h,h+1));)r+=ah(e.subarray(h,h+1)),h+=1;r+=ah(e.subarray(h,h+1)),h+=1}return t=e.subarray(h,e.byteLength),{schemeIdUri:i,value:r,timeScale:s,presentationTime:n,presentationTimeDelta:a,eventDuration:o,id:l,payload:t}})(t);if(up.test(t.schemeIdUri)){var i=fp(t,s);let e=4294967295===t.eventDuration?Number.POSITIVE_INFINITY:t.eventDuration/t.timeScale;e<=.001&&(e=Number.POSITIVE_INFINITY);var r=t.payload;a.samples.push({data:r,len:r.byteLength,dts:i,pts:i,type:Wu.emsg,duration:e})}else this.config.enableEmsgKLVMetadata&&t.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")&&(r=fp(t,s),a.samples.push({data:t.payload,len:t.payload.byteLength,dts:r,pts:r,type:Wu.misbklv,duration:Number.POSITIVE_INFINITY}))}),a}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}}function fp(e,t){return G(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale}class gp{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Kd(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,jd)}decryptAacSample(t,i,r){let s=t[i].unit;var e;s.length<=16||(e=(e=s.subarray(16,s.length-s.length%16)).buffer.slice(e.byteOffset,e.byteOffset+e.length),this.decryptBuffer(e).then(e=>{e=new Uint8Array(e);s.set(e,16),this.decrypter.isSync()||this.decryptAacSamples(t,i+1,r)}).catch(r))}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length)return void i();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(t){var e=16*Math.floor((t.length-48)/160)+16,i=new Int8Array(e);let r=0;for(let e=32;e{a.data=this.getAvcDecryptedUnit(n,e),this.decrypter.isSync()||this.decryptAvcSamples(t,i,r+1,s)}).catch(s)}decryptAvcSamples(e,t,i,r){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length)return void r();for(var s=e[t].units;!(i>=s.length);i++){var a=s[i];if(!(a.data.length<=48||1!==a.type&&5!==a.type||(this.decryptAvcSample(e,t,i,r,a),this.decrypter.isSync())))return}}}}class mp{constructor(){this.VideoSample=null}createVideoSample(e,t,i){return{key:e,frame:!1,pts:t,dts:i,units:[],length:0}}getLastNalUnit(e){let t,i=this.VideoSample,r;return null!=(t=i=i&&0!==i.units.length?i:e[e.length-1])&&t.units&&(e=i.units,r=e[e.length-1]),r}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){var i=t.samples,r=i.length;if(!r)return void t.dropped++;i=i[r-1];e.pts=i.pts,e.dts=i.dts}t.samples.push(e)}}parseNALu(e,t,i){var r=t.byteLength;let s=e.naluState||0;var a,n=s,o=[];let l=0,h=-1,d=0;for(-1===s&&(h=0,d=this.getNALuType(t,0),s=0,l=1);le||(e=(e-=this.bitsAvailable)-((t=e>>3)<<3),this.bytesAvailable-=t,this.loadWord()),this.word<<=e,this.bitsAvailable-=e}readBits(e){var t=Math.min(this.bitsAvailable,e),i=this.word>>>32-t;if(32>>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(){var e=this.skipLZ();return this.readBits(e+1)-1}readEG(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class yp extends mp{parsePES(n,i,o,e){var t=this.parseNALu(n,o.data,e);let l=this.VideoSample,h,d=!1;o.data=null,l&&t.length&&!n.audFound&&(this.pushAccessUnit(l,n),l=this.VideoSample=this.createVideoSample(!1,o.pts,o.dts)),t.forEach(t=>{switch(t.type){case 1:{let e=!1;h=!0;var r=t.data;d&&4{var t;switch(e.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:(h=h||(this.VideoSample=this.createVideoSample(!1,l.pts,l.dts))).frame=!0,d=!0;break;case 16:case 17:case 18:case 21:d=!0,c&&null!=(t=h)&&t.frame&&!h.key&&(this.pushAccessUnit(h,n),h=this.VideoSample=null),(h=h||(this.VideoSample=this.createVideoSample(!0,l.pts,l.dts))).key=!0,h.frame=!0;break;case 19:case 20:d=!0,null!=(t=h)&&t.frame&&!h.key&&(this.pushAccessUnit(h,n),h=this.VideoSample=null),(h=h||(this.VideoSample=this.createVideoSample(!0,l.pts,l.dts))).key=!0,h.frame=!0;break;case 39:d=!0,Eh(e.data,2,l.pts,o.samples);break;case 32:d=!0,n.vps||("object"!=typeof n.params&&(n.params={}),n.params=Q(n.params,this.readVPS(e.data)),this.initVPS=e.data),n.vps=[e.data];break;case 33:if(d=!0,c=!0,void 0===n.vps||n.vps[0]===this.initVPS||void 0===n.sps||this.matchSPS(n.sps[0],e.data)||(this.initVPS=n.vps[0],n.sps=n.pps=void 0),!n.sps){var i,r=this.readSPS(e.data);for(i in n.width=r.width,n.height=r.height,n.pixelRatio=r.pixelRatio,n.codec=r.codecString,n.sps=[],"object"!=typeof n.params&&(n.params={}),r.params)n.params[i]=r.params[i]}this.pushParameterSet(n.sps,e.data,n.vps),(h=h||(this.VideoSample=this.createVideoSample(!0,l.pts,l.dts))).key=!0;break;case 34:if(d=!0,"object"==typeof n.params){if(!n.pps){n.pps=[];var s,a=this.readPPS(e.data);for(s in a)n.params[s]=a[s]}this.pushParameterSet(n.pps,e.data,n.vps)}break;case 35:d=!0,n.audFound=!0,null!=(t=h)&&t.frame&&(this.pushAccessUnit(h,n),h=null),h=h||(this.VideoSample=this.createVideoSample(!1,l.pts,l.dts));break;default:d=!1}h&&d&&h.units.push(e)}),e&&h&&(this.pushAccessUnit(h,n),this.VideoSample=null)}pushParameterSet(e,t,i){(i&&i[0]===this.initVPS||!i&&!e.length)&&e.push(t)}getNALuType(e,t){return(126&e[t])>>>1}ebsp2rbsp(t){var i=new Uint8Array(t.byteLength);let r=0;for(let e=0;e>e&1)<<31-e)>>>0;let M=O.toString(16);return{codecString:`hvc1.${w}${s}.${M=1===s&&"2"===M?"6":M}.${t?"H":"L"}${h}.B0`,params:{general_tier_flag:t,general_profile_idc:s,general_profile_space:e,general_profile_compatibility_flags:[a,n,o,l],general_constraint_indicator_flags:[F,N,U,$,B,j],general_level_idc:h,bit_depth:E+8,bit_depth_luma_minus8:E,bit_depth_chroma_minus8:V,min_spatial_segmentation_idc:L,chroma_format_idc:u,frame_rate:{fixed:I,fps:C/P}},width:q,height:Y,pixelRatio:[x,R]}}readPPS(e){var e=new vp(this.ebsp2rbsp(e)),t=(e.readUByte(),e.readUByte(),e.skipUEG(),e.skipUEG(),e.skipBits(2),e.skipBits(3),e.skipBits(2),e.skipUEG(),e.skipUEG(),e.skipEG(),e.skipBits(2),e.readBoolean()),t=(t&&e.skipUEG(),e.skipEG(),e.skipEG(),e.skipBits(4),e.readBoolean()),e=e.readBoolean();let i=1;return e&&t?i=0:e?i=3:t&&(i=2),{parallelismType:i}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}let Ep=188;class wp{constructor(e,t,i,r){this.logger=void 0,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._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=i,this.logger=r,this.videoParser=null}static probe(e,t){e=wp.syncOffset(e);return 0n))return i}o++}return-1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:sh[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(e,t,i,r){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=wp.createTrack("video"),this._videoTrack.duration=r,this._audioTrack=wp.createTrack("audio",r),this._id3Track=wp.createTrack("id3"),this._txtTrack=wp.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i}resetTimeStamp(){}resetContiguity(){var{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(i,e,r=!1,t=!1){r||(this.sampleAes=null);let s;var a=this._videoTrack,n=this._audioTrack,o=this._id3Track,l=this._txtTrack;let h=a.pid,d=a.pesData,c=n.pid,u=o.pid,p=n.pesData,f=o.pesData,g=null,m=this.pmtParsed,v=this._pmtId,y=i.length;if(this.remainderData&&(i=vh(this.remainderData,i),y=i.length,this.remainderData=null),y>4){if((e=t+5+i[t+4])===t+Ep)continue}else e=t+4;switch(S){case h:T&&(d&&(s=_p(d,this.logger))&&(this.readyVideoParser(a.segmentCodec),null!==this.videoParser)&&this.videoParser.parsePES(a,l,s,!1),d={data:[],size:0}),d&&(d.data.push(i.subarray(e,t+Ep)),d.size+=t+Ep-e);break;case c:if(T){if(p&&(s=_p(p,this.logger)))switch(n.segmentCodec){case"aac":this.parseAACPES(n,s);break;case"mp3":this.parseMPEGPES(n,s);break;case"ac3":this.parseAC3PES(n,s)}p={data:[],size:0}}p&&(p.data.push(i.subarray(e,t+Ep)),p.size+=t+Ep-e);break;case u:T&&(f&&(s=_p(f,this.logger))&&this.parseID3PES(o,s),f={data:[],size:0}),f&&(f.data.push(i.subarray(e,t+Ep)),f.size+=t+Ep-e);break;case 0:T&&(e+=i[e]+1),v=this._pmtId=(k=i,b=e,(31&k[b+10])<<8|k[b+11]);break;case v:T&&(e+=i[e]+1);var k=((i,r,s,e,t,a)=>{var n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=(15&i[r+1])<<8|i[r+2],l=r+3+o-4;for(r+=12+(o=(15&i[r+10])<<8|i[r+11]);r{let{audioTrack:t,videoTrack:i}=r;t.samples&&"aac"===t.segmentCodec?s.decryptAacSamples(t.samples,0,()=>{i.samples?s.decryptAvcSamples(i.samples,0,0,()=>{e(r)}):e(r)}):i.samples&&s.decryptAvcSamples(i.samples,0,0,()=>{e(r)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let i=0;var r,s,a=this.aacOverFlow;let n=t.data;a&&(this.aacOverFlow=null,l=a.missing,d=a.sample.unit.byteLength,-1===l?n=vh(a.sample.unit,n):(d=d-l,a.sample.unit.set(n.subarray(0,l),d),e.samples.push(a.sample),i=a.missing));let o;for(o=i,r=n.length;oe.size-6)return null;var h=s[7];192&h&&(n=536870912*(14&s[9])+4194304*(255&s[10])+16384*(254&s[11])+128*(255&s[12])+(254&s[13])/2,64&h?(o=536870912*(14&s[14])+4194304*(255&s[15])+16384*(254&s[16])+128*(255&s[17])+(254&s[18])/2,54e5e){i-=e;continue}s=s.subarray(i),e-=i,i=0}d.set(s,r),r+=e}return a&&(a-=h+3),{data:d,pts:n,dts:o,len:a}}}class Ap{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)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(6===t)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])}else{if(1===t)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(2===t)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(3===t)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])}}}let Lp=Math.pow(2,32)-1;class Z{static init(){Z.types={avc1:[],avcC:[],hvc1:[],hvcC:[],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 Z.types)Z.types.hasOwnProperty(e)&&(Z.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);var 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]),i=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]),t=(Z.HDLR_TYPES={video:t,audio:i},new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])),i=new Uint8Array([0,0,0,0,0,0,0,0]),i=(Z.STTS=Z.STSC=Z.STCO=i,Z.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),Z.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),Z.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),Z.STSD=new Uint8Array([0,0,0,0,0,0,0,1]),new Uint8Array([105,115,111,109])),r=new Uint8Array([97,118,99,49]),s=new Uint8Array([0,0,0,1]);Z.FTYP=Z.box(Z.types.ftyp,i,s,i,r),Z.DINF=Z.box(Z.types.dinf,Z.box(Z.types.dref,t))}static box(e,...t){let i=8,r=t.length;for(var s=r;r--;)i+=t[r].byteLength;var a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=255&i,a.set(e,4),r=0,i=8;r>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,t>>24,t>>16&255,t>>8&255,255&t,85,196,0,0]))}static mdia(e){return Z.box(Z.types.mdia,Z.mdhd(e.timescale||0,e.duration||0),Z.hdlr(e.type),Z.minf(e))}static mfhd(e){return Z.box(Z.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?Z.box(Z.types.minf,Z.box(Z.types.smhd,Z.SMHD),Z.DINF,Z.stbl(e)):Z.box(Z.types.minf,Z.box(Z.types.vmhd,Z.VMHD),Z.DINF,Z.stbl(e))}static moof(e,t,i){return Z.box(Z.types.moof,Z.mfhd(e),Z.traf(i,t))}static moov(e){let t=e.length;for(var i=[];t--;)i[t]=Z.trak(e[t]);return Z.box.apply(null,[Z.types.moov,Z.mvhd(e[0].timescale||0,e[0].duration||0)].concat(i).concat(Z.mvex(e)))}static mvex(e){let t=e.length;for(var i=[];t--;)i[t]=Z.trex(e[t]);return Z.box.apply(null,[Z.types.mvex,...i])}static mvhd(e,t){t*=e;var i=Math.floor(t/(1+Lp)),t=Math.floor(t%(1+Lp)),e=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,255&e,i>>24,i>>16&255,i>>8&255,255&i,t>>24,t>>16&255,t>>8&255,255&t,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 Z.box(Z.types.mvhd,e)}static sdtp(e){var t,i=e.samples||[],r=new Uint8Array(4+i.length);let s;for(s=0;s>>8&255),t.push(255&a),t=t.concat(Array.prototype.slice.call(s));for(r=0;r>>8&255),i.push(255&a),i=i.concat(Array.prototype.slice.call(s));var n=Z.box(Z.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(i))),o=e.width,l=e.height,h=e.pixelRatio[0],d=e.pixelRatio[1];return Z.box(Z.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,o>>8&255,255&o,l>>8&255,255&l,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]),n,Z.box(Z.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Z.box(Z.types.pasp,new Uint8Array([h>>24,h>>16&255,h>>8&255,255&h,d>>24,d>>16&255,d>>8&255,255&d])))}static esds(e){e=e.config;return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...e,6,1,2])}static audioStsd(e){var t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return Z.box(Z.types.mp4a,Z.audioStsd(e),Z.box(Z.types.esds,Z.esds(e)))}static mp3(e){return Z.box(Z.types[".mp3"],Z.audioStsd(e))}static ac3(e){return Z.box(Z.types["ac-3"],Z.audioStsd(e),Z.box(Z.types.dac3,e.config))}static stsd(e){var t=e.segmentCodec;if("audio"===e.type){if("aac"===t)return Z.box(Z.types.stsd,Z.STSD,Z.mp4a(e));if("ac3"===t&&e.config)return Z.box(Z.types.stsd,Z.STSD,Z.ac3(e));if("mp3"===t&&"mp3"===e.codec)return Z.box(Z.types.stsd,Z.STSD,Z.mp3(e))}else{if(!e.pps||!e.sps)throw new Error("video track missing pps or sps");if("avc"===t)return Z.box(Z.types.stsd,Z.STSD,Z.avc1(e));if("hevc"===t&&e.vps)return Z.box(Z.types.stsd,Z.STSD,Z.hvc1(e))}throw new Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){var t=e.id,i=(e.duration||0)*(e.timescale||0),r=e.width||0,e=e.height||0,s=Math.floor(i/(1+Lp)),i=Math.floor(i%(1+Lp));return Z.box(Z.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,255&t,0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,i>>24,i>>16&255,i>>8&255,255&i,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,r>>8&255,255&r,0,0,e>>8&255,255&e,0,0]))}static traf(e,t){var i=Z.sdtp(e),r=e.id,s=Math.floor(t/(1+Lp)),t=Math.floor(t%(1+Lp));return Z.box(Z.types.traf,Z.box(Z.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),Z.box(Z.types.tfdt,new Uint8Array([1,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,t>>24,t>>16&255,t>>8&255,255&t])),Z.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,Z.box(Z.types.trak,Z.tkhd(e),Z.mdia(e))}static trex(e){e=e.id;return Z.box(Z.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){var i,r,s=e.samples||[],a=s.length,n=12+16*a,o=new Uint8Array(n);let l;for(o.set(["video"===e.type?1:0,0,15,1,a>>>24&255,a>>>16&255,a>>>8&255,255&a,(t+=8+n)>>>24&255,t>>>16&255,t>>>8&255,255&t],0),l=0;l>>24&255,r>>>16&255,r>>>8&255,255&r,(r=i.size)>>>24&255,r>>>16&255,r>>>8&255,255&r,(r=i.flags).isLeading<<2|r.dependsOn,r.isDependedOn<<6|r.hasRedundancy<<4|r.paddingValue<<1|r.isNonSync,61440&r.degradPrio,15&r.degradPrio,(r=i.cts)>>>24&255,r>>>16&255,r>>>8&255,255&r],12+16*l);return Z.box(Z.types.trun,o)}static initSegment(e){Z.types||Z.init();e=Z.moov(e);return vh(Z.FTYP,e)}static hvc1(e){var t=e.params,i=[e.vps,e.sps,e.pps],t=new Uint8Array([1,t.general_profile_space<<6|(t.general_tier_flag?32:0)|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),3|t.temporal_id_nested<<2|t.num_temporal_layers<<3|(t.frame_rate.fixed?64:0),i.length]);let r=t.length;for(let t=0;t>8,255&i[t][e].length]),r),r+=2,s.set(i[t][e],r),r+=i[t][e].length}var t=Z.box(Z.types.hvcC,s),n=e.width,o=e.height,l=e.pixelRatio[0],e=e.pixelRatio[1];return Z.box(Z.types.hvc1,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,n>>8&255,255&n,o>>8&255,255&o,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]),t,Z.box(Z.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Z.box(Z.types.pasp,new Uint8Array([l>>24,l>>16&255,l>>8&255,255&l,e>>24,e>>16&255,e>>8&255,255&e])))}}Z.types=void 0,Z.HDLR_TYPES=void 0,Z.STTS=void 0,Z.STSC=void 0,Z.STCO=void 0,Z.STSZ=void 0,Z.VMHD=void 0,Z.SMHD=void 0,Z.STSD=void 0,Z.FTYP=void 0,Z.DINF=void 0;let xp=9e4;function Rp(e,t,i=1,r=!1){e=e*t*i;return r?Math.round(e):e}function Ip(e,t=!1){return Rp(e,1e3,1/xp,t)}function Pp(e){var{baseTime:e,timescale:t,trackId:i}=e;return e/t+` (${e}/${t}) trackId: `+i}let Cp=null,Dp=null;function Op(e,t,i,r){return{duration:t,size:i,cts:r,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}}class Mp extends Il{constructor(e,t,i,r){super("mp4-remuxer",r),this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,null===Cp&&(r=(navigator.userAgent||"").match(/Chrome\/(\d+)/i),Cp=r?parseInt(r[1]):0),null===Dp&&(e=navigator.userAgent.match(/Safari\/(\d+)/i),Dp=e?parseInt(e[1]):0)}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){var t=this._initPTS;t&&e&&e.trackId===t.trackId&&e.baseTime===t.baseTime&&e.timescale===t.timescale||this.log(`Reset initPTS: ${t&&Pp(t)} > `+(e&&Pp(e))),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let s=!1,a=e[0].pts;e=e.reduce((e,t)=>{let i=t.pts,r=i-e;return r<-4294967296&&(s=!0,i=Fp(i,a),r=i-e),0{for(let e=0;e=a[0].pts||Cp)){p=v;var T=a[0].pts-E;if(w)a[0].dts=p,a[0].pts=T;else{let t=!0;for(let e=0;eT&&t);e++){var S,k,F=a[e].pts;a[e].dts-=E,a[e].pts-=E,e0<=e.pts)).length&&this.warn(`Removed ${p.length-h} of ${h} samples (initPTS ${m} / ${a})`),!p.length)return;g=0===r?0:t&&!u?Math.max(0,v-m):p[0].pts-m}if("aac"===s.segmentCodec){var y=this.config.maxAudioFramesDrift;for(let i=0,r=g+m;ie.pts-t.pts);var e=t.samples;return t.samples=[],{samples:e}}}class $p extends Il{constructor(e,t,i,r){super("passthrough-remuxer",r),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,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;var t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,i,r){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(e,r),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:i,videoCodec:r}=this;if(null!=e&&e.byteLength){var{audio:s,video:a}=this.initData=hh(e);if(t){var n=e;if(n&&t){let r=t.keyId;r&&t.isCommonEncryption&&fh(n,(e,t)=>{var i=e.subarray(8,24);i.some(e=>0!==e)||(z.log(`[eme] Patching keyId in 'enc${t?"a":"v"}>sinf>>tenc' box: ${$l(i)} -> `+$l(r)),e.set(r,8))})}}else{t=s||a;null!=t&&t.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${t.codec}")!`)}s&&(i=jp(s,Yl,this)),a&&(r=jp(a,Xl,this));n={};s&&a?n.audiovideo={container:"video/mp4",codec:i+","+r,supplemental:a.supplemental,encrypted:a.encrypted,initSegment:e,id:"main"}:s?n.audio={container:"audio/mp4",codec:i,encrypted:s.encrypted,initSegment:e,id:"audio"}:a?n.video={container:"video/mp4",codec:r,supplemental:a.supplemental,encrypted:a.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=n}else this.initTracks=void 0,this.initData=void 0}remux(e,s,a,n,o,l){let t,i,{initPTS:h,lastEndTime:r}=this;var d={audio:void 0,video:void 0,text:n,id3:a,initSegment:void 0},s=(G(r)||(this.lastEndTime=o||0),s.samples);if(s.length){var c={initPTS:void 0,timescale:void 0,trackId:void 0};let r=this.initData;if(null!=(t=r)&&t.length||(this.generateInitSegment(s),r=this.initData),null!=(i=r)&&i.length){this.emitInitSegment&&(c.tracks=this.initTracks,this.emitInitSegment=!1);var u=mh(s,r,this),p=r.audio?u[r.audio.id]:null,u=r.video?u[r.video.id]:null,f=Bp(u,1/0),g=Bp(p,1/0),m=Bp(u,0,!0),v=Bp(p,0,!0);let e=o,t=0;var y,b=p&&(!u||!h&&gnull===e||(r=Math.max(r,1),t-=e.baseTime/e.timescale,Math.abs(t-i)>r))(h,e,o,t)&&w===h.timescale||(h&&this.warn(`Timestamps at playlist time: ${l?"":"~"}${o} ${E/w} != initPTS: ${h.baseTime/h.timescale} (${h.baseTime}/${h.timescale}) trackId: `+h.trackId),this.log(`Found initPTS at playlist time: ${o} offset: ${e-o} (${E}/${w}) trackId: `+y),h=null,c.initPTS=E,c.timescale=w,c.trackId=y)):this.warn("No audio or video samples found for initPTS at playlist time: "+o),h?(c.initPTS=h.baseTime,c.timescale=h.timescale,c.trackId=h.trackId):(c.timescale&&void 0!==c.trackId&&void 0!==c.initPTS||(this.warn("Could not set initPTS"),c.initPTS=e,c.timescale=1,c.trackId=-1),this.initPTS=h={baseTime:c.initPTS,timescale:c.timescale,trackId:c.trackId}),e-h.baseTime/h.timescale),b=p+t,v=(0{let i=null;return i=0{e=this.push(e,null,i);return this.decryptionPromise=null,e}),this.decryptionPromise;{let e=m.softwareDecrypt(a,g.key.buffer,g.iv.buffer,v);if(-1this.flush(t));let a=[];var s=r.timeOffset,{demuxer:i,remuxer:r}=(i&&(r=i.flush())&&a.push(this.push(r.buffer,null,t)),this);return i&&r?Kp(r=i.flush(s))?(this.asyncResult=!0,r.then(e=>(this.flushRemux(a,e,t),a))):(this.flushRemux(a,r,t),this.asyncResult?Promise.resolve(a):a):(e.executeEnd=Vp(),i=[Hp(t)],this.asyncResult?Promise.resolve(i):i)}flushRemux(e,t,i){var{audioTrack:t,videoTrack:r,id3Track:s,textTrack:a}=t,{accurateTimeOffset:n,timeOffset:o}=this.currentTransmuxState,t=(this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${i.sn}${-1({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,i,r,!1,this.id),chunkMeta:s}))}configureTransmuxer(i){var r,{config:e,observer:t,typeSupported:s}=this;let a;for(let e=0,t=Gp.length;e({remuxResult:{},chunkMeta:e});function Kp(e){return"then"in e&&e.then instanceof Function}class Wp{constructor(e,t,i,r,s){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=i,this.duration=r,this.defaultInitPts=s||null}}class qp{constructor(e,t,i,r,s,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=i,this.trackSwitch=r,this.timeOffset=s,this.initSegmentChange=a}}let Yp=0;class Xp{constructor(t,i,r,s){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=Yp++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{var t=e.data,i=this.hls;if(i&&null!=t&&t.event&&t.instanceNo===this.instanceNo)switch(t.event){case"init":var r=null==(r=this.workerContext)?void 0:r.objectURL;r&&self.URL.revokeObjectURL(r);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":i.logger[t.data.logType]&&i.logger[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.part=this.part,t.data.id=this.id,i.trigger(t.event,t.data)}},this.onWorkerError=e=>{this.hls&&(e=new Error(e.message+` (${e.filename}:${e.lineno})`),this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:e}))};var e,a,n,o=t.config,r=(this.hls=t,this.id=i,this.useWorker=!!o.enableWorker,this.onTransmuxComplete=r,this.onFlush=s,(e,t)=>{(t=t||{}).frag=this.frag||void 0,e===X.ERROR&&(t.parent=this.id,t.part=this.part,this.error=t.error),this.hls.trigger(e,t)}),s=(this.observer=new _u,this.observer.on(X.FRAG_DECRYPTED,r),this.observer.on(X.ERROR,r),Nh(o.preferManagedMediaSource));if(this.useWorker&&"undefined"!=typeof Worker){r=this.hls.logger;if(o.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{o.workerPath?(r.log(`loading Web Worker ${o.workerPath} for "${i}"`),this.workerContext=(a=o.workerPath,(n=Lu[a])?(n.clientCount++,n):(n=new self.URL(a,self.location.href).href,n={worker:new self.Worker(n),scriptURL:n,clientCount:1},Lu[a]=n))):(r.log(`injecting Web Worker for "${i}"`),this.workerContext=(e=Lu[Au])?(e.clientCount++,e):(e=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(e),e={worker:new self.Worker(e),objectURL:e,clientCount:1},Lu[Au]=e));var l=this.workerContext.worker;l.addEventListener("message",this.onWorkerMessage),l.addEventListener("error",this.onWorkerError),l.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:s,id:i,config:B(o)})}catch(e){r.warn(`Error setting up "${i}" Web Worker, fallback to inline`,e),this.terminateWorker(),this.error=null,this.transmuxer=new zp(this.observer,s,o,"",i,t.logger)}return}}this.transmuxer=new zp(this.observer,s,o,"",i,t.logger)}reset(){var e,t,i;this.frag=null,this.part=null,this.workerContext&&(e=this.instanceNo,this.instanceNo=Yp++,i=Nh((t=this.hls.config).preferManagedMediaSource),this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:i,id:this.id,config:B(t)}))}terminateWorker(){var e,t,i;this.workerContext&&(e=this.workerContext.worker,this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),e=this.hls.config.workerPath,i=Lu[e||Au])&&1==i.clientCount--&&({worker:i,objectURL:t}=i,delete Lu[e||Au],t&&self.URL.revokeObjectURL(t),i.terminate())}destroy(){this.workerContext?(this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null):(e=this.transmuxer)&&(e.destroy(),this.transmuxer=null);var e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,i,r,s,a,n,o,l,h){l.transmuxing.start=self.performance.now();var{instanceNo:d,transmuxer:c}=this,u=(a||s).start,p=s.decryptdata,f=this.frag,g=!(f&&s.cc===f.cc),m=!(f&&l.level===f.level),v=f?l.sn-f.sn:-1,y=this.part?l.part-this.part.index:-1,b=0==v&&1{this.handleTransmuxComplete(e)}).catch(e=>{this.transmuxerError(e,l,"transmuxer-interface push error")}):this.handleTransmuxComplete(y))}flush(t){t.transmuxing.start=self.performance.now();var{instanceNo:e,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:e,cmd:"flush",chunkMeta:t}):i&&(Kp(e=i.flush(t))?e.then(e=>{this.handleFlushResult(e,t)}).catch(e=>{this.transmuxerError(e,t,"transmuxer-interface flush error")}):this.handleFlushResult(e,t))}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(e=>{this.handleTransmuxComplete(e)}),this.onFlush(t)}configureTransmuxer(e){var{instanceNo:t,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):i&&i.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}class Qp extends gu{constructor(e,t,i){super(e,t,i,"audio-stream-controller",kl),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!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.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();var e=this.hls;e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(X.BUFFER_RESET,this.onBufferReset,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){var e=this.hls;e&&(super.unregisterListeners(),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(X.BUFFER_RESET,this.onBufferReset,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:i,initPTS:r,timescale:s,trackId:a}){var n;i===w&&(i=t.cc,n=this.fragCurrent,this.initPTS[i]={baseTime:r,timescale:s,trackId:a},this.log(`InitPTS for cc: ${i} found from main: ${r/s} (${r}/${s}) trackId: `+a),this.mainAnchor=t,this.state===T.WAITING_INIT_PTS?(!(r=this.waitingData)&&!this.loadingParts||r&&r.frag.cc!==i)&&this.syncWithAnchor(t,null==r?void 0:r.frag):!this.hls.hasEnoughToStart&&n&&n.cc!==i?(n.abortRequests(),this.syncWithAnchor(t,n)):this.state===T.IDLE&&this.tick())}getLoadPosition(){return!this.startFragRequested&&0<=this.nextLoadPosition?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var i=(null==(i=this.mainFragLoading)?void 0:i.frag)||null;t&&(null==i?void 0:i.cc)===t.cc||(t=(i||e).cc,(i=fd(this.getLevelDetails(),t,this.getLoadPosition()))&&(this.log(`Syncing with main frag at ${i.start} cc `+i.cc),this.startFragRequested=!1,this.nextLoadPosition=i.start,this.resetLoadingState(),this.state===T.IDLE)&&this.doTickIdle())}startLoad(e,t){var i;this.levels?(i=this.lastCurrentTime,this.stopLoad(),this.setInterval(100),0o||s.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=o+.05),!(e<=t&&!this.switchingTrack&&he.end&&(r=this.fragmentTracker.getFragAtPos(h,w))&&r.end>e.end&&(e=r,this.mainFragLoading={frag:r,targetBufferTime:null});o=t.start>e.end;if(o)return}this.loadFragment(t,a,h)}}else this.bufferFlushed=!0}}}}}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(e=>new Qh(e))}onAudioTrackSwitching(e,t){var i=!!t.url,r=(this.trackId=t.id,this).fragCurrent;r&&(r.abortRequests(),this.removeUnbufferedFrags(r.start)),this.resetLoadingState(),i?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==T.STOPPED&&(this.setInterval(100),this.state=T.IDLE,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;t=this.cachedTrackLoadedData;t&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(X.AUDIO_TRACK_LOADED,t))}onAudioTrackLoaded(e,t){var i=this.levels,{details:r,id:s,groupId:a,track:n}=t;if(i){var o=this.mainDetails;if(!o||r.endCC>o.endCC||o.expired)this.cachedTrackLoadedData=t,this.state!==T.STOPPED&&(this.state=T.WAITING_TRACK);else{this.cachedTrackLoadedData=null,this.log(`Audio track ${s} "${n.name}" of "${a}" loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:`+r.totalduration);var l,i=i[s];let e=0;if(r.live||null!=(l=i.details)&&l.live){if(this.checkLiveUpdate(r),r.deltaUpdateFailed)return;i.details&&(e=this.alignPlaylists(r,i.details,null==(l=this.levelLastLoaded)?void 0:l.details)),r.alignedSliding||(du(r,o),r.alignedSliding||cu(r,o),e=r.fragmentStart)}i.details=r,this.levelLastLoaded=i,this.startFragRequested||this.setStartPosition(o,e),this.hls.trigger(X.AUDIO_TRACK_UPDATED,{details:r,id:s,groupId:t.groupId}),this.state!==T.WAITING_TRACK||this.waitForCdnTuneIn(r)||(this.state=T.IDLE),this.tick()}}else this.warn(`Audio tracks reset while loading track ${s} "${n.name}" of "${a}"`)}_handleFragmentLoadProgress(t){var i=t.frag,{part:t,payload:r}=t,{config:s,trackId:a,levels:n}=this;if(n){n=n[a];if(n){var o=n.details;if(o){s=s.defaultAudioCodec||n.audioCodec||"mp4a.40.2";let e=this.transmuxer;e=e||(this.transmuxer=new Xp(this.hls,kl,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var l,h,n=this.initPTS[i.cc],d=null==(d=i.initSegment)?void 0:d.data;void 0!==n?(h=-1!==(l=t?t.index:-1),l=new Jd(i.level,i.sn,i.stats.chunkCount,r.byteLength,l,h),e.push(r,d,s,"",i,t,o.totalduration,!1,l,n)):(this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${o.startSN} ,${o.endSN}],track `+a),h=(this.waitingData=this.waitingData||{frag:i,part:t,cache:new vu,complete:!1}).cache,h.push(new Uint8Array(r)),this.state!==T.STOPPED&&(this.state=T.WAITING_INIT_PTS))}else this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start)}else this.warn("Audio track is undefined on fragment load progress")}else this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`)}_handleFragmentLoadComplete(e){this.waitingData?this.waitingData.complete=!0:super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;t=t.tracks.audio;t&&(this.mediaBuffer=t.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===w&&Jl(t.frag)&&(this.mainFragLoading=t,this.state===T.IDLE)&&this.tick()}onFragBuffered(e,t){var i,{frag:t,part:r}=t;t.type!==kl?this.audioOnly||t.type!==w||t.elementaryStreams.video||t.elementaryStreams.audiovideo||(this.audioOnly=!0,this.mainFragLoading=null):this.fragContextChanged(t)?this.warn(`Fragment ${t.sn}${r?" p: "+r.index:""} of level ${t.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: `+(this.switchingTrack?this.switchingTrack.name:"false")):(Jl(t)&&(this.fragPrevious=t,i=this.switchingTrack)&&(this.bufferedTrack=i,this.switchingTrack=null,this.hls.trigger(X.AUDIO_TRACK_SWITCHED,b({},i))),this.fragBufferedComplete(t,r),this.media&&this.tick())}onError(e,t){var i;if(t.fatal)this.state=T.ERROR;else switch(t.details){case Y.FRAG_GAP:case Y.FRAG_PARSING_ERROR:case Y.FRAG_DECRYPT_ERROR:case Y.FRAG_LOAD_ERROR:case Y.FRAG_LOAD_TIMEOUT:case Y.KEY_LOAD_ERROR:case Y.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(kl,t);break;case Y.AUDIO_TRACK_LOAD_ERROR:case Y.AUDIO_TRACK_LOAD_TIMEOUT:case Y.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==T.WAITING_TRACK||(null==(i=t.context)?void 0:i.type)!==Tl||(this.state=T.IDLE);break;case Y.BUFFER_ADD_CODEC_ERROR:case Y.BUFFER_APPEND_ERROR:"audio"!==t.parent||this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case Y.BUFFER_FULL_ERROR:"audio"===t.parent&&this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case Y.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==Xl&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){var i;t!==Xl&&(this.flushing=!1,this.bufferFlushed=!0,this.state===T.ENDED&&(this.state=T.IDLE),i=this.mediaBuffer||this.media)&&(this.afterBufferFlushed(i,t,kl),this.tick())}_handleTransmuxComplete(e){var t=this.hls,{remuxResult:e,chunkMeta:i}=e,r=this.getCurrentContext(i);if(r){var s,{frag:r,part:a,level:n}=r,o=n.details,{audio:e,text:l,id3:h,initSegment:d}=e;if(this.fragContextChanged(r)||!o)this.fragmentTracker.removeFragment(r);else{if(this.state=T.PARSING,this.switchingTrack&&e&&this.completeAudioSwitch(this.switchingTrack),null!=d&&d.tracks){var c=r.initSegment||r;if(this.unhandledEncryptionError(d,r))return;this._bufferInitSegment(n,d.tracks,c,i),t.trigger(X.FRAG_PARSING_INIT_SEGMENT,{frag:c,id:"audio",tracks:d.tracks})}e&&({startPTS:n,endPTS:c,startDTS:d,endDTS:s}=e,a&&(a.elementaryStreams[Yl]={startPTS:n,endPTS:c,startDTS:d,endDTS:s}),r.setElementaryStreamInfo(Yl,n,c,d,s),this.bufferFragmentData(e,r,a,i)),null!=h&&null!=(n=h.samples)&&n.length&&(c=Q({id:"audio",frag:r,details:o},h),t.trigger(X.FRAG_PARSING_METADATA,c)),l&&(d=Q({id:"audio",frag:r,details:o},l),t.trigger(X.FRAG_PARSING_USERDATA,d))}}else this.resetWhenMissingContext(i)}_bufferInitSegment(e,t,i,r){var s;this.state===T.PARSING&&(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,t.audio)&&((s=t.audio).id=kl,e=e.audioCodec,this.log(`Init audio buffer, container:${s.container}, codecs[level/parsed]=[${e}/${s.codec}]`),e&&1===e.split(",").length&&(s.levelCodec=e),this.hls.trigger(X.BUFFER_CODECS,t),null!=(e=s.initSegment)&&e.byteLength&&(t={type:"audio",frag:i,part:null,chunkMeta:r,parent:i.type,data:e},this.hls.trigger(X.BUFFER_APPENDING,t)),this.tickImmediate())}loadFragment(e,t,i){var r=this.fragmentTracker.getState(e);this.switchingTrack||r===Dd||r===Md?Jl(e)?null!=(r=t.details)&&r.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=T.WAITING_INIT_PTS,(r=this.mainDetails)&&r.fragmentStart!==t.details.fragmentStart&&cu(t.details,r)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){var t,i,r,s,a,n;this.media&&this.bufferedTrack&&({name:t,lang:i,assocLang:r,characteristics:s,audioCodec:a,channels:n}=this.bufferedTrack,ad({name:t,lang:i,assocLang:r,characteristics:s,audioCodec:a,channels:n},e,nd)||(ld(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null):this.bufferedTrack=e))}completeAudioSwitch(e){var t=this.hls;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(X.AUDIO_TRACK_SWITCHED,b({},e))}}class Zp extends Il{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(r,s,t){var a=null==s?void 0:s.renditionReports;if(a){let i=-1;for(let e=0;es.partTarget&&(e+=1);o=t&&Yh(t);return new Xh(l,0<=e?e:void 0,o)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}return e}playlistLoaded(s,a,n){var{details:o,stats:e}=a,l=self.performance.now(),h=e.loading.first?Math.max(0,l-e.loading.first):0,d=(o.advancedDateTime=Date.now()-h,this.hls.config.timelineOffset);if(d!==o.appliedTimelineOffset){let t=Math.max(d||0,0);o.appliedTimelineOffset=t,o.fragments.forEach(e=>{e.setStart(e.playlistOffset+t)})}if(o.live||null!=n&&n.live){d="levelInfo"in a?a.levelInfo:a.track;if(o.reloaded(n),n&&03*o.targetduration?(this.log(`Playlist last advanced ${u.toFixed(2)}s ago. Omitting segment and part directives.`),i=void 0,r=void 0):null!=n&&n.tuneInGoal&&f-o.partTarget>n.tuneInGoal?(this.warn(`CDN Tune-in goal increased from: ${n.tuneInGoal} to: ${e} with playlist age: `+o.age),e=0):(s=Math.floor(e/o.targetduration),i+=s,void 0!==r&&(f=Math.round(e%o.targetduration/o.partTarget),r+=f),this.log(`CDN Tune-in age: ${o.ageHeader}s last advanced ${u.toFixed(2)}s goal: ${e} skip sn ${s} to part `+r)),o.tuneInGoal=e),t=this.getDeliveryDirectives(o,a.deliveryDirectives,i,r),c||!g)return o.requestScheduled=l,void this.loadingPlaylist(d,t)}else(o.canBlockReload||o.canSkipUntil)&&(t=this.getDeliveryDirectives(o,a.deliveryDirectives,i,r));t&&void 0!==i&&o.canBlockReload&&(o.requestScheduled=e.loading.first+Math.max(p-2*h,p/2)),this.scheduleLoading(d,t,o)}}else this.clearTimer()}scheduleLoading(e,t,i){var r,i=i||e.details;!i||(r=self.performance.now(),(i=i.requestScheduled)<=r)?this.loadingPlaylist(e,t):(i=i-r,this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(i)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),i))}getDeliveryDirectives(e,t,i,r){let s=Yh(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,r=t.part,s=Kh),new Xh(i,r,s)}checkRetry(e){var t=e.details,i=gd(e),r=e.errorAction,{action:s,retryCount:a=0,retryConfig:n}=r||{},s=!!r&&!!n&&(s===Ad||!r.resolved&&s===kd);if(s){if(a>=n.maxNumRetry)return!1;i&&null!=(i=e.context)&&i.deliveryDirectives?(this.warn(`Retrying playlist loading ${a+1}/${n.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist()):(i=bd(n,a),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),i),this.warn(`Retrying playlist loading ${a+1}/${n.maxNumRetry} after "${t}" in ${i}ms`)),e.levelRetry=!0,r.resolved=!0}return s}}function Jp(t,i){if(t.length!==i.length)return!1;for(let e=0;et[e]!==i[e])}function tf(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class rf extends Zp{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(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVEL_LOADING,this.onLevelLoading,this),e.off(X.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(X.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(X.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){var i,{id:r,groupId:s,details:a}=t,n=this.tracksInGroup[r];n&&n.groupId===s?(i=n.details,n.details=t.details,this.log(`Audio track ${r} "${n.name}" lang:${n.lang} group:${s} loaded [${a.startSN}-${a.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,i)):this.warn(`Audio track with id:${r} and group:${s} not found in active group `+(null==n?void 0:n.groupId))}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(s){s=this.hls.levels[s];if(s){let t=s.audioGroups||null,i=this.groupIds,r=this.currentTrack;if(!t||(null==i?void 0:i.length)!==(null==t?void 0:t.length)||null!=t&&t.some(e=>-1===(null==i?void 0:i.indexOf(e)))){this.groupIds=t,this.trackId=-1,this.currentTrack=null;s=this.tracks.filter(e=>!t||-1!==t.indexOf(e.groupId));if(s.length)this.selectDefaultTrack&&!s.some(e=>e.default)&&(this.selectDefaultTrack=!1),s.forEach((e,t)=>{e.id=t});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=s;var a=this.hls.config.audioPreference;!r&&a&&(n=sd(a,s,nd),r=-1{var a=e[t],n=e.reduce((e,t,i)=>{t=t.uri;return(e[t]||(e[t]=[])).push(i),e},{})[a.uri];1{if(e.videoRange!==o||e.frameRate!==l||e.codecSet.substring(0,4)!==h)return!1;let t=e.audioGroups;e=r.filter(e=>!t||-1!==t.indexOf(e.groupId));return-1{let t=e.audioGroups;e=r.filter(e=>!t||-1!==t.indexOf(e.groupId));return-1=r.length?this.warn("Invalid audio track id: "+e):(this.selectDefaultTrack=!1,t=this.currentTrack,i=(r=r[e]).details&&!r.details.live,e===this.trackId&&r===t&&i||(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:`+r.channels),this.trackId=e,this.currentTrack=r,this.hls.trigger(X.AUDIO_TRACK_SWITCHING,b({},r)),i)||(e=this.switchParams(r.url,null==t?void 0:t.details,r.details),this.loadPlaylist(e)))}findTrackId(t){var i=this.tracksInGroup;for(let e=0;e{this.append({label:"async-blocker",execute:e,onStart:()=>{},onComplete:()=>{},onError:()=>{}},t)})}prependBlocker(t){return new Promise(e=>{this.queues&&this.queues[t].unshift({label:"async-blocker-prepend",execute:e,onStart:()=>{},onComplete:()=>{},onError:()=>{}})})}removeBlockers(){null!==this.queues&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach(e=>{var t=null==(t=e[0])?void 0:t.label;"async-blocker"!==t&&"async-blocker-prepend"!==t||(e[0].execute(),e.splice(0,1))})}unblockAudio(e){null!==this.queues&&this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(t){if(null!==this.queues&&null!==this.tracks){var i=this.queues[t];if(i.length){var i=i[0];try{i.execute()}catch(e){i.onError(e),null===this.queues||null===this.tracks||null!=(i=null==(i=this.tracks[t])?void 0:i.buffer)&&i.updating||this.shiftAndExecuteNext(t)}}}}shiftAndExecuteNext(e){null!==this.queues&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return(null==(t=this.queues)?void 0:t[e][0])||null}toString(){var{queues:e,tracks:t}=this;return null===e||null===t?"":` ${this.list("video")} ${this.list("audio")} ${this.list("audiovideo")}}`}list(e){var t;return null!=(t=this.queues)&&t[e]||null!=(t=this.tracks)&&t[e]?`${e}: (${this.listSbInfo(e)}) `+this.listOps(e):""}listSbInfo(e){var t=null==(t=this.tracks)?void 0:t[e],e=null==t?void 0:t.buffer;return e?"SourceBuffer"+(e.updating?" updating":"")+(t.ended?" ended":"")+(t.ending?" ending":""):"none"}listOps(e){var t;return(null==(t=this.queues)?void 0:t[e].map(e=>e.label).join(", "))||""}}let af=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,nf="HlsJsTrackRemovedError";class of extends Error{constructor(e){super(e),this.name=nf}}class lf extends Il{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{var t;this.hls&&"open"===(null==(t=this.mediaSource)?void 0:t.readyState)&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{var{media:t,mediaSource:i}=this;e&&this.log("Media source opened"),t&&i&&(i.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(X.MEDIA_ATTACHED,{media:t,mediaSource:i}),null!==this.mediaSource)&&this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{var{mediaSrc:e,_objectUrl:t}=this;e!==t&&this.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=(t=Fl(e.config.preferManagedMediaSource),"undefined"!=typeof self&&t===self.ManagedMediaSource),this.initTracks(),this.registerListeners()}hasSourceTypes(){return 0{var[t]=e;t&&(r[t]=Q({},this.tracks[t]),this.removeBuffer(t)),e[0]=e[1]=null}),{media:t,mediaSource:i,tracks:r}}initTracks(){this.sourceBuffers=[[null,null],[null,null]],this.tracks={},this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let i,r=2;(!t.audio||t.video)&&t.altAudio||(r=1),this.bufferCodecEventsTotal=r,this.log(r+" bufferCodec event(s) expected."),null!=(i=this.transferData)&&i.mediaSource&&this.sourceBufferCount&&r&&this.bufferCreated()}onMediaAttaching(e,t){var i,r,s,a=this.media=t.media,n=(this.transferData=this.overrides=void 0,Fl(this.appendSource));if(n){var o=!!t.mediaSource,t=((o||t.overrides)&&(this.transferData=t,this.overrides=t.overrides),this.mediaSource=t.mediaSource||new n);if(this.assignMediaSource(t),o)this._objectUrl=a.src,this.attachTransferred();else{n=this._objectUrl=self.URL.createObjectURL(t);if(this.appendSource)try{a.removeAttribute("src");var l=self.ManagedMediaSource;a.disableRemotePlayback=a.disableRemotePlayback||l&&t instanceof l,hf(a),i=a,r=n,(s=self.document.createElement("source")).type="video/mp4",s.src=r,i.appendChild(s),a.load()}catch(e){a.src=n}else a.src=n}a.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t;this.log(`${(null==(t=this.transferData)?void 0:t.mediaSource)===e?"transferred":"created"} media source: `+(null==(t=e.constructor)?void 0:t.name)),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){var e=this.media,t=this.transferData;if(t&&e){var i=this.tracks;let n=t.tracks;var r,s=n?Object.keys(n):null,a=s?s.length:0,o=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(n&&s&&a)if(this.tracksReady){if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal}) required tracks: ${B(i,(e,t)=>"initSegment"===e?void 0:t)}; transfer tracks: ${B(n,(e,t)=>"initSegment"===e?void 0:t)}}`),!Nl(n,i))return t.mediaSource=null,t.tracks=void 0,a=e.currentTime,r=this.details,1<(r=Math.max(a,(null==r?void 0:r.fragments[0].start)||0))-a?void this.log(`attachTransferred: waiting for playback to reach new tracks start time ${a} -> `+r):(this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(n)}"->"${Object.keys(i)}") start time: ${r} currentTime: `+a),this.onMediaDetaching(X.MEDIA_DETACHING,{}),this.onMediaAttaching(X.MEDIA_ATTACHING,t),void(e.currentTime=r));this.transferData=void 0,s.forEach(e=>{var t,i,r,s,a=n[e];a&&(t=a.buffer)&&(i=this.fragmentTracker,r=a.id,(i.hasFragments(r)||i.hasParts(r))&&(s=E.getBuffered(t),i.detectEvictedFragments(e,s,r,null,!0)),this.sourceBuffers[df(e)]=[e,t],t.updating&&this.operationQueue&&this.operationQueue.prependBlocker(e),this.trackSourceBuffer(e,a))}),o(),this.bufferCreated()}else this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");else this.log("attachTransferred: MediaSource w/o SourceBuffers"),o()}}get mediaSourceOpenOrEnded(){var e=null==(e=this.mediaSource)?void 0:e.readyState;return"open"===e||"ended"===e}onMediaDetaching(e,t){var i=!!t.transferMedia,{media:r,mediaSource:s,_objectUrl:a}=(this.transferData=this.overrides=void 0,this);if(s){if(this.log("media source "+(i?"transferring":"detaching")),i)this.sourceBuffers.forEach(([e])=>{e&&this.removeBuffer(e)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){var n="open"===s.readyState;try{var o=s.sourceBuffers;for(let e=o.length;e--;)n&&o[e].abort(),s.removeSourceBuffer(o[e]);n&&s.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}s.removeEventListener("sourceopen",this._onMediaSourceOpen),s.removeEventListener("sourceended",this._onMediaSourceEnded),s.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(s.removeEventListener("startstreaming",this._onStartStreaming),s.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}r&&(r.removeEventListener("emptied",this._onMediaEmptied),i||(a&&self.URL.revokeObjectURL(a),this.mediaSrc===a?(r.removeAttribute("src"),this.appendSource&&hf(r),r.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(X.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(t){var e,i=null==(i=this.tracks[t])?void 0:i.buffer;if(this.removeBuffer(t),i)try{null!=(e=this.mediaSource)&&e.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(i)}catch(e){this.warn("onBufferReset "+t,e)}delete this.tracks[t]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[df(e)]=[null,null];e=this.tracks[e];e&&(e.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new sf(this.tracks)}onBufferCodecs(e,c){let t,u=this.tracks;var i=Object.keys(c),r=(this.log(`BUFFER_CODECS: "${i}" (current SB count ${this.sourceBufferCount})`),"audiovideo"in c&&(u.audio||u.video)||u.audiovideo&&("audio"in c||"video"in c)),s=!r&&this.sourceBufferCount&&this.media&&i.some(e=>!u[e]);r||s?this.warn(`Unsupported transition between "${Object.keys(u)}" and "${i}" SourceBuffers`):(i.forEach(e=>{var{id:t,codec:i,levelCodec:r,container:s,metadata:a,supplemental:n}=c[e];let o=u[e];var l=null==(l=this.transferData)||null==(l=l.tracks)?void 0:l[e],l=null!=l&&l.buffer?l:o,h=(null==l?void 0:l.pendingCodec)||(null==l?void 0:l.codec),l=null==l?void 0:l.levelCodec,n=(o=o||(u[e]={buffer:void 0,listeners:[],codec:i,supplemental:n,container:s,levelCodec:r,metadata:a,id:t}),Mh(h,l)),a=null==n?void 0:n.replace(af,"$1");let d=Mh(i,r);l=null==(t=d)?void 0:t.replace(af,"$1");d&&n&&a!==l&&("audio"===e.slice(0,5)&&(d=Oh(d,this.appendSource)),this.log(`switching codec ${h} to `+d),d!==(o.pendingCodec||o.codec)&&(o.pendingCodec=d),o.container=s,this.appendChangeType(e,s,d))}),(this.tracksReady||this.sourceBufferCount)&&(c.tracks=this.sourceBufferTracks),this.sourceBufferCount||(1{var i=this.tracks[t];return e[t]={id:i.id,container:i.container,codec:i.codec,levelCodec:i.levelCodec},e},{})}appendChangeType(i,r,s){let a=r+";codecs="+s;var e={label:"change-type="+a,execute:()=>{var e,t=this.tracks[i];t&&null!=(e=t.buffer)&&e.changeType&&(this.log(`changing ${i} sourceBuffer type to `+a),e.changeType(a),t.codec=s,t.container=r),this.shiftAndExecuteNext(i)},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn(`Failed to change ${i} SourceBuffer type`,e)}};this.append(e,i,this.isPending(this.tracks[i]))}blockAudio(e){var t=e.start;let i=t+.05*e.duration;!0!==(null==(t=this.fragmentTracker.getAppendedFrag(t,w))?void 0:t.gap)&&(this.blockedAudioAppend={op:t={label:"block-audio",execute:()=>{var e=this.tracks.video;(this.lastVideoAppendEnd>i||null!=e&&e.buffer&&E.isBuffered(e.buffer,i)||!0===(null==(e=this.fragmentTracker.getAppendedFrag(i,w))?void 0:e.gap))&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn("Error executing block-audio operation",e)}},frag:e},this.append(t,"audio",!0))}unblockAudio(){var{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){var i=this.tracks;let{data:r,type:s,parent:a,frag:n,part:o,chunkMeta:l,offset:h}=t,d=l.buffering[s],{sn:c,cc:u}=n;t=self.performance.now();d.start=t;let p=n.stats.buffering,f=o?o.stats.buffering:null;0===p.start&&(p.start=t),f&&0===f.start&&(f.start=t);t=i.audio;let g=!1;"audio"===s&&"audio/mpeg"===(null==t?void 0:t.container)&&(g=!this.lastMpegAudioChunk||1===l.id||this.lastMpegAudioChunk.sn!==l.sn,this.lastMpegAudioChunk=l);var m,v,y,t=i.video,i=null==t?void 0:t.buffer;i&&"initSegment"!==c&&(m=o||n,v=this.blockedAudioAppend,"audio"!==s||"main"===a||this.blockedAudioAppend||t.ending||t.ended?"video"===s&&(t=m.end,v&&((v=v.frag.start){d.executeStart=self.performance.now();var e=null==(e=this.tracks[s])?void 0:e.buffer;e&&(g?this.updateTimestampOffset(e,b,.1,s,c,u):void 0!==h&&G(h)&&this.updateTimestampOffset(e,h,1e-6,s,c,u)),this.appendExecutor(r,s)},onStart:()=>{},onComplete:()=>{var e=self.performance.now();d.executeEnd=d.end=e,0===p.first&&(p.first=e),f&&0===f.first&&(f.first=e);let i={};this.sourceBuffers.forEach(([e,t])=>{e&&(i[e]=E.getBuffered(t))}),this.appendErrors[s]=0,"audio"===s||"video"===s?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(X.BUFFER_APPENDED,{type:s,frag:n,part:o,chunkMeta:l,parent:n.type,timeRanges:i})},onError:e=>{var t={type:q.MEDIA_ERROR,parent:n.type,details:Y.BUFFER_APPEND_ERROR,sourceBufferName:s,frag:n,part:o,chunkMeta:l,error:e,err:e,fatal:!1},i=null==(i=this.media)?void 0:i.error;e.code===DOMException.QUOTA_EXCEEDED_ERR||"QuotaExceededError"==e.name||"quota"in e?t.details=Y.BUFFER_FULL_ERROR:e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!i||e.name===nf&&0===this.sourceBufferCount?t.errorAction=Cd(!0):(e=++this.appendErrors[s],this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${s}" sourceBuffer (${i||"no media error"})`),(e>=this.hls.config.appendErrorMaxRetry||i)&&(t.fatal=!0)),this.hls.trigger(X.ERROR,t)}};this.log(`queuing "${s}" append sn: ${c}${o?" p: "+o.index:""} of ${n.type===w?"level":"track"} ${n.level} cc: `+u),this.append(t,s,this.isPending(this.tracks[s]))}getFlushOp(t,i,r){return this.log(`queuing "${t}" remove ${i}-`+r),{label:"remove",execute:()=>{this.removeExecutor(t,i,r)},onStart:()=>{},onComplete:()=>{this.hls.trigger(X.BUFFER_FLUSHED,{type:t})},onError:e=>{this.warn(`Failed to remove ${i}-${r} from "${t}" SourceBuffer`,e)}}}onBufferFlushing(e,t){let{type:i,startOffset:r,endOffset:s}=t;i?this.append(this.getFlushOp(i,r,s),i):this.sourceBuffers.forEach(([e])=>{e&&this.append(this.getFlushOp(e,r,s),e)})}onFragParsed(e,t){let{frag:i,part:r}=t;var t=[],s=(r||i).elementaryStreams;s[Ql]?t.push("audiovideo"):(s[Yl]&&t.push("audio"),s[Xl]&&t.push("video"));0===t.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: `+i.sn),this.blockBuffers(()=>{var e=self.performance.now(),e=(i.stats.buffering.end=e,r&&(r.stats.buffering.end=e),(r||i).stats);this.hls.trigger(X.FRAG_BUFFERED,{frag:i,part:r,stats:e,id:i.type})},t).catch(e=>{this.warn("Fragment buffered callback "+e),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return 0{if(e){e=this.tracks[e];if(e)return!e.ended||e.ending}return!1})}onBufferEos(e,i){this.sourceBuffers.forEach(([e])=>{var t;e&&(t=this.tracks[e],i.type&&i.type!==e||(t.ending=!0,t.ended)||(t.ended=!0,this.log(e+" buffer reached EOS")))});var t=!1!==(null==(t=this.overrides)?void 0:t.endOfStream);0e&&!(null!=(e=this.tracks[e])&&e.ended))?t?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();var e=this.mediaSource;e&&"open"===e.readyState?(this.log("Calling mediaSource.endOfStream()"),e.endOfStream(),this.hls.trigger(X.BUFFERED_TO_END,void 0)):e&&this.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+e.readyState)})):(this.tracksEnded(),this.hls.trigger(X.BUFFERED_TO_END,void 0)):"video"===i.type&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{null!==e&&(e=this.tracks[e])&&(e.ending=!1)})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{var e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){var i;t.details===Y.BUFFER_APPEND_ERROR&&t.frag&&(i=null==(i=t.errorAction)?void 0:i.nextAutoLevel,G(i))&&i!==t.frag.level&&this.resetAppendErrors()}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){var e,{hls:t,details:i,media:r}=this;r&&null!==i&&this.sourceBufferCount&&(t=t.config,r=r.currentTime,e=i.levelTargetDuration,i=i.live&&null!==t.liveBackBufferLength?t.liveBackBufferLength:t.backBufferLength,G(i)&&0<=i&&(i=Math.max(i,e),i=Math.floor(r/e)*e-i,this.flushBackBuffer(r,e,i)),i=t.frontBufferFlushThreshold,G(i))&&0{if(t){t=E.getBuffered(t);if(0t.start(0)){this.hls.trigger(X.BACK_BUFFER_REACHED,{bufferEnd:r});var i,t=this.tracks[e];if(null!=(i=this.details)&&i.live)this.hls.trigger(X.LIVE_BACK_BUFFER_REACHED,{bufferEnd:r});else if(null!=t&&t.ended)return void this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:0,endOffset:r,type:e})}}})}flushFrontBuffer(s,e,a){this.sourceBuffers.forEach(([e,t])=>{var i,r;!t||(i=(t=E.getBuffered(t)).length)<2||(r=t.start(i-1),t=t.end(i-1),r=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){var{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:i}=this;this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) `+B(i)),this.tracksReady&&((e=null==(t=this.transferData)?void 0:t.tracks)&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers())}bufferCreated(){if(this.sourceBufferCount){let r={};this.sourceBuffers.forEach(([e,t])=>{var i;e&&(i=this.tracks[e],r[e]={buffer:t,container:i.container,codec:i.codec,supplemental:i.supplemental,levelCodec:i.levelCodec,id:i.id,metadata:i.metadata})}),this.hls.trigger(X.BUFFER_CREATED,{tracks:r}),this.log("SourceBuffers created. Running queue: "+this.operationQueue),this.sourceBuffers.forEach(([e])=>{this.executeNext(e)})}else{var e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){var e,{tracks:t,sourceBuffers:i,mediaSource:r}=this;if(!r)throw new Error("createSourceBuffers called when mediaSource was null");for(e in t){var s=e,a=t[s];if(this.isPending(a)){var n=this.getTrackCodec(a,s),o=a.container+";codecs="+n;a.codec=n,this.log(`creating sourceBuffer(${o})${this.currentOp(s)?" Queued":""} `+B(a));try{var l=r.addSourceBuffer(o),h=[s,l];i[df(s)]=h,a.buffer=l}catch(e){return this.error("error while trying to add sourceBuffer: "+e.message),this.shiftAndExecuteNext(s),null!=(n=this.operationQueue)&&n.removeBlockers(),delete this.tracks[s],void this.hls.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:s,mimeType:o,parent:a.id})}this.trackSourceBuffer(s,a)}}this.bufferCreated()}getTrackCodec(e,t){var i=e.supplemental;let r=e.codec;i=Mh(r=i&&("video"===t||"audiovideo"===t)&&Lh(i,"video")?((e,t)=>{var i=[];if(e){var r=e.split(",");for(let e=0;e{t=t.removedRanges;null!=t&&t.length&&this.hls.trigger(X.BUFFER_FLUSHED,{type:e})})}get mediaSrc(){var e,t=(null==(e=this.media)||null==(t=e.querySelector)?void 0:t.call(e,"source"))||this.media;return null==t?void 0:t.src}onSBUpdateStart(e){e=this.currentOp(e);e&&e.onStart()}onSBUpdateEnd(e){var t;"closed"===(null==(t=this.mediaSource)?void 0:t.readyState)?this.resetBuffer(e):(t=this.currentOp(e))&&(t.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var i=new Error(e+" SourceBuffer error. MediaSource readyState: "+(null==(i=this.mediaSource)?void 0:i.readyState)),t=(this.error(""+i,t),this.hls.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:i,fatal:!1}),this.currentOp(e));t&&t.onError(i)}updateTimestampOffset(e,t,i,r,s,a){var n=t-e.timestampOffset;Math.abs(n)>=i&&(this.log(`Updating ${r} SourceBuffer timestampOffset to ${t} (sn: ${s} cc: ${a})`),e.timestampOffset=t)}removeExecutor(e,t,i){var{media:r,mediaSource:s}=this,a=this.tracks[e],n=null==a?void 0:a.buffer;r&&s&&n?(r=G(r.duration)?r.duration:1/0,s=G(s.duration)?s.duration:1/0,(t=Math.max(0,t))<(i=Math.min(i,r,s))&&(!a.ending||a.ended)?(a.ended=!1,this.log(`Removing [${t},${i}] from the ${e} SourceBuffer`),n.remove(t,i)):this.shiftAndExecuteNext(e)):(this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e))}appendExecutor(e,t){var i=this.tracks[t],r=null==i?void 0:i.buffer;if(!r)throw new of(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);i.ending=!1,i.ended=!1,r.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(e=>{this.warn("SourceBuffer blocked callback "+e),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} `+e)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(t,e=this.sourceBufferTypes){if(!e.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(t);let i=this.operationQueue;var r=e.map(e=>this.appendBlocker(e));return 1{i===this.operationQueue&&(t(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(e=>{var t=null==(t=this.tracks[e])?void 0:t.buffer;t&&!t.updating&&this.shiftAndExecuteNext(e)})}append(e,t,i){this.operationQueue&&this.operationQueue.append(e,t,i)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+(this.isPending(this.tracks[t])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+(t?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,i){var r,s=this.tracks[e];s&&(r=s.buffer)&&(i=i.bind(this,e),s.listeners.push({event:t,listener:i}),r.addEventListener(t,i))}removeBufferListeners(e){e=this.tracks[e];if(e){let t=e.buffer;t&&(e.listeners.forEach(e=>{t.removeEventListener(e.event,e.listener)}),e.listeners.length=0)}}}function hf(t){var e=t.querySelectorAll("source");[].slice.call(e).forEach(e=>{t.removeChild(e)})}function df(e){return"audio"===e?1:0}class cf{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(){var e=this.hls;e.on(X.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.BUFFER_CODECS,this.onBufferCodecs,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){var e=this.hls;e.off(X.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.BUFFER_CODECS,this.onBufferCodecs,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){t=this.hls.levels[t.droppedLevel];this.isLevelAllowed(t)&&this.restrictedLevels.push({bitrate:t.bitrate,height:t.height,width:t.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){var i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&G(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){var e,t,i;this.media&&(this.mediaHeight<=0||this.mediaWidth<=0?this.clientRect=null:(e=this.hls.levels).length&&(t=this.hls,(i=this.getMaxLevel(e.length-1))!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x`+this.mediaHeight),t.autoLevelCapping=i,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping))}getMaxLevel(i){var e=this.hls.levels;return e.length?(e=e.filter((e,t)=>this.isLevelAllowed(e)&&t<=i),this.clientRect=null,cf.getMaxLevelByMediaSize(e,this.mediaWidth,this.mediaHeight)):-1}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(){var e,t,i;return this.clientRect||(t={width:0,height:0},(e=this.media)&&(i=e.getBoundingClientRect(),t.width=i.width,t.height=i.height,t.width||t.height||(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.top||e.height||0)),this.clientRect=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(e){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(t){return!this.restrictedLevels.some(e=>t.bitrate===e.bitrate&&t.width===e.width&&t.height===e.height)}static getMaxLevelByMediaSize(t,e,i){if(null==t||!t.length)return-1;let r=t.length-1;var s,a=Math.max(e,i);for(let e=0;e=a||n.height>=a)&&(n=n,!(s=t[e+1])||n.width!==s.width||n.height!==s.height)){r=e;break}}return r}}let uf={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"};let pf={HLS:"h"};class ff{constructor(e,t){Array.isArray(e)&&(e=e.map(e=>e instanceof ff?e:new ff(e))),this.value=e,this.params=t}}let gf="Dict";function mf(e,t,i,r){return new Error(`failed to ${e} "${e=t,Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}" as `+i,{cause:r})}function vf(e,t,i){return mf("serialize",e,t,i)}class yf{constructor(e){this.description=e}}let bf="Bare Item",Ef="Boolean";let wf="Byte Sequence";function Tf(e){if(!1===ArrayBuffer.isView(e))throw vf(e,wf);return`:${e=e,btoa(String.fromCharCode(...e))}:`}let Sf="Integer";function kf(e){if((t=e)<-999999999999999||999999999999999!0===t?";"+Df(e):`;${Df(e)}=`+Pf(t)).join("")}function Mf(e){return e instanceof ff?""+Pf(e.value)+Of(e.params):Pf(e)}function Ff(e,t={whitespace:!0}){if("object"!=typeof e||null==e)throw vf(e,gf);e=e instanceof Map?e.entries():Object.entries(e),t=null!=t&&t.whitespace?" ":"";return Array.from(e).map(([e,t])=>{t instanceof ff==!1&&(t=new ff(t));let i=Df(e);return!0===t.value?i+=Of(t.params):(i+="=",Array.isArray(t.value)?i+=`(${(e=t).value.map(Mf).join(" ")})`+Of(e.params):i+=Mf(t)),i}).join(","+t)}function Nf(e,t){return Ff(e,t)}var t="CMCD-Object",g="CMCD-Request",S="CMCD-Session",Uf="CMCD-Status";let $f={br:t,ab:t,d:t,ot:t,tb:t,tpb:t,lb:t,tab:t,lab:t,url:t,pb:g,bl:g,tbl:g,dl:g,ltc:g,mtp:g,nor:g,nrr:g,rc:g,sn:g,sta:g,su:g,ttfb:g,ttfbb:g,ttlb:g,cmsdd:g,cmsds:g,smrt:g,df:g,cs:g,ts:g,cid:S,pr:S,sf:S,sid:S,st:S,v:S,msd:S,bs:Uf,bsd:Uf,cdn:Uf,rtp:Uf,bg:Uf,pt:Uf,ec:Uf,e:Uf},Bf={REQUEST:g};function jf(s,e){var t={};if(!s)return t;var r,i=Object.keys(s);let a=e?(r=e,Object.keys(r).reduce((t,i)=>{var e;return null!=(e=r[i])&&e.forEach(e=>t[e]=i),t},{})):{};return i.reduce((e,t)=>{var i,r=$f[t]||a[t]||Bf.REQUEST;return(null!=(i=e[r])?i:e[r]={})[t]=s[t],e},t)}let Vf="event";let Gf=e=>Math.round(e),zf=(e,t)=>Array.isArray(e)?e.map(e=>zf(e,t)):e instanceof ff&&"string"==typeof e.value?new ff(zf(e.value,t),e.params):(t.baseUrl&&(e=((e,t)=>{var i=new URL(e),t=new URL(t);if(i.origin!==t.origin)return e;for(var r=i.pathname.split("/").slice(1),s=t.pathname.split("/").slice(1,-1);r[0]===s[0];)r.shift(),s.shift();for(;s.length;)s.shift(),r.unshift("..");return r.join("/")+i.search+i.hash})(e,t.baseUrl)),1===t.version?encodeURIComponent(e):e);m=e=>100*Gf(e/100);let Hf={br:Gf,d:Gf,bl:m,dl:m,mtp:m,nor:(e,t)=>{let i=e;return 2<=t.version&&(e instanceof ff&&"string"==typeof e.value?i=new ff([e]):"string"==typeof e&&(i=[e])),zf(i,t)},rtp:m,tb:Gf},Kf="request",Wf="response",qf=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],Yf=["e"],Xf=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function Qf(e){return Xf.test(e)}let Zf=["d","dl","nor","ot","rtp","su"];let Jf=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"];let eg=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function tg(e){return eg.includes(e)||Qf(e)}let ig={[Wf]:function(e){return qf.includes(e)||Zf.includes(e)||Jf.includes(e)||Qf(e)},[Vf]:function(e){return qf.includes(e)||Yf.includes(e)||Qf(e)},[Kf]:function(e){return qf.includes(e)||Zf.includes(e)||Qf(e)}};function rg(o,t={}){let l={};if(null!=o&&"object"==typeof o){let r=t.version||o.v||1;var i=t.reportingMode||Kf,h=1===r?tg:ig[i];let e=Object.keys(o).filter(h);h=t.filter;"function"==typeof h&&(e=e.filter(h));let s=i===Wf||i===Vf,a=(s&&!e.includes("ts")&&e.push("ts"),1{let t=o[e];var i=a[e];if("function"==typeof i&&(t=i(t,n)),"v"===e){if(1===r)return;t=r}"pr"==e&&1===t||(s&&"ts"===e&&!G(t)&&(t=Date.now()),"number"==typeof(i=t)?!G(i):null==i||""===i||!1===i)||(["ot","sf","st","e","sta"].includes(e)&&"string"==typeof t&&(t=new yf(t)),l[e]=t)})}return l}function sg(e,t,i){Q(e,([e,t={}]=[t,i],i={},e?(e=jf(rg(e,t),null==t?void 0:t.customHeaderMap),Object.entries(e).reduce((e,[t,i])=>{i=Nf(i,{whitespace:!1});return i&&(e[t]=i),e},i)):i))}let ag="CMCD";function ng(e,t={}){return e?([e,t={}]=[e,t],e=e?Nf(rg(e,t),{whitespace:!1}):"",encodeURIComponent(e)):""}let og=/CMCD=[^&#]+/;function lg(e,t,i){[t,i={}]=[t,i];i=t?(t=ng(t,i),ag+"="+t):"";return i?og.test(e)?e.replace(og,i):(t=e.includes("?")?"&":"?",e+t+i):e}class hg extends Il{constructor(e){super("content-steering",e.logger),this.hls=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.registerListeners()}registerListeners(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.ERROR,this.onError,this)}unregisterListeners(){var e=this.hls;e&&(e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(0e!==t))}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){t=t.contentSteering;null!==t&&(this.pathwayId=t.pathwayId,this.uri=t.uri,this.started)&&this.startLoad()}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,i){var r=i.errorAction;if((null==r?void 0:r.action)===kd&&r.flags===xd){var s,a,n,o=this.levels;let e=this._pathwayPriority,t=this.pathwayId;i.context&&({groupId:s,pathwayId:a,type:n}=i.context,s&&o?t=this.getPathwayForGroupId(s,n,t):a&&(t=a)),t in this.penalizedPathways||(this.penalizedPathways[t]=performance.now()),(e=!e&&o?this.pathways():e)&&1t===e.pathwayId)}updatePathwayPriority(t){this._pathwayPriority=t;let i=this.penalizedPathways,r=performance.now();Object.keys(i).forEach(e=>{3e5{let{ID:a,"BASE-ID":t,"URI-REPLACEMENT":n}=e;i.some(e=>e.pathwayId===a)||(e=this.getLevelsForPathway(t).map(t=>{var e=new lc(t.attrs),i=(e["PATHWAY-ID"]=a,e.AUDIO&&e.AUDIO+"_clone_"+a),r=e.SUBTITLES&&e.SUBTITLES+"_clone_"+a,i=(i&&(o[e.AUDIO]=i,e.AUDIO=i),r&&(l[e.SUBTITLES]=r,e.SUBTITLES=r),cg(t.uri,e["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",n)),s=new Qh({attrs:e,audioCodec:t.audioCodec,bitrate:t.bitrate,height:t.height,name:t.name,url:i,videoCodec:t.videoCodec,width:t.width});if(t.audioGroups)for(let e=1;e{this.log(`Loaded steering manifest: "${o}"`);e=e.data;if(1!==(null==e?void 0:e.VERSION))this.log(`Steering VERSION ${e.VERSION} not supported!`);else{this.updated=performance.now(),this.timeToLoad=e.TTL;var{"RELOAD-URI":s,"PATHWAY-CLONES":a,"PATHWAY-PRIORITY":n}=e;if(s)try{this.uri=new self.URL(s,o).href}catch(e){return this.enabled=!1,void this.log("Failed to parse Steering Manifest RELOAD-URI: "+s)}this.scheduleRefresh(this.uri||i.url),a&&this.clonePathways(a);s={steeringManifest:e,url:o.toString()};this.hls.trigger(X.STEERING_MANIFEST_LOADED,s),n&&this.updatePathwayPriority(n)}},onError:(t,i,e,r)=>{if(this.log(`Error loading steering manifest: ${t.code} ${t.text} (${i.url})`),this.stopLoad(),410===t.code)this.enabled=!1,this.log(`Steering manifest ${i.url} no longer available`);else{let e=1e3*this.timeToLoad;429===t.code?("function"==typeof(null==(t=this.loader)?void 0:t.getResponseHeader)&&(t=t.getResponseHeader("Retry-After"))&&(e=1e3*parseFloat(t)),this.log(`Steering manifest ${i.url} rate limited`)):this.scheduleRefresh(this.uri||i.url,e)}},onTimeout:(e,t,i)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}};this.log("Requesting steering manifest: "+o),this.loader.load(t,i,e)}scheduleRefresh(t,e=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var e=null==(e=this.hls)?void 0:e.media;e&&!e.ended?this.loadSteeringManifest(t):this.scheduleRefresh(t,1e3*this.timeToLoad)},e)}}function dg(t,r,s,a){t&&Object.keys(r).forEach(i=>{var e=t.filter(e=>e.groupId===i).map(e=>{var t=Q({},e);return t.details=void 0,t.attrs=new lc(t.attrs),t.url=t.attrs.URI=cg(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",s),t.groupId=t.attrs["GROUP-ID"]=r[i],t.attrs["PATHWAY-ID"]=a,t});t.push(...e)})}function cg(e,t,i,r){let{HOST:s,PARAMS:a,[i]:n}=r,o,l=(t&&(o=null==n?void 0:n[t])&&(e=o),new self.URL(e));return s&&!o&&(l.host=s),a&&Object.keys(a).sort().forEach(e=>{e&&l.searchParams.set(e,a[e])}),l.href}class ug extends Il{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=ug.CDMCleanupPromise?[ug.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=i=>{let{initDataType:d,initData:c}=i,u=`"${i.type}" event: init data type: "${d}"`;if(this.debug(u),null!==c){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);var t=(e=e.length?e:Lc(this.config)).map(Ac).filter(e=>!!e);this.keyFormatPromise=this.getKeyFormatPromise(t)}this.keyFormatPromise.then(e=>{e=_c(e);if("sinf"!==d||e!==Ec.FAIRPLAY)this.log(`Ignoring "${i.type}" event with init data type: "${d}" for selected key-system `+e);else{let i;try{var t=ah(new Uint8Array(c)),s=gh(gc(JSON.parse(t).sinf));if(!s)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");i=new Uint8Array(s.subarray(8,24))}catch(e){return void this.warn(u+" Failed to parse sinf: "+e)}var a=$l(i),{keyIdToKeySessionPromise:n,mediaKeySessions:o}=this;let r=n[a];for(let t=0;tthis.generateRequestWithPreferredKeySession(e,d,c,"encrypted-event-key-match"))).catch(e=>this.handleError(e));break}}}r||this.handleError(new Error(`Key ID ${a} not encountered in playlist. Key-system sessions ${o.length}.`))}}).catch(e=>this.handleError(e))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();var 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(X.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(X.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(X.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(X.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(X.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(X.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(X.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){var{drmSystems:t,widevineLicenseUrl:i}=this.config,t=null==t?void 0:t[e];return t?t.licenseUrl:e===Ec.WIDEVINE&&i?i:void 0}getLicenseServerUrlOrThrow(e){var t=this.getLicenseServerUrl(e);if(void 0===t)throw new Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){var t=this.config.drmSystems,t=null==t?void 0:t[e];if(t)return t.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){var t=this.hls.levels,i=(e,t,i)=>!!e&&i.indexOf(e)===t;let n=t.map(e=>e.audioCodec).filter(i),o=t.map(e=>e.videoCodec).filter(i);return n.length+o.length===0&&o.push("avc1.42e01e"),new Promise((r,s)=>{let a=t=>{let i=t.shift();this.getMediaKeysPromise(i,n,o).then(e=>r({keySystem:i,mediaKeys:e})).catch(e=>{t.length?a(t):e instanceof fg?s(e):s(new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_NO_ACCESS,error:e,fatal:!0},e.message))})};a(e)})}requestMediaKeySystemAccess(e,t){var i=this.config.requestMediaKeySystemAccessFunc;if("function"==typeof i)return i(e,t);{let e="Configured requestMediaKeySystemAccess is not a function "+i;return null===xc&&"http:"===self.location.protocol&&(e="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(e))}}getMediaKeysPromise(s,e,t){e=((e,t,i,r)=>{let s;switch(e){case Ec.FAIRPLAY:s=["cenc","sinf"];break;case Ec.WIDEVINE:case Ec.PLAYREADY:s=["cenc"];break;case Ec.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+e)}var a=s,n=r;return[a={initDataTypes:a,persistentState:n.persistentState||"optional",distinctiveIdentifier:n.distinctiveIdentifier||"optional",sessionTypes:n.sessionTypes||[n.sessionType||"temporary"],audioCapabilities:t.map(e=>({contentType:"audio/mp4; codecs="+e,robustness:n.audioRobustness||"",encryptionScheme:n.audioEncryptionScheme||null})),videoCapabilities:i.map(e=>({contentType:"video/mp4; codecs="+e,robustness:n.videoRobustness||"",encryptionScheme:n.videoEncryptionScheme||null}))}]})(s,e,t,this.config.drmSystemOptions||{});let i=this.keySystemAccessPromises[s],a=null==(t=i)?void 0:t.keySystemAccess;if(a)return a.then(()=>i.mediaKeys);{this.log(`Requesting encrypted media "${s}" key-system access with config: `+B(e)),a=this.requestMediaKeySystemAccess(s,e);let r=i=this.keySystemAccessPromises[s]={keySystemAccess:a};return a.catch(e=>{this.log(`Failed to obtain access to key-system "${s}": `+e)}),a.then(e=>{this.log(`Access for key-system "${e.keySystem}" obtained`);let i=this.fetchServerCertificate(s);this.log(`Create media-keys for "${s}"`);e=r.mediaKeys=e.createMediaKeys().then(t=>(this.log(`Media-keys created for "${s}"`),r.hasMediaKeys=!0,i.then(e=>e?this.setMediaKeysServerCertificate(t,s,e):t)));return e.catch(e=>{this.error(`Failed to create media-keys for "${s}"}: `+e)}),e})}}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${$l(e.keyId||[])} keyUri: `+e.uri);var r=i.createSession(),e={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:r,keyStatus:"status-pending"};return this.mediaKeySessions.push(e),e}renewKeySession(e){var t,i,r=e.decryptdata;r.pssh?(t=this.createMediaKeySessionContext(e),i=pg(r),this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(t,"cenc",r.pssh.buffer,"expired")):this.warn("Could not renew expired session. Missing pssh initData."),this.removeSession(e)}updateKeySession(e,t){var i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${$l(e.decryptdata.keyId||[])} } (data length: ${t.byteLength})`),i.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>Ac(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:e,mediaKeys:t})=>this.attemptSetMediaKeys(e,t))}selectKeySystem(e){return new Promise((i,r)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:e})=>{var t=Ac(e);t?i(t):r(new Error(`Unable to find format for key-system "${e}"`))}).catch(r)})}selectKeySystemFormat(e){var 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){let t=Lc(this.config);e=e.map(_c).filter(e=>!!e&&-1!==t.indexOf(e));return this.selectKeySystem(e)}getKeyStatus(t){var i=this.mediaKeySessions;for(let e=0;ee.keyId&&t.mediaKeysSession.keyStatuses.has(e.keyId)?t.mediaKeysSession.keyStatuses.get(e.keyId):e.matches(t.decryptdata)?t.keyStatus:void 0)(t,i[e]);if(r)return r}}loadKey(i){let r=i.keyInfo.decryptdata;var e=pg(r),t=this.bannedKeyIds[e];if(t||"internal-error"===this.getKeyStatus(r))return t=gg(t||"internal-error",r),this.handleError(t,i.frag),Promise.reject(t);let s=`(keyId: ${e} format: "${r.keyFormat}" method: ${r.method} uri: ${r.uri})`;this.log("Starting session for key "+s);var t=this.keyIdToKeySessionPromise[e];return t?(t.catch(e=>{var t;e instanceof fg&&(t=b({},e.data),"internal-error"===this.getKeyStatus(r)&&(t.decryptdata=r),t=new fg(t,e.message),this.handleError(t,i.frag))}),t):((t=this.getKeySystemForKeyPromise(r).then(({keySystem:e,mediaKeys:t})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${i.frag.sn} ${i.frag.type}: ${i.frag.level} using key `+s),this.attemptSetMediaKeys(e,t).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:e,mediaKeys:t,decryptdata:r}))))).then(e=>{var t=r.pssh?r.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,"cenc",t,"playlist-key")})).catch(e=>this.handleError(e,i.frag)),this.keyIdToKeySessionPromise[e]=t)}throwIfDestroyed(e=0){if(!this.hls)throw new Error("invalid state")}handleError(e,t){this.hls&&(e instanceof fg?(t&&(e.data.frag=t),t=e.data.decryptdata,this.error(""+e.message+(t?` (${$l(t.keyId||[])})`:"")),this.hls.trigger(X.ERROR,e.data)):(this.error(e.message),this.hls.trigger(X.ERROR,{type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})))}getKeySystemForKeyPromise(e){var t=pg(e),t=this.keyIdToKeySessionPromise[t];return t||(e=(t=_c(e.keyFormat))?[t]:Lc(this.config),this.attemptKeySystemAccess(e))}getKeySystemSelectionPromise(e){if(0===(e=e.length?e:Lc(this.config)).length)throw new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+B({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,i){if(this.mediaResolved=void 0,this.mediaKeys===i)return Promise.resolve();let t=this.setMediaKeysQueue.slice(),r=(this.log(`Setting media-keys for "${e}"`),Promise.all(t).then(()=>this.media?this.media.setMediaKeys(i):new Promise((e,t)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return t(new Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=i,this.media.setMediaKeys(i).then(e).catch(t)}})));return this.mediaKeys=i,this.setMediaKeysQueue.push(r),r.then(()=>{this.log(`Media-keys set for "${e}"`),t.push(r),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(e=>-1===t.indexOf(e))})}generateRequestWithPreferredKeySession(r,e,t,i){var s=null==(s=this.config.drmSystems)||null==(s=s[r.keySystem])?void 0:s.generateRequest;if(s)try{var a=s.call(this.hls,e,t,r);if(!a)throw new Error("Invalid response from configured generateRequest filter");e=a.initDataType,t=a.initData||null,r.decryptdata.pssh=t?new Uint8Array(t):null}catch(e){if(this.warn(e.message),this.hls&&this.hls.config.debug)throw e}if(null===t)return this.log(`Skipping key-session request for "${i}" (no initData)`),Promise.resolve(r);let n=pg(r.decryptdata),o=r.decryptdata.uri,l=(this.log(`Generating key-session request for "${i}" keyId: ${n} URI: ${o} (init data type: ${e} length: ${t.byteLength})`),new _u);s=r._onmessage=e=>{var t,i=r.mediaKeysSession;i?({messageType:e,message:t}=e,this.log(`"${e}" message event for session "${i.sessionId}" message size: `+t.byteLength),"license-request"===e||"license-renewal"===e?this.renewLicense(r,t).catch(e=>{l.eventNames().length?l.emit("error",e):this.handleError(e)}):"license-release"===e?r.keySystem===Ec.FAIRPLAY&&this.updateKeySession(r,mc("acknowledged")).then(()=>this.removeSession(r)).catch(e=>this.handleError(e)):this.warn(`unhandled media key message type "${e}"`)):l.emit("error",new Error("invalid state"))};let h=(e,t)=>{let i;(t.keyStatus=e).startsWith("usable")?l.emit("resolved"):"internal-error"===e||"output-restricted"===e||"output-downscaled"===e?i=gg(e,t.decryptdata):"expired"===e?i=new Error(`key expired (keyId: ${n})`):"released"===e?i=new Error("key released"):"status-pending"!==e&&this.warn(`unhandled key status change "${e}" (keyId: ${n})`),i&&(l.eventNames().length?l.emit("error",i):this.handleError(i))};a=r._onkeystatuseschange=e=>{if(r.mediaKeysSession){let i=this.getKeyStatuses(r);if(Object.keys(i).some(e=>"status-pending"!==i[e]))if("expired"===i[n])this.log(`Expired key ${B(i)} in key-session "${r.mediaKeysSession.sessionId}"`),this.renewKeySession(r);else{let t=i[n];if(t)h(t,r);else{let e;r.keyStatusTimeouts||(r.keyStatusTimeouts={}),(e=r.keyStatusTimeouts)[n]||(e[n]=self.setTimeout(()=>{if(r.mediaKeysSession&&this.mediaKeys){var e=this.getKeyStatus(r.decryptdata);if(e&&"status-pending"!==e)return this.log(`No status for keyId ${n} in key-session "${r.mediaKeysSession.sessionId}". Using session key-status ${e} from other session.`),h(e,r);this.log(`key status for ${n} in key-session "${r.mediaKeysSession.sessionId}" timed out after 1000ms`),t="internal-error",h(t,r)}},1e3)),this.log(`No status for keyId ${n} (${B(i)}).`)}}}else l.emit("error",new Error("invalid state"))};uu(r.mediaKeysSession,"message",s),uu(r.mediaKeysSession,"keystatuseschange",a);let d=new Promise((e,t)=>{l.on("error",t),l.on("resolved",e)});return r.mediaKeysSession.generateRequest(e,t).then(()=>{this.log(`Request generated for key-session "${r.mediaKeysSession.sessionId}" keyId: ${n} URI: `+o)}).catch(e=>{throw new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_NO_SESSION,error:e,decryptdata:r.decryptdata,fatal:!1},"Error generating key-session request: "+e)}).then(()=>d).catch(e=>(l.removeAllListeners(),this.removeSession(r).then(()=>{throw e}))).then(()=>(l.removeAllListeners(),r))}getKeyStatuses(r){let s={};return r.mediaKeysSession.keyStatuses.forEach((e,t)=>{"string"==typeof t&&"object"==typeof e&&(i=t,t=e,e=i);var i="buffer"in t?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t),t=(r.keySystem===Ec.PLAYREADY&&16===i.length&&(t=$l(i),s[t]=e,vc(i)),$l(i));"internal-error"===e&&(this.bannedKeyIds[t]=e),this.log(`key status change "${e}" for keyStatuses keyId: ${t} key-session "${r.mediaKeysSession.sessionId}"`),s[t]=e}),s}fetchServerCertificate(o){let i=this.config;let r=new i.loader(i),l=this.getServerCertificateUrl(o);return l?(this.log(`Fetching server certificate for "${o}"`),new Promise((s,a)=>{let n={responseType:"arraybuffer",url:l};var e=i.certLoadPolicy.default,e={loadPolicy:e,timeout:e.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},t={onSuccess:(e,t,i,r)=>{s(e.data)},onError:(e,t,i,r)=>{a(new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:i,response:b({url:n.url,data:void 0},e)},`"${o}" certificate request failed (${l}). Status: ${e.code} (${e.text})`))},onTimeout:(e,t,i)=>{a(new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:i,response:{url:n.url,data:void 0}},`"${o}" certificate request timed out (${l})`))},onAbort:(e,t,i)=>{a(new Error("aborted"))}};r.load(n,e,t)})):Promise.resolve()}setMediaKeysServerCertificate(r,s,a){return new Promise((t,i)=>{r.setServerCertificate(a).then(e=>{this.log(`setServerCertificate ${e?"success":"not supported by CDM"} (${a.byteLength}) on "${s}"`),t(r)}).catch(e=>{i(new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})}renewLicense(t,e){return this.requestLicense(t,new Uint8Array(e)).then(e=>this.updateKeySession(t,new Uint8Array(e)).catch(e=>{throw new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:t.decryptdata,error:e,fatal:!1},e.message)}))}unpackPlayReadyKeyMessage(i,e){var t=String.fromCharCode.apply(null,new Uint16Array(e.buffer));if(!t.includes("PlayReadyKeyMessage"))return i.setRequestHeader("Content-Type","text/xml; charset=utf-8"),e;var e=(new DOMParser).parseFromString(t,"application/xml"),r=e.querySelectorAll("HttpHeader");if(0 in key message")}setupLicenseXHR(t,i,r,s){let a=this.config.licenseXhrSetup;return a?Promise.resolve().then(()=>{if(r.decryptdata)return a.call(this.hls,t,i,r,s);throw new Error("Key removed")}).catch(e=>{if(r.decryptdata)return t.open("POST",i,!0),a.call(this.hls,t,i,r,s);throw e}).then(e=>(t.readyState||t.open("POST",i,!0),{xhr:t,licenseChallenge:e||s})):(t.open("POST",i,!0),Promise.resolve({xhr:t,licenseChallenge:s}))}requestLicense(a,n){let o=this.config.keyLoadPolicy.default;return new Promise((i,e)=>{let r=this.getLicenseServerUrlOrThrow(a.keySystem),s=(this.log("Sending license request to URL: "+r),new XMLHttpRequest);s.responseType="arraybuffer",s.onreadystatechange=()=>{if(!this.hls||!a.mediaKeysSession)return e(new Error("invalid state"));if(4===s.readyState)if(200===s.status){this._requestLicenseFailureCount=0;let e=s.response;this.log("License received "+(e instanceof ArrayBuffer?e.byteLength:e));var t=this.config.licenseResponseCallback;if(t)try{e=t.call(this.hls,s,r,a)}catch(e){this.error(e)}i(e)}else{var t=o.errorRetry,t=t?t.maxNumRetry:0;this._requestLicenseFailureCount++,this._requestLicenseFailureCount>t||400<=s.status&&s.status<500?e(new fg({type:q.KEY_SYSTEM_ERROR,details:Y.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:a.decryptdata,fatal:!0,networkDetails:s,response:{url:r,data:void 0,code:s.status,text:s.statusText}},`License Request XHR failed (${r}). Status: ${s.status} (${s.statusText})`)):(t=t-this._requestLicenseFailureCount+1,this.warn(`Retrying license request, ${t} attempts left`),this.requestLicense(a,n).then(i,e))}},a.licenseXhr&&a.licenseXhr.readyState!==XMLHttpRequest.DONE&&a.licenseXhr.abort(),a.licenseXhr=s,this.setupLicenseXHR(s,r,a,n).then(({xhr:e,licenseChallenge:t})=>{a.keySystem==Ec.PLAYREADY&&(t=this.unpackPlayReadyKeyMessage(e,t)),e.send(t)}).catch(e)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){var i;this.config.emeEnabled&&(t=t.media,uu(this.media=t,"encrypted",this.onMediaEncrypted),uu(t,"waitingforkey",this.onWaitingForKey),(i=this.mediaResolved)?i():this.mediaKeys=t.mediaKeys)}onMediaDetached(){var e=this.media;e&&(pu(e,"encrypted",this.onMediaEncrypted),pu(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};var t=this.mediaResolved;if(t&&t(),this.mediaKeys||this.mediaKeySessions.length){var t=this.media,i=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,Pc.clearKeyUriToKeyIdMap();let e=i.length;ug.CDMCleanupPromise=Promise.all(i.map(e=>this.removeSession(e)).concat((null==t||null==(i=t.setMediaKeys(null))?void 0:i.catch(e=>{this.log("Could not clear media keys: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:new Error("Could not clear media keys: "+e)})}))||Promise.resolve())).catch(e=>{this.log("Could not close sessions and clear media keys: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error("Could not close sessions and clear media keys: "+e)})}).then(()=>{e&&this.log("finished closing key sessions and clearing media keys")})}}onManifestLoading(){this._clear()}onManifestLoaded(e,{sessionKeys:t}){t&&this.config.emeEnabled&&(this.keyFormatPromise||(t=t.reduce((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e),[]),this.log("Selecting key-system from session-keys "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)))}removeSession(e){let{mediaKeysSession:i,licenseXhr:r,decryptdata:s}=e;if(i){this.log(`Remove licenses and keys and close session "${i.sessionId}" keyId: `+$l((null==s?void 0:s.keyId)||[])),e._onmessage&&(i.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(i.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),r&&r.readyState!==XMLHttpRequest.DONE&&r.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var a=this.mediaKeySessions.indexOf(e);-1self.clearTimeout(t[e]));a=this.config.drmSystemOptions;return((e=a)&&("persistent-license"===e.sessionType||null!=(e=e.sessionTypes)&&e.some(e=>"persistent-license"===e))?new Promise((e,t)=>{self.setTimeout(()=>t(new Error("MediaKeySession.remove() timeout")),8e3),i.remove().then(e).catch(t)}):Promise.resolve()).catch(e=>{this.log("Could not remove session: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:new Error("Could not remove session: "+e)})}).then(()=>i.close()).catch(e=>{this.log("Could not close session: "+e),this.hls&&this.hls.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error("Could not close session: "+e)})})}return Promise.resolve()}}function pg(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return $l(e.keyId)}ug.CDMCleanupPromise=void 0;class fg extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),(this.data=e).err=e.error}}function gg(e,t){var i="output-restricted"===e,r=i?Y.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:Y.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new fg({type:q.KEY_SYSTEM_ERROR,details:r,fatal:!1,decryptdata:t},i?"HDCP level output restricted":`key status changed to "${e}"`)}function mg(e,t){let i;try{i=new Event("addtrack")}catch(e){(i=document.createEvent("Event")).initEvent("addtrack",!1,!1)}i.track=e,t.dispatchEvent(i)}function vg(t,i){var e=t.mode;if("disabled"===e&&(t.mode="hidden"),t.cues&&!t.cues.getCueById(i.id))try{if(t.addCue(i),!t.cues.getCueById(i.id))throw new Error("addCue is failed for: "+i)}catch(e){z.debug("[texttrack-utils]: "+e);try{var r=new self.TextTrackCue(i.startTime,i.endTime,i.text);r.id=i.id,t.addCue(r)}catch(e){z.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+e)}}"disabled"===e&&(t.mode=e)}function yg(t,i){var e=t.mode;if("disabled"===e&&(t.mode="hidden"),t.cues)for(let e=t.cues.length;e--;)i&&t.cues[e].removeEventListener("enter",i),t.removeCue(t.cues[e]);"disabled"===e&&(t.mode=e)}function bg(t,e,i,r){var s=t.mode;if("disabled"===s&&(t.mode="hidden"),t.cues&&0{var a=[],n=((e,t)=>{if(t<=e[0].startTime)return 0;var i=e.length-1;if(t>e[i].endTime)return-1;let r=0,s=i,a;for(;r<=s;)if(a=Math.floor((s+r)/2),te[a].startTime&&r=r&&o.endTime<=s)a.push(o);else if(o.startTime>s)return a}return a})(t.cues,e,i);for(let e=0;ethis.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),this.media&&this.hls.config.renderTextTracksNatively){let t=null;var i=Eg(this.media.textTracks);for(let e=0;e{yg(e)}))}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){var i,{id:r,groupId:s,details:a}=t,n=this.tracksInGroup[r];n&&n.groupId===s?(i=n.details,n.details=t.details,this.log(`Subtitle track ${r} "${n.name}" lang:${n.lang} group:${s} loaded [${a.startSN}-${a.endSN}]`),r===this.trackId&&this.playlistLoaded(r,t,i)):this.warn(`Subtitle track with id:${r} and group:${s} not found in active group `+(null==n?void 0:n.groupId))}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(s){s=this.hls.levels[s];if(s){let t=s.subtitleGroups||null,i=this.groupIds,r=this.currentTrack;if(!t||(null==i?void 0:i.length)!==(null==t?void 0:t.length)||null!=t&&t.some(e=>-1===(null==i?void 0:i.indexOf(e)))){this.groupIds=t,this.trackId=-1,this.currentTrack=null;s=this.tracks.filter(e=>!t||-1!==t.indexOf(e.groupId));if(s.length)this.selectDefaultTrack&&!s.some(e=>e.default)&&(this.selectDefaultTrack=!1),s.forEach((e,t)=>{e.id=t});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=s;var a,n=this.hls.config.subtitlePreference;!r&&n&&(this.selectDefaultTrack=!1,a=sd(n,s),r=-1tf(t,e))[0])||this.warn(`Unable to find subtitle TextTrack with name "${t.name}" and language "${t.lang}"`),[].slice.call(e).forEach(e=>{"disabled"!==e.mode&&e!==i&&(e.mode="disabled")}),i&&(e=this.subtitleDisplay?"showing":"hidden",i.mode!==e)&&(i.mode=e)}}setSubtitleTrack(e){var t,i,r,s,a,n,o=this.tracksInGroup;this.media?e<-1||e>=o.length||!G(e)?this.warn("Invalid subtitle track id: "+e):(this.selectDefaultTrack=!1,t=this.currentTrack,o=o[e]||null,this.trackId=e,this.currentTrack=o,this.toggleTrackModes(),o?(n=!!o.details&&!o.details.live,e===this.trackId&&o===t&&n||(this.log("Switching to subtitle-track "+e+(o?` "${o.name}" lang:${o.lang} group:`+o.groupId:"")),{id:n,groupId:i="",name:r,type:s,url:a}=o,this.hls.trigger(X.SUBTITLE_TRACK_SWITCH,{id:n,groupId:i,name:r,type:s,url:a}),n=this.switchParams(o.url,null==t?void 0:t.details,o.details),this.loadPlaylist(n))):this.hls.trigger(X.SUBTITLE_TRACK_SWITCH,{id:e})):this.queuedDefaultTrack=e}}function Tg(e){let t=5381,i=e.length;for(;i;)t=33*t^e.charCodeAt(--i);return(t>>>0).toString()}let Sg=.025,kg=(e=>(e[e.Point=0]="Point",e[e.Range=1]="Range",e))({});class _g{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,null!=(e=this.assetListLoader)&&e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var t;return 0=this.assetList.length||(t=this.playoutLimit,!(e<=0||isNaN(t))&&(0===t||t<((null==(t=this.assetList[e])?void 0:t.startOffset)||0)))}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){var e=this.dateRange.startTime;if(this.snapOptions.out){var t=this.dateRange.tagAnchor;if(t)return Ag(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){var e,t;return!(0!==this.startTime&&!this.snapOptions.out)||!!(e=this.dateRange.tagAnchor)&&(t=this.dateRange.startTime)-Ag(t,e)<.1}get resumptionOffset(){var e=this.resumeOffset,e=G(e)?e:this.duration;return this.cumulativeDuration+e}get resumeTime(){var e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){var t=this.resumeAnchor;if(t)return Ag(e,t)}return e}get appendInPlace(){return!!this.appendInPlaceStarted||!this.appendInPlaceDisabled&&!(this.cue.once||this.cue.pre||!this.startIsAligned||!(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)":e.cue.post?"":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`;var e}}function Ag(e,t){return e-t.start{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(X.PLAYOUT_LIMIT_REACHED,{})};let s=this.hls=new e(t);this.interstitial=i,this.assetItem=r;e=()=>{this.hasDetails=!0};s.once(X.LEVEL_LOADED,e),s.once(X.AUDIO_TRACK_LOADED,e),s.once(X.SUBTITLE_TRACK_LOADED,e),s.on(X.MEDIA_ATTACHING,(e,{media:t})=>{this.removeMediaListeners(),this.mediaAttached=t,this.interstitial.playoutLimit&&(t.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace)&&s.on(X.BUFFER_APPENDED,()=>{var e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,s.trigger(X.BUFFERED_TO_END,void 0))})})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){var t=this.hls;if(t)if(t.url)t.levels.length&&!t.started&&t.startLoad(-1,!0);else{let e=this.assetItem.uri;try{e=Lg(e,t.config.primarySessionId||"").href}catch(e){}t.loadSource(e)}}bufferedInPlaceToEnd(e){var t,i;return!!this.appendInPlace&&(!(null==(t=this.hls)||!t.bufferedToEnd)||!!e&&(t=Math.min(this._bufferedEosTime||1/0,this.duration),i=this.timelineOffset,e=E.bufferInfo(e,i,0),t-.02<=this.getAssetTime(e.end)))}reachedPlayout(e){var t=this.interstitial.playoutLimit;return this.startOffset+e>=t}get destroyed(){var e;return!(null!=(e=this.hls)&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return(null==(e=this.hls)?void 0:e.media)||null}get bufferedEnd(){var e=this.media||this.mediaAttached;return e?(e=E.bufferInfo(e,e.currentTime,.001),this.getAssetTime(e.end)):this._bufferedEosTime||this.currentTime}get currentTime(){var e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){var e=this.assetItem.duration;if(!e)return 0;var t=this.interstitial.playoutLimit;if(t){t=t-this.startOffset;if(01/9e4&&this.hls)){if(this.hasDetails)throw new Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}getAssetTime(e){var t=this.timelineOffset,i=this.duration;return Math.min(Math.max(0,e-t),i)}removeMediaListeners(){var e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){var e;this.mediaAttached&&null!=(e=this.hls)&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),null!=(t=this.hls)&&t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),(this.mediaAttached=null)!=(e=this.hls)&&e.detachMedia()}resumeBuffering(){var e;null!=(e=this.hls)&&e.resumeBuffering()}pauseBuffering(){var e;null!=(e=this.hls)&&e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),(null==(e=this.hls)?void 0:e.transferMedia())||null}resetDetails(){var e,t=this.hls;t&&this.hasDetails&&(t.stopLoad(),t.levels.forEach(e=e=>delete e.details),t.allAudioTracks.forEach(e),t.allSubtitleTracks.forEach(e),this.hasDetails=!1)}on(e,t,i){var r;null!=(r=this.hls)&&r.on(e,t)}once(e,t,i){var r;null!=(r=this.hls)&&r.once(e,t)}off(e,t,i){var r;null!=(r=this.hls)&&r.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${Rg(this.assetItem)} ${null==(e=this.hls)?void 0:e.sessionId} `+(this.appendInPlace?"append-in-place":"")}}class Pg extends Il{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={},this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(i,r){return this.events?this.events.reduce((e,t)=>i<=t.startOffset&&r>t.startOffset?(delete t.error,e+1):e,0):0}get duration(){var e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let i=-1;e.nextEvent?i=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(i=this.findEventIndex(e.previousEvent.identifier)+1);var r,s=this.items;if(s)for(s[i]||(void 0===t&&(t=e.start),i=this.findItemIndexAtTime(t));0<=i&&null!=(r=s[i])&&r.event;)i--;return i}findItemIndexAtTime(i,r){var s=this.items;if(s)for(let t=0;te.start&&i!a.includes(e.identifier)):[];i.length&&i.sort((e,t)=>{var i=e.cue.pre,r=e.cue.post,s=t.cue.pre,a=t.cue.post;if(i&&!s)return-1;if(s&&!i)return 1;if(r&&!a)return 1;if(a&&!r)return-1;if(!(i||s||r||a)){i=e.startTime,s=t.startTime;if(i!==s)return i-s}return e.dateRange.tagOrder-t.dateRange.tagOrder}),this.events=i,t.forEach(e=>{this.removeEvent(e)}),this.updateSchedule(e,t)}updateSchedule(e,t=[],r=!1){var s=this.events||[];if(s.length||t.length||this.length<2){let i=this.items;s=this.parseSchedule(s,e);(r||t.length||(null==i?void 0:i.length)!==s.length||s.some((e,t)=>.005!(e.error||e.cue.once&&e.hasPlayed))).length){this.resolveOffsets(g,e);let p=0,f=0;g.forEach((e,t)=>{var i=e.cue.pre,r=e.cue.post,s=g[t-1]||null,a=e.appendInPlace,n=r?v:e.startOffset,o=e.duration,l=e.timelineOccupancy===kg.Range?o:0,h=(null==s?void 0:s.startTime)===n,d=n+e.cumulativeDuration;let c=a?d+o:n+e.resumptionOffset;if(i||!r&&n<=0){a=f,i=(f+=l,e.timelineStart=d,y);y+=o,m.push({event:e,start:d,end:c,playout:{start:i,end:y},integrated:{start:a,end:f}})}else{if(!(n<=v))return;h||(.033<(i=n-p)?(a=p,h=f,f+=i,u=y,y+=i,t={previousEvent:g[t-1]||null,nextEvent:e,start:a,end:a+i,playout:{start:u,end:y},integrated:{start:h,end:f}},m.push(t)):0v?v:h}),p{var i=e.cue.pre,r=e.cue.post,i=i?0:r?l:e.startTime,s=(this.updateAssetDurations(e),d===i),s=(s?e.cumulativeDuration=h:(h=0,d=i),!r&&e.snapOptions.in&&(e.resumeAnchor=ud(null,o.fragments,e.startOffset+e.resumptionOffset,0,0)||void 0),!e.appendInPlace||e.appendInPlaceStarted||this.primaryCanResumeInPlaceAt(e,n)||(e.appendInPlace=!1),!e.appendInPlace&&t+1Sg?(this.log(`"${s.identifier}" resumption ${n} not aligned with estimated timeline end `+e),!1):!Object.keys(a).some(e=>{var t,i=a[e].details,r=i.edge;return n>=r?(this.log(`"${s.identifier}" resumption ${n} past ${e} playlist end `+r),!1):(r=ud(null,i.fragments,n))?(t="audio"===e?.175:0,!(Math.abs(r.start-n){var e=e.data,s=null==e?void 0:e.ASSETS;Array.isArray(s)?(a.assetListResponse=e,this.hls.trigger(X.ASSET_LIST_LOADED,{event:a,assetListResponse:e,networkDetails:r})):(s=this.assignAssetListError(a,Y.ASSET_LIST_PARSING_ERROR,new Error("Invalid interstitial asset list"),i.url,t,r),this.hls.trigger(X.ERROR,s))},onError:(e,t,i,r)=>{e=this.assignAssetListError(a,Y.ASSET_LIST_LOAD_ERROR,new Error(`Error loading X-ASSET-LIST: HTTP status ${e.code} ${e.text} (${t.url})`),t.url,r,i);this.hls.trigger(X.ERROR,e)},onTimeout:(e,t,i)=>{t=this.assignAssetListError(a,Y.ASSET_LIST_LOAD_TIMEOUT,new Error(`Timeout loading X-ASSET-LIST (${t.url})`),t.url,e,i);this.hls.trigger(X.ERROR,t)}}),this.hls.trigger(X.ASSET_LIST_LOADING,{event:a}),e}assignAssetListError(e,t,i,r,s,a){return e.error=i,{type:q.NETWORK_ERROR,details:t,fatal:!1,interstitial:e,url:r,error:i,networkDetails:a,stats:s}}}function Og(e){null!=e&&null!=(e=e.play())&&e.catch(()=>{})}function Mg(e,t){return`[${e}] Advancing timeline position to `+t}class Fg extends Il{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{var t=this.currentTime;if(void 0!==t&&!this.playbackDisabled&&this.schedule){var i=t-this.timelinePos,r=Math.abs(i)<1/7056e5;if(!r){var r=i<=-.01,s=(-1!==this.timelinePos||this.effectivePlayingItem||this.checkStart(),this.timelinePos=t,this.bufferedPos=t,this.playingItem);if(s)if(r&&this.schedule.resetErrorsInRange(t,t-i)&&this.updateSchedule(!0),this.checkBuffer(),r&&t=s.end){i=this.findItemIndex(s);let e=this.schedule.findItemIndexAtTime(t);if(-1===e&&(e=i+(r?-1:1),this.log(`seeked ${r?"back ":""}to position not covered by schedule ${t} (resolving from ${i} to ${e})`)),!this.isInterstitial(s)&&null!=(a=this.media)&&a.paused&&(this.shouldPlay=!1),!r&&e>i){var a=this.schedule.findJumpRestrictedIndex(i+1,e);if(i{var e,t=this.currentTime;void 0===t||this.playbackDisabled||(-1!==this.timelinePos||this.effectivePlayingItem||this.checkStart(),t>this.timelinePos&&((this.timelinePos=t)>this.bufferedPos&&this.checkBuffer(),e=this.playingItem)&&!this.playingLastItem&&(t>=e.end&&(this.timelinePos=e.end,e=this.findItemIndex(e),this.setSchedulePosition(e+1)),e=this.playingAsset)&&e.timelineStart+(e.duration||0)<=t&&this.setScheduleToAssetAtTime(t,e))},this.onScheduleUpdate=(i,r)=>{var s=this.schedule;if(s){var a=this.playingItem,n=s.events||[],o=s.items||[],s=s.durations,l=i.map(e=>e.identifier),h=!(!n.length&&!l.length);(h||r)&&this.log(`INTERSTITIALS_UPDATED (${n.length}): ${n} Schedule: ${o.map(e=>Cg(e))} pos: `+this.timelinePos),l.length&&this.log("Removed events "+l);let e=null,t=null;a&&(e=this.updateItem(a,this.timelinePos),this.itemsMatch(a,e)?this.playingItem=e:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);var d=this.bufferingItem;d&&(t=this.updateItem(d,this.bufferedPos),this.itemsMatch(d,t)?this.bufferingItem=t:d.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(d.event,null))),i.forEach(e=>{e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,null)})}),this.playerQueue.forEach(t=>{if(t.interstitial.appendInPlace){var i=t.assetItem.timelineStart,r=t.timelineOffset-i;if(r)try{t.timelineOffset=i}catch(e){Math.abs(r)>Sg&&this.warn(`${e} ("${t.assetId}" ${t.timelineOffset}->${i})`)}}}),(h||r)&&(this.hls.trigger(X.INTERSTITIALS_UPDATED,{events:n.slice(0),schedule:o.slice(0),durations:s,removedIds:l}),this.isInterstitial(a)&&l.includes(a.event.identifier)?(this.warn(`Interstitial "${a.event.identifier}" removed while playing`),this.primaryFallback(a.event)):(a&&this.trimInPlace(e,a),d&&t!==e&&this.trimInPlace(t,d),this.checkBuffer()))}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new Dg(e),this.schedule=new Pg(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){var e=this.hls;e&&(e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(X.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(X.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(X.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(X.BUFFER_APPENDED,this.onBufferAppended,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(X.MEDIA_ENDED,this.onMediaEnded,this),e.on(X.ERROR,this.onError,this),e.on(X.DESTROYING,this.onDestroying,this))}unregisterListeners(){var e=this.hls;e&&(e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(X.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(X.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(X.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(X.BUFFER_CODECS,this.onBufferCodecs,this),e.off(X.BUFFER_APPENDED,this.onBufferAppended,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(X.MEDIA_ENDED,this.onMediaEnded,this),e.off(X.ERROR,this.onError,this),e.off(X.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;null!=(e=this.getBufferingPlayer())&&e.resumeBuffering()}pauseBuffering(){var e;null!=(e=this.getBufferingPlayer())&&e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){var e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){pu(e,"play",this.onPlay),pu(e,"pause",this.onPause),pu(e,"seeking",this.onSeeking),pu(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){t=this.media=t.media;uu(t,"seeking",this.onSeeking),uu(t,"timeupdate",this.onTimeupdate),uu(t,"play",this.onPlay),uu(t,"pause",this.onPause)}onMediaAttached(e,t){var i=this.effectivePlayingItem,r=this.detachedData;(this.detachedData=null)===i?this.checkStart():r||(this.clearScheduleState(),r=this.findItemIndex(i),this.setSchedulePosition(r))}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){var t=!!t.transferMedia,i=this.media;this.media=null,t||(i&&this.removeMediaListeners(i),this.detachedData&&((t=this.getBufferingPlayer())&&(this.log("Removing schedule state for detachedData and "+t),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,t.detachMedia()),this.shouldPlay=!1))}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let f=this,i=()=>f.bufferingItem||f.waitingItem,g=e=>e&&f.getAssetPlayer(e.identifier),m=(t,i,r,s,a)=>{if(t){let e=t[i].start;var n=t.event;return n?"playout"!==i&&n.timelineOccupancy===kg.Point||(null==(i=g(r))?void 0:i.interstitial)===n&&(e+=i.assetItem.startOffset+i[a]):(r="bufferedPos"===s?o():f[s],e+=r-t.start),e}return 0},o=()=>{var e=f.bufferedPos;return e===Number.MAX_VALUE?t("primary"):Math.max(e,0)},t=e=>{var t;return null!=(t=f.primaryDetails)&&t.live?f.primaryDetails.edge:(null==(t=f.schedule)?void 0:t.durations[e])||0},r=(i,r)=>{var s=f.effectivePlayingItem;if((null==s||null==(s=s.event)||!s.restrictions.skip)&&f.schedule){f.log(`seek to ${i} "${r}"`);var s=f.effectivePlayingItem,a=f.schedule.findItemIndexAtTime(i,r),n=null==(n=f.schedule.items)?void 0:n[a],t=f.getBufferingPlayer(),o=null==t?void 0:t.interstitial,o=null==o?void 0:o.appendInPlace,l=s&&f.itemsMatch(s,n);if(s&&(o||l)){var l=g(f.playingAsset),h=(null==l?void 0:l.media)||f.primaryMedia;if(h){var d="primary"===r?h.currentTime:m(s,r,f.playingAsset,"timelinePos","currentTime"),d=(o?d:h.currentTime)+(i-d);if(0<=d&&(!l||o||d<=l.duration))return void(h.currentTime=d)}}if(n){let e=i;"primary"!==r&&(l=n[r].start,e=n.start+(i-l));h=!f.isInterstitial(n);if(f.isInterstitial(s)&&!s.event.appendInPlace||!h&&!n.event.appendInPlace){if(s){d=f.findItemIndex(s);if(d=p.startOffset&&u{var e=f.effectivePlayingItem;return f.isInterstitial(e)||(e=i(),f.isInterstitial(e))?e:null},e={get bufferedEnd(){var e=i(),t=f.bufferingItem;return t&&t===e&&(m(t,"playout",f.bufferingAsset,"bufferedPos","bufferedEnd")-t.playout.start||(null==(e=f.bufferingAsset)?void 0:e.startOffset))||0},get currentTime(){var e=s(),t=f.effectivePlayingItem;return t&&t===e?m(t,"playout",f.effectivePlayingAsset,"timelinePos","currentTime")-t.playout.start:0},set currentTime(e){var t=s(),i=f.effectivePlayingItem;i&&i===t&&r(e+i.playout.start,"playout")},get duration(){var e=s();return e?e.playout.end-e.playout.start:0},get assetPlayers(){var e=null==(e=s())?void 0:e.event.assetList;return e?e.map(e=>f.getAssetPlayer(e.identifier)):[]},get playingIndex(){var e=null==(e=s())?void 0:e.event;return e&&f.effectivePlayingAsset?e.findAssetIndex(f.effectivePlayingAsset):-1},get scheduleItem(){return s()}};return this.manager={get events(){var e;return(null==(e=f.schedule)||null==(e=e.events)?void 0:e.slice(0))||[]},get schedule(){var e;return(null==(e=f.schedule)||null==(e=e.items)?void 0:e.slice(0))||[]},get interstitialPlayer(){return s()?e:null},get playerQueue(){return f.playerQueue.slice(0)},get bufferingAsset(){return f.bufferingAsset},get bufferingItem(){return i()},get bufferingIndex(){var e=i();return f.findItemIndex(e)},get playingAsset(){return f.effectivePlayingAsset},get playingItem(){return f.effectivePlayingItem},get playingIndex(){var e=f.effectivePlayingItem;return f.findItemIndex(e)},primary:{get bufferedEnd(){return o()},get currentTime(){var e=f.timelinePos;return 0{if(0!==e&&"primary"!==t&&null!=(i=f.schedule)&&i.length){var i=f.schedule.findItemIndexAtTime(e),r=null==(r=f.schedule.items)?void 0:r[i];if(r)return e+(r[t].start-r.start)}return e})((null==(e=f.primaryDetails)?void 0:e.fragmentStart)||0,"integrated")}},skip:()=>{var e,t=f.effectivePlayingItem,i=null==t?void 0:t.event;i&&!i.restrictions.skip&&(e=f.findItemIndex(t),i.appendInPlace?(t=t.playout.start+t.event.duration,r(t+.001,"playout")):f.advanceAfterAssetEnded(i,e,1/0))}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e=this.playingItem,t=null==(t=this.schedule)?void 0:t.items;return!!(this.playbackStarted&&e&&t)&&this.findItemIndex(e)===t.length-1}get playbackStarted(){return null!==this.effectivePlayingItem}get currentTime(){if(null!==this.mediaSelection){var t=this.waitingItem||this.playingItem;if(!this.isInterstitial(t)||t.event.appendInPlace){let e=this.media;t=null==(t=e=!e&&null!=(t=this.bufferingItem)&&null!=(t=t.event)&&t.appendInPlace?this.primaryMedia:e)?void 0:t.currentTime;if(void 0!==t&&G(t))return t}}}get primaryMedia(){var e;return this.media||(null==(e=this.detachedData)?void 0:e.media)||null}isInterstitial(e){return!(null==e||!e.event)}retreiveMediaSource(e,t){e=this.getAssetPlayer(e);e&&this.transferMediaFromPlayer(e,t)}transferMediaFromPlayer(e,t){var i=e.interstitial.appendInPlace,r=e.media;i&&r===this.primaryMedia?(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&r?this.detachedData={media:r}:(i=e.transferMedia(),this.log(`transfer MediaSource from ${e} `+B(i)),this.detachedData=i)):t&&r&&(this.shouldPlay||(this.shouldPlay=!r.paused))}transferMediaTo(s,a){if(s.media!==a){let e=null;var n=this.hls;let i=s!==n,r=i&&s.interstitial.appendInPlace;var o=null==(o=this.detachedData)?void 0:o.mediaSource;let t;t=n.media?(r&&(e=n.transferMedia(),this.detachedData=e),"Primary"):o?(l=this.getBufferingPlayer())?(e=l.transferMedia(),""+l):"detached MediaSource":"detached media",e||(o?(e=this.detachedData,this.log("using detachedData: MediaSource "+B(e))):this.detachedData&&n.media!==a||(1<(l=this.playerQueue).length&&l.forEach(e=>{var t;i&&e.interstitial.appendInPlace!==r&&(t=e.interstitial,this.clearInterstitial(e.interstitial,null),t.appendInPlace=!1,t.appendInPlace)&&this.warn("Could not change append strategy for queued assets "+t)}),this.hls.detachMedia(),this.detachedData={media:a}));var n=e&&"mediaSource"in e&&"closed"!==(null==(o=e.mediaSource)?void 0:o.readyState),l=n&&e?e:a,o=(this.log(`${n?"transfering MediaSource":"attaching media"} to ${i?s:"Primary"} from ${t} (media.currentTime: ${a.currentTime})`),this.schedule);l===e&&o&&(n=i&&s.assetId===o.assetIdAtEnd,l.overrides={duration:o.duration,endOfStream:!i||n,cueRemoval:!i}),s.attachMedia(l)}}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){var e,t,i=this.schedule,r=null==i?void 0:i.events;r&&!this.playbackDisabled&&this.media&&(-1===this.bufferedPos&&(this.bufferedPos=0),t=this.timelinePos,e=this.effectivePlayingItem,-1===t?(t=this.hls.startPosition,this.timelinePos=t,0===r.length?this.setSchedulePosition(0):r[0].cue.pre?(this.log(Mg("checkStart (preroll)",t)),r=i.findEventIndex(r[0].identifier),this.setSchedulePosition(r)):0<=t||!this.primaryLive?(this.log(Mg("checkStart",t)),r=this.timelinePos=0{var e=e.interstitial,t=n.findEventIndex(e.identifier);(t=t.end)&&(e=this.getPrimaryResumption(t,i),this.log(Mg("resumePrimary",e)),this.timelinePos=e),this.attachPrimary(e,t)}e&&(e=null==(r=this.schedule)?void 0:r.items)&&(this.log("INTERSTITIALS_PRIMARY_RESUMED "+Cg(t)),this.hls.trigger(X.INTERSTITIALS_PRIMARY_RESUMED,{schedule:e.slice(0),scheduleIndex:i}),this.checkBuffer())}getPrimaryResumption(e,t){e=e.start;if(this.primaryLive){var i=this.primaryDetails;if(0===t)return this.hls.startPosition;if(i&&(ei.edge))return this.hls.liveSyncPosition||-1}return e}isAssetBuffered(e){var t=this.getAssetPlayer(e.identifier);return null!=t&&t.hls?t.hls.bufferedToEnd:E.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,i){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;var r,t=this.primaryMedia;t&&((r=this.hls).media?this.checkBuffer():(this.transferMediaTo(r,t),i&&this.startLoadingPrimaryAt(e,i)),i||(this.log(Mg("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,i)))}startLoadingPrimaryAt(e,t){var i,r=this.hls;!r.loadingEnabled||!r.media||.5e&&(e.setAudioOption(t)||e.setAudioOption(i)))}onSubtitleTrackSwitch(e,t){let i=rd(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setSubtitleOption(t)||-1!==t.id&&e.setSubtitleOption(i)))}onBufferCodecs(e,t){t=t.tracks;t&&(this.requiredTracks=t)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){var i=this.playingItem;!i||this.itemsMatch(i,this.bufferingItem)||this.isInterstitial(i)||(i=this.timelinePos,this.bufferedPos=i,this.checkBuffer())}onBufferedToEnd(e){if(this.schedule){var t=this.schedule.events;if(this.bufferedPos{i.event.isAssetPastPlayoutLimit(t)&&this.clearAssetPlayer(e.identifier,null)}),t=i.end+.25,(r=E.bufferInfo(this.primaryMedia,t,0)).end>t||(r.nextStart||0)>t)&&(this.log(`trim buffered interstitial ${Cg(i)} (was ${Cg(e)})`),this.attachPrimary(t,null,!0),this.flushFrontBuffer(t))}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){return!!t&&(e===t||e.event.identifier===(null==(e=t.event)?void 0:e.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t,i=this.mediaSelection;i&&null!=(t=this.schedule)&&t.updateSchedule(i,[],e)}checkBuffer(e){var t,i=null==(i=this.schedule)?void 0:i.items;i&&(t=E.bufferInfo(this.primaryMedia,this.timelinePos,0),e&&(this.bufferedPos=this.timelinePos),e=e||t.len<1,this.updateBufferedPos(t.end,i,e))}updateBufferedPos(t,i,r){var s=this.schedule,a=this.bufferingItem;if(!(this.bufferedPos>t)&&s)if(1===i.length&&this.itemsMatch(i[0],a))this.bufferedPos=t;else{var n=this.playingItem,o=this.findItemIndex(n);let e=s.findItemIndexAtTime(t);if(this.bufferedPos=a.end||null!=(d=h.event)&&d.appendInPlace&&t+.01>=h.start)&&(e=l),this.isInterstitial(a)){var d=a.event;if(1s&&e>o?this.bufferedToItem(h):(l=this.primaryDetails,this.primaryLive&&l&&t>l.edge-l.targetduration&&h.start{e=this.getAssetPlayer(e.identifier);return!(null!=e&&e.bufferedInPlaceToEnd(t))})}setBufferingItem(e){var t=this.bufferingItem,r=this.schedule;if(!this.itemsMatch(e,t)&&r){var{items:i,events:s}=r;if(!i||!s)return t;var a=this.isInterstitial(e),n=this.getBufferingPlayer(),n=(this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos)),n?n.remaining:t?t.end-this.timelinePos:0);if(this.log("INTERSTITIALS_BUFFERED_TO_BOUNDARY "+Cg(e)+(t?` (${n.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(a){let i=r.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((e,t)=>{e=this.getAssetPlayer(e.identifier);e&&(t===i&&e.loadSource(),e.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(e=>e.pauseBuffering());this.hls.trigger(X.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:s.slice(0),schedule:i.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){var i=this.setBufferingItem(e);this.playbackDisabled||(this.isInterstitial(e)?this.bufferedToEvent(e,t):null!==i&&(this.bufferingAsset=null,(t=this.detachedData)&&t.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e)))}preloadPrimary(e){var t=this.findItemIndex(e),e=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(e)}bufferedToEvent(e,t){var e=e.event,i=0===e.assetList.length&&!e.assetListLoader,r=e.cue.once;!i&&r||null!=(i=this.preloadAssets(e,t))&&i.interstitial.appendInPlace&&(r=this.primaryMedia)&&this.bufferAssetPlayer(i,r)}preloadAssets(i,r){var s=i.assetUrl,a=i.assetList.length,n=0===a&&!i.assetListLoader,e=i.cue.once;if(n){n=i.timelineStart;i.appendInPlace&&(o=this.playingItem,this.isInterstitial(o)||(null==o||null==(o=o.nextEvent)?void 0:o.identifier)!==i.identifier||this.flushFrontBuffer(n+.25));let e,t=0;if(!(t=!this.playingItem&&this.primaryLive&&-1===(t=this.hls.startPosition)?this.hls.liveSyncPosition||0:t)||i.cue.pre||i.cue.post||0<(o=t-n)&&(e=Math.round(1e3*o)/1e3),this.log(`Load interstitial asset ${r+1}/${s?1:a} `+i+(e?` live-start: ${t} start-offset: `+e:"")),s)return this.createAsset(i,0,0,n,i.duration,s);var o=this.assetListLoader.loadAssetList(i,e);o&&(i.assetListLoader=o)}else if(!e&&a){for(let e=r;e{this.hls.trigger(X.BUFFER_FLUSHING,{startOffset:t,endOffset:1/0,type:e})}))}getAssetPlayerQueueIndex(t){var i=this.playerQueue;for(let e=0;e{var t,i,r;e.live?(t=new Error("Interstitials MUST be VOD assets "+s),i={fatal:!0,type:q.OTHER_ERROR,details:Y.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},r=(null==(r=this.schedule)?void 0:r.findEventIndex(s.identifier))||-1,this.handleAssetItemError(i,s,r,n,t.message)):(i=e.edge-e.fragmentStart,r=a.duration,(u||null===r||r `+i),a.duration=i,this.updateSchedule()))},f=(e.on(X.LEVEL_UPDATED,(e,{details:t})=>p(t)),e.on(X.LEVEL_PTS_UPDATED,(e,{details:t})=>p(t)),e.on(X.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter()),(e,t)=>{var i=this.getAssetPlayer(h);i&&t.tracks&&(i.off(X.BUFFER_CODECS,f),i.tracks=t.tracks,t=this.primaryMedia,this.bufferingAsset===i.assetItem)&&t&&!i.media&&this.bufferAssetPlayer(i,t)});e.on(X.BUFFER_CODECS,f);e.on(X.BUFFERED_TO_END,()=>{var e,t=this.getAssetPlayer(h);this.log("buffered to end of asset "+t),t&&this.schedule&&(t=this.schedule.findEventIndex(s.identifier),e=null==(e=this.schedule.items)?void 0:e[t],this.isInterstitial(e))&&this.advanceAssetBuffering(e,a)});r=t=>()=>{var e;this.getAssetPlayer(h)&&this.schedule&&(this.shouldPlay=!0,e=this.schedule.findEventIndex(s.identifier),this.advanceAfterAssetEnded(s,e,t))};return e.once(X.MEDIA_ENDED,r(n)),e.once(X.PLAYOUT_LIMIT_REACHED,r(1/0)),e.on(X.ERROR,(e,t)=>{var i;if(this.schedule)return i=this.getAssetPlayer(h),t.details===Y.BUFFER_STALLED_ERROR?null!=i&&i.appendInPlace?void this.handleInPlaceStall(s):(this.onTimeupdate(),void this.checkBuffer(!0)):void this.handleAssetItemError(t,s,this.schedule.findEventIndex(s.identifier),n,`Asset player error ${t.error} `+s)}),e.on(X.DESTROYING,()=>{var e,t;this.getAssetPlayer(h)&&this.schedule&&(e=new Error("Asset player destroyed unexpectedly "+h),t={fatal:!0,type:q.OTHER_ERROR,details:Y.INTERSTITIAL_ASSET_ITEM_ERROR,error:e},this.handleAssetItemError(t,s,this.schedule.findEventIndex(s.identifier),n,e.message))}),this.log("INTERSTITIAL_ASSET_PLAYER_CREATED "+Rg(a)),this.hls.trigger(X.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:a,assetListIndex:n,event:s,player:e}),e}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset()}clearAssetPlayers(e,t){e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,t)})}resetAssetPlayer(e){var t=this.getAssetPlayerQueueIndex(e);-1!==t&&(this.log(`reset asset player "${e}" after error`),e=this.playerQueue[t],this.transferMediaFromPlayer(e,null),e.resetDetails())}clearAssetPlayer(e,t){var i,e=this.getAssetPlayerQueueIndex(e);-1!==e&&(i=this.playerQueue[e],this.log(`clear ${i} toSegment: `+(t&&Cg(t))),this.transferMediaFromPlayer(i,t),this.playerQueue.splice(e,1),i.destroy())}emptyPlayerQueue(){for(var e;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,i,r,s){var{interstitial:a,assetItem:n,assetId:o}=e,l=a.assetList.length,h=this.playingAsset;this.endedAsset=null,this.playingAsset=n,h&&h.identifier===o||(h&&(this.clearAssetPlayer(h.identifier,i[r]),delete h.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${l} `+Rg(n)),this.hls.trigger(X.INTERSTITIAL_ASSET_STARTED,{asset:n,assetListIndex:t,event:a,schedule:i.slice(0),scheduleIndex:r,player:e})),this.bufferAssetPlayer(e,s)}bufferAssetPlayer(e,t){if(this.schedule){var{interstitial:i,assetItem:r}=e,s=this.schedule.findEventIndex(i.identifier),a=null==(a=this.schedule.items)?void 0:a[s];if(a){e.loadSource(),this.setBufferingItem(a),this.bufferingAsset=r;var a=this.getBufferingPlayer();if(a!==e){var n=i.appendInPlace;if(!n||!1!==(null==a?void 0:a.interstitial.appendInPlace)){a=(null==a?void 0:a.tracks)||(null==(a=this.detachedData)?void 0:a.tracks)||this.requiredTracks;if(n&&r!==this.playingAsset){if(!e.tracks)return void this.log("Waiting for track info before buffering "+e);if(a&&!Nl(a,e.tracks))return n=new Error(`Asset ${Rg(r)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(a)}')`),a={fatal:!0,type:q.OTHER_ERROR,details:Y.INTERSTITIAL_ASSET_ITEM_ERROR,error:n},r=i.findAssetIndex(r),void this.handleAssetItemError(a,i,s,r,n.message)}this.transferMediaTo(e,t)}}}}}handleInPlaceStall(e){var t,i,r,s,a,n=this.schedule,o=this.primaryMedia;n&&o&&(a=o.currentTime,t=n.findAssetIndex(e,a),r=e.assetList[t])&&(i=this.getAssetPlayer(r.identifier))&&(r=i.currentTime||a-r.timelineStart,s=i.duration-r,this.warn(`Stalled at ${r} of ${r+s} in ${i} ${e} (media.currentTime: ${a})`),r)&&(s/o.playbackRate<.5||i.bufferedInPlaceToEnd(o))&&i.hls&&(a=n.findEventIndex(e.identifier),this.advanceAfterAssetEnded(e,a,t))}advanceInPlace(e){var t=this.primaryMedia;t&&t.currentTime!e.error))for(let e=r;e{var i=parseFloat(e.DURATION);this.createAsset(n,t,s,r+s,i,e.URI),s+=i}),n.duration=s,this.log(`Loaded asset-list with duration: ${s} (was: ${l}) `+n);var l=this.waitingItem,l=(null==l?void 0:l.event.identifier)===o,h=(this.updateSchedule(),null==(a=this.bufferingItem)?void 0:a.event);if(l){var l=this.schedule.findEventIndex(o),d=null==(d=this.schedule.items)?void 0:d[l];if(d){if(!this.playingItem&&this.timelinePos>d.end)if(this.schedule.findItemIndexAtTime(this.timelinePos)!==l)return n.error=new Error(`Interstitial ${t.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} `+n),this.log(n.error.message),this.updateSchedule(!0),void this.primaryFallback(n);this.setBufferingItem(d)}this.setSchedulePosition(l)}else(null==h?void 0:h.identifier)===o&&(t=n.assetList[0])&&(d=this.getAssetPlayer(t.identifier),h.appendInPlace?(l=this.primaryMedia,d&&l&&this.bufferAssetPlayer(d,l)):d&&d.loadSource())}}onError(e,t){if(this.schedule)switch(t.details){case Y.ASSET_LIST_PARSING_ERROR:case Y.ASSET_LIST_LOAD_ERROR:case Y.ASSET_LIST_LOAD_TIMEOUT:var i=t.interstitial;i&&(this.updateSchedule(!0),this.primaryFallback(i));break;case Y.BUFFER_STALLED_ERROR:i=this.endedItem||this.waitingItem||this.playingItem;this.isInterstitial(i)&&i.event.appendInPlace?this.handleInPlaceStall(i.event):(this.log(`Primary player stall @${this.timelinePos} bufferedPos: `+this.bufferedPos),this.onTimeupdate(),this.checkBuffer(!0))}}}class Ng extends gu{constructor(e,t,i){super(e,t,i,"subtitle-stream-controller",_l),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();var e=this.hls;e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(X.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();var e=this.hls;e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(X.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(X.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(X.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=T.IDLE,this.setInterval(500),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,i){var{frag:i,success:r}=i;if(this.fragContextChanged(i)||(Jl(i)&&(this.fragPrevious=i),this.state=T.IDLE),r){var s=this.tracksBuffered[this.currentTrackId];if(s){let t;var a=i.start;for(let e=0;e=s[e].start&&a<=s[e].end){t=s[e];break}r=i.start+i.duration;t?t.end=r:(t={start:a,end:r},s.push(t)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null),this.media&&this.tick()}}}onBufferFlushing(e,t){var{startOffset:r,endOffset:s}=t;if(0===r&&s!==Number.POSITIVE_INFINITY){let i=s-1;i<=0||(t.endOffsetSubtitles=Math.max(0,i),this.tracksBuffered.forEach(t=>{for(let e=0;enew Qh(e)):(this.tracksBuffered=[],this.levels=t.map(e=>{e=new Qh(e);return this.tracksBuffered[e.id]=[],e}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,_l),this.fragPrevious=null,this.mediaBuffer=null)}onSubtitleTrackSwitch(e,t){this.currentTrackId=t.id,null!=(t=this.levels)&&t.length&&-1!==this.currentTrackId?(null!=(t=this.levels[this.currentTrackId])&&t.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,t&&this.state!==T.STOPPED&&this.setInterval(500)):this.clearInterval()}onSubtitleTrackLoaded(e,t){var{currentTrackId:i,levels:r}=this,{details:s,id:a}=t;if(r){var n=r[a];if(!(r.length<=a)&&n){this.log(`Subtitle track ${a} loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""},duration:`+s.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;let e=0;if(s.live||null!=(r=n.details)&&r.live){if(s.deltaUpdateFailed)return;r=this.mainDetails;if(!r)return void(this.startFragRequested=!1);var o,l=r.fragments[0];n.details?0===(e=this.alignPlaylists(s,n.details,null==(o=this.levelLastLoaded)?void 0:o.details))&&l&&eu(s,e=l.start):s.hasProgramDateTime&&r.hasProgramDateTime?(cu(s,r),e=s.fragmentStart):l&&eu(s,e=l.start),r&&!this.startFragRequested&&this.setStartPosition(r,e)}n.details=s,this.levelLastLoaded=n,a===i&&(this.hls.trigger(X.SUBTITLE_TRACK_UPDATED,{details:s,id:a,groupId:t.groupId}),this.tick(),s.live)&&!this.fragCurrent&&this.media&&this.state===T.IDLE&&!ud(null,s.fragments,this.media.currentTime,0)&&(this.warn("Subtitle playlist not aligned with playback"),n.details=void 0)}}else this.warn("Subtitle tracks were reset while loading level "+a)}_handleFragmentLoadComplete(e){let{frag:r,payload:t}=e;e=r.decryptdata;let s=this.hls;if(!this.fragContextChanged(r)&&t&&0{throw s.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:r}),e}).then(e=>{var t=performance.now();s.trigger(X.FRAG_DECRYPTED,{frag:r,payload:e,stats:{tstart:i,tdecrypt:t}})}).catch(e=>{this.warn(e.name+": "+e.message),this.state=T.IDLE})}}doTick(){if(this.media){if(this.state===T.IDLE){var{currentTrackId:t,levels:i}=this,t=null==i?void 0:i[t];if(t&&i.length&&t.details&&!this.waitForLive(t)){var i=this.config,r=this.getLoadPosition(),{end:r,len:s}=E.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,i.maxBufferHole),a=t.details,n=this.hls.maxBufferLength+a.levelTargetDuration;if(!(n{if(i-1<(t>>>=0))throw new DOMException(`Failed to execute '${e}' on 'TimeRanges': The index provided (${t}) is greater than the maximum bound (${i})`);return r[t][e]};this.buffered={get length(){return r.length},end(e){return t("end",e,r.length)},start(e){return t("start",e,r.length)}}}}let $g={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},Bg=e=>String.fromCharCode($g[e]||e),jg=100,Vg={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Gg={17:2,18:4,21:6,22:8,23:10,19:13,20:15},zg={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Hg={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Kg=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class Wg{constructor(){this.time=null,this.verboseLevel=0}log(e,t){this.verboseLevel>=e&&(t="function"==typeof t?t():t,z.log(this.time+` [${e}] `+t))}}function qg(t){var i=[];for(let e=0;ejg&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=jg)}moveCursor(e){var t=this.pos+e;if(1=jg?this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t"pacData = "+B(e));let t=e.row-1;if(this.nrRollUpRows&&t"bkgData = "+B(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){var e;null===this.nrRollUpRows?this.logger.log(3,"roll_up but nrRollUpRows not set yet"):(this.logger.log(1,()=>this.getDisplayText()),e=this.currRow+1-this.nrRollUpRows,(e=this.rows.splice(e,1)[0]).clear(),this.rows.splice(this.currRow,0,e),this.logger.log(2,"Rolling up"))}getDisplayText(t){t=t||!1;var i=[];let e="";var r;for(let e=0;e<15;e++){var s=this.rows[e].getTextString();s&&(r=e+1,i.push(t?"Row "+r+": '"+s+"'":s.trim()))}return e=0"MODE="+e),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(t){for(let e=0;ee+": "+this.writeScreen.getDisplayText(!0)),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(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"),"MODE_TEXT"!==this.mode&&(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(){var e;this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode&&(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){var t={flash:!1};t.underline=e%2==1,t.italics=46<=e,t.italics?t.foreground="white":(e=Math.floor(e/2)-16,t.foreground=["white","green","blue","cyan","red","yellow","magenta"][e]),this.logger.log(2,"MIDROW: "+B(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){var t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?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.cueStartTime=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)}}class em{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;var r=this.logger=new Wg;this.channels=[null,new Jg(e,t,r),new Jg(e+1,i,r)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,a){this.logger.time=e;for(let s=0;s"["+qg([a[s],a[s+1]])+"] -> ("+qg([e,t])+")");var n=this.cmdHistory;if(16<=e&&e<=31){if(o=e,l=t,(h=n).a===o&&h.b===l){tm(null,null,n),this.logger.log(3,()=>"Repeated command ("+qg([e,t])+") is dropped");continue}tm(e,t,this.cmdHistory),i=(i=(i=(i=this.parseCmd(e,t))||this.parseMidrow(e,t))||this.parsePAC(e,t))||this.parseBackgroundAttributes(e,t)}else tm(null,null,n);i||(r=this.parseChars(e,t))&&((o=this.currentChannel)&&0"Couldn't parse cleaned data "+qg([e,t])+" orig: "+qg([a[s],a[s+1]]))}}var o,l,h}parseCmd(e,t){var i,r;return((20===e||28===e||21===e||29===e)&&32<=t&&t<=47||(23===e||31===e)&&33<=t&&t<=35)&&(r=this.channels[i=20===e||21===e||23===e?1:2],20===e||21===e||28===e||29===e?32===t?r.ccRCL():33===t?r.ccBS():34===t?r.ccAOF():35===t?r.ccAON():36===t?r.ccDER():37===t?r.ccRU(2):38===t?r.ccRU(3):39===t?r.ccRU(4):40===t?r.ccFON():41===t?r.ccRDC():42===t?r.ccTR():43===t?r.ccRTD():44===t?r.ccEDM():45===t?r.ccCR():46===t?r.ccENM():47===t&&r.ccEOC():r.ccTO(t-32),this.currentChannel=i,!0)}parseMidrow(e,t){let i=0;var r;return(17===e||25===e)&&32<=t&&t<=47&&((i=17===e?1:2)!==this.currentChannel?(this.logger.log(0,"Mismatch channel in midrow parsing"),!1):!!(r=this.channels[i])&&(r.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+qg([e,t])+")"),!0))}parsePAC(e,t){let i;var r;return((17<=e&&e<=23||25<=e&&e<=31)&&64<=t&&t<=127||(16===e||24===e)&&64<=t&&t<=95)&&(r=e<=23?1:2,i=(64<=t&&t<=95?1==r?Vg:zg:1==r?Gg:Hg)[e],!!(e=this.channels[r]))&&(e.setPAC(this.interpretPAC(i,t)),this.currentChannel=r,!0)}interpretPAC(e,t){let i;e={color:null,italics:!1,indent:null,underline:!1,row:e};return i=95"Special char '"+Bg(e)+"' in channel "+i),r=[e]}else 32<=e&&e<=127&&(r=0===t?[e]:[e,t]);return r&&this.logger.log(3,()=>"Char codes = "+qg(r).join(",")),r}parseBackgroundAttributes(e,t){var i,r;return((16===e||24===e)&&32<=t&&t<=47||(23===e||31===e)&&45<=t&&t<=47)&&(r={},16===e||24===e?(i=Math.floor((t-32)/2),r.background=Kg[i],t%2==1&&(r.background=r.background+"_semi")):45===t?r.background="transparent":(r.foreground="black",47===t&&(r.underline=!0)),this.channels[e<=23?1:2].setBkgData(r),!0)}reset(){for(let e=0;e{if(null!=bc&&bc.VTTCue)return self.VTTCue;let b=["","lr","rl"],t=["start","middle","end","left","right"];function E(e,t){return"string"==typeof t&&!!Array.isArray(e)&&(t=t.toLowerCase(),!!~e.indexOf(t))&&t}function w(e){return E(t,e)}function T(e){let t=1;for(;t/gi,"\n")}class dm{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new rm,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let r=this;function i(){var e=r.buffer;let t=0;for(e=hm(e);t{let t=i;function e(){var e=sm(i);if(null===e)throw new Error("Malformed timestamp: "+t);return i=i.replace(/^[^\sa-zA-Z-]+/,""),e}function r(){i=i.replace(/^\s+/,"")}if(r(),s.startTime=e(),r(),"--\x3e"!==i.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+t);i=i.slice(3),r(),s.endTime=e(),r();{var n=i;let r=new am,e=(nm(n,function(t,i){let e;switch(t){case"region":for(let e=a.length-1;0<=e;e--)if(a[e].id===i){r.set(t,a[e].region);break}break;case"vertical":r.alt(t,i,["rl","lr"]);break;case"line":e=i.split(","),r.integer(t,e[0]),r.percent(t,e[0])&&r.set("snapToLines",!1),r.alt(t,e[0],["auto"]),2===e.length&&r.alt("lineAlign",e[1],["start",lm,"end"]);break;case"position":e=i.split(","),r.percent(t,e[0]),2===e.length&&r.alt("positionAlign",e[1],["start",lm,"end","line-left","line-right","auto"]);break;case"size":r.percent(t,i);break;case"align":r.alt(t,i,["start",lm,"end","left","right"])}},/:/,/\s/),s.region=r.get("region",null),s.vertical=r.get("vertical",""),r.get("line","auto")),t=("auto"===e&&-1===om.line&&(e=-1),s.line=e,s.lineAlign=r.get("lineAlign","start"),s.snapToLines=r.get("snapToLines",!0),s.size=r.get("size",100),s.align=r.get("align",lm),r.get("position","auto"));"auto"===t&&50===om.position&&(t="start"===s.align||"left"===s.align?0:"end"===s.align||"right"===s.align?100:50),s.position=t}})(e,r.cue,r.regionList)}catch(e){r.cue=null,r.state="BADCUE";continue}r.state="CUETEXT";continue;case"CUETEXT":var a=-1!==e.indexOf("--\x3e");if(!e||a&&(t=!0)){r.oncue&&r.cue&&r.oncue(r.cue),r.cue=null,r.state="ID";continue}if(null===r.cue)continue;r.cue.text&&(r.cue.text+="\n"),r.cue.text+=e;continue;case"BADCUE":e||(r.state="ID")}}}catch(e){"CUETEXT"===r.state&&r.cue&&r.oncue&&r.oncue(r.cue),r.cue=null,r.state="INITIAL"===r.state?"BADWEBVTT":"BADCUE"}return this}flush(){var t=this;try{if(!t.cue&&"HEADER"!==t.state||(t.buffer+="\n\n",t.parse()),"INITIAL"===t.state||"BADWEBVTT"===t.state)throw new Error("Malformed WebVTT signature.")}catch(e){t.onparsingerror&&t.onparsingerror(e)}return t.onflush&&t.onflush(),this}}function cm(e,t,i=0){return e.slice(i,i+t.length)===t}let um=/\r\n|\n\r|\n|\r/g;function pm(e,t,i){return Tg(e.toString())+Tg(t.toString())+Tg(i)}function fm(e,o,l,h,d,t,i){let r=new dm;var s,a,e=Ul(new Uint8Array(e)).trim().replace(um,"\n").split("\n");let c=[],u=o?([s,a=1]=[o.baseTime,o.timescale],Rp(s,xp,1/a)):0,n="00:00.000",p=0,f=0,g,m=!0;r.oncue=function(e){var i=l[h];let t=l.ccOffset;var r,s=(p-u)/9e4;if(null!=i&&i.new)if(void 0!==f)t=l.ccOffset=i.start;else{var a=l;i=h;var n=s;let e=a[i],t=a[e.prevCC];if(!t||!t.new&&e.new)a.ccOffset=a.presentationOffset=e.start,e.new=!1;else{for(;null!=(r=t)&&r.new;)a.ccOffset+=e.start-t.start,e.new=!1,t=a[(e=t).prevCC];a.presentationOffset=n}}if(s){if(!o)return void(g=new Error("Missing initPTS for VTT MPEGTS"));t=s-l.presentationOffset}i=e.endTime-e.startTime,n=Fp(9e4*(e.startTime+t-f),9e4*d)/9e4,e.startTime=Math.max(n,0),e.endTime=Math.max(n+i,0),s=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(s)),e.id||(e.id=pm(e.startTime,e.endTime,s)),0{if(m){if(cm(e,"X-TIMESTAMP-MAP=")){m=!1,e.slice(16).split(",").forEach(e=>{cm(e,"LOCAL:")?n=e.slice(6):cm(e,"MPEGTS:")&&(p=parseInt(e.slice(7)))});try{f=(e=>{var t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),r=parseInt(e.slice(-9,-7)),s=9Ul(e));[i,a,n=1,o=!1]=[i.baseTime,1,i.timescale];let t=Rp(i,a,1/n,o);try{e.forEach(e=>r(((e,a)=>{let t=new DOMParser,i=t.parseFromString(e,"text/xml"),r=i.getElementsByTagName("tt")[0];if(!r)throw new Error("Invalid ttml");let s={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},n=Object.keys(s).reduce((e,t)=>(e[t]=r.getAttribute("ttp:"+t)||s[t],e),{}),o="preserve"!==r.getAttribute("xml:space"),l=wm(Em(r,"styling","style")),h=wm(Em(r,"layout","region")),d=Em(r,"body","[begin]");return[].map.call(d,e=>{var t=function r(e,s){return[].slice.call(e.childNodes).reduce((e,t,i)=>"br"===t.nodeName&&i?e+"\n":null!=(i=t.childNodes)&&i.length?r(t,s):s?e+t.textContent.trim().replace(/\s+/g," "):e+t.textContent,"")}(e,o);if(!t||!e.hasAttribute("begin"))return null;var i=km(e.getAttribute("begin"),n),r=km(e.getAttribute("dur"),n);let s=km(e.getAttribute("end"),n);if(null===i)throw Sm(e);if(null===s){if(null===r)throw Sm(e);s=i+r}r=new im(i-a,s-a,t),r.id=pm(r.startTime,r.endTime,r.text),i=h[e.getAttribute("region")],t=((r,s,e)=>{let a="http://www.w3.org/ns/ttml#styling",n=null,t=null!=r&&r.hasAttribute("style")?r.getAttribute("style"):null;return t&&e.hasOwnProperty(t)&&(n=e[t]),["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"].reduce((e,t)=>{var i=Tm(s,a,t)||Tm(r,a,t)||Tm(n,a,t);return i&&(e[t]=i),e},{})})(i,l[e.getAttribute("style")],l),i=t.textAlign;return i&&((e=ym[i])&&(r.lineAlign=e),r.align=i),Q(r,t),r}).filter(e=>null!==e)})(e,t)))}catch(e){s(e)}}}function Em(e,t,i){e=e.getElementsByTagName(t)[0];return e?[].slice.call(e.querySelectorAll(i)):[]}function wm(e){return e.reduce((e,t)=>{var i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function Tm(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null}function Sm(e){return new Error("Could not parse ttml timestamp "+e)}function km(e,t){if(!e)return null;let i=sm(e);var r,s,a;return null===i&&(mm.test(e)?i=(r=e,s=t,r=mm.exec(r),a=(0|r[4])+(0|r[5])/s.subFrameRate,3600*(0|r[1])+60*(0|r[2])+(0|r[3])+a/s.frameRate):vm.test(e)&&(i=((e,t)=>{var e=vm.exec(e),i=Number(e[1]);switch(e=e[2]){case"h":return 3600*i;case"m":return 60*i;case"ms":return 1e3*i;case"f":return i/t.frameRate;case"t":return i/t.tickRate}return i})(e,t))),i}class _m{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(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class Am{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=Rm(),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(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(X.FRAG_LOADING,this.onFragLoading,this),e.on(X.FRAG_LOADED,this.onFragLoaded,this),e.on(X.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(X.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(X.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){var e=this.hls;e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(X.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(X.FRAG_LOADING,this.onFragLoading,this),e.off(X.FRAG_LOADED,this.onFragLoaded,this),e.off(X.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(X.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(X.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(X.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){var e=new _m(this,"textTrack1"),t=new _m(this,"textTrack2"),i=new _m(this,"textTrack3"),r=new _m(this,"textTrack4");this.cea608Parser1=new em(1,e,t),this.cea608Parser2=new em(3,i,r)}addCues(e,t,i,r,s){let a=!1;for(let e=s.length;e--;){var n=s[e],o=(l=n[0],o=n[1],h=t,Math.min(o,i)-Math.max(l,h));if(0<=o&&(n[0]=Math.min(n[0],t),n[1]=Math.max(n[1],i),a=!0,.5{this.initPTS[e.frag.cc]?this.onFragLoaded(X.FRAG_LOADED,e):this.hls.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:new Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(t,i){var r=this.media;if(r)for(let e=0;e{yg(t[e]),delete t[e]}),this.nonNativeCaptionsTracks={}}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Rm(),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(){var e=this.media;if(e){var t=e.textTracks;if(t)for(let e=0;ee.textCodec===gm);if(this.config.enableWebVTT||i&&this.config.enableIMSC1)if(Jp(this.tracks,t))this.tracks=t;else if(this.textTracks=[],this.tracks=t,this.config.renderTextTracksNatively){var i=this.media;let s=i?Eg(i.textTracks):null;this.tracks.forEach((i,e)=>{let r;if(s){let t=null;for(let e=0;enull!==e).map(e=>e.label)).length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${t.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}else this.tracks.length&&(i=this.tracks.map(e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e})),this.hls.trigger(X.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:i}))}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(e=>{var t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);t&&(t="textTrack"+t[1],t=this.captionsProperties[t])&&(t.label=e.name,e.lang&&(t.languageCode=e.lang),t.media=e)})}closedCaptionsForLevel(e){e=this.hls.levels[e.level];return null==e?void 0:e.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){var i,r,s,a,n;this.enabled&&t.frag.type===w&&({cea608Parser1:i,cea608Parser2:r,lastSn:s}=this,{cc:a,sn:n}=t.frag,t=null!=(t=null==(t=t.part)?void 0:t.index)?t:-1,i&&r&&(n!==s+1||n===s&&t!==this.lastPartIndex+1||a!==this.lastCc)&&(i.reset(),r.reset()),this.lastCc=a,this.lastSn=n,this.lastPartIndex=t)}onFragLoaded(e,t){var i,r,{frag:s,payload:a}=t;s.type===_l&&(a.byteLength?(i=s.decryptdata,r="stats"in t,null!=i&&i.encrypted&&!r||(i=this.tracks[s.level],(r=this.vttCCs)[s.cc]||(r[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc),i&&i.textCodec===gm?this._parseIMSC1(s,a):this._parseVTTs(t))):this.hls.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:new Error("Empty subtitle payload")}))}_parseIMSC1(t,e){let i=this.hls;bm(e,this.initPTS[t.cc],e=>{this._appendCues(e,t.level),i.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:t})},e=>{i.logger.log("Failed to parse IMSC1: "+e),i.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t,error:e})})}_parseVTTs(r){let e,{frag:s,payload:a}=r,{initPTS:t,unparsedVttFrags:n}=this,o=t.length-1;if(t[s.cc]||-1!=o){let i=this.hls;fm(null!=(e=s.initSegment)&&e.data?vh(s.initSegment.data,new Uint8Array(a)).buffer:a,this.initPTS[s.cc],this.vttCCs,s.cc,s.start,e=>{this._appendCues(e,s.level),i.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s})},e=>{var t="Missing initPTS for VTT MPEGTS"===e.message;t?n.push(r):this._fallbackToIMSC1(s,a),i.logger.log("Failed to parse VTT cue: "+e),t&&o>s.cc||i.trigger(X.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:e})})}else n.push(r)}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||bm(t,this.initPTS[e.cc],()=>{i.textCodec=gm,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,i){var t=this.hls;if(this.config.renderTextTracksNatively){let t=this.textTracks[i];t&&"disabled"!==t.mode&&e.forEach(e=>vg(t,e))}else{var r=this.tracks[i];r&&(r=r.default?"default":"subtitles"+i,t.trigger(X.CUES_PARSED,{type:"subtitles",cues:e,track:r}))}}onFragDecrypted(e,t){var i=t.frag;i.type===_l&&this.onFragLoaded(X.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(this.enabled&&this.config.enableCEA708Captions){var{frag:t,samples:i}=t;if(t.type!==w||"NONE"!==this.closedCaptionsForLevel(t))for(let e=0;ebg(t[e],i,r))}if(this.config.renderTextTracksNatively&&0===i&&void 0!==s){let t=this.textTracks;Object.keys(t).forEach(e=>bg(t[e],i,s))}}}extractCea608Data(t){var i=[[],[]],r=31&t[0];let s=2;for(let e=0;e"auto"===e.line||"auto"===t.line?0:8vg(t,e))),n}};let Cm=/(\d+)-(\d+)\/(\d+)/;class Dm{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||Om,this.controller=new self.AbortController,this.stats=new ql}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(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(s,a,e){let n=this.stats;if(n.loading.start)throw new Error("Loader can only be used once.");n.loading.start=self.performance.now();var t=((e,t)=>(t={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(Q({},e.headers))},e.rangeEnd&&t.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),t))(s,this.controller.signal);let o="arraybuffer"===s.responseType,l=o?"byteLength":"length",{maxTimeToFirstByteMs:i,maxLoadTimeMs:h}=a.loadPolicy;this.context=s,this.config=a,this.callbacks=e,this.request=this.fetchSetup(s,t),self.clearTimeout(this.requestTimeout),a.timeout=i&&G(i)?i:h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(n,s,this.response))},a.timeout),(Kp(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(e=>{this.response=this.loader=e;var t,i=Math.max(self.performance.now(),n.loading.start);if(self.clearTimeout(this.requestTimeout),a.timeout=h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(n,s,this.response))},h-(i-n.loading.start)),!e.ok)throw{status:r,statusText:t}=e,new Mm(t||"fetch, bad network response",r,e);n.loading.first=i,n.total=(e=>{var t=e.get("Content-Range");if(t){t=(e=>{if(e=Cm.exec(e))return parseInt(e[2])-parseInt(e[1])+1})(t);if(G(t))return t}if(t=e.get("Content-Length"))return parseInt(t)})(e.headers)||n.total;var r=null==(t=this.callbacks)?void 0:t.onProgress;return r&&G(a.highWaterMark)?this.loadProgressively(e,n,s,a.highWaterMark,r):o?e.arrayBuffer():"json"===s.responseType?e.json():e.text()}).then(e=>{var t=this.response;if(!t)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),n.loading.end=Math.max(self.performance.now(),n.loading.first);var i=e[l],i=(i&&(n.loaded=n.total=i),{url:t.url,data:e,code:t.status}),r=null==(r=this.callbacks)?void 0:r.onProgress;r&&!G(a.highWaterMark)&&r(n,s,e,t),null!=(r=this.callbacks)&&r.onSuccess(i,n,s,t)}).catch(e=>{var t,i,r;self.clearTimeout(this.requestTimeout),n.aborted||(i=e&&e.code||0,r=e?e.message:null,null!=(t=this.callbacks)&&t.onError({code:i,text:r},s,e?e.details:null,n))})}getCacheAge(){let e=null;var t;return this.response&&(t=this.response.headers.get("age"),e=t?parseFloat(t):null),e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(i,r,s,a=0,n){let o=new vu,e=i.body.getReader(),l=()=>e.read().then(e=>{var t;return e.done?(o.dataLength&&n(r,s,o.flush().buffer,i),Promise.resolve(new ArrayBuffer(0))):(t=(e=e.value).length,r.loaded+=t,t=a&&n(r,s,o.flush().buffer,i)):n(r,s,e.buffer,i),l())}).catch(()=>Promise.reject());return l()}}function Om(e,t){return new self.Request(e.url,t)}class Mm extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}let Fm=/^age:\s*[\d.]+\s*$/im;class Nm{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 ql,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){var e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState)&&(this.stats.aborted=!0,e.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){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=i,this.loadInternal()}loadInternal(){let{config:e,context:s}=this;if(e&&s){let i=this.loader=new self.XMLHttpRequest,r=this.stats,t=(r.loading.first=0,r.loaded=0,r.aborted=!1,this.xhrSetup);t?Promise.resolve().then(()=>{if(this.loader===i&&!this.stats.aborted)return t(i,s.url)}).catch(e=>{if(this.loader===i&&!this.stats.aborted)return i.open("GET",s.url,!0),t(i,s.url)}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,s,e)}).catch(e=>{var t;null!=(t=this.callbacks)&&t.onError({code:i.status,text:e.message},s,i,r)}):this.openAndSendXhr(i,s,e)}}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);var r=t.headers,{maxTimeToFirstByteMs:s,maxLoadTimeMs:a}=i.loadPolicy;if(r)for(var n in r)e.setRequestHeader(n,r[n]);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),i.timeout=s&&G(s)?s:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){var{context:e,loader:t,stats:i}=this;if(e&&t){var r=t.readyState,s=this.config;if(!i.aborted&&2<=r&&(0===i.loading.first&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),s.timeout!==s.loadPolicy.maxLoadTimeMs)&&(self.clearTimeout(this.requestTimeout),s.timeout=s.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start))),4===r)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var r=t.status,a="text"===t.responseType?t.responseText:null;if(200<=r&&r<300){var a=null!=a?a:t.response;if(null!=a)return i.loading.end=Math.max(self.performance.now(),i.loading.first),n="arraybuffer"===t.responseType?a.byteLength:a.length,i.loaded=i.total=n,i.bwEstimate=8e3*i.total/(i.loading.end-i.loading.first),(n=null==(n=this.callbacks)?void 0:n.onProgress)&&n(i,e,a,t),n={url:t.responseURL,data:a,code:r},void(null!=(a=this.callbacks)&&a.onSuccess(n,i,e,t))}var n,a=s.loadPolicy.errorRetry;wd(a,i.retry,!1,{url:e.url,data:void 0,code:r})?this.retry(a):(z.error(r+" while loading "+e.url),null!=(n=this.callbacks)&&n.onError({code:r,text:t.statusText},e,t,i))}}}loadtimeout(){var e;this.config&&(wd(e=this.config.loadPolicy.timeoutRetry,this.stats.retry,!0)?this.retry(e):(z.warn("timeout while loading "+(null==(e=this.context)?void 0:e.url)),(e=this.callbacks)&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))))}retry(e){var{context:t,stats:i}=this;this.retryDelay=bd(e,i.retry),i.retry++,z.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${i.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){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;var t;return this.loader&&Fm.test(this.loader.getAllResponseHeaders())&&(t=this.loader.getResponseHeader("age"),e=t?parseFloat(t):null),e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}let Um=b(b({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,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,ignorePlaylistParsingErrors:!1,loader:Nm,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:hd,bufferController:lf,capLevelController:cf,errorController:Pd,fpsController: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(X.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(X.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(X.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){var i=this.hls.config;i.capLevelOnFPSDrop&&(t=t.media instanceof self.HTMLVideoElement?t.media:null,(this.media=t)&&"function"==typeof t.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod))}onMediaDetaching(){this.media=null}checkFPS(e,t,i){var r,s,a,n,o=performance.now();t&&(this.lastTime&&(n=o-this.lastTime,r=i-this.lastDroppedFrames,s=t-this.lastDecodedFrames,n=1e3*r/n,(a=this.hls).trigger(X.FPS_DROP,{currentDropped:r,currentDecoded:s,totalDroppedFrames:i}),0a.config.fpsDroppedMonitoringThreshold*s&&(n=a.currentLevel,a.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+n),0=n)&&(n-=1,a.trigger(X.FPS_DROP_LEVEL_CAPPING,{level:n,droppedLevel:a.currentLevel}),a.autoLevelCapping=n,this.streamController.nextLevelSwitch()),this.lastTime=o,this.lastDroppedFrames=i,this.lastDecodedFrames=t)}checkFPSInterval(){var e,t=this.media;t&&(this.isVideoPlaybackQualityAvailable?(e=t.getVideoPlaybackQuality(),this.checkFPS(t,e.totalVideoFrames,e.droppedVideoFrames)):this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount))}},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:xc,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},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}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,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},{cueHandler:Pm,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:Ng,subtitleTrackController:wg,timelineController:Am,audioStreamController:Qp,audioTrackController:rf,emeController:ug,cmcdController: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=e=>{try{this.apply(e,{ot:uf.MANIFEST,su:!this.initialized})}catch(e){this.hls.logger.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{var{frag:t,part:i}=e,r=this.hls.levels[t.level],s=this.getObjectType(t),a={d:1e3*(i||t).duration,ot:s},n=(s!==uf.VIDEO&&s!==uf.AUDIO&&s!=uf.MUXED||(a.br=r.bitrate/1e3,a.tb=this.getTopBandwidth(s)/1e3,a.bl=this.getBufferLength(s)),i?this.getNextPart(i):this.getNextFrag(t));null!=n&&n.url&&n.url!==t.url&&(a.nor=n.url),this.apply(e,a)}catch(e){this.hls.logger.warn("Could not generate segment CMCD data.",e)}},this.hls=e;var t=this.config=e.config,i=t.cmcd;null!=i&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||e.sessionId,this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){var e=this.hls;e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHED,this.onMediaDetached,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){var e=this.hls;e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHED,this.onMediaDetached,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=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 i;this.audioBuffer=null==(i=t.tracks.audio)?void 0:i.buffer,this.videoBuffer=null==(i=t.tracks.video)?void 0:i.buffer}createData(){var e;return{v:1,sf:pf.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,i={}){Q(i,this.createData());var t=i.ot===uf.INIT||i.ot===uf.VIDEO||i.ot===uf.MUXED;this.starved&&t&&(i.bs=!0,i.su=!0,this.starved=!1),null==i.su&&(i.su=this.buffering);let r=this.includeKeys;r&&(i=Object.keys(i).reduce((e,t)=>(r.includes(t)&&(e[t]=i[t]),e),{}));t={baseUrl:e.url};this.useHeaders?(e.headers||(e.headers={}),sg(e.headers,i,t)):e.url=lg(e.url,i,t)}getNextFrag(e){var t=null==(t=this.hls.levels[e.level])?void 0:t.details;if(t)return e=e.sn-t.startSN,t.fragments[1+e]}getNextPart(e){var t,{index:i,fragment:e}=e,r=null==(t=this.hls.levels[e.level])||null==(t=t.details)?void 0:t.partList;if(r){var s=e.sn;for(let e=r.length-1;0<=e;e--){var a=r[e];if(a.index===i&&a.fragment.sn===s)return r[e+1]}}}getObjectType(e){var t=e.type;return"subtitle"===t?uf.TIMED_TEXT:"initSegment"===e.sn?uf.INIT:"audio"===t?uf.AUDIO:"main"===t?this.hls.audioTracks.length?uf.VIDEO:uf.MUXED:void 0}getTopBandwidth(e){let t=0,i;var r=this.hls;return(i=e===uf.AUDIO?r.audioTracks:(e=-1<(e=r.maxAutoLevel)?e+1:r.levels.length,r.levels.slice(0,e))).forEach(e=>{e.bitrate>t&&(t=e.bitrate)}),0(e[t]=$m(i[t]),e),{}):i}function Bm(e,t){var i=e.loader;i!==Dm&&i!==Nm?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):(()=>{if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1})()&&(e.loader=Dm,e.progressive=!0,e.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}class jm extends Zd{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;null!=(e=this.media)&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{var e;this.hls&&(this.ended=(null==(e=this.media)?void 0:e.currentTime)||1,this.hls.trigger(X.MEDIA_ENDED,{stalled:!1}))},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){var e=this.hls;e&&(e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){var e=this.hls;e&&(e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(100),this.mediaSource=t.mediaSource;t=this.media=t.media;uu(t,"playing",this.onMediaPlaying),uu(t,"waiting",this.onMediaWaiting),uu(t,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();var i=this.media;i&&(pu(i,"playing",this.onMediaPlaying),pu(i,"waiting",this.onMediaWaiting),pu(i,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return 0r.end(0)){var s=E.bufferedInfo(E.timeRangesToArray(this.buffered.audio),t,0);if(1=s.start){s=E.timeRangesToArray(r),r=E.bufferedInfo(s,i,0).bufferedIndex;if(-1 ${s} buffered index: `+i);this.warn(r.message),this.media.currentTime+=1e-6;let e=zm(t,this.fragmentTracker);e=e&&"fragment"in e?e.fragment:e||void 0;a=E.bufferInfo(this.media,t,0);this.hls.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:r,reason:r.message,frag:e,buffer:a.len,bufferInfo:a})}}}}}_tryFixBufferStall(e,t,i){var{fragmentTracker:r,media:s}=this,a=null==(a=this.hls)?void 0:a.config;if(s&&r&&a){s=null==(s=this.hls)?void 0:s.latestLevelDetails,r=zm(i,r);if(r||null!=s&&s.live&&ia.maxBufferHole||e.nextStart&&(e.nextStart-i1e3*a.highBufferWatchdogPeriod||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}}adjacentTraversal(e,t){var i=this.fragmentTracker,e=e.nextStart;if(i&&e){t=i.getFragAtPos(t,w),i=i.getFragAtPos(e,w);if(t&&i)return i.sn-t.sn<2}return!1}_reportStall(e){var{hls:t,media:i,stallReported:r,stalled:s}=this;!r&&null!==s&&i&&t&&(this.stallReported=!0,r=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${B(e)})`),this.warn(r.message),t.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len,bufferInfo:e,stalled:{start:s}}))}_trySkipBufferHole(i){var{fragmentTracker:r,media:e}=this,t=null==(t=this.hls)?void 0:t.config;if(e&&r&&t){var s=e.currentTime,a=E.bufferInfo(e,s,0),n=st.maxBufferHole){let e=!1;if(!(e=0===s&&(o=r.getAppendedFrag(0,w))&&n{var e=Hm();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class qm{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(X.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){var e=this.hls;e&&(e.on(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(X.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){var e=this.hls;e&&(e.off(X.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(X.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(X.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(X.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(X.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(X.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){this.media=t.media,!1===(null==(t=t.overrides)?void 0:t.cueRemoval)&&(this.removeCues=!1)}onMediaAttached(){var e=null==(e=this.hls)?void 0:e.latestLevelDetails;e&&this.updateDateRangeCues(e)}onMediaDetaching(e,t){this.media=null,!t.transferMedia&&(this.id3Track&&(this.removeCues&&yg(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){e=this.getID3Track(e.textTracks);return e.mode="hidden",e}getID3Track(t){if(this.media){for(let e=0;eWm?Wm:t)-l<=0&&(t=l+.25);for(let e=0;ee.type===Wu.audioId3&&i:"video"===a?e=>e.type===Wu.emsg&&t:e=>e.type===Wu.audioId3&&i||e.type===Wu.emsg&&t)}}}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){.01!a.includes(e));for(let e=d.length;e--;){var c,u=d[e];let t=null==(c=n[u])?void 0:c.cues;delete n[u],t&&Object.keys(t).forEach(e=>{e=t[e];if(e){e.removeEventListener("enter",this.onEventCueEnter);try{i.removeCue(e)}catch(e){}}})}}else n=this.dateRangeCuesAppended={};o=t.fragments[t.fragments.length-1];if(0!==a.length&&G(null==o?void 0:o.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let e=0;e{if(t!==i.id){t=s[t];if(t.class===i.class&&t.startDate>i.startDate&&(!e||i.startDate{var e,t,i,r=this.media,s=this.levelDetails;r&&s&&(this.currentTime=r.currentTime,null!==(e=this.computeLatency()))&&(this._latency=e,{lowLatencyMode:t,maxLiveSyncPlaybackRate:i}=this.config,t)&&1!==i&&s.live&&null!==(t=this.targetLatency)&&((e=e-t){e.loadError=0,e.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 d=this.hls.config.preferManagedMediaSource,c=[],u={},p={},f=!1,g=!1,m=!1;t.levels.forEach(e=>{var t=e.attrs;let{audioCodec:i,videoCodec:r}=e;i&&(e.audioCodec=i=Oh(i,d)||void 0),r=r&&(e.videoCodec=(e=>{var t=e.split(",");for(let e=0;e(!!e||!(!i||!r))&&!!(e=t)&&-1{if(this.hls){let e="no level with compatible codecs found in manifest",t=e;r.levels.length&&(t="one or more CODECS in variant not supported: "+B(r.levels.map(e=>e.attrs.CODECS).filter((e,t,i)=>i.indexOf(e)===t)),this.warn(t),e+=` (${t})`);var i=new Error(e);this.hls.trigger(X.ERROR,{type:q.MEDIA_ERROR,details:Y.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:r.url,error:i,reason:t})}}),e.end=performance.now();else{r.audioTracks&&Qm(n=r.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),r.subtitles&&Qm(o=r.subtitles);var h=l.slice(0);l.sort((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return Hh.indexOf(e.videoRange)-Hh.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){var i=Ih(e.videoCodec),r=Ih(t.videoCodec);if(i!==r)return r-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){r=Ph(e.codecSet),i=Ph(t.codecSet);if(r!==i)return i-r}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0});let t=h[0];if(this.steering&&(l=this.steering.filterParsedLevels(l)).length!==h.length)for(let e=0;e!!e.url)};e.end=performance.now(),this.hls.trigger(X.MANIFEST_PARSED,p)}}get levels(){return 0===this._levels.length?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){var t=this._levels;if(0!==t.length){if(e<0||e>=t.length){var i=new Error("invalid level idx"),r=e<0;if(this.hls.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.LEVEL_SWITCH_ERROR,level:e,fatal:r,error:i,reason:i.message}),r)return;e=Math.min(e,t.length-1)}var i=this.currentLevelIndex,r=this.currentLevel,s=r?r.attrs["PATHWAY-ID"]:void 0,t=t[e],a=t.attrs["PATHWAY-ID"];this.currentLevelIndex=e,this.currentLevel=t,i===e&&r&&s===a||(this.log(`Switching to level ${e} (${t.height?t.height+"p ":""}${t.videoRange?t.videoRange+" ":""}${t.codecSet?t.codecSet+" ":""}@${t.bitrate})${a?" with Pathway "+a:""} from level `+i+(s?" with Pathway "+s:"")),a={level:e,attrs:t.attrs,details:t.details,bitrate:t.bitrate,averageBitrate:t.averageBitrate,maxBitrate:t.maxBitrate,realBitrate:t.realBitrate,width:t.width,height:t.height,codecSet:t.codecSet,audioCodec:t.audioCodec,videoCodec:t.videoCodec,audioGroups:t.audioGroups,subtitleGroups:t.subtitleGroups,loaded:t.loaded,loadError:t.loadError,fragmentError:t.fragmentError,name:t.name,id:t.id,uri:t.uri,url:t.url,urlId:0,audioGroupIds:t.audioGroupIds,textGroupIds:t.textGroupIds},this.hls.trigger(X.LEVEL_SWITCHING,a),(i=t.details)&&!i.live)||(s=this.switchParams(t.uri,null==r?void 0:r.details,i),this.loadPlaylist(s))}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){var e;return void 0===this._startLevel?void 0!==(e=this.hls.config.startLevel)?e:this.hls.firstAutoLevel:this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways();var i=e.filter(e=>-1!==t.indexOf(e));e.length<1?this.warn(`pathwayPriority ${e} should contain at least one pathway from list: `+t):this.steering.pathwayPriority=i}}onError(e,t){!t.fatal&&t.context&&t.context.type===wl&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:i}){if(void 0!==i&&i.type===w){let t=i.elementaryStreams;Object.keys(t).some(e=>!!t[e])&&null!=(i=this._levels[i.level])&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var{level:i,details:r}=t,s=t.levelInfo;if(s)if(s===this.currentLevel||t.withoutMultiVariant){0===s.fragmentError&&(s.loadError=0);let e=s.details;e===t.details&&e.advanced&&(e=void 0),this.playlistLoaded(i,t,e)}else null!=(s=t.deliveryDirectives)&&s.skip&&(r.deltaUpdateFailed=!0);else this.warn("Invalid level index "+i),null!=(s=t.deliveryDirectives)&&s.skip&&(r.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);var i=this.getUrlWithDirectives(e.uri,t),r=this.currentLevelIndex,s=e.attrs["PATHWAY-ID"],a=e.details,n=null==a?void 0:a.age;this.log(`Loading level index ${r}${void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:""}${s?" Pathway "+s:""}${n&&a.live?" age "+n.toFixed(1)+(a.type?" "+a.type||0:""):""} `+i),this.hls.trigger(X.LEVEL_LOADING,{url:i,level:r,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(i){var e,t;1!==this._levels.length&&(au(e=this._levels.filter((e,t)=>t!==i||(this.steering&&this.steering.removeLevel(e),e===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,e.details)&&e.details.fragments.forEach(e=>e.level=-1),!1))),this._levels=e,-1{var t=e.groupId||"";e.id=i[t]=i[t]||0,i[t]++})}function Zm(){return self.SourceBuffer||self.WebKitSourceBuffer}function Jm(){var e;return!!Fl()&&(!(e=Zm())||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove)}class ev extends gu{constructor(e,t,i){super(e,t,i,"stream-controller",w),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{var e=this.media,t=e?e.currentTime:null;null!==t&&G(t)&&(this.log("Media seeked to "+t.toFixed(3)),this.getBufferedFrag(t))&&(null===(e=this.getFwdBufferInfoAtPos(e,t,w,0))||0===e.len?this.warn(`Main forward buffer length at ${t} on "seeked" event ${e?e.len:"empty"})`):this.tick())},this.registerListeners()}registerListeners(){super.registerListeners();var e=this.hls;e.on(X.MANIFEST_PARSED,this.onManifestParsed,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.LEVEL_LOADED,this.onLevelLoaded,this),e.on(X.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(X.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(X.BUFFER_CREATED,this.onBufferCreated,this),e.on(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(X.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();var e=this.hls;e.off(X.MANIFEST_PARSED,this.onManifestParsed,this),e.off(X.LEVEL_LOADED,this.onLevelLoaded,this),e.off(X.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(X.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(X.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(X.BUFFER_CREATED,this.onBufferCreated,this),e.off(X.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(X.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){var{lastCurrentTime:i,hls:r}=this;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){let e=r.startLevel;-1===e&&(r.config.testBandwidth&&1r.end&&(this.backtrackFragment=null);var n,o,t=this.backtrackFragment?this.backtrackFragment.start:r.end;let e=this.getNextFragment(t,a);this.couldBacktrack&&!this.fragPrevious&&e&&Jl(e)&&this.fragmentTracker.getState(e)!==Fd?(n=(null!=(n=this.backtrackFragment)?n:e).sn-a.startSN,(n=a.fragments[n-1])&&e.cc===n.cc&&(e=n,this.fragmentTracker.removeFragment(n))):this.backtrackFragment&&r.len&&(this.backtrackFragment=null),e&&this.isLoopLoading(e,t)&&(e.gap||(o=((n=this.audioOnly&&!this.altAudio?Yl:Xl)===Xl?this.videoBuffer:this.mediaBuffer)||this.media)&&this.afterBufferFlushed(o,n,w),e=this.getNextFragmentLoopLoading(e,a,r,w,i)),!e||this.exceedsMaxBuffer(r,i,e)||(!e.initSegment||e.initSegment.data||this.bitrateTest||(e=e.initSegment),this.loadFragment(e,s,t))}}}}}}}loadFragment(e,t,i){var r=this.fragmentTracker.getState(e);r===Dd||r===Md?Jl(e)?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)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,w)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){var e;this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY),0!==this.altAudio&&((null==(e=this.getLevelDetails())?void 0:e.fragmentStart)||0)>this.lastCurrentTime&&super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio")}nextLevelSwitch(){var{levels:t,media:i}=this;if(null!=i&&i.readyState){let e;var r=this.getAppendedFrag(i.currentTime),r=(r&&1=s-a.maxFragLookUpTolerance&&i<=r,null!==t)&&n.duration>t&&(i{this.hls&&this.hls.trigger(X.AUDIO_TRACK_SWITCHED,t)}),r.trigger(X.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null})):r.trigger(X.AUDIO_TRACK_SWITCHED,t))}onAudioTrackSwitched(e,t){var i,t=ld(t.url,this.hls);t&&(i=this.videoBuffer)&&this.mediaBuffer!==i&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=i),this.altAudio=t?2:0,this.tick()}onBufferCreated(e,t){var i,r=t.tracks;let s,a,n=!1;for(i in r){var o=r[i];"main"===o.id?(a=i,s=o,"video"===i&&(o=r[i])&&(this.videoBuffer=o.buffer)):n=!0}n&&s?(this.log(`Alternate track found, use ${a}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){var{frag:t,part:i}=t,r=t.type===w;if(r){if(this.fragContextChanged(t))return this.warn(`Fragment ${t.sn}${i?" p: "+i.index:""} of level ${t.level} finished buffering, but was aborted. state: `+this.state),void(this.state===T.PARSED&&(this.state=T.IDLE));var s=(i||t).stats;this.fragLastKbps=Math.round(8*s.total/(s.buffering.end-s.loading.first)),Jl(t)&&(this.fragPrevious=t),this.fragBufferedComplete(t,i)}s=this.media;s&&(!this._hasEnoughToStart&&E.getBuffered(s).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),r)&&this.tick()}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var i;if(t.fatal)this.state=T.ERROR;else switch(t.details){case Y.FRAG_GAP:case Y.FRAG_PARSING_ERROR:case Y.FRAG_DECRYPT_ERROR:case Y.FRAG_LOAD_ERROR:case Y.FRAG_LOAD_TIMEOUT:case Y.KEY_LOAD_ERROR:case Y.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(w,t);break;case Y.LEVEL_LOAD_ERROR:case Y.LEVEL_LOAD_TIMEOUT:case Y.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==T.WAITING_LEVEL||(null==(i=t.context)?void 0:i.type)!==wl||(this.state=T.IDLE);break;case Y.BUFFER_ADD_CODEC_ERROR:case Y.BUFFER_APPEND_ERROR:"main"===t.parent&&this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case Y.BUFFER_FULL_ERROR:"main"===t.parent&&this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,Number.POSITIVE_INFINITY));break;case Y.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onFragLoadEmergencyAborted(){this.state=T.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){var i;t===Yl&&this.altAudio||(i=(t===Xl?this.videoBuffer:this.mediaBuffer)||this.media)&&(this.afterBufferFlushed(i,t,w),this.tick())}onLevelsUpdated(e,t){-1{var t,i=this.hls,r=null==e?void 0:e.frag;r&&!this.fragContextChanged(r)&&(s.fragmentError=0,this.state=T.IDLE,this.startFragRequested=!1,this.bitrateTest=!1,(t=r.stats).parsing.start=t.parsing.end=t.buffering.start=t.buffering.end=self.performance.now(),i.trigger(X.FRAG_LOADED,e),r.bitrateTest=!1)}).catch(e=>{this.state!==T.STOPPED&&this.state!==T.ERROR&&(this.warn(e),this.resetFragmentLoading(t))})}_handleTransmuxComplete(e){var t=this.playlistType,i=this.hls,{remuxResult:e,chunkMeta:r}=e,s=this.getCurrentContext(r);if(s){var{frag:s,part:a,level:n}=s,{video:o,text:l,id3:h,initSegment:d}=e,c=n.details,u=this.altAudio?void 0:e.audio;if(this.fragContextChanged(s))this.fragmentTracker.removeFragment(s);else{if(this.state=T.PARSING,d){var p=d.tracks;if(p){var f=s.initSegment||s;if(this.unhandledEncryptionError(d,s))return;this._bufferInitSegment(n,p,f,r),i.trigger(X.FRAG_PARSING_INIT_SEGMENT,{frag:f,id:t,tracks:p})}var n=d.initPTS,f=d.timescale,p=this.initPTS[s.cc];!G(n)||p&&p.baseTime===n&&p.timescale===f||(p=d.trackId,this.initPTS[s.cc]={baseTime:n,timescale:f,trackId:p},i.trigger(X.INIT_PTS_FOUND,{frag:s,id:t,initPTS:n,timescale:f,trackId:p}))}if(o&&c){u&&"audiovideo"===o.type&&this.logMuxedErr(s);var d=c.fragments[s.sn-1-c.startSN],n=s.sn===c.startSN,f=!d||s.cc>d.cc;if(!1!==e.independent){var{startPTS:p,endPTS:d,startDTS:e,endDTS:g}=o;if(a)a.elementaryStreams[o.type]={startPTS:p,endPTS:d,startDTS:e,endDTS:g};else if(o.firstKeyFrame&&o.independent&&1===r.id&&!f&&(this.couldBacktrack=!0),o.dropped&&o.independent){var m=this.getMainFwdBufferInfo(),m=(m?m.end:this.getLoadPosition())+this.config.maxBufferHole,v=o.firstKeyFramePTS||p;if(!n&&m{var t=i[e].initSegment;null!=t&&t.byteLength&&this.hls.trigger(X.BUFFER_APPENDING,{type:e,data:t,frag:r,part:null,chunkMeta:s,parent:r.type})})}this.tickImmediate()}}getMainFwdBufferInfo(){var e=this.mediaBuffer&&2===this.altAudio?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,w)}get maxBufferLength(){var{levels:e,level:t}=this,e=null==e?void 0:e[t];return e?this.getMaxBufferLength(e.maxBitrate):this.config.maxBufferLength}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=T.IDLE}checkFragmentChanged(){var e,t=this.media;let i=null;t&&1{if(this.emeController)return t.setKeyFormat(e),(e=_c(e))?this.emeController.getKeySystemAccess([e]):void 0})}if(this.config.requireKeySystemAccessOnStart){var e=Lc(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}}return null}load(t){return!t.decryptdata&&t.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(t).then(e=>this.loadInternal(t,e)):this.loadInternal(t)}loadInternal(t,e){var i;e&&t.setKeyFormat(e);let r=t.decryptdata;if(!r)return e=new Error(e?"Expected frag.decryptdata to be defined after setting format "+e:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`),Promise.reject(this.createKeyLoadError(t,Y.KEY_LOAD_ERROR,e));e=r.uri;if(!e)return Promise.reject(this.createKeyLoadError(t,Y.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${e}"`)));e=iv(r);let s=this.keyIdToKeyInfo[e];if(null!=(i=s)&&i.decryptdata.key)return r.key=s.decryptdata.key,Promise.resolve({frag:t,keyInfo:s});if(this.emeController&&null!=(i=s)&&i.keyLoadPromise)switch(this.emeController.getKeyStatus(s.decryptdata)){case"usable":case"usable-in-future":return s.keyLoadPromise.then(e=>{e=e.keyInfo;return r.key=e.decryptdata.key,{frag:t,keyInfo:e}})}switch(this.log(`${this.keyIdToKeyInfo[e]?"Rel":"L"}oading${r.keyId?" keyId: "+$l(r.keyId):""} URI: ${r.uri} from ${t.type} `+t.level),s=this.keyIdToKeyInfo[e]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===r.keyFormat?this.loadKeyHTTP(s,t):this.loadKeyEME(s,t);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(s,t);default:return Promise.reject(this.createKeyLoadError(t,Y.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(t,i){let r={frag:i,keyInfo:t};if(this.emeController&&this.config.emeEnabled){if(!t.decryptdata.keyId&&null!=(s=i.initSegment)&&s.data){var s=(e=>{let t=[];return fh(e,e=>t.push(e.subarray(8,24))),t})(i.initSegment.data);if(s.length){let e=s[0];e.some(e=>0!==e)?(this.log("Using keyId found in init segment "+$l(e)),Pc.setKeyIdForUri(t.decryptdata.uri,e)):(e=Pc.addKeyIdForUri(t.decryptdata.uri),this.log("Generating keyId to patch media "+$l(e))),t.decryptdata.keyId=e}}return t.decryptdata.keyId||Jl(i)?(s=this.emeController.loadKey(r),(t.keyLoadPromise=s.then(e=>(t.mediaKeySessionContext=e,r))).catch(e=>{throw t.keyLoadPromise=null,"data"in e&&(e.data.frag=i),e})):Promise.resolve(r)}return Promise.resolve(r)}loadKeyHTTP(i,a){let r=this.config;let l=new r.loader(r);return a.keyLoader=i.loader=l,i.keyLoadPromise=new Promise((n,o)=>{let s={keyInfo:i,frag:a,responseType:"arraybuffer",url:i.decryptdata.uri};var e=r.keyLoadPolicy.default,e={loadPolicy:e,timeout:e.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},t={onSuccess:(e,t,i,r)=>{var{frag:i,keyInfo:s}=i,a=iv(s.decryptdata);if(!i.decryptdata||s!==this.keyIdToKeyInfo[a])return o(this.createKeyLoadError(i,Y.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),r));s.decryptdata.key=i.decryptdata.key=new Uint8Array(e.data),i.keyLoader=null,s.loader=null,n({frag:i,keyInfo:s})},onError:(e,t,i,r)=>{this.resetLoader(t),o(this.createKeyLoadError(a,Y.KEY_LOAD_ERROR,new Error(`HTTP Error ${e.code} loading key `+e.text),i,b({url:s.url,data:void 0},e)))},onTimeout:(e,t,i)=>{this.resetLoader(t),o(this.createKeyLoadError(a,Y.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),i))},onAbort:(e,t,i)=>{this.resetLoader(t),o(this.createKeyLoadError(a,Y.INTERNAL_ABORTED,new Error("key loading aborted"),i))}};l.load(s,e,t)})}resetLoader(e){var{frag:e,keyInfo:t,url:i}=e,r=t.loader,e=(e.keyLoader===r&&(e.keyLoader=null,t.loader=null),iv(t.decryptdata)||i);delete this.keyIdToKeyInfo[e],r&&r.destroy()}}function iv(e){if(e.keyFormat!==Tc){var t=e.keyId;if(t)return $l(t)}return e.uri}function rv(e){e=e.type;switch(e){case Tl:return kl;case Sl:return _l;default:return w}}function sv(e,t){let i=e.url;return i=void 0!==i&&0!==i.indexOf("data:")?i:t.url}class av{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){var e=this.hls;e.on(X.MANIFEST_LOADING,this.onManifestLoading,this),e.on(X.LEVEL_LOADING,this.onLevelLoading,this),e.on(X.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(X.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(X.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){var e=this.hls;e.off(X.MANIFEST_LOADING,this.onManifestLoading,this),e.off(X.LEVEL_LOADING,this.onLevelLoading,this),e.off(X.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(X.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(X.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){var t=this.hls.config,t=new(t.pLoader||t.loader)(t);return this.loaders[e.type]=t}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){t=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:El,url:t,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){var{id:t,level:i,pathwayId:r,url:s,deliveryDirectives:a,levelInfo:n}=t;this.load({id:t,level:i,pathwayId:r,responseType:"text",type:wl,url:s,deliveryDirectives:a,levelOrTrack:n})}onAudioTrackLoading(e,t){var{id:t,groupId:i,url:r,deliveryDirectives:s,track:a}=t;this.load({id:t,groupId:i,level:null,responseType:"text",type:Tl,url:r,deliveryDirectives:s,levelOrTrack:a})}onSubtitleTrackLoading(e,t){var{id:t,groupId:i,url:r,deliveryDirectives:s,track:a}=t;this.load({id:t,groupId:i,level:null,responseType:"text",type:Sl,url:r,deliveryDirectives:s,levelOrTrack:a})}onLevelsUpdated(e,i){var r=this.loaders[wl];if(r){let t=r.context;t&&!i.levels.some(e=>e===t.levelOrTrack)&&(r.abort(),delete this.loaders[wl])}}load(t){var i=this.hls.config;let e=this.getInternalLoader(t);if(e){var r=this.hls.logger,s=e.context;if(s&&s.levelOrTrack===t.levelOrTrack&&(s.url===t.url||s.deliveryDirectives&&!t.deliveryDirectives))return void(s.url===t.url?r.log(`[playlist-loader]: ignore ${t.url} ongoing request`):r.log(`[playlist-loader]: ignore ${t.url} in favor of `+s.url));r.log("[playlist-loader]: aborting previous loader for type: "+t.type),e.abort()}let a;if(a=t.type===El?i.manifestLoadPolicy.default:Q({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),e=this.createInternalLoader(t),G(null==(s=t.deliveryDirectives)?void 0:s.part)){let e;t.type===wl&&null!==t.level?e=this.hls.levels[t.level].details:t.type===Tl&&null!==t.id?e=this.hls.audioTracks[t.id].details:t.type===Sl&&null!==t.id&&(e=this.hls.subtitleTracks[t.id].details),e&&(r=e.partTarget,i=e.targetduration,r)&&i&&(s=1e3*Math.max(3*r,.8*i),a=Q({},a,{maxTimeToFirstByteMs:Math.min(s,a.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(s,a.maxTimeToFirstByteMs)}))}r=a.errorRetry||a.timeoutRetry||{},i={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:r.maxNumRetry||0,retryDelay:r.retryDelayMs||0,maxRetryDelay:r.maxRetryDelayMs||0};e.load(t,i,{onSuccess:(e,t,i,r)=>{var s=this.getInternalLoader(i),a=(this.resetInternalLoader(i.type),e.data);t.parsing.start=performance.now(),Uc.isMediaPlaylist(a)||i.type!==El?this.handleTrackOrLevelPlaylist(e,t,i,r||null,s):this.handleMasterPlaylist(e,t,i,r)},onError:(e,t,i,r)=>{this.handleNetworkError(t,i,!1,e,r)},onTimeout:(e,t,i)=>{this.handleNetworkError(t,i,!0,void 0,e)}})}checkAutostartLoad(){var e,t,i;this.hls&&({config:{autoStartLoad:e,startPosition:t},forceStartLoad:i}=this.hls,e||i)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition `+t),this.hls.startLoad(t))}handleMasterPlaylist(e,t,i,r){var s,a,n,o,l,h=this.hls,d=e.data,c=sv(e,i),u=Uc.parseMasterPlaylist(d,c);u.playlistParsingError?(t.parsing.end=performance.now(),this.handleManifestParsingError(e,i,u.playlistParsingError,r,t)):({contentSteering:e,levels:i,sessionData:s,sessionKeys:a,startTimeOffset:n,variableList:o}=u,{AUDIO:d=[],SUBTITLES:u,"CLOSED-CAPTIONS":l}=(this.variableList=o,i.forEach(r=>{var s=r.unknownCodecs;if(s){var a=this.hls.config.preferManagedMediaSource;let{audioCodec:t,videoCodec:i}=r;for(let e=s.length;e--;){var n=s[e];Lh(n,"audio",a)?(r.audioCodec=t=t?t+","+n:n,_h.audio[t.substring(0,4)]=2,s.splice(e,1)):Lh(n,"video",a)&&(r.videoCodec=i=i?i+","+n:n,_h.video[i.substring(0,4)]=2,s.splice(e,1))}}}),Uc.parseMasterPlaylistMedia(d,c,u)),d.length&&!d.some(e=>!e.url)&&i[0].audioCodec&&!i[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),d.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new lc({}),bitrate:0,url:""})),h.trigger(X.MANIFEST_LOADED,{levels:i,audioTracks:d,subtitles:u,captions:l,contentSteering:e,url:c,stats:t,networkDetails:r,sessionData:s,sessionKeys:a,startTimeOffset:n,variableList:o}))}handleTrackOrLevelPlaylist(e,t,i,r,s){var a=this.hls,{id:n,level:o,type:l}=i,h=sv(e,i),o=G(o)?o:G(n)?n:0,n=rv(i),o=Uc.parseLevelPlaylist(e.data,h,o,n,0,this.variableList);l===El&&(n={attrs:new lc({}),bitrate:0,details:o,name:"",url:h},o.requestScheduled=t.loading.start+tu(o,0),a.trigger(X.MANIFEST_LOADED,{levels:[n],audioTracks:[],url:h,stats:t,networkDetails:r,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})),t.parsing.end=performance.now(),i.levelDetails=o,this.handlePlaylistLoaded(o,e,t,i,r,s)}handleManifestParsingError(e,t,i,r,s){this.hls.trigger(X.ERROR,{type:q.NETWORK_ERROR,details:Y.MANIFEST_PARSING_ERROR,fatal:t.type===El,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:r,stats:s})}handleNetworkError(e,t,i=!1,r,s){let a=`A network ${i?"timeout":"error"+(r?" (status "+r.code+")":"")} occurred while loading `+e.type;e.type===wl?a+=`: ${e.level} id: `+e.id:e.type!==Tl&&e.type!==Sl||(a+=` id: ${e.id} group-id: "${e.groupId}"`);var n=new Error(a);this.hls.logger.warn("[playlist-loader]: "+a);let o=Y.UNKNOWN,l=!1;var h=this.getInternalLoader(e);switch(e.type){case El:o=i?Y.MANIFEST_LOAD_TIMEOUT:Y.MANIFEST_LOAD_ERROR,l=!0;break;case wl:o=i?Y.LEVEL_LOAD_TIMEOUT:Y.LEVEL_LOAD_ERROR,l=!1;break;case Tl:o=i?Y.AUDIO_TRACK_LOAD_TIMEOUT:Y.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case Sl:o=i?Y.SUBTITLE_TRACK_LOAD_TIMEOUT:Y.SUBTITLE_LOAD_ERROR,l=!1}h&&this.resetInternalLoader(e.type);h={type:q.NETWORK_ERROR,details:o,fatal:l,url:e.url,loader:h,context:e,error:n,networkDetails:t,stats:s};r&&(n=(null==t?void 0:t.url)||e.url,h.response=b({url:n,data:void 0},r)),this.hls.trigger(X.ERROR,h)}handlePlaylistLoaded(e,t,i,r,s,a){var n=this.hls,{type:o,level:l,levelOrTrack:h,id:d,groupId:c,deliveryDirectives:u}=r,p=sv(t,r),f=rv(r);let g="number"==typeof r.level&&f===w?l:void 0;var m,l=e.playlistParsingError;if(l){if(this.hls.logger.warn(l+" "+e.url),!n.config.ignorePlaylistParsingErrors)return void n.trigger(X.ERROR,{type:q.NETWORK_ERROR,details:Y.LEVEL_PARSING_ERROR,fatal:!1,url:p,error:l,reason:l.message,response:t,context:r,level:g,parent:f,networkDetails:s,stats:i});e.playlistParsingError=null}if(e.fragments.length)switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),a.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),o){case El:case wl:g&&(h?h!==n.levels[g]&&-1<(m=n.levels.indexOf(h))&&(g=m):g=0),n.trigger(X.LEVEL_LOADED,{details:e,levelInfo:h||n.levels[0],level:g||0,id:d||0,stats:i,networkDetails:s,deliveryDirectives:u,withoutMultiVariant:o===El});break;case Tl:n.trigger(X.AUDIO_TRACK_LOADED,{details:e,track:h,id:d||0,groupId:c||"",stats:i,networkDetails:s,deliveryDirectives:u});break;case Sl:n.trigger(X.SUBTITLE_TRACK_LOADED,{details:e,track:h,id:d||0,groupId:c||"",stats:i,networkDetails:s,deliveryDirectives:u})}else l=e.playlistParsingError=new Error("No Segments found in Playlist"),n.trigger(X.ERROR,{type:q.NETWORK_ERROR,details:Y.LEVEL_EMPTY_ERROR,fatal:!1,url:p,error:l,reason:l.message,response:t,context:r,level:g,parent:f,networkDetails:s,stats:i})}}class nv{static get version(){return Au}static isMSESupported(){return Jm()}static isSupported(){{if(!Jm())return!1;let t=Fl();return"function"==typeof(null==t?void 0:t.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>t.isTypeSupported(Rh(e,"video")))||["mp4a.40.2","fLaC"].some(e=>t.isTypeSupported(Rh(e,"audio"))))}}static getMediaSource(){return Fl()}static get Events(){return X}static get MetadataSchema(){return Wu}static get ErrorTypes(){return q}static get ErrorDetails(){return Y}static get DefaultConfig(){return nv.defaultConfig||Um}static set DefaultConfig(e){nv.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new _u,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.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;var t=this.logger=((t,e,i)=>{let r=Dl();if("object"==typeof console&&!0===t||"object"==typeof t){var s=["debug","log","info","warn","error"];s.forEach(e=>{r[e]=Ol(e,t,i)});try{r.log(`Debug logs enabled for "${e}" in hls.js version 1.6.16`)}catch(e){return Dl()}s.forEach(e=>{Ml[e]=Ol(e,t)})}else Q(Ml,r);return r})(e.debug||!1,"Hls instance",e.assetPlayerId),i=this.config=((e,l,t)=>{if((l.liveSyncDurationCount||l.liveMaxLatencyDurationCount)&&(l.liveSyncDuration||l.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==l.liveMaxLatencyDurationCount&&(void 0===l.liveSyncDurationCount||l.liveMaxLatencyDurationCount<=l.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==l.liveMaxLatencyDuration&&(void 0===l.liveSyncDuration||l.liveMaxLatencyDuration<=l.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let h=$m(e),i=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(s=>{let a=`${"level"===s?"playlist":s}LoadPolicy`,n=void 0===l[a],o=[];i.forEach(e=>{var t=s+"Loading"+e,i=l[t];if(void 0!==i&&n){o.push(t);var r=h[a].default;switch(l[a]={default:r},e){case"TimeOut":r.maxLoadTimeMs=i,r.maxTimeToFirstByteMs=i;break;case"MaxRetry":r.errorRetry.maxNumRetry=i,r.timeoutRetry.maxNumRetry=i;break;case"RetryDelay":r.errorRetry.retryDelayMs=i,r.timeoutRetry.retryDelayMs=i;break;case"MaxRetryTimeout":r.errorRetry.maxRetryDelayMs=i,r.timeoutRetry.maxRetryDelayMs=i}}}),o.length&&t.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${a}": `+B(l[a]))}),b(b({},h),l)})(nv.DefaultConfig,e,t),{abrController:e,bufferController:t,capLevelController:r,errorController:s,fpsController:a}=(this.userConfig=e,i.progressive&&Bm(i,t),i),s=new s(this),e=this.abrController=new e(this),n=new Nd(this),o=i.interstitialsController,o=o?this.interstitialsController=new o(this,nv):null,t=this.bufferController=new t(this,n),r=this.capLevelController=new r(this),a=new a(this),l=new av(this),h=i.contentSteeringController,h=h?new h(this):null,d=this.levelController=new Xm(this,h),c=new qm(this),u=new tv(this.config,this.logger),p=this.streamController=new ev(this,n,u),f=this.gapController=new jm(this,n),d=(r.setStreamController(p),a.setStreamController(p),[l,d,p]),p=(o&&d.splice(1,0,o),h&&d.splice(1,0,h),this.networkControllers=d,[e,t,f,r,a,c,n]),o=(this.audioTrackController=this.createController(i.audioTrackController,d),i.audioStreamController),h=(o&&d.push(this.audioStreamController=new o(this,n,u)),this.subtitleTrackController=this.createController(i.subtitleTrackController,d),i.subtitleStreamController),e=(h&&d.push(this.subtititleStreamController=new h(this,n,u)),this.createController(i.timelineController,p),u.emeController=this.emeController=this.createController(i.emeController,p),this.cmcdController=this.createController(i.cmcdController,p),this.latencyController=this.createController(Ym,p),this.coreComponents=p,d.push(s),s.onErrorOut);"function"==typeof e&&this.on(X.ERROR,e,s),this.on(X.MANIFEST_LOADED,l.onManifestLoaded,l)}createController(e,t){return e?(e=new e(this),t&&t.push(e),e):null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,r){this._emitter.off(e,t,i,r)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(t,i){if(this.config.debug)return this.emit(t,t,i);try{return this.emit(t,t,i)}catch(e){this.logger.error("An internal error happened while handling event "+t+'. Error message: "'+e.message+'". Here is a stacktrace:',e),this.triggeringException||(this.triggeringException=!0,i=t===X.ERROR,this.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.INTERNAL_EXCEPTION,fatal:i,event:t,error:e}),this.triggeringException=!1)}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(X.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(e=>e.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(e=>e.destroy()),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){var t,i;!e||"media"in e&&!e.media?(i=new Error(`attachMedia failed: invalid argument (${e})`),this.trigger(X.ERROR,{type:q.OTHER_ERROR,details:Y.ATTACH_MEDIA_ERROR,fatal:!0,error:i})):(this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia()),t=(i="media"in e)?e.media:e,i=i?e:{media:t},this._media=t,this.trigger(X.MEDIA_ATTACHING,i))}detachMedia(){this.logger.log("detachMedia"),this.trigger(X.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;var e=this.bufferController.transferMedia();return this.trigger(X.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();var t=this.media,i=this._url,r=this._url=Wl.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log("loadSource:"+r),t&&i&&(i!==r||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(X.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(t=-1,i){this.logger.log(`startLoad(${t+(i?", ":"")})`),this.started=!0,this.resumeBuffering();for(let e=0;e{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){var e={[w]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[kl]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[_l]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");var e=this._media,t=null==e?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t)&&this.startLoad(t)}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e=e||(this._sessionId=(()=>{try{return crypto.randomUUID()}catch(e){try{var t=URL.createObjectURL(new Blob),i=t.toString();return URL.revokeObjectURL(t),i.slice(i.lastIndexOf("/")+1)}catch(e){let i=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{var t=(i+16*Math.random())%16|0;return i=Math.floor(i/16),("x"==e?t:3&t|8).toString(16)})}}})())}get levels(){var e=this.levelController.levels;return e||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.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){this.logger.log("set firstLevel:"+e),this.levelController.firstLevel=e}get startLevel(){var e=this.levelController.startLevel;return-1===e&&-1=i)return e}return 0}get maxAutoLevel(){var{levels:t,autoLevelCapping:e,maxHdcpLevel:i}=this;let r;if(r=-1===e&&null!=t&&t.length?t.length-1:e,i)for(let e=r;e--;){var s=t[e].attrs["HDCP-LEVEL"];if(s&&s<=i)return e}return r}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()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return(null==(t=this.audioTrackController)?void 0:t.setAudioOption(e))||null}setSubtitleOption(e){var t;return(null==(t=this.subtitleTrackController)?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){var e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){var e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}set subtitleDisplay(e){var 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}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!(null==(e=this.bufferController)||!e.bufferedToEnd)}get interstitialsManager(){var e;return(null==(e=this.interstitialsController)?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){return Vh(e,id(t),navigator.mediaCapabilities)}}nv.defaultConfig=void 0;class ov extends li{get headline(){return this._headline}constructor(e){super(e),this.disableFeature=()=>this.changeHeadline(void 0),this.enableFeature=()=>this.syncHeadline(),this.isEnabled=()=>this.host.config.headlines.active&&0{!wt(e,this._headline)&&(this.logger.debug(e?`Headline ${e.number} selected`:"Clearing headline"),this.host.dispatchEvent(new Nt.Chosen({headline:e})),this._headline=e)&&this.host.dispatchEvent(new l.Event({body:{headline_number:e.number,player_id:this.host.config.id},type:"headlineview"}))},this.chooseHeadline=()=>{var{items:e,testId:t}=this.host.config.headlines,i=this.host.config.id,[e,i]=(Zo(this.host.store,"headline-"+i,t),Js(e,e[0],{identifierKey:"number",storageKey:"headline-"+i+(t?"-"+t:""),store:this.host.store}));return{details:i,headline:e}},this.syncHeadline=()=>{var e;this.isEnabled()&&(e=this.chooseHeadline().headline,this.changeHeadline(e))},this.trackProperties("config")}hostUpdate(e){e.has("config")&&(this.syncHeadline(),this.reevaluateFeatureState())}}let lv=/instagram/i,hv=/(^|\.)instagram\.com$/i,dv=()=>!(!ni()||!(()=>{if(lv.test(window.navigator.userAgent))return!0;try{return hv.test(new URL(document.referrer).hostname)}catch(e){return!1}})())&&0{try{return new Blob,!0}catch(e){return!1}})(),vv="FormData"in pv,yv="ArrayBuffer"in pv;function bv(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function Ev(e){return e="string"!=typeof e?String(e):e}function wv(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return gv&&(e[Symbol.iterator]=function(){return e}),e}function Tv(t){this.map={},t instanceof Tv?t.forEach(function(e,t){this.append(t,e)},this):Array.isArray(t)?t.forEach(function(e){if(2!=e.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function Sv(e){if(!e._noBody)return e.bodyUsed?Promise.reject(new TypeError("Already read")):void(e.bodyUsed=!0)}function kv(i){return new Promise(function(e,t){i.onload=function(){e(i.result)},i.onerror=function(){t(i.error)}})}function _v(e){var t=new FileReader,i=kv(t);return t.readAsArrayBuffer(e),i}function Av(e){var t;return e.slice?e.slice(0):((t=new Uint8Array(e.byteLength)).set(new Uint8Array(e)),t.buffer)}function Lv(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,(this._bodyInit=e)?"string"==typeof e?this._bodyText=e:mv&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:vv&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:fv&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():yv&&mv&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=Av(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):yv&&(ArrayBuffer.prototype.isPrototypeOf(e)||uv(e))?this._bodyArrayBuffer=Av(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):fv&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},mv&&(this.blob=function(){var e=Sv(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return Sv(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(mv)return this.blob().then(_v);throw new Error("could not read as ArrayBuffer")},this.text=function(){var e,t,i,r=Sv(this);if(r)return r;if(this._bodyBlob)return r=this._bodyBlob,e=new FileReader,t=kv(e),i=(i=/charset=([A-Za-z0-9_-]+)/.exec(r.type))?i[1]:"utf-8",e.readAsText(r,i),t;if(this._bodyArrayBuffer)return Promise.resolve((e=>{for(var t=new Uint8Array(e),i=new Array(t.length),r=0;r{if("AbortController"in pv)return(new AbortController).signal})(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r),"GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache||((i=/([?&])_=[^&]*/).test(this.url)?this.url=this.url.replace(i,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime())}function Iv(e){var i=new FormData;return e.trim().split("&").forEach(function(e){var t;e&&(t=(e=e.split("=")).shift().replace(/\+/g," "),e=e.join("=").replace(/\+/g," "),i.append(decodeURIComponent(t),decodeURIComponent(e)))}),i}function Pv(e,t){if(!(this instanceof Pv))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t=t||{},this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||599{try{return""===t&&pv.location.href?pv.location.href:t}catch(e){return t}})(a.url),!0),"include"===a.credentials?n.withCredentials=!0:"omit"===a.credentials&&(n.withCredentials=!1),"responseType"in n&&(mv?n.responseType="blob":yv&&(n.responseType="arraybuffer")),o&&"object"==typeof o.headers&&!(o.headers instanceof Tv||pv.Headers&&o.headers instanceof pv.Headers)?(i=[],Object.getOwnPropertyNames(o.headers).forEach(function(e){i.push(bv(e)),n.setRequestHeader(e,Ev(o.headers[e]))}),a.headers.forEach(function(e,t){-1===i.indexOf(t)&&n.setRequestHeader(t,e)})):a.headers.forEach(function(e,t){n.setRequestHeader(t,e)}),a.signal&&(a.signal.addEventListener("abort",t),n.onreadystatechange=function(){4===n.readyState&&a.signal.removeEventListener("abort",t)}),n.send(void 0===a._bodyInit?null:a._bodyInit)})}Ov.polyfill=!0,pv.fetch||(pv.fetch=Ov,pv.Headers=Tv,pv.Request=Rv,pv.Response=Pv);let Mv=0,Fv=e=>e%dn.baseUrls.length||0,Nv=(e,r)=>{let s=0,h={body:JSON.stringify(e),credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"},keepalive:!0,method:"POST",mode:"cors"};return new Promise((a,n)=>{let o=(e,t)=>cn.fallbackToBeacon?(navigator.sendBeacon(""+e+dn.beacon,h.body)?a:n)(un.REQUEST_FALLBACK):n(t),i=(i,r)=>{e=i;let s=dn.baseUrls[Fv(e)];var e;fetch(""+s+dn.fetch,h).then(e=>{var t;t=e.status,cn.retryOnResponseStatuses.has(t)?0{e instanceof Error&&"AbortError"===e.name?n(un.REQUEST_ABORTED):0{s+=1,Mv=e+1;let t=Fv(Mv);0===t&&1i(t,cn.limit-s),Math.pow(2,s)*cn.initialDelay)};i(Fv(Mv),cn.limit-s)})},Uv=I(8009);var $v=I.n(Uv);class Bv extends es(){constructor(){var e,t,i;super(...arguments),this.flush=()=>{this.started&&0!==this.length&&(this.emit("flush",Array.from(this.events.values())),this.events.clear())},this.delayedFlush=(e=ln.interval,t=()=>this.flush(),i=(i||{}).atBegin,Ti(e,t,{debounceMode:!1!==(void 0!==i&&i)})),this.events=new Map,this.started=!1,this.clear=()=>this.events.clear(),this.push=e=>{this.events.set(e.id,e),this.emit("add",e),this.scheduleFlush()},this.start=()=>{this.started=!0,this.scheduleFlush()},this.scheduleFlush=()=>{this.started&&(this.length>=ln.capacity?this.flush():0{this.queue.flush(),this.queue.off("flush",this.flush),window.removeEventListener("beforeunload",this.onBeforeUnload)},this.event=(t,e)=>jv(this,void 0,void 0,function*(){try{this.logger.debug("Sending event",{detail:e,event:t}),this.config.dryRun||this.queue.push({createdAt:Date.now(),data:e,event:t,id:((e,t)=>{t=JSON.stringify({detail:t,event:e});return $v()(t)})(t,e)})}catch(e){this.logger.error("Error sending event: "+t,{message:e instanceof Error?e.message:String(e)})}}),this.setup=e=>{this.config.accountId=e.accountId,this.config.dryRun=e.dryRun,e.dryRun&&this.queue.clear(),ko(e.metadata.uri)&&(this.uri=e.metadata.uri),this.persistUriIfTrackingPresent(this.uri),this.config.metadata=Object.assign(Object.assign({},e.metadata),{uri:this.readPersistedTrackingUri()||this.uri})},this.start=()=>{this.logger.debug("Starting Hermes v4.0.0"),this.setupSystemMetadata(),this.setupConfigureEvents(),this.config.dryRun||this.queue.start()},this.envelopeEvent=e=>({accountId:this.config.accountId||"",createdAt:e.createdAt,data:e.data,device:this.deviceId,event:e.event,id:e.id,metadata:Object.assign(Object.assign({},this.metadata),this.config.metadata),sessionId:this.sessionId}),this.flush=t=>jv(this,void 0,void 0,function*(){try{this.logger.info(`Flushing ${t.length} events`);var e=(t=>{let i=null,r=[];try{return t.forEach(e=>{"timed"!==e.event?r.push(e):(!i||e.data.time>i.data.time)&&(i=e)}),i&&r.push(i),r}catch(e){return t}})(t.map(this.envelopeEvent));yield Nv(e,this.logger)}catch(e){this.logger.error(e instanceof Error?e.message:String(e)),t.forEach(e=>this.queue.push(e))}}),this.onBeforeUnload=()=>this.queue.flush(),this.persistUriIfTrackingPresent=e=>{e&&(e=>{try{let t=new URL(e).searchParams;return pn.some(e=>t.has(e))}catch(e){return!1}})(e)&&this.browserStore.set("uri_with_traffic_params",e)},this.readPersistedTrackingUri=()=>this.browserStore.get("uri_with_traffic_params",null),this.setupConfigureEvents=()=>{this.queue.on("flush",this.flush),window.addEventListener("beforeunload",this.onBeforeUnload)},this.setupSystemMetadata=()=>{var e=this.readPersistedTrackingUri()||this.uri;this.metadata={event_version:"4.0.0",traffic_origin_params:(e=>{try{var t,i=new URL(e).searchParams,r={};for(t of pn)i.has(t)&&(r[t]=i.get(t));return r}catch(e){return{}}})(e),uri:e}},this.upsertPersistedId=(e,t)=>{try{var i=e.get(t,qe());return e.set(t,i),i}catch(e){return this.logger.error(e instanceof Error?e.message:String(e)),qe()}},this.uri=window.location.href,this.sessionStore=new Wo({maxAge:hn.session,namespace:"hermes-session",storeJsCompatibility:!0}),this.deviceStore=new Wo({maxAge:hn.device,namespace:"hermes-device",storeJsCompatibility:!0}),this.browserStore=new Wo({maxAge:hn.browser,namespace:"browser-info",storeJsCompatibility:!0}),this.isReturningVisitor=!!this.deviceStore.get("hermes_device_id",void 0),this.sessionId=this.upsertPersistedId(this.sessionStore,"hermes_session_id"),this.deviceId=this.upsertPersistedId(this.deviceStore,"hermes_device_id")}}class Gv extends es(){constructor(){super(...arguments),this.delay=3e4,this.timeoutId=null,this.start=()=>{this.stop(),this.delay=3e4,this.scheduleNext()},this.stop=()=>{null!==this.timeoutId&&clearTimeout(this.timeoutId),this.timeoutId=null},this.scheduleNext=()=>{this.timeoutId=setTimeout(this.tick,this.delay),this.delay<3e5&&(this.delay=Math.min(2*this.delay,3e5))},this.tick=()=>{this.emit("ping"),this.scheduleNext()}}}class zv{get lastDeviceTimedEventSent(){return this._lastDeviceTimedEventSent}get lastSessionTimedEventSent(){return this._lastSessionTimedEventSent}get maxDeviceWatchedTimeKey(){return`device_max_watched_time:${this.config.deviceId}:`+this.playerId}get maxSessionWatchedTimeKey(){return`max_watched_time:${this.config.sessionId}:`+this.playerId}constructor(e){this.config=e,this._lastDeviceTimedEventSent=0,this._lastSessionTimedEventSent=0,this.logger=new s("Analytics Services - Watched Time"),this.playerId="",this.setup=e=>{this.playerId=e,this.loadPersistedMaxWatchedTime()}}persistMaxWatchedTime(e){try{if(!this.playerId)return this.logger.error("Player ID not set");this.persistSessionMaxWatchedTime(e),this.persistDeviceMaxWatchedTime(e)}catch(e){this.logger.error("Error persisting max watched time",e)}}loadPersistedMaxWatchedTime(){try{var e=bn.get(this.maxSessionWatchedTimeKey,null),t=bn.get(this.maxDeviceWatchedTimeKey,null);t||bn.removeByPattern(new RegExp(`^device_max_watched_time:.*:${this.playerId}$`)),e||bn.removeByPattern(new RegExp(`^max_watched_time:.*:${this.playerId}$`)),"number"==typeof e&&(this.persistSessionMaxWatchedTime(e),t||this.persistDeviceMaxWatchedTime(e)),"number"==typeof t&&this.persistDeviceMaxWatchedTime(t)}catch(e){this.logger.error("Error loading persisted max watched time",e)}}persistDeviceMaxWatchedTime(e){e>this._lastDeviceTimedEventSent&&(this._lastDeviceTimedEventSent=e,bn.set(this.maxDeviceWatchedTimeKey,e))}persistSessionMaxWatchedTime(e){e>this._lastSessionTimedEventSent&&(this._lastSessionTimedEventSent=e,bn.set(this.maxSessionWatchedTimeKey,e))}}let Hv=e=>{e=Math.round(e||0);return e-e%5},Kv=(e,t)=>t<=0||isNaN(t)||isNaN(e)?0:(e=Math.min(Math.max(e/t,0),1),Math.round(1e4*e)/1e4);class Wv extends Tt{constructor(){super(...arguments),this.analytics=new Vv,this.deliveryHeld=!1,this.pingCreatedAt=new Date,this.pingScheduler=new Gv,this.watchedTime=new zv({deviceId:this.analytics.deviceId,sessionId:this.analytics.sessionId}),this.onAnalyticsEvent=e=>{e.stopImmediatePropagation(),this.analytics.event(e.detail.type,e.detail.body)},this.onAnalyticsMetric=e=>{e.stopImmediatePropagation(),this.analytics.event("metric",{name:e.detail.type,value:e.detail.value})},this.onExitedClick=e=>{e.stopImmediatePropagation(),this.analytics.event("clicked",Object.assign(Object.assign({},e.detail),{time:Math.ceil(this.host.playback.currentTime)}))},this.onInstagramPreviewResize=()=>{dv()||this.releaseInstagramPreviewHold()},this.onPing=()=>this.analytics.event("ping",{created_at:this.pingCreatedAt}),this.onVideoEnded=()=>{this.analytics.event("finished",{});var e=this.duration;e<=this.watchedTime.lastSessionTimedEventSent||(this.watchedTime.persistMaxWatchedTime(e),this.analytics.event("timed",{eng:1,time:e}),this.host.removeEventListener(a.Timeupdate,this.onVideoTimeUpdate))},this.onVideoPause=()=>{var e=Math.round(this.host.playback.currentTime);e<=this.duration-1&&this.analytics.event("paused",{time:e})},this.onVideoPlay=()=>{this.releaseInstagramPreviewHold();var e=Hv(this.host.playback.currentTime);this.analytics.event("played",{}),this.analytics.event("timed",{eng:Kv(e,this.duration),time:e}),this.host.addEventListener(a.Timeupdate,this.onVideoTimeUpdate,{passive:!0})},this.onVideoTimeUpdate=()=>this.timed(),this.releaseInstagramPreviewHold=()=>{this.deliveryHeld&&(window.removeEventListener("resize",this.onInstagramPreviewResize),this.logger.trace("Instagram preview hold released, starting analytics delivery"),this.startDelivery())},this.setupAnalytics=()=>{try{this.logger.trace("Setting up Analytics");({isIframe:t,logger:i}=[{isIframe:this.host.isIframe,logger:this.logger}][0]);var e=null!=(r=_o({logger:i,search:window.location.search}))&&r.hostname?r:Ao({isIframe:t,logger:i});this.analytics.setup({accountId:this.host.config.oid,dryRun:this.host.config.preview,metadata:{domain:e.hostname,media_id:this.host.config.video.id,media_type:"video",path:e.pathname,player_id:this.host.config.id,player_version:"4.24.0",uri:e.toString()}}),this.analytics.event("trace_id",{trace_id:this.logger.traceId}),this.analytics.event("pageview",this.host.config.embedVersion?{embed_version:this.host.config.embedVersion}:null),this.analytics.isReturningVisitor&&this.analytics.event("metric",{name:"visitor.returning",value:1}),dv()?(this.logger.trace("Instagram preview detected, holding analytics delivery"),this.deliveryHeld=!0,window.addEventListener("resize",this.onInstagramPreviewResize,{passive:!0})):this.startDelivery()}catch(e){this.logger.error("Error setting up analytics",e)}var t,i,r},this.startDelivery=()=>{this.deliveryHeld=!1,this.logger.trace("Starting Analytics"),this.analytics.start(),this.pingCreatedAt=new Date,this.pingScheduler.start()},this.timed=()=>{var e=Math.min(Hv(this.host.playback.currentTime),this.duration);ewindow.addEventListener("click",this.onWindowClick,{capture:!0,passive:!0}),this.unlisten=()=>window.removeEventListener("click",this.onWindowClick,{capture:!0}),this.dispatchExitedClick=e=>{this.emit("exitedClick",e),this.unlisten()},this.findClickableElement=e=>{try{for(;e;){if(qv.has(e.tagName))return e;e=e.parentElement}return null}catch(e){return this.logger.error("Error finding clickable parent",e),null}},this.isTrackableInteraction=e=>!e.classList.contains("ignore-click-event")&&(!!fi(e,'.smartplayer-click-event, [id^="smartplayer-click-event"]')||e instanceof HTMLAnchorElement&&this.isTrackableLink(e)),this.isTrackableLink=i=>{var e=null==(e=i.getAttribute("href"))?void 0:e.trim();if(!e||e.startsWith("#"))return!1;try{let t=new URL(i.href,window.location.href);return an(t)?Yv.some(e=>t.hostname.includes(e))||Xv.test(t.pathname)||Qv.some(e=>t.searchParams.has(e)):!1}catch(e){return this.logger.error("Error parsing URL",{url:i.href}),!1}},this.onWindowClick=e=>{try{var t;e.target instanceof HTMLElement&&(t=this.findClickableElement(e.target))&&this.isTrackableInteraction(t)&&this.trackInteraction(t)}catch(e){this.logger.error("Click: Error handling click event",e)}},this.trackInteraction=e=>{var t;this.logger.debug("Tracking interaction",e),e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||sn(e)&&null!=(t=e.form)&&t.action?this.dispatchExitedClick(on(e)):this.logger.debug("Interaction not trackable",e)},this.logger=new s(this.constructor.name)}}class Jv extends Tt{constructor(){super(...arguments),this.clickTrackingService=new Zv,this.dispatchExitedClick=e=>{this.host.dispatchEvent(new l.ExitedClick(e))}}hostConnected(){this.clickTrackingService.on("exitedClick",this.dispatchExitedClick),this.clickTrackingService.listen()}hostDisconnected(){this.clickTrackingService.off("exitedClick",this.dispatchExitedClick),this.clickTrackingService.unlisten()}}let ey=[".smartplayer-ignore-click-event","vturb-smartplayer","vturb-anchor-button","vturb-custom-html"],ty=["mouseover","pointerdown","touchstart"];let iy="data-iclosed-link",ry="data-vturb-injected",sy=["cmc_redir"];class ay{constructor(){this.logger=new s(this.constructor.name),this.renderOnce=t=>{t&&this.widgets.forEach(e=>this.rebuild(e,t))},this.injectKey=(e,t)=>{e=new URL(e);return e.searchParams.set("vtid",t),e.toString()},this.rebuild=(e,i)=>{try{var r=e.getAttribute("data-url");if(r){let t=document.createElement("div");Array.from(e.attributes).forEach(e=>t.setAttribute(e.name,e.value)),t.removeAttribute("data-processed"),t.setAttribute("data-url",this.injectKey(r,i)),t.setAttribute(ry,"true"),e.replaceWith(t),this.logger.debug("iClosed inline widget rebuilt with key",{key:i,widget:t})}}catch(e){this.logger.error("Error rebuilding iClosed inline widget",e)}}}get widgets(){return document.querySelectorAll(`.iclosed-widget[data-url]:not([${ry}])`)}}class ny{get hasHighestPriority(){return 0===this.getPriority()}constructor(e,t){this.injector=e,this.getPriority=t,this.listen=()=>{ty.forEach(e=>{window.addEventListener(e,this.onTrackableInteraction,{capture:!0,passive:!0})})},this.unlisten=()=>{ty.forEach(e=>{window.removeEventListener(e,this.onTrackableInteraction,{capture:!0})})},this.findClosestClickable=e=>{try{var t=fi(e,`[${iy}]`);if(t)return t;for(;e;){if("A"===e.tagName&&e.hasAttribute("href"))return e;if(sn(e)&&e.form)return e;e=e.parentElement}return null}catch(e){return this.logger.error("Error finding clickable parent",e),null}},this.injectIClosedModalIframe=i=>{document.querySelectorAll(".iclosed-popup-overlay iframe").forEach(e=>{var t=e.getAttribute("src");t&&!t.includes("vtid=")&&(e.src=this.injectTrackingParams(t,i),this.logger.debug("Injected tracking params into iClosed popup iframe",{element:i,iframe:e}))})},this.injectIClosedTriggerLink=e=>{var t=e.getAttribute(iy);t&&(e.setAttribute(iy,this.injectTrackingParams(t,e)),this.logger.debug("Injected tracking params into iClosed popup trigger",{element:e}))},this.injectTrackingParams=(t,e)=>{try{return this.injector(t,e)}catch(e){return this.logger.warn("Error updating URL: "+t,{error:e}),t}},this.onTrackableInteraction=e=>{try{var t,i;this.hasHighestPriority&&e.target instanceof HTMLElement&&(t=this.findClosestClickable(e.target),i=e instanceof MouseEvent?e.relatedTarget:null,!t||i instanceof Node&&t.contains(i)||this.shouldIgnoreElement(t)||(t.hasAttribute(iy)?this.trackingIClosedElement(t):t instanceof HTMLAnchorElement?this.trackingAnchorElement(t):sn(t)&&this.trackingFormElement(t)))}catch(e){this.logger.error("Error handling url param injection event",e)}},this.shouldIgnoreElement=t=>ey.some(e=>fi(t,e)),this.trackingAnchorElement=t=>{var e=t.getAttribute("href");if(e&&!e.startsWith("#")&&!e.startsWith("javascript:"))try{var i=window.location.href.split("#")[0];e.split("#")[0]!==i&&(t.href=this.injectTrackingParams(e,t))}catch(e){this.logger.warn(`Skipping link element due to error: ${e}, element: `+t)}},this.trackingFormElement=e=>{var t;if(null==(t=e.form)||!t.action)return this.logger.warn("Form element has no action",{element:e});e.form.action=this.injectTrackingParams(e.form.action,e)},this.trackingIClosedElement=e=>{this.injectIClosedTriggerLink(e),this.injectIClosedModalIframe(e)},this.logger=new s(this.constructor.name)}}class oy extends Tt{constructor(){super(...arguments),this.iclosedInlineInjector=new ay,this.urlUpdater=(i,e)=>{var r;try{let t=new URL(i,window.location.href);if(null!=e&&e.hasAttribute(iy))t.searchParams.set("vtid",this.conversionKey);else{if(null==(r=this.host.config.conversion)||!r.length)return i;this.host.config.conversion.forEach(e=>t.searchParams.set(e,this.conversionKey)),sy.forEach(e=>this.redirectionParamUpdater(t,e))}var s=t.toString();return this.logger.debug("URL Updater",{updatedUrl:s,url:i}),s}catch(e){return this.logger.error("Error updating URL",{error:e}),i}},this.urlParamInjector=new ny(this.urlUpdater,()=>this.host.interface.priority),this.firstUpdated=()=>{this.logger.info("firstUpdated",this.conversionKey),this.iclosedInlineInjector.renderOnce(this.conversionKey),this.urlParamInjector.listen(),this.dispatchMessageToParent()},this.dispatchMessageToParent=()=>{var e=this.conversionKey;e!==this.lastDispatchedKey&&(this.lastDispatchedKey=e,this.host.dispatchEvent(new pl.Update({key:e})))},this.onHeadlineChosen=e=>{this.currentHeadline=null==(e=e.detail.headline)?void 0:e.number,this.dispatchMessageToParent()},this.onSmartAutoPlaySelected=e=>{this.currentSmartAutoPlay=null==(e=e.detail.autoplay)?void 0:e.number,this.dispatchMessageToParent()},this.onTurboSpeedChanged=e=>{this.currentTurboSpeed=e.detail.speed,this.dispatchMessageToParent()},this.redirectionParamUpdater=(t,i)=>{try{let e=t.searchParams.get(i);e&&((e.includes("%2F")||e.includes("%3A"))&&(e=decodeURIComponent(e)),new URL(e),t.searchParams.set(i,encodeURIComponent(this.urlUpdater(e))))}catch(e){this.logger.error("Error updating URL",{error:e})}}}get conversionKey(){return(`v3_${this.host.analytics.sessionId}_${this.host.config.id}_`+this.host.analytics.lastTimeSent).concat(this.currentTurboSpeed?"_t-"+Math.trunc(10*this.currentTurboSpeed):"").concat(this.host.config.headlines.active&&this.currentHeadline?"_h-"+this.currentHeadline:"").concat(this.currentSmartAutoPlay?"_s-"+this.currentSmartAutoPlay:"")}hostConnected(){this.host.addEventListener(Nt.Chosen,this.onHeadlineChosen,{passive:!0}),this.host.addEventListener(r.Selected,this.onSmartAutoPlaySelected,{passive:!0}),this.host.addEventListener(Xt.SpeedChanged,this.onTurboSpeedChanged,{passive:!0}),this.host.addEventListener(a.Ended,this.dispatchMessageToParent,{passive:!0}),this.host.addEventListener(a.Timeupdate,this.dispatchMessageToParent,{passive:!0})}hostDisconnected(){this.host.removeEventListener(Nt.Chosen,this.onHeadlineChosen),this.host.removeEventListener(r.Selected,this.onSmartAutoPlaySelected),this.host.removeEventListener(Xt.SpeedChanged,this.onTurboSpeedChanged),this.host.removeEventListener(a.Ended,this.dispatchMessageToParent),this.host.removeEventListener(a.Timeupdate,this.dispatchMessageToParent),this.urlParamInjector.unlisten()}}var t=i`#player{background-color:#000;border-radius:var(--player-border-radius);box-shadow:var(--player-box-shadow);color:#fff;cursor:pointer;display:block;outline:none;overflow:hidden;position:relative;user-select:none;width:100%}vturb-player.fluid:not(.in-immersive-mode){border-radius:0;box-shadow:none;height:100%;left:0;margin:0;object-fit:contain;overflow:hidden;padding:0;position:absolute;top:0;width:100%}vturb-player.fluid:not(.in-immersive-mode) .player-immersive-wrapper,vturb-player.fluid:not(.in-immersive-mode) .player-immersive-wrapper-content{height:100%;width:100%}.player-immersive-wrapper.immersive-mode{min-height:100vh;position:relative;z-index:9999999}.player-immersive-wrapper.immersive-mode .player-immersive-wrapper-content{background-color:#000;left:0;min-height:100vh;position:absolute;top:0;transform:translateX(var(--immersive-mode-left,0));width:calc(100vw - var(--immersive-mode-scrollbar-width, 0px))}.player-immersive-wrapper.immersive-mode #player{border-radius:0;height:100vh;margin:0!important;padding:0!important;width:calc(100vw - var(--immersive-mode-scrollbar-width, 0px))}.player-immersive-wrapper.immersive-mode #player video{object-fit:contain}@media (orientation:portrait){.player-immersive-wrapper.immersive-mode,.player-immersive-wrapper.immersive-mode .player-immersive-wrapper-content{min-height:100svh}.player-immersive-wrapper.immersive-mode #player{height:100svh}}.player-immersive-wrapper.immersive-mode.fixed .player-immersive-wrapper-content{bottom:0;position:fixed;right:0;transform:none;width:100vw}.player-immersive-wrapper.immersive-mode.fixed #player{width:100vw}.player-immersive-wrapper .player-immersive-wrapper-content{width:100%}.player-immersive-wrapper:not(.immersive-mode) #player.in-fullscreen{left:0;object-fit:contain;overflow:hidden;position:fixed;top:0;z-index:9999999}.player-immersive-wrapper:not(.immersive-mode) #player.fluid,.player-immersive-wrapper:not(.immersive-mode) #player.in-fullscreen{height:100%;margin:0;padding:0!important;width:100%}.player-immersive-wrapper:not(.immersive-mode) #player.fluid video,.player-immersive-wrapper:not(.immersive-mode) #player.in-fullscreen video{object-fit:contain}.controller{display:flex;flex-direction:column;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.controller-inner__top{display:flex;flex-direction:row}.controller-inner__bottom,.controller-inner__top--center{align-items:center;display:flex;justify-content:center}.controller-inner__top--center{flex:1}.controller-inner__bottom{transform:translateY(0);transition:transform .25s ease 50ms}.show-controls .controller-inner__bottom:not(.controls-hidden){transform:translateY(calc(var(--control-padding)*2*-1 + -1.5rem))}.controller-inner__center{align-items:center;display:flex;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.controller-spacer{flex:1}.video-wrapper{display:block;left:0;position:absolute;top:0;z-index:0}.video-wrapper,video,vturb-video-hls{height:100%;width:100%}video{left:0;object-position:center;pointer-events:none;position:absolute;top:0}`,S=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{try{var e,t;this.config.turbo.active&&(e=cl.chooseSpeed(this.config.id,this.config.turbo,this.store),this.dispatchEvent(new Xt.SpeedChanged({speed:e}))),hl.shouldLoad(this.config.smartAutoPlay)&&(t=hl.chooseRandomAutoplay(this.config.id,this.config.smartAutoPlay,this.store))&&this.dispatchEvent(new r.Selected({autoplay:t}))}catch(e){this.logger.error("Error seeding variant choices",{error:e})}},this.registerUrlUpdater=(e,t)=>{this.controllers.links.registerUrlUpdater(e,t)},this.onPlayerClick=t=>{try{this.unlicensed||(this.controllers.blockers.noneBlocker("played")?this.togglePlay():this.controllers.bar.touch(t,()=>this.togglePlay()))}catch(e){this.logger.error("Failed to handle player click",{error:e,event:t})}},this.onMiniPlayerClose=e=>{e.stopPropagation(),e.preventDefault(),this.controllers.miniPlayer.scrollBackToPlayer()},this.urlUpdater=(i,r)=>{try{return this.controllers.links.updaters.reduce((t,e)=>{try{return e(t,r)}catch(e){return this.logger.error("Failed to update URL",{element:r,error:e,url:i}),t}},i)}catch(e){return this.logger.error("Failed to update URL",{element:r,error:e,url:i}),i}}}get conversionKey(){return this.controllers.conversion.conversionKey}get activeTrack(){return this.currentTrack}get inFullscreen(){return this.controllers.fullscreen.inFullscreen||this.controllers.immersiveMode.inImmersiveMode}addEventListener(t,i,r){t="string"==typeof t?t:t.toString();try{t===o.Ready.eventName&&this.ready?(this.logger.debug("addEventListener already ready",{listener:i,options:r,type:t}),i.call(this,new o.Ready({config:this.config}))):super.addEventListener(t,i,r)}catch(e){this.logger.error("Failed to add player event listener",{error:e,listener:i,options:r,type:t})}}autoplay(e){this.videoAutoPlay=e}changeLicense(e){this.unlicensed=!e,this.deepUpdate()}checkAddRemoteDebugger(){window.location.search.includes("vrb=1")&&(this.logger.debug("Adding remote debugger"),((e,t,r,s,a={})=>{if(!e.getElementById(t)){let i=e.createElement(s);i.id=t,i instanceof HTMLScriptElement?i.src=r:i instanceof HTMLLinkElement&&(i.href=r),Object.entries(a).forEach(([e,t])=>{i.setAttribute(e,t)}),e.head.appendChild(i)}})(this.doc,"remote-debugger-script","https://remote-debugger.internal.vturb.com/target.js","script"))}connectedCallback(){super.connectedCallback(),this.addEventListener(a.Play,()=>this.requestUpdate()),this.addEventListener(a.Pause,()=>this.requestUpdate()),this.addEventListener(a.Ended,()=>this.requestUpdate()),this.addEventListener(a.Loadedmetadata,()=>{var e,t;this.playback.textTracks&&this.playback.textTracks.length&&0<(t=Array.from(this.playback.textTracks)).length&&null!=(e=this.config.subtitles)&&e.active&&this.setActiveTrack(t[0])}),this.checkAddRemoteDebugger(),this.observeVideoReady(),this.seedVariantChoices(),this.registerUrlUpdater(se.HIGH,this.controllers.conversion.urlUpdater)}deepUpdate(){this.modules.forEach(e=>{e.requestUpdate()})}firstUpdated(e){let t=Object.create(null,{firstUpdated:{get:()=>super.firstUpdated}});return ly(this,void 0,void 0,function*(){t.firstUpdated.call(this,e),this.playback.disableRemotePlayback=!0,yield this.updateComplete,this.logger.info("firstUpdated")})}observeVideoReady(){let e=[a.Canplay,a.Canplaythrough,r.VideoReady,a.Play],t=()=>{e.forEach(e=>{this.removeEventListener(e,i)})},i=e=>{this.controllers.blockers.anyBlocker("smartAutoPlay")&&e.type!==r.VideoReady.eventName&&!this.playback.playing?this.logger.debug("videoReady blocked",e.type):(this.logger.info("videoReady"),this.dispatchEvent(new a.Ready),t())};e.forEach(e=>{this.addEventListener(e,i)})}registerModule(e){this.modules.push(e)}render(){if(this.destroyed)return c``;var e=((null==(e=this.playback.video)?void 0:e.getBoundingClientRect())||{width:0}).width;let t=this.config;this.classList.toggle("fluid",!!this.interface.fluid);var i={"already-played":this.controllers.blockers.anyBlocker("played"),fluid:this.interface.fluid,"has-fakebar":null==(i=t.fakeBar)?void 0:i.active,"has-rewind-forward":(null==(i=t.style)?void 0:i.rewind)&&(null==(i=t.style)?void 0:i.forward),"has-smallplay":t.style.smallPlay,"in-pause":this.playback.paused,"in-play":this.playback.playing,"is-chrome":et(),"is-desktop":!ni(),"is-firefox":/firefox/i.test(window.navigator.userAgent),"is-mobile":ni(),"is-safari":Qo(),"m-w-360":e<=360,"m-w-480":360${JSON.stringify(t,null,2)} ${v(!this.isIframe,()=>c``)}
{ni()||this.controllers.bar.show()}} @mouseleave=${()=>{ni()||this.controllers.bar.hide()}} @dblclick="${()=>{this.config.style.fullscreen&&!ni()&&this.dispatchEvent(new n.Toggle)}}" @touchend="${e=>{this.config.style.fullscreen&&(e.timeStamp-(this.lastTouchEnd||0)<300?(e.preventDefault(),e.stopPropagation(),this.dispatchEvent(new n.Toggle),this.lastTouchEnd=0):this.lastTouchEnd=e.timeStamp)}}" @click="${this.onPlayerClick}" > this.unlicensed=!0} >
${v(!this.unlicensed,()=>c` {this.playback.bindVideoElement(e.detail.video,e=>this.dispatchEvent(e)),this.ready=!0,this.trackHlsChanges(e.detail.hls,e.detail.video)}} @first-segment-loaded=${e=>{this.controllers.kpis.trackTTFF()}} poster=${t.smartAutoPlay.active||this.playback.played||this.controllers.blockers.anyBlocker("resume")?null:t.video.picStart||t.video.cover} disablePictureInPicture="true" controlsList="nodownload noplaybackrate nofullscreen noremoteplayback" style="-webkit-media-controls-timeline-container: none; -webkit-media-controls-timeline: none;" .muted=${this.videoAutoPlay||this.playback.muted} .autoplay=${this.videoAutoPlay} .thumbnail=${a} /> `)}
${v(this.ready&&!this.unlicensed,()=>{var e;return c`
${v(t.style.bigPlay||t.style.temporaryBigPlay&&this.controllers.blockers.noneBlocker("played"),()=>c``)}
${v(null==(e=t.subtitles)?void 0:e.active,()=>c``)}
${v(t.resume.active,()=>c``)} ${v(t.fakeBar.active,()=>c``)} ${v(t.minihooks.active,()=>c``)} ${v(hl.shouldLoad(t.smartAutoPlay),()=>c``)} ${v(t.thumbsniper.active||t.video.picFinish,()=>c``)} ${v(t.pixels.active,()=>c``)} ${v(!!t.callActions.active,()=>c` `)}
`})}
${v(this.miniActive,()=>c``)}
${v(this.miniActive&&!this.isIframe,()=>c``)}
${v(!!t.callActions.active,()=>c` `)} `}setActiveTrack(e){this.playback.textTracks&&(Array.from(this.playback.textTracks).forEach(e=>{e.mode="hidden"}),this.currentTrack=e,this.dispatchEvent(new ti.TrackChange({track:e})))}setup(e){this.interface.setup(e)}togglePlay(){this.logger.group("debug","togglePlay").message("paused",this.playback.paused).message("smallPlay",this.config.style.smallPlay).message("bigPlay",this.config.style.bigPlay).message("disablePause",this.config.playback.disablePause).end(),!this.playback.paused&&this.config.playback.disablePause||(this.playback.paused||this.config.style.smallPlay||this.config.style.bigPlay)&&(this.playback.toggle(),this.controllers.bar.show())}trackHlsChanges(e,t){if(e){let s=e.currentLevel;e.on(X.LEVEL_SWITCHING,(e,t)=>{this.logger.debug("level switching",{data:t,event:e})}),e.on(X.LEVEL_SWITCHED,(e,t)=>{this.logger.debug("level switched",{data:t,event:e,from:s,to:t.level})});let a=(e,t,i)=>{this.dispatchEvent(new l.Event({type:"custom-hls_level_switched",body:{from:e,segment:i,to:t}}))};e.on(X.FRAG_LOADED,(e,t)=>{this.controllers.kpis.trackVideoSegmentLoaded({bytes:t.frag.stats.loaded,request:{end:t.frag.stats.loading.end,start:t.frag.stats.loading.start}});try{var{level:i,sn:r}=t.frag;i!==s&&"initSegment"!==r&&(a(s,i,r),this.logger.debug("Frag loaded in different level",{currentLevel:s,nextLevel:i,segmentNumber:r}),s=i)}catch(e){this.logger.error("error dispatching hls_level_switched",{e:e})}})}}createRenderRoot(){return this}updated(e){this.logger.trace("updated",e),super.updated(e),e.has("ready")&&this.ready&&(this.dispatchEvent(new Event("mount")),this.dispatchEvent(new o.Ready({config:this.config}))),e.has("config")&&this.dispatchEvent(new o.ConfigUpdated({config:this.config,player:this})),e.has("config")&&this.deepUpdate()}},dy=(hy.styles=[t,Ro.styles,Ws.styles,Ka.styles,qs.styles,ta.styles,Xa.styles,Vo.styles,Xo.styles,hl.styles,dl.styles,Pa.styles,Ko.styles,Rn.styles,co.styles,uo.styles],S([d({type:Object})],hy.prototype,"config",void 0),S([p("vturb-controls .controls")],hy.prototype,"controlBar",void 0),S([Ke({context:ua})],hy.prototype,"playback",void 0),S([u()],hy.prototype,"destroyed",void 0),S([d({reflect:!0,type:Number})],hy.prototype,"height",void 0),S([p("#video")],hy.prototype,"hlsVideo",void 0),S([d({type:Object})],hy.prototype,"interface",void 0),S([u()],hy.prototype,"isControlsBottomVisible",void 0),S([u()],hy.prototype,"miniActive",void 0),S([d({reflect:!0,type:Boolean})],hy.prototype,"pauseOneTouch",void 0),S([p("#player")],hy.prototype,"player",void 0),S([p(".player-immersive-wrapper")],hy.prototype,"immersiveWrapper",void 0),S([p(".player-immersive-wrapper-content")],hy.prototype,"immersiveContent",void 0),S([u()],hy.prototype,"ready",void 0),S([u()],hy.prototype,"unlicensed",void 0),S([u()],hy.prototype,"videoAutoPlay",void 0),S([d({reflect:!0,type:Number})],hy.prototype,"width",void 0),S([u()],hy.prototype,"currentTrack",void 0),hy=S([f("vturb-player")],hy),(e,t)=>{var i,r=Object.assign({},e);for(i in t)"!DELETE!"===t[i]||null===t[i]?delete r[i]:"object"!=typeof t[i]||Array.isArray(t[i])?r[i]=t[i]:r[i]=dy(r[i]||{},t[i]);return r});let cy={immersiveMode:{active:!0,desktop:!1,disableScrolling:!1,expandOnPlay:!1,minimizeOnPause:!1,mobile:!1},callActions:{active:!1,version:1,items:[]},playerInit:{},outsideCTAs:[],insideCTAs:[],delayCTAs:[],conversion:[],fakeBar:{active:!1,alpha:2,color:"",height:10,inheritBaseColor:!1},headlines:{active:!1,items:[]},language:"en",minihooks:{active:!1,items:[]},pixels:{active:!1,items:[]},playback:Object.assign(Object.assign({},{smartPause:!1}),{active:!1,disablePause:!1}),resume:{active:!1,backgroundColor:"",foregroundColor:"",model:"default",play:null,replay:null,title:null},secure:!1,smartAutoPlay:{active:!1,backgroundProbe:{enabled:!0,maxAttempts:10,mobileTriggerEvents:["click","touchend","pointerup"],probeInterval:1e3,probeTimeout:2e3,triggerEvents:["click","keydown","mouseup","pointerup","touchend"]},items:[]},miniPlayer:{active:!1,autoEnableOnScroll:!1,autoReturn:!0},style:{background:"#000",bigPlay:!1,captions:!1,foreground:"#fff",borderRadius:0,linearGradient:{active:!1,angle:90,primaryColor:"#ffffff",primaryStop:0,secondaryColor:"#5c68a2",secondaryStop:100},forward:!1,fullscreen:!1,progressBar:!1,rewind:!1,smallPlay:!0,speed:!1,videoTime:!1,volume:!1},subtitles:{active:!1,items:[],show:!1},thumbsniper:{active:!1,items:[]},turbo:{active:!1,speed:1,type:"single"}},uy=I.cjs(function(e,t){function s(e){return!(!(t=e)||"object"!=typeof t||(t=e,"[object RegExp]"===(e=Object.prototype.toString.call(t)))||"[object Date]"===e||(e=>e.$$typeof===i)(t));var t}var i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function o(e,t){return!1!==t.clone&&t.isMergeableObject(e)?d(Array.isArray(e)?[]:{},e,t):e}function a(e,t,i){return e.concat(t).map(function(e){return o(e,i)})}function l(e){return Object.keys(e).concat((t=e,Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[]));var t}function h(e,t){try{return t in e}catch(e){return!1}}function n(r,s,a){var n={};return a.isMergeableObject(r)&&l(r).forEach(function(e){n[e]=o(r[e],a)}),l(s).forEach(function(e){var t,i;(!h(t=r,i=e)||Object.hasOwnProperty.call(t,i)&&Object.propertyIsEnumerable.call(t,i))&&(h(r,e)&&a.isMergeableObject(s[e])?n[e]=(t=e,((i=a).customMerge&&"function"==typeof(i=i.customMerge(t))?i:d)(r[e],s[e],a)):n[e]=o(s[e],a))}),n}function d(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||a,i.isMergeableObject=i.isMergeableObject||s,i.cloneUnlessOtherwiseSpecified=o;var r=Array.isArray(t);return r===Array.isArray(e)?r?i.arrayMerge(e,t,i):n(e,t,i):o(t,i)}d.all=function(e,i){if(Array.isArray(e))return e.reduce(function(e,t){return d(e,t,i)},{});throw new Error("first argument should be an array")},e.exports=d});var py=I.n(uy);function fy(e){let t,i=py()(cy,dy(cy,e),{customMerge:e=>{if("triggerEvents"===e||"mobileTriggerEvents"===e)return(e,t)=>t}});e="undefined"!=typeof navigator&&(navigator.language||navigator.userLanguage)||"en";var r,e=/^pt(-\w{,2})?/i.test(e)?"pt":/^es(-\w{,2})?/i.test(e)?"es":"en";return r=e,Xs=r,i.language=e,i.fakeBar&&gy(i,"fakeBar.color",i.style.background),i.resume&&(i.resume.play=i.resume.play||Qs("resume.play"),i.resume.replay=i.resume.replay||Qs("resume.replay"),i.resume.title=i.resume.title||Qs("resume.title"),gy(i,"resume.backgroundColor","rgba(0,0,175,0.5)"),vy(i,"resume.foregroundColor","white")),i.smartAutoPlay.items.forEach(e=>{"default"===e.type&&(gy(i,"smartAutoPlay.backgroundColor","rgba(0,0,175,0.5)"),vy(i,"smartAutoPlay.foregroundColor","white")),e.autoUnmute=null==(e=e.autoUnmute)||e}),i.smartAutoPlay.items.length&&i.smartAutoPlay.active||(i.style.temporaryBigPlay=!0),null!=(t=i.video)&&t.picStart&&(i.style.temporaryBigPlay=!1),i}function gy(e,t,i){my(e,t,"background",i)}function my(e,t,i,r){var s,t=t.split("."),a=t.pop();a&&(t=t.reduce((e,t)=>e&&"object"==typeof e&&t in e?e[t]:null,e))&&(s=e.style[i]===(null==(s=null==cy?void 0:cy.style)?void 0:s[i])?null:e.style[i],t[a]=t[a]||s||r)}function vy(e,t,i){my(e,t,"foreground",i)}function yy(t){var i,r,s,a,n=[],o=[],l=[];if(1===(null==(i=t.callActions)?void 0:i.version))for(let e of(null==(i=t.callActions)?void 0:i.items)||[])n.push("custom_html"===e.type?{active:!0,as_html:!0,delay:!1,html:(a=e).html,id:a.id,persist_on_video_end:!1,range:a.range,scroll_enabled:!1,scroll_offset:0,show_to_returning_viewer:!1,type:"outside_video"}:(a=e,s=void 0,s=null!=(s=a.size)?s:"md",{active:!0,as_html:!1,content:a.content,id:a.id,image_as_button:!1,open_in_new_tab:!!a.openInNewTab,persist_on_video_end:!1,range:a.range,scroll_enabled:!1,scroll_offset:0,show_to_returning_viewer:!1,styles:{background_color:a.colors.background,background_hover_color:a.colors.backgroundHover,border_radius:6,padding:wn[s],shadow:Tn,shadow_enabled:!1,text_color:a.colors.text,text_hover_color:a.colors.textHover},type:"outside_video",typography:Object.assign(Object.assign({},Sn),{size:En[s]}),url:a.link}));else for(let e of(null==(i=t.callActions)?void 0:i.items)||[])e.as_html&&e.delay?l.push(e):"outside_video"===e.type||e.as_html?n.push(e):"inside_video"===e.type&&o.push(!(r=e).as_html&&r.image_as_button&&r.rich_element?Object.assign(Object.assign({},r),{rich_element:Object.assign(Object.assign({},r.rich_element),{properties:Object.assign(Object.assign({},r.rich_element.properties),{link:{open_in_new_tab:r.open_in_new_tab,url:r.url}})})}):r);return Object.assign(Object.assign({},t),{delayCTAs:l,insideCTAs:o,outsideCTAs:n})}let by=(e,t)=>{if(!e)return null;var i=Math.round(255*t).toString(16).padStart(2,"0");if(e.startsWith("#"))return"#"+((r=e.replace("#","").replace(/[^0-9A-Fa-f]/g,"")).length<=4?r.slice(0,3).split("").map(e=>e+e).join(""):r.slice(0,6)).padEnd(6,"0")+i;if(e.startsWith("hsl")){var r=e.match(/hsl\(([^)]+)\)/);if(r)return`hsla(${r[1]} / ${t})`}if(e.startsWith("rgb")){var s,i=e.match(/\d+/g);if(i&&3<=i.length)return[r,i,s]=i,`rgba(${r}, ${i}, ${s}, ${t})`}return e},Ey=e=>{var t=e.trim().match(/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i);return t?(t=t[1].length<=4?t[1].replace(/(.)/g,"$1$1"):t[1],Object.assign(Object.assign({},8===t.length&&{a:parseInt(t.slice(6,8),16)/255}),{b:parseInt(t.slice(4,6),16),g:parseInt(t.slice(2,4),16),r:parseInt(t.slice(0,2),16)})):(t=e.match(/\d+(\.\d+)?/g),e.startsWith("rgb")&&t&&3<=t.length?Object.assign(Object.assign({},4<=t.length&&{a:Number(t[3])}),{b:Number(t[2]),g:Number(t[1]),r:Number(t[0])}):null)},wy=.15,Ty=.12,Sy=({b:e,g:t,r:i})=>{var i=i/255,t=t/255,e=e/255,r=Math.max(i,t,e),s=Math.min(i,t,e),a=(r+s)/2;if(r===s)return{hue:0,lightness:a,saturation:0};var n=r-s;let o;return{hue:(o=r===i?(t-e)/n+(t(i<0&&(i+=1),1{var r;return 0===i?{b:r=Math.round(255*t),g:r,r:r}:(t=2*t-(r=t<.5?t*(1+i):t+i-t*i),{b:Math.round(255*ky(t,r,e-1/3)),g:Math.round(255*ky(t,r,e)),r:Math.round(255*ky(t,r,e+1/3))})},Ay=e=>{var t,i,r,s;return e&&((t=Ey(e))?({hue:i,lightness:r,saturation:s}=Sy(t),r=r{var t,i,r,s;return null!=e&&e.active?({angle:e,primaryColor:t,primaryStop:i,secondaryColor:r,secondaryStop:s}=e,`linear-gradient(${e}deg, ${t} ${i}%, ${r} ${s}%)`):null},xy=e=>""!==e.canPlayType("application/vnd.apple.mpegURL");class Ry extends e{constructor(e){super(Ry.eventName,{detail:e})}}Ry.eventName="hls-error";class Iy extends e{constructor(e){super(Iy.eventName,{detail:e})}}Iy.eventName="first-segment-loaded";class Py extends e{constructor(){super(Py.eventName)}}Py.eventName="level-switched";class Cy extends e{constructor(){super(Cy.eventName)}}Cy.eventName="levels-loaded";class Dy extends e{constructor(e){super(Dy.eventName,{detail:e})}}Dy.eventName="mount";let Oy={Error:Ry,FirstSegmentLoaded:Iy,LevelsLoaded:Cy,LevelSwitched:Py,Mount:Dy};var Uf=i`:host{--style-font-family:"Arial",sans-serif;display:block;height:100%;width:100%}video{background-color:#000;height:100%;left:0;object-position:center;pointer-events:none;position:absolute;top:0;width:100%;z-index:9999}video.loading{background:#000 50%/contain no-repeat var(--thumbnail-url,none)}video::cue{visibility:hidden}`,g=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var e;this.player.controllers.blockers.noneBlocker("played")&&null!=(e=this.player.config.video)&&e.picStart&&this.player.playback.play()},this.onPageShow=e=>{e.persisted&&(this.logger.trace("pageshow: restored from bfcache"),this.player.playback.played)&&this.video.paused&&this.player.playback.play()},this.onSmartAutoPlayActive=()=>{this.customPreview&&this.switchVideoSource(this.mountManifest(this.customPreview),this.customPreviewPosition)},this.onSmartAutoPlayInactive=()=>{this.customPreview=void 0},this.onOffline=()=>{var e;this.logger.debug("HLS offline"),null!=(e=this.hls)&&e.stopLoad(),this.player.dispatchEvent(new o.Offline)},this.onOnline=()=>{this.logger.debug("HLS online"),this.recoverPlayback(),this.player.dispatchEvent(new o.Online)},this.onInitializedMediaSession=()=>{this.player.dispatchEvent(new ms.ChangeArtwork({artwork:this.settings.picStart||this.poster||this.settings.poster||""}))}}get currentQualityLevel(){return this._currentLevel}get firstSegmentLoaded(){return this._firstSegmentLoaded}get isUsingHls(){var e=Qo()&&ni()&&xy(this.video);return nv.isSupported()&&!e}get isSecureEnabled(){return this.player.config.secure&&this.isUsingHls}get m3u8(){return this.mountManifest(this.settings)}mountManifest(e){var t=this.isSecureEnabled?"m3u8.vturb.net":this.player.config.cdn||"cdn.converteai.net",i=(null==e?void 0:e.oid)||this.player.config.oid,r=null==e?void 0:e.id,e=(null==e?void 0:e.hlsFile)||"main.m3u8";return`https://${t}${this.token}/${i}/${r}/`+e}get qualityLevels(){return this._levels}get token(){if(!this.isSecureEnabled)return"";let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-+=.@$!*";return"/t-"+Array.from({length:32},()=>e[Math.floor(Math.random()*e.length)]).join("")+(this.player.config.fkdlvid||"")}addEventListener(e,t,i){e="string"==typeof e?e:e.toString();Fy.includes(e)?super.addEventListener(e,t,i):this.video.addEventListener(e,t,i)}connectedCallback(){let e=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return My(this,void 0,void 0,function*(){e.connectedCallback.call(this),yield this.updateComplete,yield this.setupHls(),window.addEventListener("offline",this.onOffline),window.addEventListener("online",this.onOnline),window.addEventListener("pageshow",this.onPageShow),this.player.addEventListener(a.Play,this.onInitializedMediaSession),this.player.addEventListener(r.Active,this.onSmartAutoPlayActive,{once:!0,passive:!0}),this.player.addEventListener(r.Inactive,this.onSmartAutoPlayInactive,{once:!0,passive:!0})})}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("offline",this.onOffline),window.removeEventListener("online",this.onOnline),window.removeEventListener("pageshow",this.onPageShow),this.player.removeEventListener(r.Active,this.onSmartAutoPlayActive),this.player.removeEventListener(r.Inactive,this.onSmartAutoPlayInactive),this.player.removeEventListener(a.Play,this.onInitializedMediaSession),this._savedCues.clear(),this.hls&&(this.hls.destroy(),this.hls=null),this._firstSegmentLoaded=!1}willUpdate(e){e.has("customPreview")&&(this.player.controllers.blockers.anyBlocker("smartAutoPlay")&&this.customPreview?this.switchVideoSource(this.mountManifest(this.customPreview),this.customPreviewPosition):this.customPreview||this.switchVideoSource(this.m3u8,0))}removeEventListener(e,t,i){e="string"==typeof e?e:e.toString();e===Oy.Mount.eventName||e===Oy.FirstSegmentLoaded.eventName?super.removeEventListener(e,t,i):this.video.removeEventListener(e,t,i)}render(){var e=(null==(t=this.player.config.video)?void 0:t.picStart)&&!(null!=(e=null==(t=this.player.classList)?void 0:t.contains)&&e.call(t,"in-fullscreen")||this.player.interface.fluid)&&this.player.controllers.blockers.noneBlocker("played"),t=Ra({"-webkit-media-controls-timeline":"none","-webkit-media-controls-timeline-container":"none","--thumbnail-url":this.thumbnail?`url("${this.thumbnail}")`:void 0,cursor:e?"pointer":"default",objectFit:e?"cover":this.objectFit,pointerEvents:e?"auto":"none"}),e=Hs({loading:!this.firstSegmentLoaded});return c` `}setQuality(e,t=!1){this.hls&&-1<=e&&ethis.logger.trace(e,t),error:(e,...t)=>this.logger.error(e,t),warn:(e,...t)=>this.logger.warn(e,t),info:(e,...t)=>this.logger.info(e,t),debug:(e,...t)=>this.logger.debug(e,t),trace:(e,...t)=>this.logger.trace(e,t)},autoStartLoad:!0,enableWorker:!0,maxBufferLength:32,maxBufferSize:1e7,maxMaxBufferLength:32,preferManagedMediaSource:!0,startLevel:0,xhrSetup:e=>{e.withCredentials=!1}}),this.isUsingHls?(this.hls.once(nv.Events.MEDIA_ATTACHED,()=>{var e;this.logger.group("debug","HLS attached to video element").message("Media id "+(null==(e=this.hls.media)?void 0:e.id)).end(),this.mount()}),this.hls.on(nv.Events.MANIFEST_PARSED,(e,t)=>{var i;this.logger.debug("Manifest loaded, found "+t.levels.length+" quality level"),this._levels=t.levels.map(e=>({bitrate:e.bitrate,height:e.height,width:e.width})),this.hls.startLevel=(i=(null==(t=this.settings)?void 0:t.startQuality)||"auto",t=this._levels,"low"===i||"auto"===i?0:t.findIndex(e=>e.height===Ny[i])),this.dispatchEvent(new CustomEvent("levels-loaded",{detail:{levels:this._levels}}))}),this.hls.on(nv.Events.LEVEL_SWITCHED,(e,t)=>{this._currentLevel=t.level,this.dispatchEvent(new CustomEvent("quality-change",{detail:{auto:this.hls.autoLevelEnabled,level:t.level}}))}),this.hls.once(nv.Events.FRAG_LOADED,()=>this.dispatchFirstSegmentLoaded()),this.hls.on(nv.Events.ERROR,(e,t)=>{var i;if(t.fatal)switch(t.type){case nv.ErrorTypes.MEDIA_ERROR:this.logger.warn("Fatal media error encountered",t),this.recoverMediaError(t);break;case nv.ErrorTypes.NETWORK_ERROR:this.logger.warn("Fatal network error encountered",t),this.handleNetworkError(t);break;default:this.logger.error("Fatal error encountered",t),null!=(i=this.hls)&&i.destroy()}else t.details===nv.ErrorDetails.BUFFER_APPEND_ERROR&&this.video.readyState===HTMLMediaElement.HAVE_NOTHING&&0===this._mediaErrorRecoveryAttempt?(this.logger.warn("Buffer append error encountered, video is not ready",t),this.recoverMediaError(t)):this.logger.warn("Non-fatal error encountered",t);this.dispatchEvent(new Oy.Error({details:t.details,fatal:t.fatal,type:t.type}))}),this.hls.attachMedia(yield this.videoAsync),this.hls.loadSource(this.m3u8),this.logger.group("info","HLS attached to video element").message("video",this.video).end()):xy(this.video)?(this.mount(),this.video.src=this.m3u8,this.logger.debug("HLS Native is supported"),this.video.addEventListener("progress",()=>{this.dispatchFirstSegmentLoaded()},{once:!1}),this.video.addEventListener("canplay",()=>{this.dispatchFirstSegmentLoaded()},{once:!0})):this.logger.error("HLS is not supported")})}_onLoadedMetadata(){this.video&&0{e.mode="hidden"})}_onTrackLoad(e){e=e.target;e.track&&(e.track.mode="hidden")}dispatchFirstSegmentLoaded(){this._firstSegmentLoaded||(this._firstSegmentLoaded=!0,this.dispatchEvent(new Oy.FirstSegmentLoaded({hls:this.hls,timestamp:Date.now(),video:this.video})),this.video.classList.remove("loading"),this.logger.debug("First video segment loaded"))}recoverMediaError(e){this._mediaErrorRecoveryCounterResetTimeout&&clearTimeout(this._mediaErrorRecoveryCounterResetTimeout),this._mediaErrorRecoveryAttempt++,3{var e,t=this.video.currentTime;this.saveTextTrackCues(),null!=(e=this.hls)&&e.recoverMediaError(),this.restoreTextTrackCues(),null!=(e=this.hls)&&e.media&&(this.hls.media.currentTime=t),this._mediaErrorRecoveryCounterResetTimeout=setTimeout(()=>{this._mediaErrorRecoveryAttempt=0},5e3)},500)}saveTextTrackCues(){this._savedCues.clear(),Array.from(this.video.textTracks).forEach(e=>{var t;null!=(t=e.cues)&&t.length&&this._savedCues.set(e,Array.from(e.cues))})}restoreTextTrackCues(){this._savedCues.forEach((e,t)=>{e.forEach(e=>{try{t.addCue(e)}catch(e){}})}),this._savedCues.clear()}recoverPlayback(){var e,t;this.isUsingHls&&this.hls?this.hls.startLoad(this.video.currentTime):this.video&&(e=this.video.currentTime,t=!this.video.paused,this.video.src=this.m3u8,this.video.currentTime=e,t)&&this.video.play()}handleNetworkError(e){this.logger.warn("Attempting to recover from network error in 500ms"),setTimeout(()=>this.recoverPlayback(),500)}switchVideoSource(e,t=0){var i=this.video.playbackRate;this.video.currentTime=t,this.isUsingHls&&this.hls?(this.hls.config.startPosition=t,this.hls.loadSource(e),this.hls.startLoad()):(this.video.src=e,this.video.load()),this.video.defaultPlaybackRate=i,this.video.playbackRate=i}mount(){this.dispatchEvent(new Oy.Mount({hls:this.hls,video:this.video}))}},$y=(Uy.componentName="HlsVideo",Uy.shadowRootOptions={mode:Dr("closed")},Uy.styles=[Uf],g([d()],Uy.prototype,"autoplay",void 0),g([d()],Uy.prototype,"controls",void 0),g([d()],Uy.prototype,"muted",void 0),g([d()],Uy.prototype,"objectFit",void 0),g([d()],Uy.prototype,"poster",void 0),g([d()],Uy.prototype,"preload",void 0),g([d()],Uy.prototype,"settings",void 0),g([d()],Uy.prototype,"subtitles",void 0),g([p("video")],Uy.prototype,"video",void 0),g([jr("video")],Uy.prototype,"videoAsync",void 0),g([d({type:Number})],Uy.prototype,"customPreviewPosition",void 0),g([d({type:Object})],Uy.prototype,"customPreview",void 0),g([d({type:String})],Uy.prototype,"thumbnail",void 0),Uy=g([f("hls-video")],Uy),function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3{var t=Number(this.input.value);this.value=t>this.max?this.max:t
`}updated(e){e.has("value")&&this.updateSlider()}updateSlider(){var e,t=this.min,i=this.max,i=(this.value-t)/(i-t),t=this.thumb.offsetWidth;this.vertical?(e=(this.slider.offsetHeight-t)*(1-i)+"px",this.style.setProperty("--slider-value-width",100*i+"%"),this.style.setProperty("--thumb-offset",e)):(e=(this.slider.offsetWidth-t)*i+"px",this.style.setProperty("--slider-value-width",100*i+"%"),this.style.setProperty("--thumb-offset",e)),this.dispatchEvent(new Event("change"))}},jy=(By.styles=i` :host { --slider-background: #767676; --slider-height: var(--volume-slider-height, 0.125em); /* 2px */ --slider-radius: var(--slider-height); --slider-value-color: #ff6200; --slider-value-width: 0; --slider-value-height: 0; --thumb-color: #adadad; --thumb-diameter: 0.9375em; /* 15px */ --thumb-offset: 0; display: inline-block; } .range-container { position: relative; width: 100%; height: 100%; display: flex; justify-content: flex-start; align-items: center; } .range-slider, .range-slider-value { border-radius: var(--slider-radius); position: absolute; } .range-slider { background: var(--slider-background); width: 100%; height: var(--slider-height); } .range-slider-value { background: var(--slider-value-color); width: var(--slider-value-width); height: var(--slider-height); } :host([vertical]) .range-container { height: 100%; flex-direction: column; } :host([vertical]) .range-slider { width: var(--slider-height); height: 100%; } :host([vertical]) .range-slider-value { width: var(--slider-height); height: var(--slider-value-width); bottom: 0; } :host([vertical]) input { writing-mode: vertical-rl; direction: rtl; width: 100%; vertical-align: bottom; } .range-thumb { background: var(--thumb-color); border-radius: 50%; height: var(--thumb-diameter); position: absolute; width: var(--thumb-diameter); transform: translateX(var(--thumb-offset)); } :host([vertical]) .range-thumb { transform: translateY(var(--thumb-offset)); } input { display: inline-block; height: 100%; width: 100%; margin: 0; opacity: 0; position: relative; cursor: pointer; } :host([disabled]) { --slider-background: #d9d9d9; --slider-value-color: #a8a8a8; --thumb-color: #f0f0f0; } `,$y([d({reflect:!0,type:Boolean})],By.prototype,"disabled",void 0),$y([d({type:Number})],By.prototype,"max",void 0),$y([d({type:Number})],By.prototype,"min",void 0),$y([d({type:Number})],By.prototype,"step",void 0),$y([d({type:Number})],By.prototype,"value",void 0),$y([d({reflect:!0,type:Boolean})],By.prototype,"vertical",void 0),$y([p("input")],By.prototype,"input",void 0),$y([p(".range-slider")],By.prototype,"slider",void 0),$y([p(".range-thumb")],By.prototype,"thumb",void 0),By=$y([f("range-slider")],By),"vturb-player-intersection-element");class Vy{get position(){return this._position}constructor(e){this.element=e,this._position=1/0,this.disconnect=()=>this.observer.disconnect(),this.observe=()=>{var e;this.element.setAttribute(jy,""),this._position=this.calculateDomPosition();for(e of this.findPlayers())this.observer.observe(e)},this.calculateDomPosition=()=>{if(!this.isVisibleElement(this.element))return 1/0;let e=0;var t;for(t of this.findPlayers()){if(t===this.element)break;this.isVisibleElement(t)&&this.element.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING&&e++}return e},this.findPlayers=()=>document.querySelectorAll(`[${jy}]`),this.isVisibleElement=e=>null!==e.offsetParent&&0{this._position=this.calculateDomPosition()},this.observer=new IntersectionObserver(this.onIntersectionChange)}}var Gy,zy,Hy,Ky,k,Wy,qy,Yy,Xy,Qy,Zy,Jy,e0,m=i`vturb-headline{display:var(--headlines-display,var(--elements-display,block));height:var(--headlines-height,var(--elements-height));opacity:var(--headlines-opacity,var(--elements-opacity,1))}vturb-bigplay,vturb-controls,vturb-delay-call-to-action,vturb-inside-call-to-action,vturb-minihook,vturb-outside-call-to-action,vturb-smartautoplay,vturb-thumbsniper{height:var(--elements-height);opacity:var(--elements-opacity,1)}:host{display:block;font-size:16px;height:auto;outline:none;z-index:1}:host,div[id^=vturb-callaction-container-]{--player-vertical-width:400px;--base-transition-duration:0.3s;--base-transition-delay:0s;--base-transition-cubic:cubic-bezier(0.25,0.1,0.25,1);--base-transition:var(--base-transition-duration) var(--base-transition-cubic) var(--base-transition-delay);--base-linear-transition:0.2s linear}:host .m-w-360,div[id^=vturb-callaction-container-] .m-w-360{font-size:10px}:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-480{font-size:11px}:host .m-w-550,div[id^=vturb-callaction-container-] .m-w-550{font-size:12px}:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-768{font-size:13px}:host .m-w-1024,div[id^=vturb-callaction-container-] .m-w-1024{font-size:14px}:host .m-w-1280,div[id^=vturb-callaction-container-] .m-w-1280{font-size:16px}:host .m-w-1440,div[id^=vturb-callaction-container-] .m-w-1440{font-size:16.5px}:host .m-w-1600,div[id^=vturb-callaction-container-] .m-w-1600{font-size:17px}:host .m-w-1920,div[id^=vturb-callaction-container-] .m-w-1920{font-size:18px}:host,div[id^=vturb-callaction-container-]{--style-background:#000;--style-foreground:#fff;--style-font-family:Roboto,Helvetica,Arial,Tahoma,sans-serif;--style-background-opacity:rgba(0,0,0,.7);--style-hover-background:hsla(0,0%,100%,.1);--style-dark-hover-background:rgba(0,0,0,.85);--fakebar-height:0;--control-index:5;--control-padding:0.625em;--control-font-size:1.5em;--control-height:6.125em;--control-translate-y:100%;--control-gap-vertical:0.875em;--control-gap-horizontal:0.625em;--control-border-radius:0.3em;--control-button-size:1.5em;--control-mobile-button-padding:1em;--control-mobile-button-featured-padding:1.5em;--control-mobile-button-icon-size:2em;--control-mobile-button-featured-icon-size:3em;--progressbar-background-color:hsla(0,0%,100%,.2);--progressbar-fill-color:var(--style-foreground,#fff);--progressbar-handle-color:var(--style-foreground,#fff);--progressbar-height:0.25em;--headline-font-family:inherit;--headline-margin-bottom:1.875em;--resume-background-color:var(--style-background);--resume-blur:0.3125em;--resume-font-size:1em;--resume-foreground-color:var(--style-foreground);--resume-index:10;--resume-line-height:1.3;--resume-min-width:180px;--thumbsniper-background-color:#000;--thumbsniper-image-fit:contain;--thumbsniper-index:100;--thumbsniper-button-margin:1.25em;--callaction-background-color:var(--style-background);--callaction-index:100;--callaction-button-margin:1.25em;--volume-slider-width:3.75em;--volume-slider-height:0.25em;--volume-slider-diameter:0.9375em;--player-border-radius:none;--player-box-shadow:none;font-family:var(--style-font-family,sans-serif);--anchor-button-base-font-size:18px;--anchor-button-background-color:var(--style-background);--anchor-button-background-color-hover:var(--style-background-hover);--anchor-button-zindex:100;--anchor-button-border-radius:5px;--anchor-button-color:var(--style-foreground);--anchor-button-color-hover:var(--style-foreground-hover);--anchor-button-font-size:1em;--anchor-button-line-height:1.2;--anchor-button-font-weight:700;--anchor-button-size-lg:1.5em;--anchor-button-size-md:1.25em;--anchor-button-size-sm:1em;--anchor-button-display:inline-block;--anchor-button-padding:1.25em;--anchor-button-font-size-lg:calc(var(--anchor-button-size-lg)*1);--anchor-button-padding-lg:calc(var(--anchor-button-size-lg)*0.5) calc(var(--anchor-button-size-lg)*0.66667)}:host .m-w-550,:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-550,div[id^=vturb-callaction-container-] .m-w-768{--anchor-button-font-size-lg:calc(var(--anchor-button-size-lg)*0.83333);--anchor-button-padding-lg:calc(var(--anchor-button-size-lg)*0.33333) calc(var(--anchor-button-size-lg)*0.5)}:host .m-w-360,:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-360,div[id^=vturb-callaction-container-] .m-w-480{--anchor-button-font-size-lg:calc(var(--anchor-button-size-lg)*0.66667);--anchor-button-padding-lg:calc(var(--anchor-button-size-lg)*0.16667) calc(var(--anchor-button-size-lg)*0.33333)}:host,div[id^=vturb-callaction-container-]{--anchor-button-font-size-md:calc(var(--anchor-button-size-md)*1);--anchor-button-padding-md:calc(var(--anchor-button-size-md)*0.4) calc(var(--anchor-button-size-md)*0.6)}:host .m-w-550,:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-550,div[id^=vturb-callaction-container-] .m-w-768{--anchor-button-font-size-md:calc(var(--anchor-button-size-md)*0.8);--anchor-button-padding-md:calc(var(--anchor-button-size-md)*0.3) calc(var(--anchor-button-size-md)*0.4)}:host .m-w-360,:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-360,div[id^=vturb-callaction-container-] .m-w-480{--anchor-button-font-size-md:calc(var(--anchor-button-size-md)*0.7);--anchor-button-padding-md:calc(var(--anchor-button-size-md)*0.2) calc(var(--anchor-button-size-md)*0.3)}:host,div[id^=vturb-callaction-container-]{--anchor-button-font-size-sm:calc(var(--anchor-button-size-sm)*1);--anchor-button-padding-sm:calc(var(--anchor-button-size-sm)*0.25) calc(var(--anchor-button-size-sm)*0.5)}:host .m-w-550,:host .m-w-768,div[id^=vturb-callaction-container-] .m-w-550,div[id^=vturb-callaction-container-] .m-w-768{--anchor-button-font-size-sm:calc(var(--anchor-button-size-sm)*0.875);--anchor-button-padding-sm:calc(var(--anchor-button-size-sm)*0.25) calc(var(--anchor-button-size-sm)*0.375)}:host .m-w-360,:host .m-w-480,div[id^=vturb-callaction-container-] .m-w-360,div[id^=vturb-callaction-container-] .m-w-480{--anchor-button-font-size-sm:calc(var(--anchor-button-size-sm)*0.75);--anchor-button-padding-sm:calc(var(--anchor-button-size-sm)*0.125) calc(var(--anchor-button-size-sm)*0.25)}:host,div[id^=vturb-callaction-container-]{--bezel-display:initial;--bezel-color:#fff;--bezel-animation-duration:0.5s;--bezel-animation-timing:linear;--bezel-scale-start:1;--bezel-scale-end:2;--bezel-opacity-start:1;--bezel-opacity-end:0;--bezel-icon-size:5em;--bezel-icon-padding:1.25em;--bezel-background-color:rgba(0,0,0,.5);--bezel-border-radius:50%;--bezel-icon-fill:#fff;--bezel-loading-min-width:100px;--bezel-loading-width:45%;--bezel-loading-max-width:200px;--bigplay-base-size:10em;--bigplay-border-radius:5em;--bigplay-background:transparent;--bigplay-opacity:0.9;--bigplay-padding-y:1.6em;--bigplay-padding-x:0.8em;--bigplay-size-360:6.5em;--bigplay-size-480:5.75em;--bigplay-size-550:7.5em;--subtitle-max-width:75%;--subtitle-max-width-small:85%;--subtitle-text-shadow:0.5px 0.5px 0.5px rgba(0,0,0,.8);--subtitle-padding:0.25em 0.4em;--subtitle-line-height:1.675;--subtitle-font-weight:500;--subtitle-letter-spacing:0.03em}.no-pointer,.no-pointer *{pointer-events:none}.pointer,.pointer *{pointer-events:auto}vturb-headline{font-family:var(--headline-font-family,inherit)}vturb-player{display:block;height:auto;outline:none}.vturb-in-mini-player{height:var(--mini-player-placeholder-height,180px)!important;position:relative}.vturb-in-mini-player .player-immersive-wrapper-content{bottom:var(--mini-player-margin,0)!important;height:var(--mini-player-height,180px)!important;left:auto!important;margin:0!important;max-width:none!important;position:fixed!important;right:var(--mini-player-margin,0)!important;top:auto!important;width:var(--mini-player-width,320px)!important;z-index:var(--mini-player-z-index,9999998)!important}.vturb-in-mini-player .controls__first{border-bottom-left-radius:var(--player-border-radius);border-bottom-right-radius:var(--player-border-radius)}.vturb-in-mini-player .vturb-mini-player-close{opacity:1;pointer-events:auto}.vturb-mini-player-close{align-items:center;background:rgba(0,0,0,.45);border:1px solid rgba(150,170,235,.3);border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;left:6px;line-height:0;padding:0;pointer-events:auto;position:absolute;top:6px;transition:opacity .15s ease,background .15s ease;width:32px;z-index:calc(var(--mini-player-z-index, 9999998) + 1)}.vturb-mini-player-close svg{display:block;height:18px;width:18px}.vturb-mini-player-close:hover{background:rgba(0,0,0,.95)}.vturb-mini-player-close:focus-visible{outline:2px solid #fff;outline-offset:2px}`,t=function(e,t,i,r){var s,a=arguments.length,n=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;0<=o;o--)(s=e[o])&&(n=(a<3?s(n):3this.appendChild(e),config:()=>this.config,urlUpdater:(e,t)=>{var i;return(null==(i=_(this,k,"f"))?void 0:i.urlUpdater(e,t))||e},isPreview:()=>this.config.preview||!1,isFrame:null!==document.querySelector("meta[name='vturb-iframe']")}),this.doc=document,this.fluid=!1,this.hasPreloadSlot=!1,this.mounted=!1,this.pauseOneTouch=!1,Ky.set(this,new s("SmartPlayer")),k.set(this,void 0),Wy.set(this,void 0),qy.set(this,void 0),this.injectUrlUpdater=t=>t0(this,void 0,void 0,function*(){var e;if("function"!=typeof t)return _(this,Ky,"f").warn("injectUrlUpdater: updater is not a function");yield _(this,Gy,"m",Yy).call(this),null!=(e=_(this,k,"f"))&&e.registerUrlUpdater(se.MEDIUM,t)}),this.mute=()=>_(this,zy,"f").mute(),this.pause=()=>_(this,zy,"f").pause(),this.play=()=>_(this,zy,"f").play(),this.setup=s=>t0(this,void 0,void 0,function*(){var e,t,i=_(this,Ky,"f").group("info","Player: group setup").message("config",s).message("current config",Object.assign({},this.config)).message("default config",Object.assign({},cy));try{if(this.config=fy(dy(dy(cy,this.config),s)),this.customConfig)try{var r=JSON.parse(this.customConfig);this.config=dy(this.config,r)}catch(e){_(this,Ky,"f").error("Failed to parse customConfig JSON",e)}this.config=yy(this.config),i.message("result config",Object.assign({},this.config)).end(),_(this,Xy,"f").call(this),this.requestUpdate(),null!=(e=_(this,k,"f"))&&e.deepUpdate(),_(this,Ky,"f").debug("config updated",o.ConfigUpdated.eventName),this.dispatchEvent(new o.ConfigUpdated({config:this.config})),null!=(t=_(this,k,"f"))&&t.dispatchEvent(new o.ConfigUpdated({config:this.config,player:_(this,k,"f")}))}catch(e){_(this,Ky,"f").error("Failed to setup player",e)}}),this.unmute=()=>_(this,zy,"f").unmute(),this.urlUpdater=e=>t0(this,void 0,void 0,function*(){return yield _(this,Gy,"m",Yy).call(this),_(this,k,"f").urlUpdater(e)}),Xy.set(this,()=>{this.config.video.widththis.hasPreloadSlot&&_(this,Gy,"m",Jy).call(this,De.Expired),e0.MAX_PRELOAD_SLOT_TIME),"f");this._setup&&this.setup(this._setup)}disconnectedCallback(){window.removeEventListener("resize",_(this,Xy,"f")),clearTimeout(_(this,Wy,"f")),_(this,qy,"f").disconnect(),_(this,zy,"f").destroy()}displayHiddenElements(e,r,s={}){var t=()=>{var e,t,i;t=this.doc,i=s.display,r.forEach(e=>{t.querySelectorAll(e).forEach(e=>e.style.setProperty("display",null!=i?i:"block","important"))}),s.persist&&_(this,k,"f").store.set("displayHiddenElements-"+this.config.id,!0),null!=(e=s.callback)&&e.call(this)};_(this,k,"f").store.get("displayHiddenElements-"+this.config.id,!1)?t():this.onTime(e,t,{once:!0})}willUpdate(e){e.has("config")&&(_(this,zy,"f").disablePause=!(null==(e=null==(e=this.config)?void 0:e.playback)||!e.disablePause),_(this,Gy,"m",Qy).call(this))}fullscreen(e){var t;"on"===e?null!=(t=_(this,k,"f"))&&t.dispatchEvent(new n.Expand):"off"===e?null!=(t=_(this,k,"f"))&&t.dispatchEvent(new n.Minimize):null!=(e=_(this,k,"f"))&&e.dispatchEvent(new n.Toggle)}onTime(e,t){return t0(this,arguments,void 0,function*(t,i,r={}){yield _(this,Gy,"m",Yy).call(this);let s=e=>{e.detail.time>=t&&(i.call(this),r.once)&&this.removeEventListener(a.Timeupdate,s)};this.addEventListener(a.Timeupdate,s)})}reload(){return t0(this,void 0,void 0,function*(){var e=this.config.oid;this.setup({oid:void 0}),yield this.updateComplete,i0(this,k,void 0,"f"),this.setup({oid:e})})}render(){var e;return null!=(e=this.config)&&e.oid?(e=this.hasPreloadSlot?"display: none;":"",c` ${v(this.hasPreloadSlot,()=>c``)} `):c``}seek(e){return t0(this,void 0,void 0,function*(){yield _(this,Gy,"m",Yy).call(this),_(this,zy,"f").seek(e)})}setVolume(e){if(e<0||100{this.addEventListener(o.Ready,e)})},Qy=function(){var e,t,i,r;this.config&&(t=this.config.style.linearGradient,e=Ly(t),t=null!=t&&t.active?Ly(Object.assign(Object.assign({},t),{primaryColor:Ay(t.primaryColor)||t.primaryColor,secondaryColor:Ay(t.secondaryColor)||t.secondaryColor})):null,i=e?"#ffffff":this.config.style.foreground,r=this.config.fakeBar.inheritBaseColor&&e?e:this.config.fakeBar.color,this.style.setProperty("--fakebar-background-color",r),this.style.setProperty("--fakebar-height",`${this.config.fakeBar.active?this.config.fakeBar.height:0}px`),this.style.setProperty("--resume-background-color",this.config.resume.backgroundColor),this.style.setProperty("--resume-foreground-color",this.config.resume.foregroundColor),this.style.setProperty("--style-background",this.config.style.background),this.style.setProperty("--style-background-100",by(this.config.style.background,1)),this.style.setProperty("--style-background-90",by(this.config.style.background,.9)),this.style.setProperty("--style-background-80",by(this.config.style.background,.8)),this.style.setProperty("--style-background-70",by(this.config.style.background,.7)),this.style.setProperty("--style-background-60",by(this.config.style.background,.6)),this.style.setProperty("--style-background-50",by(this.config.style.background,.5)),this.style.setProperty("--style-background-opacity","var(--style-background-80)"),this.style.setProperty("--style-foreground",i),this.style.setProperty("--style-foreground-100",by(i,1)),this.style.setProperty("--style-foreground-90",by(i,.9)),this.style.setProperty("--style-foreground-80",by(i,.8)),this.style.setProperty("--style-foreground-70",by(i,.7)),this.style.setProperty("--style-foreground-60",by(i,.6)),this.style.setProperty("--style-foreground-50",by(i,.5)),this.style.setProperty("--style-foreground-opacity","var(--style-foreground-80)"),this.style.setProperty("--player-border-radius",this.config.style.borderRadius+"px"),this.style.setProperty("--bigplay-background",e||this.config.style.background),this.style.setProperty("--bigplay-background-hover",t||Ay(this.config.style.background)),this.style.setProperty("--style-gradient",e),this.style.setProperty("--style-gradient-surface",e?"rgba(0, 0, 0, 0.5)":null),this.style.setProperty("--style-gradient-surface-hover",e?"rgba(0, 0, 0, 0.75)":null))},Zy=function(e){if(!_(this,k,"f"))try{i0(this,k,e.target,"f");let i={config:this.config,player:this};[a.Ready,we.Denied].forEach(e=>{_(this,k,"f").addEventListener(e,()=>{this.hasPreloadSlot&&_(this,Gy,"m",Jy).call(this,De.Removed)})}),_(this,k,"f").addEventListener(o.Ready,()=>{this.dispatchEvent(new o.Ready(i)),null!=document&&document.dispatchEvent(new o.Ready(i))}),_(this,k,"f").addEventListener(a.Timeupdate,e=>{this.dispatchEvent(new a.Timeupdate({time:e.detail.time}))}),[a.Play,a.Pause,a.Ended,n.Entered,n.Exited,Se.TimeReached,r.Active,r.Inactive,r.VideoReady].forEach(t=>{_(this,k,"f").addEventListener(t,e=>{this.dispatchEvent(new CustomEvent(t.toString(),{detail:i}))})}),[oe.Connected,oe.CurrentActiveItems,ue.ScrollBackRequest,ue.Toggle].forEach(e=>{this.addEventListener(e,e=>e.stopPropagation())})}catch(e){_(this,Ky,"f").error("Failed to add player event listeners",{error:e})}},Jy=function(e){this.dispatchEvent(new e({config:this.config,player:this})),this.hasPreloadSlot=!1,"preload:expired"===e.eventName&&null!=(e=_(this,k,"f"))&&e.dispatchEvent(new l.Event({type:"custom-preload_expired",body:{}}))},r0.MAX_PRELOAD_SLOT_TIME=2500,r0.shadowRootOptions={mode:Dr()},r0.styles=[m,hy.styles],t([d({type:Object})],r0.prototype,"config",void 0),t([d({attribute:"custom-config",reflect:!0,type:String})],r0.prototype,"customConfig",void 0),t([d({reflect:!0,type:Boolean})],r0.prototype,"fluid",void 0),t([d({reflect:!0,type:Boolean})],r0.prototype,"hasPreloadSlot",void 0),t([d({attribute:"original-id",reflect:!0,type:String})],r0.prototype,"originalId",void 0),t([d({reflect:!0,type:Boolean})],r0.prototype,"pauseOneTouch",void 0),r0=e0=t([f("vturb-smartplayer")],r0)},8751(){var e,t;e=window,t=performance,e._plt=e._plt||(t&&t.timeOrigin?t.timeOrigin+t.now():Date.now())},641(e,t,i){i(8372);i=i(9316);e.exports=i("Array","find")},3305(e,t,i){i(2851),i(4211);i=i(7344);e.exports=i.Array.from},4624(e,t,i){i(9690);i=i(9316);e.exports=i("Array","includes")},8526(e,t,i){i(6993),i(1126),i(9005),i(3132),i(5438),i(6630),i(2851);i=i(7344);e.exports=i.Map},7446(e,t,i){i(666);i=i(7344);e.exports=i.Object.assign},7302(e,t,i){i(8850);i=i(7344);e.exports=i.Object.hasOwn},3429(e,t,i){i(8184),i(6993),i(6630),i(6001),i(48),i(5077),i(5258),i(8121),i(5420),i(2851);i=i(7344);e.exports=i.Promise},2348(e,t,i){i(6993),i(6630),i(1972),i(9833),i(6967),i(1482),i(1207),i(4160),i(1511),i(9675),i(2851);i=i(7344);e.exports=i.Set},2152(e,t,i){i(6667),i(6630),i(5302),i(832),i(7335),i(2377),i(2597),i(3962),i(7123),i(9488),i(4101),i(4411),i(3356),i(7494),i(5814),i(220),i(2795),i(7680),i(9691),i(6170),i(2862),i(7375);i=i(7344);e.exports=i.Symbol},2481(e,t,i){var r=i(8252),s=i(1958),a=TypeError;e.exports=function(e){if(r(e))return e;throw new a(s(e)+" is not a function")}},3937(e,t,i){var r=i(8562),s=i(1958),a=TypeError;e.exports=function(e){if(r(e))return e;throw new a(s(e)+" is not a constructor")}},6601(e,t,i){var r=i(9048),s=String,a=TypeError;e.exports=function(e){if(r(e))return e;throw new a("Can't set "+s(e)+" as a prototype")}},1865(e,t,i){var r=i(1787).has;e.exports=function(e){return r(e),e}},7938(e,t,i){var r=i(2666),s=i(3369),i=i(1250).f,a=r("unscopables"),n=Array.prototype;void 0===n[a]&&i(n,a,{configurable:!0,value:s(null)}),e.exports=function(e){n[a][e]=!0}},462(e,t,i){var r=i(8130),s=TypeError;e.exports=function(e,t){if(r(t,e))return e;throw new s("Incorrect invocation")}},3162(e,t,i){var r=i(8271),s=String,a=TypeError;e.exports=function(e){if(r(e))return e;throw new a(s(e)+" is not an object")}},2365(e,t,i){i=i(8930);e.exports=i(function(){var e;"function"==typeof ArrayBuffer&&(e=new ArrayBuffer(8),Object.isExtensible(e))&&Object.defineProperty(e,"a",{value:8})})},5419(e,t,i){var p=i(4445),f=i(3176),g=i(1724),m=i(9836),v=i(450),y=i(8562),b=i(6013),E=i(721),w=i(592),T=i(4750),S=i(8258),k=i(1380),_=Array;e.exports=function(e){var t,i,r,s,a,n,o=y(this),l=arguments.length,h=1{try{return e[t]}catch(e){}})(e=o(e),n))?t:l?a(e):"Object"===(t=a(e))&&s(e.callee)?"Arguments":t}},1391(e,t,i){var h=i(3369),d=i(7893),c=i(2976),u=i(4445),p=i(462),f=i(3022),g=i(6841),n=i(3233),o=i(4992),l=i(8044),m=i(7101),v=i(1430).fastKey,i=i(4206),y=i.set,b=i.getterFor;e.exports={getConstructor:function(e,i,r,s){function a(e,t,i){var r,s=l(e),a=n(e,t);return a?a.value=i:(s.last=a={index:r=v(t,!0),key:t,value:i,previous:t=s.last,next:null,removed:!1},s.first||(s.first=a),t&&(t.next=a),m?s.size++:e.size++,"F"!==r&&(s.index[r]=a)),e}function n(e,t){var i,e=l(e),r=v(t);if("F"!==r)return e.index[r];for(i=e.first;i;i=i.next)if(i.key===t)return i}var e=e(function(e,t){p(e,o),y(e,{type:i,index:h(null),first:null,last:null,size:0}),m||(e.size=0),f(t)||g(t,e[s],{that:e,AS_ENTRIES:r})}),o=e.prototype,l=b(i);return c(o,{clear:function(){for(var e=l(this),t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=null),t=t.next;e.first=e.last=null,e.index=h(null),m?e.size=0:this.size=0},delete:function(e){var t,i,r=l(this),e=n(this,e);return e&&(t=e.next,i=e.previous,delete r.index[e.index],e.removed=!0,i&&(i.next=t),t&&(t.previous=i),r.first===e&&(r.first=t),r.last===e&&(r.last=i),m?r.size--:this.size--),!!e},forEach:function(e){for(var t,i=l(this),r=u(e,1",p="<",f="prototype",g="script",m=i("IE_PROTO"),v=function(e){return p+g+u+e+p+"/"+g+u},y=function(){try{a=new ActiveXObject("htmlfile")}catch(e){}y="undefined"==typeof document||document.domain&&a?s(a):(e=c("iframe"),t="java"+g+":",e.style.display="none",d.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var e,t,i=l.length;i--;)delete y[f][l[i]];return y()};h[m]=!0,e.exports=Object.create||function(e,t){var i;return null!==e?(r[f]=n(e),i=new r,r[f]=null,i[m]=e):i=y(),void 0===t?i:o.f(i,t)}},5422(e,t,i){var r=i(7101),s=i(3667),o=i(1250),l=i(3162),h=i(2364),d=i(7185);t.f=r&&!s?Object.defineProperties:function(e,t){l(e);for(var i,r=h(t),s=d(t),a=s.length,n=0;ns;)!n(r,i=t[s++])||~l(a,i)||d(a,i);return a}},7185(e,t,i){var r=i(6067),s=i(7658);e.exports=Object.keys||function(e){return r(e,s)}},6640(e,t){var i={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,s=r&&!i.call({1:2},1);t.f=s?function(e){e=r(this,e);return!!e&&e.enumerable}:i},3630(e,t,i){var s=i(3809),a=i(8271),n=i(2341),o=i(6601);e.exports=Object.setPrototypeOf||("__proto__"in{}?(()=>{var i,r=!1,e={};try{(i=s(Object.prototype,"__proto__","set"))(e,[]),r=e instanceof Array}catch(e){}return function(e,t){return n(e),o(t),a(e)&&(r?i(e,t):e.__proto__=t),e}})():void 0)},1300(e,t,i){var r=i(1153),s=i(110);e.exports=r?{}.toString:function(){return"[object "+s(this)+"]"}},5519(e,t,i){var s=i(3176),a=i(8252),n=i(8271),o=TypeError;e.exports=function(e,t){var i,r;if("string"===t&&a(i=e.toString)&&!n(r=s(i,e)))return r;if(a(i=e.valueOf)&&!n(r=s(i,e)))return r;if("string"!==t&&a(i=e.toString)&&!n(r=s(i,e)))return r;throw new o("Can't convert object to primitive value")}},5456(e,t,i){var r=i(3220),s=i(2289),a=i(7469),n=i(4540),o=i(3162),l=s([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=a.f(o(e)),i=n.f;return i?l(t,i(e)):t}},6801(e,t,i){var r=i(2289),n=i(9522),o=SyntaxError,l=parseInt,h=String.fromCharCode,d=r("".charAt),c=r("".slice),u=r(/./.exec),p={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},f=/^[\da-f]{4}$/i,g=/^[\u0000-\u001F]$/;e.exports=function(e,t){for(var i=!0,r="";ti.size?l(i.getIterator(),function(e){c(t,e)&&d(r,e)}):o(t,function(e){i.includes(e)&&d(r,e)}),r}},8922(e,t,i){var s=i(1865),a=i(1787).has,n=i(1285),o=i(2886),l=i(2472),h=i(3736),d=i(1380);e.exports=function(e){var t,i=s(this),r=o(e);return n(i)<=r.size?!1!==l(i,function(e){if(r.includes(e))return!1},!0):(t=r.getIterator(),!1!==h(t,function(e){if(a(i,e))return d(t.iterator,"normal",!1)}))}},5369(e,t,i){var r=i(1865),s=i(1285),a=i(2472),n=i(2886);e.exports=function(e){var t=r(this),i=n(e);return!(s(t)>i.size)&&!1!==a(t,function(e){if(!i.includes(e))return!1},!0)}},632(e,t,i){var r=i(1865),s=i(1787).has,a=i(1285),n=i(2886),o=i(3736),l=i(1380);e.exports=function(e){var t,i=r(this),e=n(e);return!(a(i)=t.length)return e.target=null,h(void 0,!0);switch(e.kind){case"keys":return h(i,!1);case"values":return h(t[i],!1)}return h([i,t[i]],!1)},"values"),a.Arguments=a.Array);if(s("keys"),s("values"),s("entries"),!d&&i&&"values"!==n.name)try{o(n,"name",{value:"values"})}catch(e){}},7911(F,N,e){function u(e,t,i){var r=T(i,t-1),i=T(i,t+1);return w(R,e)&&!w(I,i)||w(I,e)&&!w(R,r)?"\\u"+L(S(e,0),16):e}var t=e(7725),i=e(3220),s=e(5990),p=e(3176),r=e(2289),a=e(8930),o=e(8431),f=e(8252),g=e(4635),n=e(8944),l=e(7409),h=e(8282),d=e(4497),m=e(6801),c=e(2161),v=e(1520),y=e(7606),b=String,E=i("JSON","stringify"),w=r(/./.exec),T=r("".charAt),S=r("".charCodeAt),k=r("".replace),_=r("".slice),A=r([].push),L=r(1.1.toString),x=/[\uD800-\uDFFF]/g,R=/^[\uD800-\uDBFF]$/,I=/^[\uDC00-\uDFFF]$/,P=c(),C=P.length,e=!v||a(function(){var e=i("Symbol")("stringify detection");return"[null]"!==E([e])||"{}"!==E({a:e})||"{}"!==E(Object(e))}),D=a(function(){return'"\\udf06\\ud834"'!==E("\udf06\ud834")||'"\\udead"'!==E("\udead")}),O=e?function(e,t){var i=d(arguments),r=M(t);if(f(r)||void 0!==e&&!n(e))return i[1]=function(e,t){if(f(r)&&(t=p(r,this,b(e),t)),!n(t))return t},s(E,null,i)}:E,M=function(e){if(f(e))return e;if(o(e)){for(var t=e.length,r=[],i=0;i=t.length?o(void 0,!0):(t=r(t,i),e.index+=t.length,o(t,!1))})},832(e,t,i){var r=i(3405),s=i(5852),a=i(1250).f,i=i(6056).f,r=r.Symbol;s("asyncDispose"),r&&(s=i(r,"asyncDispose")).enumerable&&s.configurable&&s.writable&&a(r,"asyncDispose",{value:s.value,enumerable:!1,configurable:!1,writable:!1})},7335(e,t,i){i(5852)("asyncIterator")},3712(F,N,e){function a(e,t,i){var r=oe(R,t);return r&&delete R[t],P(e,t,i),r&&e!==R&&P(R,t,r),e}function t(e,t){var i=C[e]=E(I);return re(i,{type:x,tag:e,description:t}),p||(i.description=t),i}function r(e,t,i){return e===R&&r(D,t,i),m(e),t=y(t),m(i),(g(C,t)?(("enumerable"in i?!i.enumerable:!g(e,t)||g(e,L)&&e[L][t])?(g(e,L)||P(e,L,b(1,E(null))),e[L][t]=!0):(g(e,L)&&e[L][t]&&(e[L][t]=!1),i=E(i,{enumerable:b(0,!1)})),M):P)(e,t,i)}function i(t,e){m(t);var i=v(e),e=w(i).concat(l(i));return A(e,function(e){p&&!c(s,i,e)||r(t,e,i[e])}),t}function s(e){var e=y(e),t=c(he,this,e);return!(this===R&&g(C,e)&&!g(D,e))&&(!(t||!g(this,e)||!g(C,e)||g(this,L)&&this[L][e])||t)}function n(e,t){var i,e=v(e),t=y(t);if(e!==R||!g(C,t)||g(D,t))return!(i=oe(e,t))||!g(C,t)||g(e,L)&&e[L][t]||(i.enumerable=!0),i}function o(e){var e=le(v(e)),t=[];return A(e,function(e){g(C,e)||g(X,e)||de(t,e)}),t}function l(e){var t=e===R,e=le(t?D:v(e)),i=[];return A(e,function(e){!g(C,e)||t&&!g(R,e)||de(i,C[e])}),i}var h=e(7725),d=e(3405),c=e(3176),u=e(2289),U=e(4214),p=e(7101),f=e(1520),$=e(8930),g=e(9522),B=e(8130),m=e(3162),v=e(2364),y=e(3704),j=e(8282),b=e(9299),E=e(3369),w=e(7185),V=e(7469),G=e(197),z=e(4540),H=e(6056),K=e(1250),W=e(5422),q=e(6640),T=e(3589),Y=e(7893),S=e(8762),k=e(4040),X=e(4036),Q=e(2161),Z=e(2666),J=e(8826),ee=e(5852),te=e(9221),ie=e(9290),_=e(4206),A=e(8136).forEach,L=k("hidden"),x="Symbol",e="prototype",re=_.set,se=_.getterFor(x),R=Object[e],k=d.Symbol,I=k&&k[e],ae=d.RangeError,ne=d.TypeError,_=d.QObject,oe=H.f,P=K.f,le=G.f,he=q.f,de=u([].push),C=S("symbols"),D=S("op-symbols"),u=S("wks"),O=!_||!_[e]||!_[e].findChild,M=p&&$(function(){return 7!==E(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?a:P;f||(T(I=(k=function(){if(B(I,this))throw new ne("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?j(arguments[0]):void 0,r=Q(e),s=function(t){var i=void 0===this?d:this,t=(i===R&&c(s,D,t),g(i,L)&&g(i[L],r)&&(i[L][r]=!1),b(1,t));try{M(i,r,t)}catch(e){if(!(e instanceof ae))throw e;a(i,r,t)}};return p&&O&&M(R,r,{configurable:!0,set:s}),t(r,e)})[e],"toString",function(){return se(this).tag}),T(k,"withoutSetter",function(e){return t(Q(e),e)}),q.f=s,K.f=r,W.f=i,H.f=n,V.f=G.f=o,z.f=l,J.f=function(e){return t(Z(e),e)},p&&(Y(I,"description",{configurable:!0,get:function(){return se(this).description}}),U||T(R,"propertyIsEnumerable",s,{unsafe:!0}))),h({global:!0,constructor:!0,wrap:!0,forced:!f,sham:!f},{Symbol:k}),A(w(u),function(e){ee(e)}),h({target:x,stat:!0,forced:!f},{useSetter:function(){O=!0},useSimple:function(){O=!1}}),h({target:"Object",stat:!0,forced:!f,sham:!p},{create:function(e,t){return void 0===t?E(e):i(E(e),t)},defineProperty:r,defineProperties:i,getOwnPropertyDescriptor:n}),h({target:"Object",stat:!0,forced:!f},{getOwnPropertyNames:o}),te(),ie(k,x),X[L]=!0},2377(e,t,i){var r,s,a,n,o,l,h,d,c=i(7725),u=i(7101),p=i(3405),f=i(3176),g=i(2289),m=i(9522),v=i(8252),y=i(8130),b=i(8282),E=i(7893),i=i(4993),w=p.Symbol,T=w&&w.prototype;!u||!v(w)||"description"in T&&void 0===w().description||(r={},i(p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:b(arguments[0]),t=y(T,this)?new w(e):void 0===e?w():w(e);return""===e&&(r[t]=!0),t},w),s=p.for,p.for=function(e){var e=b(e),t=f(s,this,e);return""===e&&(r[t]=!0),t},(p.prototype=T).constructor=p,a="Symbol(description detection)"===String(w("description detection")),n=g(T.valueOf),o=g(T.toString),l=/^Symbol\((.*)\)[^)]+$/,h=g("".replace),d=g("".slice),E(T,"description",{configurable:!0,get:function(){var e=n(this);return m(r,e)?"":(e=o(e),""===(e=a?d(e,7,-1):h(e,l,"$1"))?void 0:e)}}),c({global:!0,constructor:!0,forced:!0},{Symbol:p}))},2597(e,t,i){var r=i(3405),s=i(5852),a=i(1250).f,i=i(6056).f,r=r.Symbol;s("dispose"),r&&(s=i(r,"dispose")).enumerable&&s.configurable&&s.writable&&a(r,"dispose",{value:s.value,enumerable:!1,configurable:!1,writable:!1})},5203(e,t,i){var r=i(7725),s=i(3220),a=i(9522),n=i(8282),o=i(8762),i=i(8433),l=o("string-to-symbol-registry"),h=o("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!i},{for:function(e){var t,e=n(e);return a(l,e)?l[e]:(t=s("Symbol")(e),l[e]=t,h[t]=e,t)}})},3962(e,t,i){i(5852)("hasInstance")},7123(e,t,i){i(5852)("isConcatSpreadable")},9488(e,t,i){i(5852)("iterator")},5302(e,t,i){i(3712),i(5203),i(2885),i(7911),i(5434)},2885(e,t,i){var r=i(7725),s=i(9522),a=i(8944),n=i(1958),o=i(8762),i=i(8433),l=o("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!i},{keyFor:function(e){if(!a(e))throw new TypeError(n(e)+" is not a symbol");if(s(l,e))return l[e]}})},4411(e,t,i){i(5852)("matchAll")},4101(e,t,i){i(5852)("match")},3356(e,t,i){i(5852)("replace")},7494(e,t,i){i(5852)("search")},5814(e,t,i){i(5852)("species")},220(e,t,i){i(5852)("split")},2795(e,t,i){var r=i(5852),i=i(9221);r("toPrimitive"),i()},7680(e,t,i){var r=i(3220),s=i(5852),i=i(9290);s("toStringTag"),i(r("Symbol"),"Symbol")},9691(e,t,i){i(5852)("unscopables")}};let r={};function a(e){var t=r[e];return void 0!==t||(t=r[e]={exports:{}},i[e].call(t.exports,t,t.exports,a)),t.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{if(Array.isArray(t))for(var i=0;iObject.prototype.hasOwnProperty.call(e,t),a.cjs=e=>{var t={exports:{}};return e.call(t.exports,t,t.exports),t.exports};a(4654)})();