@mux/mux-player 1.14.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- "use strict";(()=>{var dy=Object.create;var sm=Object.defineProperty;var cy=Object.getOwnPropertyDescriptor;var uy=Object.getOwnPropertyNames;var hy=Object.getPrototypeOf,fy=Object.prototype.hasOwnProperty;var my=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var py=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of uy(e))!fy.call(r,s)&&s!==t&&sm(r,s,{get:()=>e[s],enumerable:!(i=cy(e,s))||i.enumerable});return r};var gy=(r,e,t)=>(t=r!=null?dy(hy(r)):{},py(e||!r||!r.__esModule?sm(t,"default",{value:r,enumerable:!0}):t,r));var Td=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var Ne=(r,e,t)=>(Td(r,e,"read from private field"),t?t.call(r):e.get(r)),ht=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ri=(r,e,t,i)=>(Td(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var bt=(r,e,t)=>(Td(r,e,"access private method"),t);var Qp=my((Zo,Jc)=>{(function(){var r,e;r=this,e=function(){return function(){var t={80:function(n,a,o){n.exports=o(728).default},728:function(n,a,o){"use strict";o.d(a,{default:function(){return ny}});var l=o(48),d=o.n(l),c=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(v){var m=16*Math.random()|0;return(v==="x"?m:3&m|8).toString(16)})},u=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},h=function(v){return v&&v.nodeName!==void 0?(v.muxId||(v.muxId=v.id||u()),v.muxId):v},f=function(v){var m;v&&v.nodeName!==void 0?v=h(m=v):m=document.querySelector(v);var p=m&&m.nodeName?m.nodeName.toLowerCase():"";return[m,v,p]},g=o(640),E=o.n(g),T=E().methodFactory;E().methodFactory=function(v,m,p){var b=T(v,m,p);return function(){for(var _=["[mux]"],L=0;L<arguments.length;L++)_.push(arguments[L]);b.apply(void 0,_)}},E().setLevel(E().getLevel());var S=E();function R(){return(d().doNotTrack||d().navigator&&d().navigator.doNotTrack)==="1"}var x={now:function(){var v=d().performance,m=v&&v.timing,p=m&&m.navigationStart,b=typeof p=="number"&&typeof v.now=="function"?p+v.now():Date.now();return Math.round(b)}},N=function(v){return D(v)[0]},D=function(v){if(typeof v!="string"||v==="")return["localhost"];var m,p=(v.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/)||[])[4];return p&&(m=(p.match(/[^\.]+\.[^\.]+$/)||[])[0]),[p,m]},$={exists:function(){var v=d().performance;return(v&&v.timing)!==void 0},domContentLoadedEventEnd:function(){var v=d().performance,m=v&&v.timing;return m&&m.domContentLoadedEventEnd},navigationStart:function(){var v=d().performance,m=v&&v.timing;return m&&m.navigationStart}};function O(v,m,p){p=p===void 0?1:p,v[m]=v[m]||0,v[m]+=p}var H=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],q=["x-cdn","content-type"].concat(H);function P(v){var m={};return(v=v||"").trim().split(/[\r\n]+/).forEach(function(p){if(p){var b=p.split(": "),_=b.shift();_&&(q.indexOf(_.toLowerCase())>=0||_.toLowerCase().indexOf("x-litix-")===0)&&(m[_]=b.join(": "))}}),m}function X(v){if(v){var m=H.find(function(p){return v[p]!==void 0});return m?v[m]:void 0}}var z=function(v){var m={};for(var p in v){var b=v[p];b["DATA-ID"].search("io.litix.data.")!==-1&&(m[b["DATA-ID"].replace("io.litix.data.","")]=b.VALUE)}return m};function Ae(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(v);m&&(b=b.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,b)}return p}function Ee(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Ae(Object(p),!0).forEach(function(b){ye(v,b,p[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Ae(Object(p)).forEach(function(b){Object.defineProperty(v,b,Object.getOwnPropertyDescriptor(p,b))})}return v}function ye(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var we=function(v){if(!v)return{};var m=$.navigationStart(),p=v.loading,b=p?p.start:v.trequest,_=p?p.first:v.tfirst,L=p?p.end:v.tload;return{bytesLoaded:v.total,requestStart:Math.round(m+b),responseStart:Math.round(m+_),responseEnd:Math.round(m+L)}},Se=function(v){if(v&&typeof v.getAllResponseHeaders=="function")return P(v.getAllResponseHeaders())};function Z(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(v);m&&(b=b.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,b)}return p}function ae(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Z(Object(p),!0).forEach(function(b){ne(v,b,p[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Z(Object(p)).forEach(function(b){Object.defineProperty(v,b,Object.getOwnPropertyDescriptor(p,b))})}return v}function ne(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var xe=function(v,m){if(!v||typeof v.getRequests!="function")return{};var p=v.getRequests({state:"executed"});if(p.length===0)return{};var b,_=p[p.length-1],L=N(_.url),I=_.url,k=_.bytesLoaded,F=new Date(_.requestStartDate).getTime(),C=new Date(_.firstByteDate).getTime(),K=new Date(_.requestEndDate).getTime(),ve=isNaN(_.duration)?0:_.duration,de=typeof m.getMetricsFor=="function"?m.getMetricsFor(_.mediaType).HttpList:m.getDashMetrics().getHttpRequests(_.mediaType);return de.length>0&&(b=P(de[de.length-1]._responseHeaders||"")),{requestStart:F,requestResponseStart:C,requestResponseEnd:K,requestBytesLoaded:k,requestResponseHeaders:b,requestMediaDuration:ve,requestHostname:L,requestUrl:I,requestId:b?X(b):void 0}},Ie=function(v,m){var p=m.getQualityFor(v),b=m.getCurrentTrackFor(v).bitrateList;return b?{currentLevel:p,renditionWidth:b[p].width||null,renditionHeight:b[p].height||null,renditionBitrate:b[p].bandwidth}:{}},Ve=function(v){var m;return(m=v.match(/.*codecs\*?="(.*)"/))===null||m===void 0?void 0:m[1]};function ft(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var V=0,J=function(){function v(){(function(_,L){if(!(_ instanceof L))throw new TypeError("Cannot call a class as a function")})(this,v)}var m,p,b;return m=v,p=[{key:"on",value:function(_,L,I){return L._eventEmitterGuid=L._eventEmitterGuid||++V,this._listeners=this._listeners||{},this._listeners[_]=this._listeners[_]||[],I&&(L=L.bind(I)),this._listeners[_].push(L),L}},{key:"off",value:function(_,L){var I=this._listeners&&this._listeners[_];I&&I.forEach(function(k,F){k._eventEmitterGuid===L._eventEmitterGuid&&I.splice(F,1)})}},{key:"one",value:function(_,L,I){var k=this;L._eventEmitterGuid=L._eventEmitterGuid||++V;var F=function C(){k.off(_,C),L.apply(I||this,arguments)};F._eventEmitterGuid=L._eventEmitterGuid,this.on(_,F)}},{key:"emit",value:function(_,L){var I=this;if(this._listeners){L=L||{};var k=this._listeners["before*"]||[],F=this._listeners[_]||[],C=this._listeners["after"+_]||[],K=function(ve,de){(ve=ve.slice()).forEach(function(he){he.call(I,{type:_},de)})};K(k,L),K(F,L),K(C,L)}}}],p&&ft(m.prototype,p),b&&ft(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}(),Re=J;function et(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var At=function(){function v(_){var L=this;(function(I,k){if(!(I instanceof k))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,_.on("playing",function(){L._playheadShouldBeProgressing=!0}),_.on("play",this._startPlaybackHeartbeatInterval.bind(this)),_.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),_.on("seeking",this._startPlaybackHeartbeatInterval.bind(this)),_.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),_.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("seeked",function(){_.data.player_is_paused?L._stopPlaybackHeartbeatInterval():L._startPlaybackHeartbeatInterval()}),_.on("timeupdate",function(){L._playbackHeartbeatInterval!==null&&_.emit("playbackheartbeat")}),_.on("devicesleep",function(I,k){L._playbackHeartbeatInterval!==null&&(d().clearInterval(L._playbackHeartbeatInterval),_.emit("playbackheartbeatend",{viewer_time:k.viewer_time}),L._playbackHeartbeatInterval=null)})}var m,p,b;return m=v,(p=[{key:"_startPlaybackHeartbeatInterval",value:function(){var _=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=d().setInterval(function(){_.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(d().clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}])&&et(m.prototype,p),b&&et(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Xt(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function nr(v,m,p){return m&&Xt(v.prototype,m),p&&Xt(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var ei=nr(function v(m){var p=this;(function(b,_){if(!(b instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p.viewErrored=!1}),m.on("error",function(b,_){try{var L=m.errorTranslator({player_error_code:_.player_error_code,player_error_message:_.player_error_message,player_error_context:_.player_error_context});L?(m.data.player_error_code=L.player_error_code||_.player_error_code,m.data.player_error_message=L.player_error_message||_.player_error_message,m.data.player_error_context=L.player_error_context||_.player_error_context,p.viewErrored=!0):(delete m.data.player_error_code,delete m.data.player_error_message,delete m.data.player_error_context)}catch(I){m.mux.log.warn("Exception in error translator callback.",I),p.viewErrored=!0}})});function _i(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var Ai=function(){function v(_){(function(L,I){if(!(L instanceof I))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._watchTimeTrackerLastCheckedTime=null,_.on("playbackheartbeat",this._updateWatchTime.bind(this)),_.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}var m,p,b;return m=v,(p=[{key:"_updateWatchTime",value:function(_,L){var I=L.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=I),O(this.pm.data,"view_watch_time",I-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=I}},{key:"_clearWatchTimeState",value:function(_,L){this._updateWatchTime(_,L),this._watchTimeTrackerLastCheckedTime=null}}])&&_i(m.prototype,p),b&&_i(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function fs(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var sn=function(){function v(_){(function(L,I){if(!(L instanceof I))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackTimeTrackerLastPlayheadPosition=-1,_.on("playbackheartbeat",this._updatePlaybackTime.bind(this)),_.on("playbackheartbeatend",this._clearPlaybackTimeState.bind(this)),_.on("seeking",this._clearPlaybackTimeState.bind(this))}var m,p,b;return m=v,(p=[{key:"_updatePlaybackTime",value:function(){var _=this.pm.data.player_playhead_time;if(this._playbackTimeTrackerLastPlayheadPosition>=0&&_>this._playbackTimeTrackerLastPlayheadPosition){var L=_-this._playbackTimeTrackerLastPlayheadPosition;L<=1e3&&O(this.pm.data,"view_content_playback_time",L)}this._playbackTimeTrackerLastPlayheadPosition=_}},{key:"_clearPlaybackTimeState",value:function(){this._updatePlaybackTime(),this._playbackTimeTrackerLastPlayheadPosition=-1}}])&&fs(m.prototype,p),b&&fs(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function ci(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var rt=function(){function v(_){(function(I,k){if(!(I instanceof k))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_;var L=this._updatePlayheadTime.bind(this);_.on("playbackheartbeat",L),_.on("playbackheartbeatend",L),_.on("timeupdate",L),_.on("destroy",function(){_.off("timeupdate",L)})}var m,p,b;return m=v,(p=[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=this.pm.data.view_max_playhead_position===void 0?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(_,L){var I=this,k=function(){I.pm.currentFragmentPDT&&I.pm.currentFragmentStart&&(I.pm.data.player_program_time=I.pm.currentFragmentPDT+I.pm.data.player_playhead_time-I.pm.currentFragmentStart)};if(L&&L.player_playhead_time)this.pm.data.player_playhead_time=L.player_playhead_time,k(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var F=this.pm.getPlayheadTime();F!==void 0&&(this.pm.data.player_playhead_time=F,k(),this._updateMaxPlayheadPosition())}}}])&&ci(m.prototype,p),b&&ci(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Rr(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function nn(v,m,p){return m&&Rr(v.prototype,m),p&&Rr(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var an=3e5,_a=nn(function v(m){if(function(L,I){if(!(L instanceof I))throw new TypeError("Cannot call a class as a function")}(this,v),!m.disableRebufferTracking){var p,b=function(L,I){_(I),p=void 0},_=function(L){if(p){var I=L.viewer_time-p;O(m.data,"view_rebuffer_duration",I),p=L.viewer_time,m.data.view_rebuffer_duration>an&&(m.emit("viewend"),m.send("viewend"),m.mux.log.warn("Ending view after rebuffering for longer than ".concat(an,"ms, future events will be ignored unless a programchange or videochange occurs.")))}m.data.view_watch_time>=0&&m.data.view_rebuffer_count>0&&(m.data.view_rebuffer_frequency=m.data.view_rebuffer_count/m.data.view_watch_time,m.data.view_rebuffer_percentage=m.data.view_rebuffer_duration/m.data.view_watch_time)};m.on("playbackheartbeat",function(L,I){return _(I)}),m.on("rebufferstart",function(L,I){p||(O(m.data,"view_rebuffer_count",1),p=I.viewer_time,m.one("rebufferend",b))}),m.on("viewinit",function(){p=void 0,m.off("rebufferend",b)})}});function on(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var eE=function(){function v(_){var L=this;(function(I,k){if(!(I instanceof k))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.disableRebufferTracking||_.disablePlayheadRebufferTracking||(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,_.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),_.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),_.on("seeking",function(){L._cleanupRebufferTracker(null,{viewer_time:x.now()})}))}var m,p,b;return m=v,p=[{key:"_checkIfRebuffering",value:function(_,L){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing)this._cleanupRebufferTracker(_,L);else if(this._lastCheckedTime!==null)if(this._lastPlayheadTime===this.pm.data.player_playhead_time){var I=L.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&I>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=L.viewer_time}else this._cleanupRebufferTracker(_,L,!0);else this._prepareRebufferTrackerState(L.viewer_time)}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(_){this._lastCheckedTime=_,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=_}},{key:"_cleanupRebufferTracker",value:function(_,L){var I=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:L.viewer_time});else{if(this._lastCheckedTime===null)return;var k=this.pm.data.player_playhead_time-this._lastPlayheadTime,F=L.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&k>0&&F-k>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+F-k}))}I?this._prepareRebufferTrackerState(L.viewer_time):this._clearRebufferTrackerState()}}],p&&on(m.prototype,p),b&&on(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}(),tE=eE;function Rf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var iE=function(){function v(_){var L=this;(function(I,k){if(!(I instanceof k))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.on("viewinit",function(){var I=_.data,k=I.view_id;if(!I.view_program_changed){var F=function(C,K){var ve=K.viewer_time;C.type==="playing"&&_.data.view_time_to_first_frame===void 0?L.calculateTimeToFirstFrame(ve||x.now(),k):C.type!=="adplaying"||_.data.view_time_to_first_frame!==void 0&&!L._inPrerollPosition()||L.calculateTimeToFirstFrame(ve||x.now(),k)};_.one("playing",F),_.one("adplaying",F),_.one("viewend",function(){_.off("playing",F),_.off("adplaying",F)})}})}var m,p,b;return m=v,(p=[{key:"_inPrerollPosition",value:function(){return this.pm.data.view_content_playback_time===void 0||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(_,L){L===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:_}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}])&&Rf(m.prototype,p),b&&Rf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function kf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function rE(v,m,p){return m&&kf(v.prototype,m),p&&kf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var sE=rE(function v(m){var p=this;(function(b,_){if(!(b instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p._lastPlayheadPosition=-1}),["pause","rebufferstart","seeking","error","adbreakstart","hb"].forEach(function(b){m.on(b,function(){if(p._lastPlayheadPosition>=0&&m.data.player_playhead_time>=0&&p._lastPlayerWidth>=0&&p._lastSourceWidth>0&&p._lastPlayerHeight>=0&&p._lastSourceHeight>0){var _=m.data.player_playhead_time-p._lastPlayheadPosition;if(_<0)return void(p._lastPlayheadPosition=-1);var L=Math.min(p._lastPlayerWidth/p._lastSourceWidth,p._lastPlayerHeight/p._lastSourceHeight),I=Math.max(0,L-1),k=Math.max(0,1-L);m.data.view_max_upscale_percentage=Math.max(m.data.view_max_upscale_percentage||0,I),m.data.view_max_downscale_percentage=Math.max(m.data.view_max_downscale_percentage||0,k),O(m.data,"view_total_content_playback_time",_),O(m.data,"view_total_upscaling",I*_),O(m.data,"view_total_downscaling",k*_)}p._lastPlayheadPosition=-1})}),["playing","hb"].forEach(function(b){m.on(b,function(){p._lastPlayheadPosition=m.data.player_playhead_time,p._lastPlayerWidth=m.data.player_width,p._lastPlayerHeight=m.data.player_height,p._lastSourceWidth=m.data.video_source_width,p._lastSourceHeight=m.data.video_source_height})})});function wf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function nE(v,m,p){return m&&wf(v.prototype,m),p&&wf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var aE=nE(function v(m){var p=this;(function(b,_){if(!(b instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),this.isSeeking=!1,m.on("seeking",function(b,_){Object.assign(m.data,_),p._lastSeekingTime=x.now(),p.isSeeking===!1&&(p.isSeeking=!0,m.send("seeking"))}),m.on("seeked",function(){p.isSeeking=!1;var b=p._lastSeekingTime||x.now(),_=x.now()-b;O(m.data,"view_seek_count",1),O(m.data,"view_seek_duration",_);var L=m.data.view_max_seek_time||0;m.data.view_max_seek_time=Math.max(L,_)}),m.on("viewend",function(){p.isSeeking=!1})});function Df(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var L,I,k=[],F=!0,C=!1;try{for(_=_.call(p);!(F=(L=_.next()).done)&&(k.push(L.value),!b||k.length!==b);F=!0);}catch(K){C=!0,I=K}finally{try{F||_.return==null||_.return()}finally{if(C)throw I}}return k}}(v,m)||function(p,b){if(p){if(typeof p=="string")return Cf(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Cf(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Cf(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}function Mf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var Of=function(v,m){v.push(m),v.sort(function(p,b){return p.viewer_time-b.viewer_time})},oE=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror"],lE=function(){function v(_){var L=this;(function(k,F){if(!(k instanceof F))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.on("viewinit",function(){L.isAdBreak=!1,L._currentAdRequestNumber=0,L._currentAdResponseNumber=0,L._adRequests=[],L._adResponses=[],L._adHasPlayed=!1,L._wouldBeNewAdPlay=!0,L._prerollPlayTime=void 0}),oE.forEach(function(k){return _.on(k,L._updateAdData.bind(L))});var I=function(){L.isAdBreak=!1};_.on("adbreakstart",function(){L.isAdBreak=!0}),_.on("play",I),_.on("playing",I),_.on("viewend",I),_.on("adrequest",function(k,F){F=Object.assign({ad_request_id:"generatedAdRequestId"+L._currentAdRequestNumber++},F),Of(L._adRequests,F),O(_.data,"view_ad_request_count"),L.inPrerollPosition()&&(_.data.view_preroll_requested=!0,L._adHasPlayed||O(_.data,"view_preroll_request_count"))}),_.on("adresponse",function(k,F){F=Object.assign({ad_request_id:"generatedAdRequestId"+L._currentAdResponseNumber++},F),Of(L._adResponses,F);var C=L.findAdRequest(F.ad_request_id);C&&O(_.data,"view_ad_request_time",Math.max(0,F.viewer_time-C.viewer_time))}),_.on("adplay",function(k,F){L._adHasPlayed=!0,L._wouldBeNewAdPlay&&(L._wouldBeNewAdPlay=!1,O(_.data,"view_ad_played_count")),L.inPrerollPosition()&&!_.data.view_preroll_played&&(_.data.view_preroll_played=!0,L._adRequests.length>0&&(_.data.view_preroll_request_time=Math.max(0,F.viewer_time-L._adRequests[0].viewer_time)),_.data.view_start&&(_.data.view_startup_preroll_request_time=Math.max(0,F.viewer_time-_.data.view_start)),L._prerollPlayTime=F.viewer_time)}),_.on("adplaying",function(k,F){L.inPrerollPosition()&&_.data.view_preroll_load_time===void 0&&L._prerollPlayTime!==void 0&&(_.data.view_preroll_load_time=F.viewer_time-L._prerollPlayTime,_.data.view_startup_preroll_load_time=F.viewer_time-L._prerollPlayTime)}),_.on("adended",function(){L._wouldBeNewAdPlay=!0}),_.on("aderror",function(){L._wouldBeNewAdPlay=!0})}var m,p,b;return m=v,(p=[{key:"inPrerollPosition",value:function(){return this.pm.data.view_content_playback_time===void 0||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(_){for(var L=0;L<this._adRequests.length;L++)if(this._adRequests[L].ad_request_id===_)return this._adRequests[L]}},{key:"_updateAdData",value:function(_,L){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&L.ad_tag_url){var I=Df(D(L.ad_tag_url),2),k=I[0],F=I[1];this.pm.data.view_preroll_ad_tag_domain=F,this.pm.data.view_preroll_ad_tag_hostname=k}if(!this.pm.data.view_preroll_ad_asset_hostname&&L.ad_asset_url){var C=Df(D(L.ad_asset_url),2),K=C[0],ve=C[1];this.pm.data.view_preroll_ad_asset_domain=ve,this.pm.data.view_preroll_ad_asset_hostname=K}}this.pm.data.ad_asset_url=L==null?void 0:L.ad_asset_url,this.pm.data.ad_tag_url=L==null?void 0:L.ad_tag_url,this.pm.data.ad_creative_id=L==null?void 0:L.ad_creative_id,this.pm.data.ad_id=L==null?void 0:L.ad_id,this.pm.data.ad_universal_id=L==null?void 0:L.ad_universal_id}}])&&Mf(m.prototype,p),b&&Mf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Pf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function dE(v,m,p){return m&&Pf(v.prototype,m),p&&Pf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var cE=dE(function v(m){var p,b;(function(k,F){if(!(k instanceof F))throw new TypeError("Cannot call a class as a function")})(this,v);var _=function(){m.disableRebufferTracking||p&&(O(m.data,"view_waiting_rebuffer_duration",x.now()-p),p=!1,d().clearInterval(b))},L=!1,I=function(){L=!1,_()};m.on("waiting",function(){L&&(m.disableRebufferTracking||(O(m.data,"view_waiting_rebuffer_count",1),p=x.now(),b=d().setInterval(function(){if(p){var k=x.now();O(m.data,"view_waiting_rebuffer_duration",k-p),p=k}},250)))}),m.on("playing",function(){_(),L=!0}),m.on("pause",I),m.on("seeking",I)});function Nf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function uE(v,m,p){return m&&Nf(v.prototype,m),p&&Nf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var hE=uE(function v(m){var p=this;(function(L,I){if(!(L instanceof I))throw new TypeError("Cannot call a class as a function")})(this,v);var b=function(){p.lastWallClockTime=x.now(),m.on("before*",_)},_=function(L){var I=x.now(),k=p.lastWallClockTime;p.lastWallClockTime=I,I-k>3e4&&(m.emit("devicesleep",{viewer_time:k}),Object.assign(m.data,{viewer_time:k}),m.send("devicesleep"),m.emit("devicewake",{viewer_time:I}),Object.assign(m.data,{viewer_time:I}),m.send("devicewake"))};m.one("playbackheartbeat",b),m.on("playbackheartbeatend",function(){m.off("before*",_),m.one("playbackheartbeat",b)})}),Uf=o(375),fE=o(655),Ff=o.n(fE),Bf="muxData",$f=function(){var v;try{v=Uf.parse(Ff().get(Bf)||"")}catch{v={}}return v},Gf=function(v){try{Ff().set(Bf,Uf.stringify(v),{expires:7300})}catch{}},mE=function(){var v=$f();return v.mux_viewer_id=v.mux_viewer_id||c(),v.msn=v.msn||Math.random(),Gf(v),{mux_viewer_id:v.mux_viewer_id,mux_sample_number:v.msn}};function pE(v,m){var p=m.beaconCollectionDomain,b=m.beaconDomain;if(p)return"https://"+p;var _=b||"litix.io";return(v=v||"inferred").match(/^[a-z0-9]+$/)?"https://"+v+"."+_:"https://img.litix.io/a.gif"}var Hf=function(){var v;switch(Vf()){case"cellular":v="cellular";break;case"ethernet":v="wired";break;case"wifi":v="wifi";break;case void 0:break;default:v="other"}return v},Vf=function(){var v=d().navigator,m=v&&(v.connection||v.mozConnection||v.webkitConnection);return m&&m.type};Hf.getConnectionFromAPI=Vf;var gE=Hf,vE=Wf({a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"}),Kf=Wf({ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ep:"experiments",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"});function Wf(v){var m={};for(var p in v)v.hasOwnProperty(p)&&(m[v[p]]=p);return m}function pd(v){var m={},p={};return Object.keys(v).forEach(function(b){var _=!1;if(v.hasOwnProperty(b)&&v[b]!==void 0){var L=b.split("_"),I=L[0],k=vE[I];k||(S.info("Data key word `"+L[0]+"` not expected in "+b),k=I+"_"),L.splice(1).forEach(function(F){F==="url"&&(_=!0),Kf[F]?k+=Kf[F]:Number(F)&&Math.floor(Number(F))===Number(F)?k+=F:(S.info("Data key word `"+F+"` not expected in "+b),k+="_"+F+"_")}),_?p[k]=v[b]:m[k]=v[b]}}),Object.assign(m,p)}var EE={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},yE=["hb","requestcompleted","requestfailed","requestcanceled"],bE="https://img.litix.io",Vi=function(v){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=v||bE,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},EE,m)};Vi.prototype.queueEvent=function(v,m){var p=Object.assign({},m);return(this._eventQueue.length<=this._options.maxQueueLength||v==="eventrateexceeded")&&(this._eventQueue.push(p),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength)},Vi.prototype.flushEvents=function(){var v=arguments.length>0&&arguments[0]!==void 0&&arguments[0];v&&this._eventQueue.length===1?this._eventQueue.pop():(this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending())},Vi.prototype.destroy=function(){var v=arguments.length>0&&arguments[0]!==void 0&&arguments[0];this.destroyed=!0,v?this._clearBeaconQueue():this.flushEvents(),d().clearTimeout(this._sendTimeout)},Vi.prototype._clearBeaconQueue=function(){var v=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,m=this._eventQueue.slice(v);v>0&&Object.assign(m[m.length-1],pd({mux_view_message:"event queue truncated"}));var p=this._createPayload(m);qf(this._beaconUrl,p,!0,function(){})},Vi.prototype._sendBeaconQueue=function(){var v=this;if(!this._postInFlight){var m=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var p=this._createPayload(m),b=x.now();qf(this._beaconUrl,p,!1,function(_,L){L?(v._eventQueue=m.concat(v._eventQueue),v._failureCount+=1,S.info("Error sending beacon: "+L)):v._failureCount=0,v._roundTripTime=x.now()-b,v._postInFlight=!1})}},Vi.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var v=Math.pow(2,this._failureCount-1);return(1+(v*=Math.random()))*this._options.baseTimeBetweenBeacons},Vi.prototype._startBeaconSending=function(){var v=this;d().clearTimeout(this._sendTimeout),this.destroyed||(this._sendTimeout=d().setTimeout(function(){v._eventQueue.length&&v._sendBeaconQueue(),v._startBeaconSending()},this._getNextBeaconTime()))},Vi.prototype._createPayload=function(v){var m,p,b,_=this,L={transmission_timestamp:Math.round(x.now())};this._roundTripTime&&(L.rtt_ms=Math.round(this._roundTripTime));var I=function(){m=JSON.stringify({metadata:L,events:p||v}),b=m.length/1024},k=function(){return b<=_._options.maxPayloadKBSize};return I(),k()||(S.info("Payload size is too big ("+b+" kb). Removing unnecessary events."),p=v.filter(function(F){return yE.indexOf(F.e)===-1}),I()),k()||(S.info("Payload size still too big ("+b+" kb). Cropping fields.."),p.forEach(function(F){for(var C in F){var K=F[C];typeof K=="string"&&K.length>51200&&(F[C]=K.substring(0,51200))}}),I()),m};var TE=function(v){return v.length<=57344},qf=function(v,m,p,b){if(p&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(v,m))b();else if(d().fetch)d().fetch(v,{method:"POST",body:m,headers:{"Content-Type":"text/plain"},keepalive:TE(m)}).then(function(L){return b(null,L.ok?null:"Error")}).catch(function(L){return b(null,L)});else{if(d().XMLHttpRequest){var _=new(d()).XMLHttpRequest;return _.onreadystatechange=function(){if(_.readyState===4)return b(null,_.status!==200?"error":void 0)},_.open("POST",v),_.setRequestHeader("Content-Type","text/plain"),void _.send(m)}b()}},_E=Vi;function AE(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var L,I,k=[],F=!0,C=!1;try{for(_=_.call(p);!(F=(L=_.next()).done)&&(k.push(L.value),!b||k.length!==b);F=!0);}catch(K){C=!0,I=K}finally{try{F||_.return==null||_.return()}finally{if(C)throw I}}return k}}(v,m)||function(p,b){if(p){if(typeof p=="string")return Yf(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Yf(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Yf(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}function jf(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(v);m&&(b=b.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,b)}return p}function ms(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?jf(Object(p),!0).forEach(function(b){Aa(v,b,p[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):jf(Object(p)).forEach(function(b){Object.defineProperty(v,b,Object.getOwnPropertyDescriptor(p,b))})}return v}function ln(v){return ln=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},ln(v)}function SE(v,m){if(!(v instanceof m))throw new TypeError("Cannot call a class as a function")}function zf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function Aa(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var xE=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id"],IE=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse"],LE=["viewstart","error","ended","viewend"],RE=function(){function v(_,L){var I,k,F,C,K,ve,de,he,oe,me,Me,St,xt,$t,ii,Ce=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};SE(this,v),Aa(this,"previousBeaconData",null),Aa(this,"lastEventTime",0),Aa(this,"rateLimited",!1),this.mux=_,this.envKey=L,this.options=Ce,this.eventQueue=new _E(pE(this.envKey,this.options)),this.sampleRate=(I=this.options.sampleRate)!==null&&I!==void 0?I:1,this.disableCookies=(k=this.options.disableCookies)!==null&&k!==void 0&&k,this.respectDoNotTrack=(F=this.options.respectDoNotTrack)!==null&&F!==void 0&&F,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(C=this.options.platform)===null||C===void 0?void 0:C.name,viewer_application_version:(K=this.options.platform)===null||K===void 0?void 0:K.version,viewer_application_engine:(ve=this.options.platform)===null||ve===void 0?void 0:ve.layout,viewer_device_name:(de=this.options.platform)===null||de===void 0?void 0:de.product,viewer_device_category:"",viewer_device_manufacturer:(he=this.options.platform)===null||he===void 0?void 0:he.manufacturer,viewer_os_family:(oe=this.options.platform)===null||oe===void 0||(me=oe.os)===null||me===void 0?void 0:me.family,viewer_os_architecture:(Me=this.options.platform)===null||Me===void 0||(St=Me.os)===null||St===void 0?void 0:St.architecture,viewer_os_version:(xt=this.options.platform)===null||xt===void 0||($t=xt.os)===null||$t===void 0?void 0:$t.version,viewer_connection_type:gE(),page_url:d()===null||d()===void 0||(ii=d().location)===null||ii===void 0?void 0:ii.href},this.viewerData=this.disableCookies?{}:mE()}var m,p,b;return m=v,(p=[{key:"send",value:function(_,L){var I;if(_&&L!=null&&L.view_id){if(this.respectDoNotTrack&&R())return S.info("Not sending `"+_+"` because Do Not Track is enabled");if(!L||ln(L)!=="object")return S.error("A data object was expected in send() but was not provided");var k,F,C=this.disableCookies?{}:(k=$f(),F=x.now(),k.session_start&&(k.sst=k.session_start,delete k.session_start),k.session_id&&(k.sid=k.session_id,delete k.session_id),k.session_expires&&(k.sex=k.session_expires,delete k.session_expires),(!k.sex||k.sex<F)&&(k.sid=c(),k.sst=F),k.sex=F+15e5,Gf(k),{session_id:k.sid,session_start:k.sst,session_expires:k.sex}),K=ms(ms(ms(ms(ms({},this.pageLevelData),L),C),this.viewerData),{},{event:_,env_key:this.envKey});K.user_id&&(K.viewer_user_id=K.user_id,delete K.user_id);var ve=((I=K.mux_sample_number)!==null&&I!==void 0?I:0)>=this.sampleRate,de=pd(this._deduplicateBeaconData(_,K));if(this.lastEventTime=this.mux.utils.now(),ve)return S.info("Not sending event due to sample rate restriction",_,K,de);if(this.envKey||S.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",_,K,de),!this.rateLimited){if(S.info("Sending event",_,K,de),this.rateLimited=!this.eventQueue.queueEvent(_,de),this.mux.WINDOW_UNLOADING&&_==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&_==="hb"?this.eventQueue.flushEvents(!0):LE.indexOf(_)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return K.event="eventrateexceeded",de=pd(K),this.eventQueue.queueEvent(K.event,de),S.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(_,L){var I=this,k={},F=L.view_id;if(F==="-1"||_==="viewstart"||_==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=6e5)k=ms({},L),F&&(this.previousBeaconData=k),F&&_==="viewend"&&(this.previousBeaconData=null);else{var C=_.indexOf("request")===0;Object.entries(L).forEach(function(K){var ve=AE(K,2),de=ve[0],he=ve[1];I.previousBeaconData&&(he!==I.previousBeaconData[de]||xE.indexOf(de)>-1||I.objectHasChanged(C,de,he,I.previousBeaconData[de])||I.eventRequiresKey(_,de))&&(k[de]=he,I.previousBeaconData[de]=he)})}return k}},{key:"objectHasChanged",value:function(_,L,I,k){return!(!_||L.indexOf("request_")!==0||L!=="request_response_headers"&&ln(I)==="object"&&ln(k)==="object"&&Object.keys(I||{}).length===Object.keys(k||{}).length)}},{key:"eventRequiresKey",value:function(_,L){return _==="renditionchange"&&L.indexOf("video_source_")===0||!(L.indexOf("ad_id")!==0||!IE.includes(_))}}])&&zf(m.prototype,p),b&&zf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Xf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function kE(v,m,p){return m&&Xf(v.prototype,m),p&&Xf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var wE=kE(function v(m){(function(C,K){if(!(C instanceof K))throw new TypeError("Cannot call a class as a function")})(this,v);var p=0,b=0,_=0,L=0,I=0,k=0,F=0;m.on("requestcompleted",function(C,K){var ve,de,he=K.request_start,oe=K.request_response_start,me=K.request_response_end,Me=K.request_bytes_loaded;if(L++,oe?(ve=oe-(he!=null?he:0),de=(me!=null?me:0)-oe):de=(me!=null?me:0)-(he!=null?he:0),de>0&&Me&&Me>0){var St=Me/de*8e3;I++,b+=Me,_+=de,m.data.view_min_request_throughput=Math.min(m.data.view_min_request_throughput||1/0,St),m.data.view_average_request_throughput=b/_*8e3,m.data.view_request_count=L,ve>0&&(p+=ve,m.data.view_max_request_latency=Math.max(m.data.view_max_request_latency||0,ve),m.data.view_average_request_latency=p/I)}}),m.on("requestfailed",function(C,K){L++,k++,m.data.view_request_count=L,m.data.view_request_failed_count=k}),m.on("requestcanceled",function(C,K){L++,F++,m.data.view_request_count=L,m.data.view_request_canceled_count=F})});function Qf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function DE(v,m,p){return m&&Qf(v.prototype,m),p&&Qf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var CE=DE(function v(m){var p=this;(function(b,_){if(!(b instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("before*",function(b,_){var L=_.viewer_time,I=x.now(),k=p._lastEventTime;if(p._lastEventTime=I,k&&I-k>36e5){var F=Object.keys(m.data).reduce(function(C,K){return K.indexOf("video_")===0?Object.assign(C,function(ve,de,he){return de in ve?Object.defineProperty(ve,de,{value:he,enumerable:!0,configurable:!0,writable:!0}):ve[de]=he,ve}({},K,m.data[K])):C},{});m.mux.log.info("Received event after at least an hour inactivity, creating a new view"),m.emit("viewinit",Object.assign({viewer_time:L},F)),m.playbackHeartbeat._playheadShouldBeProgressing&&b.type!=="play"&&b.type!=="adbreakstart"&&(m.emit("play",{viewer_time:L}),b.type!=="playing"&&m.emit("playing",{viewer_time:L}))}})});function gd(v){return gd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},gd(v)}function ME(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var L,I,k=[],F=!0,C=!1;try{for(_=_.call(p);!(F=(L=_.next()).done)&&(k.push(L.value),!b||k.length!==b);F=!0);}catch(K){C=!0,I=K}finally{try{F||_.return==null||_.return()}finally{if(C)throw I}}return k}}(v,m)||function(p,b){if(p){if(typeof p=="string")return Zf(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Zf(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
4
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Zf(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}function Jf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function vd(v,m){return vd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,b){return p.__proto__=b,p},vd(v,m)}function OE(v){var m=function(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var p,b=Sa(v);if(m){var _=Sa(this).constructor;p=Reflect.construct(b,arguments,_)}else p=b.apply(this,arguments);return PE(this,p)}}function PE(v,m){if(m&&(gd(m)==="object"||typeof m=="function"))return m;if(m!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vt(v)}function vt(v){if(v===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v}function Sa(v){return Sa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(m){return m.__proto__||Object.getPrototypeOf(m)},Sa(v)}var NE=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],UE=function(v){(function(I,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function");I.prototype=Object.create(k&&k.prototype,{constructor:{value:I,writable:!0,configurable:!0}}),Object.defineProperty(I,"prototype",{writable:!1}),k&&vd(I,k)})(L,v);var m,p,b,_=OE(L);function L(I,k,F){var C;(function(oe,me){if(!(oe instanceof me))throw new TypeError("Cannot call a class as a function")})(this,L),(C=_.call(this)).DOM_CONTENT_LOADED_EVENT_END=$.domContentLoadedEventEnd(),C.NAVIGATION_START=$.navigationStart(),C.mux=I,C.id=k,(F=Object.assign({debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(oe){return oe}},F)).data=F.data||{},F.data.property_key&&(F.data.env_key=F.data.property_key,delete F.data.property_key),S.setLevel(F.debug?"debug":"warn"),C.getPlayheadTime=F.getPlayheadTime,C.getStateData=F.getStateData||function(){return{}},C.getAdData=F.getAdData||function(){},C.minimumRebufferDuration=F.minimumRebufferDuration,C.sustainedRebufferThreshold=F.sustainedRebufferThreshold,C.playbackHeartbeatTime=F.playbackHeartbeatTime,C.disableRebufferTracking=F.disableRebufferTracking,C.disableRebufferTracking&&C.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),C.disablePlayheadRebufferTracking=F.disablePlayheadRebufferTracking,C.errorTranslator=F.errorTranslator,C.playbackEventDispatcher=new RE(I,F.data.env_key,F),C.data={player_instance_id:c(),mux_sample_rate:F.sampleRate,beacon_domain:F.beaconCollectionDomain?F.beaconCollectionDomain:F.beaconDomain},C.data.view_sequence_number=1,C.data.player_sequence_number=1,C.oldEmit=C.emit,C.emit=function(oe,me){me=Object.assign({viewer_time:this.mux.utils.now()},me),this.oldEmit(oe,me)};var K=function(){this.data.view_start===void 0&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(vt(C));C.on("viewinit",function(oe,me){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,me),this._initializeViewData(),this.one("play",K),this.one("adbreakstart",K)});var ve=function(oe){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",oe)}.bind(vt(C));if(C.on("videochange",function(oe,me){ve(me)}),C.on("programchange",function(oe,me){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),ve(Object.assign(me,{view_program_changed:!0})),K(),this.emit("play"),this.emit("playing")}),C.on("fragmentchange",function(oe,me){this.currentFragmentPDT=me.currentFragmentPDT,this.currentFragmentStart=me.currentFragmentStart}),C.on("destroy",C.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var de=function(){var oe=C.data.view_start!==void 0;C.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",oe&&C.mux.WINDOW_HIDDEN&&(C.data.player_is_paused||C.emit("hb"))};window.addEventListener("visibilitychange",de,!1);var he=function(oe){oe.persisted||C.destroy()};window.addEventListener("pagehide",he,!1),C.on("destroy",function(){window.removeEventListener("visibilitychange",de),window.removeEventListener("pagehide",he)})}return C.on("playerready",function(oe,me){Object.assign(this.data,me)}),NE.forEach(function(oe){C.on(oe,function(me,Me){oe.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,Me),this._sanitizeData()}),C.on("after"+oe,function(){(oe!=="error"||this.errorTracker.viewErrored)&&this.send(oe)})}),C.on("viewend",function(oe,me){Object.assign(C.data,me)}),C.one("playerready",function(oe){var me=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=me-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time}),C.longResumeTracker=new CE(vt(C)),C.errorTracker=new ei(vt(C)),new hE(vt(C)),C.seekingTracker=new aE(vt(C)),C.playheadTime=new rt(vt(C)),C.playbackHeartbeat=new At(vt(C)),new sE(vt(C)),C.watchTimeTracker=new Ai(vt(C)),new sn(vt(C)),C.adTracker=new lE(vt(C)),new tE(vt(C)),new _a(vt(C)),new iE(vt(C)),new cE(vt(C)),new wE(vt(C)),F.hlsjs&&C.addHLSJS(F),F.dashjs&&C.addDashJS(F),C.emit("viewinit",F.data),C}return m=L,p=[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.data.view_start!==void 0&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(I){if(this.data.view_id){var k=Object.assign({},this.data);if(k.video_source_is_live===void 0&&(k.player_source_duration===1/0||k.video_source_duration===1/0?k.video_source_is_live=!0:(k.player_source_duration>0||k.video_source_duration>0)&&(k.video_source_is_live=!1)),k.video_source_is_live||["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"].forEach(function(ve){k[ve]=void 0}),k.video_source_url=k.video_source_url||k.player_source_url,k.video_source_url){var F=ME(D(k.video_source_url),2),C=F[0],K=F[1];k.video_source_domain=K,k.video_source_hostname=C}delete k.ad_request_id,this.playbackEventDispatcher.send(I,k),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),I==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var I=this;["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"].forEach(function(k){var F=parseInt(I.data[k],10);I.data[k]=isNaN(F)?void 0:F}),["player_source_url","video_source_url"].forEach(function(k){if(I.data[k]){var F=I.data[k].toLowerCase();F.indexOf("data:")!==0&&F.indexOf("blob:")!==0||(I.data[k]="MSE style URL")}})}},{key:"_resetVideoData",value:function(I,k){var F=this;Object.keys(this.data).forEach(function(C){C.indexOf("video_")===0&&delete F.data[C]})}},{key:"_resetViewData",value:function(){var I=this;Object.keys(this.data).forEach(function(k){k.indexOf("view_")===0&&delete I.data[k]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(I,k){delete this.data.player_error_code,delete this.data.player_error_message}},{key:"_initializeViewData",value:function(){var I=this,k=this.data.view_id=c(),F=function(){k===I.data.view_id&&O(I.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",F):F()}},{key:"_restartHeartBeat",value:function(){var I=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){I.data.player_is_paused||I.emit("hb")},1e4))}},{key:"addHLSJS",value:function(I){I.hlsjs?this.hlsjs?this.mux.log.warn("An instance of HLS.js is already being monitored for this player."):(this.hlsjs=I.hlsjs,function(k,F,C){var K=arguments.length>4?arguments[4]:void 0,ve=k.log,de=k.utils.secondsToMs,he=function(Oe){var Q,fe=parseInt(K.version);return fe===1&&Oe.programDateTime!==null&&(Q=Oe.programDateTime),fe===0&&Oe.pdt!==null&&(Q=Oe.pdt),Q};if($.exists()){var oe=function(Oe,Q){return k.emit(F,Oe,Q)},me=function(Oe,Q){var fe=Q.levels,ee=Q.audioTracks,Te=Q.url,De=Q.stats,ut=Q.networkDetails,Gt=Q.sessionData,It={},Nt={};fe.forEach(function(mt,hn){It[hn]={width:mt.width,height:mt.height,bitrate:mt.bitrate,attrs:mt.attrs}}),ee.forEach(function(mt,hn){Nt[hn]={name:mt.name,language:mt.lang,bitrate:mt.bitrate}});var Et=we(De),yt=Et.bytesLoaded,ar=Et.requestStart,un=Et.responseStart,kr=Et.responseEnd;oe("requestcompleted",Ee(Ee({},z(Gt)),{},{request_event_type:Oe,request_bytes_loaded:yt,request_start:ar,request_response_start:un,request_response_end:kr,request_type:"manifest",request_hostname:N(Te),request_response_headers:Se(ut),request_rendition_lists:{media:It,audio:Nt,video:{}}}))};C.on(K.Events.MANIFEST_LOADED,me);var Me=function(Oe,Q){var fe=Q.details,ee=Q.level,Te=Q.networkDetails,De=Q.stats,ut=we(De),Gt=ut.bytesLoaded,It=ut.requestStart,Nt=ut.responseStart,Et=ut.responseEnd,yt=fe.fragments[fe.fragments.length-1],ar=he(yt)+de(yt.duration);oe("requestcompleted",{request_event_type:Oe,request_bytes_loaded:Gt,request_start:It,request_response_start:Nt,request_response_end:Et,request_current_level:ee,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(Te),video_holdback:fe.holdBack&&de(fe.holdBack),video_part_holdback:fe.partHoldBack&&de(fe.partHoldBack),video_part_target_duration:fe.partTarget&&de(fe.partTarget),video_target_duration:fe.targetduration&&de(fe.targetduration),video_source_is_live:fe.live,player_manifest_newest_program_time:isNaN(ar)?void 0:ar})};C.on(K.Events.LEVEL_LOADED,Me);var St=function(Oe,Q){var fe=Q.details,ee=Q.networkDetails,Te=Q.stats,De=we(Te),ut=De.bytesLoaded,Gt=De.requestStart,It=De.responseStart,Nt=De.responseEnd;oe("requestcompleted",{request_event_type:Oe,request_bytes_loaded:ut,request_start:Gt,request_response_start:It,request_response_end:Nt,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(ee)})};C.on(K.Events.AUDIO_TRACK_LOADED,St);var xt=function(Oe,Q){var fe=Q.stats,ee=Q.networkDetails,Te=Q.frag;fe=fe||Te.stats;var De=we(fe),ut=De.bytesLoaded,Gt=De.requestStart,It=De.responseStart,Nt=De.responseEnd,Et=ee?Se(ee):void 0,yt={request_event_type:Oe,request_bytes_loaded:ut,request_start:Gt,request_response_start:It,request_response_end:Nt,request_hostname:ee?N(ee.responseURL):void 0,request_id:Et?X(Et):void 0,request_response_headers:Et,request_media_duration:Te.duration,request_url:ee==null?void 0:ee.responseURL};Te.type==="main"?(yt.request_type="media",yt.request_current_level=Te.level,yt.request_video_width=(C.levels[Te.level]||{}).width,yt.request_video_height=(C.levels[Te.level]||{}).height,yt.request_labeled_bitrate=(C.levels[Te.level]||{}).bitrate):yt.request_type=Te.type,oe("requestcompleted",yt)};C.on(K.Events.FRAG_LOADED,xt);var $t=function(Oe,Q){var fe=Q.frag,ee=fe.start,Te={currentFragmentPDT:he(fe),currentFragmentStart:de(ee)};oe("fragmentchange",Te)};C.on(K.Events.FRAG_CHANGED,$t);var ii=function(Oe,Q){var fe=Q.type,ee=Q.details,Te=Q.response,De=Q.fatal,ut=Q.frag,Gt=Q.networkDetails,It=(ut==null?void 0:ut.url)||Q.url||"",Nt=Gt?Se(Gt):void 0;if(ee!==K.ErrorDetails.MANIFEST_LOAD_ERROR&&ee!==K.ErrorDetails.MANIFEST_LOAD_TIMEOUT&&ee!==K.ErrorDetails.FRAG_LOAD_ERROR&&ee!==K.ErrorDetails.FRAG_LOAD_TIMEOUT&&ee!==K.ErrorDetails.LEVEL_LOAD_ERROR&&ee!==K.ErrorDetails.LEVEL_LOAD_TIMEOUT&&ee!==K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR&&ee!==K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT&&ee!==K.ErrorDetails.SUBTITLE_LOAD_ERROR&&ee!==K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT&&ee!==K.ErrorDetails.KEY_LOAD_ERROR&&ee!==K.ErrorDetails.KEY_LOAD_TIMEOUT||oe("requestfailed",{request_error:ee,request_url:It,request_hostname:N(It),request_id:Nt?X(Nt):void 0,request_type:ee===K.ErrorDetails.FRAG_LOAD_ERROR||ee===K.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":ee===K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||ee===K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":ee===K.ErrorDetails.SUBTITLE_LOAD_ERROR||ee===K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":ee===K.ErrorDetails.KEY_LOAD_ERROR||ee===K.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:Te==null?void 0:Te.code,request_error_text:Te==null?void 0:Te.text}),De){var Et,yt="".concat(It?"url: ".concat(It,`
1
+ "use strict";(()=>{var cy=Object.create;var sm=Object.defineProperty;var uy=Object.getOwnPropertyDescriptor;var hy=Object.getOwnPropertyNames;var fy=Object.getPrototypeOf,my=Object.prototype.hasOwnProperty;var py=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var gy=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of hy(e))!my.call(r,s)&&s!==t&&sm(r,s,{get:()=>e[s],enumerable:!(i=uy(e,s))||i.enumerable});return r};var vy=(r,e,t)=>(t=r!=null?cy(fy(r)):{},gy(e||!r||!r.__esModule?sm(t,"default",{value:r,enumerable:!0}):t,r));var _d=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var Ne=(r,e,t)=>(_d(r,e,"read from private field"),t?t.call(r):e.get(r)),ht=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ri=(r,e,t,i)=>(_d(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var bt=(r,e,t)=>(_d(r,e,"access private method"),t);var Qp=py((Jo,eu)=>{(function(){var r,e;r=this,e=function(){return function(){var t={80:function(n,a,o){n.exports=o(728).default},728:function(n,a,o){"use strict";o.d(a,{default:function(){return ay}});var l=o(48),d=o.n(l),c=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(v){var m=16*Math.random()|0;return(v==="x"?m:3&m|8).toString(16)})},u=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},h=function(v){return v&&v.nodeName!==void 0?(v.muxId||(v.muxId=v.id||u()),v.muxId):v},f=function(v){var m;v&&v.nodeName!==void 0?v=h(m=v):m=document.querySelector(v);var p=m&&m.nodeName?m.nodeName.toLowerCase():"";return[m,v,p]},g=o(640),E=o.n(g),T=E().methodFactory;E().methodFactory=function(v,m,p){var b=T(v,m,p);return function(){for(var _=["[mux]"],I=0;I<arguments.length;I++)_.push(arguments[I]);b.apply(void 0,_)}},E().setLevel(E().getLevel());var A=E();function k(){return(d().doNotTrack||d().navigator&&d().navigator.doNotTrack)==="1"}var L={now:function(){var v=d().performance,m=v&&v.timing,p=m&&m.navigationStart,b=typeof p=="number"&&typeof v.now=="function"?p+v.now():Date.now();return Math.round(b)}},N=function(v){return D(v)[0]},D=function(v){if(typeof v!="string"||v==="")return["localhost"];var m,p=(v.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/)||[])[4];return p&&(m=(p.match(/[^\.]+\.[^\.]+$/)||[])[0]),[p,m]},$={exists:function(){var v=d().performance;return(v&&v.timing)!==void 0},domContentLoadedEventEnd:function(){var v=d().performance,m=v&&v.timing;return m&&m.domContentLoadedEventEnd},navigationStart:function(){var v=d().performance,m=v&&v.timing;return m&&m.navigationStart}};function O(v,m,p){p=p===void 0?1:p,v[m]=v[m]||0,v[m]+=p}var G=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],q=["x-cdn","content-type"].concat(G);function P(v){var m={};return(v=v||"").trim().split(/[\r\n]+/).forEach(function(p){if(p){var b=p.split(": "),_=b.shift();_&&(q.indexOf(_.toLowerCase())>=0||_.toLowerCase().indexOf("x-litix-")===0)&&(m[_]=b.join(": "))}}),m}function X(v){if(v){var m=G.find(function(p){return v[p]!==void 0});return m?v[m]:void 0}}var z=function(v){var m={};for(var p in v){var b=v[p];b["DATA-ID"].search("io.litix.data.")!==-1&&(m[b["DATA-ID"].replace("io.litix.data.","")]=b.VALUE)}return m};function Ae(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(v);m&&(b=b.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,b)}return p}function Ee(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Ae(Object(p),!0).forEach(function(b){ye(v,b,p[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Ae(Object(p)).forEach(function(b){Object.defineProperty(v,b,Object.getOwnPropertyDescriptor(p,b))})}return v}function ye(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var we=function(v){if(!v)return{};var m=$.navigationStart(),p=v.loading,b=p?p.start:v.trequest,_=p?p.first:v.tfirst,I=p?p.end:v.tload;return{bytesLoaded:v.total,requestStart:Math.round(m+b),responseStart:Math.round(m+_),responseEnd:Math.round(m+I)}},Se=function(v){if(v&&typeof v.getAllResponseHeaders=="function")return P(v.getAllResponseHeaders())};function Z(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(v);m&&(b=b.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,b)}return p}function ae(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?Z(Object(p),!0).forEach(function(b){ne(v,b,p[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):Z(Object(p)).forEach(function(b){Object.defineProperty(v,b,Object.getOwnPropertyDescriptor(p,b))})}return v}function ne(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var xe=function(v,m){if(!v||typeof v.getRequests!="function")return{};var p=v.getRequests({state:"executed"});if(p.length===0)return{};var b,_=p[p.length-1],I=N(_.url),x=_.url,R=_.bytesLoaded,U=new Date(_.requestStartDate).getTime(),C=new Date(_.firstByteDate).getTime(),K=new Date(_.requestEndDate).getTime(),ve=isNaN(_.duration)?0:_.duration,de=typeof m.getMetricsFor=="function"?m.getMetricsFor(_.mediaType).HttpList:m.getDashMetrics().getHttpRequests(_.mediaType);return de.length>0&&(b=P(de[de.length-1]._responseHeaders||"")),{requestStart:U,requestResponseStart:C,requestResponseEnd:K,requestBytesLoaded:R,requestResponseHeaders:b,requestMediaDuration:ve,requestHostname:I,requestUrl:x,requestId:b?X(b):void 0}},Ie=function(v,m){var p=m.getQualityFor(v),b=m.getCurrentTrackFor(v).bitrateList;return b?{currentLevel:p,renditionWidth:b[p].width||null,renditionHeight:b[p].height||null,renditionBitrate:b[p].bandwidth}:{}},Ve=function(v){var m;return(m=v.match(/.*codecs\*?="(.*)"/))===null||m===void 0?void 0:m[1]};function ft(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var V=0,J=function(){function v(){(function(_,I){if(!(_ instanceof I))throw new TypeError("Cannot call a class as a function")})(this,v)}var m,p,b;return m=v,p=[{key:"on",value:function(_,I,x){return I._eventEmitterGuid=I._eventEmitterGuid||++V,this._listeners=this._listeners||{},this._listeners[_]=this._listeners[_]||[],x&&(I=I.bind(x)),this._listeners[_].push(I),I}},{key:"off",value:function(_,I){var x=this._listeners&&this._listeners[_];x&&x.forEach(function(R,U){R._eventEmitterGuid===I._eventEmitterGuid&&x.splice(U,1)})}},{key:"one",value:function(_,I,x){var R=this;I._eventEmitterGuid=I._eventEmitterGuid||++V;var U=function C(){R.off(_,C),I.apply(x||this,arguments)};U._eventEmitterGuid=I._eventEmitterGuid,this.on(_,U)}},{key:"emit",value:function(_,I){var x=this;if(this._listeners){I=I||{};var R=this._listeners["before*"]||[],U=this._listeners[_]||[],C=this._listeners["after"+_]||[],K=function(ve,de){(ve=ve.slice()).forEach(function(he){he.call(x,{type:_},de)})};K(R,I),K(U,I),K(C,I)}}}],p&&ft(m.prototype,p),b&&ft(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}(),ke=J;function et(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var At=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,_.on("playing",function(){I._playheadShouldBeProgressing=!0}),_.on("play",this._startPlaybackHeartbeatInterval.bind(this)),_.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),_.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),_.on("seeking",this._startPlaybackHeartbeatInterval.bind(this)),_.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),_.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),_.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),_.on("seeked",function(){_.data.player_is_paused?I._stopPlaybackHeartbeatInterval():I._startPlaybackHeartbeatInterval()}),_.on("timeupdate",function(){I._playbackHeartbeatInterval!==null&&_.emit("playbackheartbeat")}),_.on("devicesleep",function(x,R){I._playbackHeartbeatInterval!==null&&(d().clearInterval(I._playbackHeartbeatInterval),_.emit("playbackheartbeatend",{viewer_time:R.viewer_time}),I._playbackHeartbeatInterval=null)})}var m,p,b;return m=v,(p=[{key:"_startPlaybackHeartbeatInterval",value:function(){var _=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=d().setInterval(function(){_.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(d().clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}])&&et(m.prototype,p),b&&et(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Xt(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function nr(v,m,p){return m&&Xt(v.prototype,m),p&&Xt(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var ei=nr(function v(m){var p=this;(function(b,_){if(!(b instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p.viewErrored=!1}),m.on("error",function(b,_){try{var I=m.errorTranslator({player_error_code:_.player_error_code,player_error_message:_.player_error_message,player_error_context:_.player_error_context});I?(m.data.player_error_code=I.player_error_code||_.player_error_code,m.data.player_error_message=I.player_error_message||_.player_error_message,m.data.player_error_context=I.player_error_context||_.player_error_context,p.viewErrored=!0):(delete m.data.player_error_code,delete m.data.player_error_message,delete m.data.player_error_context)}catch(x){m.mux.log.warn("Exception in error translator callback.",x),p.viewErrored=!0}})});function _i(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var Ai=function(){function v(_){(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._watchTimeTrackerLastCheckedTime=null,_.on("playbackheartbeat",this._updateWatchTime.bind(this)),_.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}var m,p,b;return m=v,(p=[{key:"_updateWatchTime",value:function(_,I){var x=I.viewer_time;this._watchTimeTrackerLastCheckedTime===null&&(this._watchTimeTrackerLastCheckedTime=x),O(this.pm.data,"view_watch_time",x-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=x}},{key:"_clearWatchTimeState",value:function(_,I){this._updateWatchTime(_,I),this._watchTimeTrackerLastCheckedTime=null}}])&&_i(m.prototype,p),b&&_i(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function fs(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var sn=function(){function v(_){var I=this;(function(U,C){if(!(U instanceof C))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=L.now(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null;var x=this._startPlaybackTimeTracking.bind(this);_.on("playing",x),_.on("adplaying",x),_.on("seeked",x);var R=this._stopPlaybackTimeTracking.bind(this);_.on("playbackheartbeatend",R),_.on("seeking",R),_.on("adplaying",function(){I._isAdPlaying=!0}),_.on("adended",function(){I._isAdPlaying=!1}),_.on("adpause",function(){I._isAdPlaying=!1}),_.on("adbreakstart",function(){I._isAdPlaying=!1}),_.on("adbreakend",function(){I._isAdPlaying=!1}),_.on("adplay",function(){I._isAdPlaying=!1}),_.on("viewinit",function(){I._playbackTimeTrackerLastPlayheadPosition=-1,I._lastTime=L.now(),I._isAdPlaying=!1,I._callbackUpdatePlaybackTime=null})}var m,p,b;return m=v,(p=[{key:"_startPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime===null&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var _=this.pm.data.player_playhead_time,I=L.now(),x=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&_>this._playbackTimeTrackerLastPlayheadPosition?x=_-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(x=I-this._lastTime),x>0&&x<=1e3&&O(this.pm.data,"view_content_playback_time",x),this._playbackTimeTrackerLastPlayheadPosition=_,this._lastTime=I}}])&&fs(m.prototype,p),b&&fs(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function ui(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var rt=function(){function v(_){(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_;var I=this._updatePlayheadTime.bind(this);_.on("playbackheartbeat",I),_.on("playbackheartbeatend",I),_.on("timeupdate",I),_.on("destroy",function(){_.off("timeupdate",I)})}var m,p,b;return m=v,(p=[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=this.pm.data.view_max_playhead_position===void 0?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(_,I){var x=this,R=function(){x.pm.currentFragmentPDT&&x.pm.currentFragmentStart&&(x.pm.data.player_program_time=x.pm.currentFragmentPDT+x.pm.data.player_playhead_time-x.pm.currentFragmentStart)};if(I&&I.player_playhead_time)this.pm.data.player_playhead_time=I.player_playhead_time,R(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var U=this.pm.getPlayheadTime();U!==void 0&&(this.pm.data.player_playhead_time=U,R(),this._updateMaxPlayheadPosition())}}}])&&ui(m.prototype,p),b&&ui(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function kr(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function nn(v,m,p){return m&&kr(v.prototype,m),p&&kr(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var an=3e5,Aa=nn(function v(m){if(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")}(this,v),!m.disableRebufferTracking){var p,b=function(I,x){_(x),p=void 0},_=function(I){if(p){var x=I.viewer_time-p;O(m.data,"view_rebuffer_duration",x),p=I.viewer_time,m.data.view_rebuffer_duration>an&&(m.emit("viewend"),m.send("viewend"),m.mux.log.warn("Ending view after rebuffering for longer than ".concat(an,"ms, future events will be ignored unless a programchange or videochange occurs.")))}m.data.view_watch_time>=0&&m.data.view_rebuffer_count>0&&(m.data.view_rebuffer_frequency=m.data.view_rebuffer_count/m.data.view_watch_time,m.data.view_rebuffer_percentage=m.data.view_rebuffer_duration/m.data.view_watch_time)};m.on("playbackheartbeat",function(I,x){return _(x)}),m.on("rebufferstart",function(I,x){p||(O(m.data,"view_rebuffer_count",1),p=x.viewer_time,m.one("rebufferend",b))}),m.on("viewinit",function(){p=void 0,m.off("rebufferend",b)})}});function on(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var eE=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.disableRebufferTracking||_.disablePlayheadRebufferTracking||(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,_.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),_.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),_.on("seeking",function(){I._cleanupRebufferTracker(null,{viewer_time:L.now()})}))}var m,p,b;return m=v,p=[{key:"_checkIfRebuffering",value:function(_,I){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing)this._cleanupRebufferTracker(_,I);else if(this._lastCheckedTime!==null)if(this._lastPlayheadTime===this.pm.data.player_playhead_time){var x=I.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.sustainedRebufferThreshold=="number"&&x>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=I.viewer_time}else this._cleanupRebufferTracker(_,I,!0);else this._prepareRebufferTrackerState(I.viewer_time)}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(_){this._lastCheckedTime=_,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=_}},{key:"_cleanupRebufferTracker",value:function(_,I){var x=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:I.viewer_time});else{if(this._lastCheckedTime===null)return;var R=this.pm.data.player_playhead_time-this._lastPlayheadTime,U=I.viewer_time-this._lastPlayheadTimeUpdatedTime;typeof this.pm.minimumRebufferDuration=="number"&&R>0&&U-R>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+U-R}))}x?this._prepareRebufferTrackerState(I.viewer_time):this._clearRebufferTrackerState()}}],p&&on(m.prototype,p),b&&on(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}(),tE=eE;function kf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var iE=function(){function v(_){var I=this;(function(x,R){if(!(x instanceof R))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.on("viewinit",function(){var x=_.data,R=x.view_id;if(!x.view_program_changed){var U=function(C,K){var ve=K.viewer_time;C.type==="playing"&&_.data.view_time_to_first_frame===void 0?I.calculateTimeToFirstFrame(ve||L.now(),R):C.type!=="adplaying"||_.data.view_time_to_first_frame!==void 0&&!I._inPrerollPosition()||I.calculateTimeToFirstFrame(ve||L.now(),R)};_.one("playing",U),_.one("adplaying",U),_.one("viewend",function(){_.off("playing",U),_.off("adplaying",U)})}})}var m,p,b;return m=v,(p=[{key:"_inPrerollPosition",value:function(){return this.pm.data.view_content_playback_time===void 0||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(_,I){I===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:_}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.NAVIGATION_START&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.NAVIGATION_START))}}])&&kf(m.prototype,p),b&&kf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Rf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function rE(v,m,p){return m&&Rf(v.prototype,m),p&&Rf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var sE=rE(function v(m){var p=this;(function(b,_){if(!(b instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("viewinit",function(){p._lastPlayheadPosition=-1}),["pause","rebufferstart","seeking","error","adbreakstart","hb"].forEach(function(b){m.on(b,function(){if(p._lastPlayheadPosition>=0&&m.data.player_playhead_time>=0&&p._lastPlayerWidth>=0&&p._lastSourceWidth>0&&p._lastPlayerHeight>=0&&p._lastSourceHeight>0){var _=m.data.player_playhead_time-p._lastPlayheadPosition;if(_<0)return void(p._lastPlayheadPosition=-1);var I=Math.min(p._lastPlayerWidth/p._lastSourceWidth,p._lastPlayerHeight/p._lastSourceHeight),x=Math.max(0,I-1),R=Math.max(0,1-I);m.data.view_max_upscale_percentage=Math.max(m.data.view_max_upscale_percentage||0,x),m.data.view_max_downscale_percentage=Math.max(m.data.view_max_downscale_percentage||0,R),O(m.data,"view_total_content_playback_time",_),O(m.data,"view_total_upscaling",x*_),O(m.data,"view_total_downscaling",R*_)}p._lastPlayheadPosition=-1})}),["playing","hb"].forEach(function(b){m.on(b,function(){p._lastPlayheadPosition=m.data.player_playhead_time,p._lastPlayerWidth=m.data.player_width,p._lastPlayerHeight=m.data.player_height,p._lastSourceWidth=m.data.video_source_width,p._lastSourceHeight=m.data.video_source_height})})});function wf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function nE(v,m,p){return m&&wf(v.prototype,m),p&&wf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var aE=nE(function v(m){var p=this;(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v),this.isSeeking=!1;var b=-1,_=function(){var I=L.now(),x=(m.data.viewer_time||I)-(b||I);O(m.data,"view_seek_duration",x),m.data.view_max_seek_time=Math.max(m.data.view_max_seek_time||0,x),p.isSeeking=!1,b=-1};m.on("seeking",function(I,x){Object.assign(m.data,x),p.isSeeking&&x.viewer_time-b<=2e3?b=x.viewer_time:(p.isSeeking&&_(),p.isSeeking=!0,b=x.viewer_time,O(m.data,"view_seek_count",1),m.send("seeking"))}),m.on("seeked",function(){_()}),m.on("viewend",function(){p.isSeeking&&(_(),m.send("seeked")),p.isSeeking=!1,b=-1})});function Df(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!b||R.length!==b);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,b){if(p){if(typeof p=="string")return Cf(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Cf(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Cf(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}function Mf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}var Of=function(v,m){v.push(m),v.sort(function(p,b){return p.viewer_time-b.viewer_time})},oE=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],lE=function(){function v(_){var I=this;(function(R,U){if(!(R instanceof U))throw new TypeError("Cannot call a class as a function")})(this,v),this.pm=_,_.on("viewinit",function(){I.isAdBreak=!1,I._currentAdRequestNumber=0,I._currentAdResponseNumber=0,I._adRequests=[],I._adResponses=[],I._adHasPlayed=!1,I._wouldBeNewAdPlay=!0,I._prerollPlayTime=void 0}),oE.forEach(function(R){return _.on(R,I._updateAdData.bind(I))});var x=function(){I.isAdBreak=!1};_.on("adbreakstart",function(){I.isAdBreak=!0}),_.on("play",x),_.on("playing",x),_.on("viewend",x),_.on("adrequest",function(R,U){U=Object.assign({ad_request_id:"generatedAdRequestId"+I._currentAdRequestNumber++},U),Of(I._adRequests,U),O(_.data,"view_ad_request_count"),I.inPrerollPosition()&&(_.data.view_preroll_requested=!0,I._adHasPlayed||O(_.data,"view_preroll_request_count"))}),_.on("adresponse",function(R,U){U=Object.assign({ad_request_id:"generatedAdRequestId"+I._currentAdResponseNumber++},U),Of(I._adResponses,U);var C=I.findAdRequest(U.ad_request_id);C&&O(_.data,"view_ad_request_time",Math.max(0,U.viewer_time-C.viewer_time))}),_.on("adplay",function(R,U){I._adHasPlayed=!0,I._wouldBeNewAdPlay&&(I._wouldBeNewAdPlay=!1,O(_.data,"view_ad_played_count")),I.inPrerollPosition()&&!_.data.view_preroll_played&&(_.data.view_preroll_played=!0,I._adRequests.length>0&&(_.data.view_preroll_request_time=Math.max(0,U.viewer_time-I._adRequests[0].viewer_time)),_.data.view_start&&(_.data.view_startup_preroll_request_time=Math.max(0,U.viewer_time-_.data.view_start)),I._prerollPlayTime=U.viewer_time)}),_.on("adplaying",function(R,U){I.inPrerollPosition()&&_.data.view_preroll_load_time===void 0&&I._prerollPlayTime!==void 0&&(_.data.view_preroll_load_time=U.viewer_time-I._prerollPlayTime,_.data.view_startup_preroll_load_time=U.viewer_time-I._prerollPlayTime)}),_.on("adclicked",function(R,U){I._wouldBeNewAdPlay||O(_.data,"view_ad_clicked_count")}),_.on("adskipped",function(R,U){I._wouldBeNewAdPlay||O(_.data,"view_ad_skipped_count")}),_.on("adended",function(){I._wouldBeNewAdPlay=!0}),_.on("aderror",function(){I._wouldBeNewAdPlay=!0})}var m,p,b;return m=v,(p=[{key:"inPrerollPosition",value:function(){return this.pm.data.view_content_playback_time===void 0||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(_){for(var I=0;I<this._adRequests.length;I++)if(this._adRequests[I].ad_request_id===_)return this._adRequests[I]}},{key:"_updateAdData",value:function(_,I){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&I.ad_tag_url){var x=Df(D(I.ad_tag_url),2),R=x[0],U=x[1];this.pm.data.view_preroll_ad_tag_domain=U,this.pm.data.view_preroll_ad_tag_hostname=R}if(!this.pm.data.view_preroll_ad_asset_hostname&&I.ad_asset_url){var C=Df(D(I.ad_asset_url),2),K=C[0],ve=C[1];this.pm.data.view_preroll_ad_asset_domain=ve,this.pm.data.view_preroll_ad_asset_hostname=K}}this.pm.data.ad_asset_url=I==null?void 0:I.ad_asset_url,this.pm.data.ad_tag_url=I==null?void 0:I.ad_tag_url,this.pm.data.ad_creative_id=I==null?void 0:I.ad_creative_id,this.pm.data.ad_id=I==null?void 0:I.ad_id,this.pm.data.ad_universal_id=I==null?void 0:I.ad_universal_id}}])&&Mf(m.prototype,p),b&&Mf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Pf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function dE(v,m,p){return m&&Pf(v.prototype,m),p&&Pf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var cE=dE(function v(m){var p,b;(function(R,U){if(!(R instanceof U))throw new TypeError("Cannot call a class as a function")})(this,v);var _=function(){m.disableRebufferTracking||p&&(O(m.data,"view_waiting_rebuffer_duration",L.now()-p),p=!1,d().clearInterval(b))},I=!1,x=function(){I=!1,_()};m.on("waiting",function(){I&&(m.disableRebufferTracking||(O(m.data,"view_waiting_rebuffer_count",1),p=L.now(),b=d().setInterval(function(){if(p){var R=L.now();O(m.data,"view_waiting_rebuffer_duration",R-p),p=R}},250)))}),m.on("playing",function(){_(),I=!0}),m.on("pause",x),m.on("seeking",x)});function Nf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function uE(v,m,p){return m&&Nf(v.prototype,m),p&&Nf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var hE=uE(function v(m){var p=this;(function(I,x){if(!(I instanceof x))throw new TypeError("Cannot call a class as a function")})(this,v);var b=function(){p.lastWallClockTime=L.now(),m.on("before*",_)},_=function(I){var x=L.now(),R=p.lastWallClockTime;p.lastWallClockTime=x,x-R>3e4&&(m.emit("devicesleep",{viewer_time:R}),Object.assign(m.data,{viewer_time:R}),m.send("devicesleep"),m.emit("devicewake",{viewer_time:x}),Object.assign(m.data,{viewer_time:x}),m.send("devicewake"))};m.one("playbackheartbeat",b),m.on("playbackheartbeatend",function(){m.off("before*",_),m.one("playbackheartbeat",b)})}),Uf=o(375),fE=o(655),Ff=o.n(fE),Bf="muxData",$f=function(){var v;try{v=Uf.parse(Ff().get(Bf)||"")}catch{v={}}return v},Gf=function(v){try{Ff().set(Bf,Uf.stringify(v),{expires:365})}catch{}},mE=function(){var v=$f();return v.mux_viewer_id=v.mux_viewer_id||c(),v.msn=v.msn||Math.random(),Gf(v),{mux_viewer_id:v.mux_viewer_id,mux_sample_number:v.msn}};function pE(v,m){var p=m.beaconCollectionDomain,b=m.beaconDomain;if(p)return"https://"+p;var _=b||"litix.io";return(v=v||"inferred").match(/^[a-z0-9]+$/)?"https://"+v+"."+_:"https://img.litix.io/a.gif"}var Hf=function(){var v;switch(Vf()){case"cellular":v="cellular";break;case"ethernet":v="wired";break;case"wifi":v="wifi";break;case void 0:break;default:v="other"}return v},Vf=function(){var v=d().navigator,m=v&&(v.connection||v.mozConnection||v.webkitConnection);return m&&m.type};Hf.getConnectionFromAPI=Vf;var gE=Hf,vE=Wf({a:"env",b:"beacon",c:"custom",d:"ad",e:"event",f:"experiment",i:"internal",m:"mux",n:"response",p:"player",q:"request",r:"retry",s:"session",t:"timestamp",u:"viewer",v:"video",w:"page",x:"view",y:"sub"}),Kf=Wf({ad:"ad",ag:"aggregate",ap:"api",al:"application",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",br:"break",bw:"browser",by:"bytes",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ck:"clicked",cl:"canceled",cn:"config",co:"count",ce:"counter",cp:"complete",cr:"creative",ct:"content",cu:"current",cx:"connection",cz:"context",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ep:"experiments",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pr:"preload",ps:"position",pt:"part",py:"property",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",st:"start",su:"startup",sv:"server",sw:"software",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"});function Wf(v){var m={};for(var p in v)v.hasOwnProperty(p)&&(m[v[p]]=p);return m}function gd(v){var m={},p={};return Object.keys(v).forEach(function(b){var _=!1;if(v.hasOwnProperty(b)&&v[b]!==void 0){var I=b.split("_"),x=I[0],R=vE[x];R||(A.info("Data key word `"+I[0]+"` not expected in "+b),R=x+"_"),I.splice(1).forEach(function(U){U==="url"&&(_=!0),Kf[U]?R+=Kf[U]:Number(U)&&Math.floor(Number(U))===Number(U)?R+=U:(A.info("Data key word `"+U+"` not expected in "+b),R+="_"+U+"_")}),_?p[R]=v[b]:m[R]=v[b]}}),Object.assign(m,p)}var EE={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},yE=["hb","requestcompleted","requestfailed","requestcanceled"],bE="https://img.litix.io",Vi=function(v){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this._beaconUrl=v||bE,this._eventQueue=[],this._postInFlight=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},EE,m)};Vi.prototype.queueEvent=function(v,m){var p=Object.assign({},m);return(this._eventQueue.length<=this._options.maxQueueLength||v==="eventrateexceeded")&&(this._eventQueue.push(p),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength)},Vi.prototype.flushEvents=function(){var v=arguments.length>0&&arguments[0]!==void 0&&arguments[0];v&&this._eventQueue.length===1?this._eventQueue.pop():(this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending())},Vi.prototype.destroy=function(){var v=arguments.length>0&&arguments[0]!==void 0&&arguments[0];this.destroyed=!0,v?this._clearBeaconQueue():this.flushEvents(),d().clearTimeout(this._sendTimeout)},Vi.prototype._clearBeaconQueue=function(){var v=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,m=this._eventQueue.slice(v);v>0&&Object.assign(m[m.length-1],gd({mux_view_message:"event queue truncated"}));var p=this._createPayload(m);qf(this._beaconUrl,p,!0,function(){})},Vi.prototype._sendBeaconQueue=function(){var v=this;if(!this._postInFlight){var m=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var p=this._createPayload(m),b=L.now();qf(this._beaconUrl,p,!1,function(_,I){I?(v._eventQueue=m.concat(v._eventQueue),v._failureCount+=1,A.info("Error sending beacon: "+I)):v._failureCount=0,v._roundTripTime=L.now()-b,v._postInFlight=!1})}},Vi.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var v=Math.pow(2,this._failureCount-1);return(1+(v*=Math.random()))*this._options.baseTimeBetweenBeacons},Vi.prototype._startBeaconSending=function(){var v=this;d().clearTimeout(this._sendTimeout),this.destroyed||(this._sendTimeout=d().setTimeout(function(){v._eventQueue.length&&v._sendBeaconQueue(),v._startBeaconSending()},this._getNextBeaconTime()))},Vi.prototype._createPayload=function(v){var m,p,b,_=this,I={transmission_timestamp:Math.round(L.now())};this._roundTripTime&&(I.rtt_ms=Math.round(this._roundTripTime));var x=function(){m=JSON.stringify({metadata:I,events:p||v}),b=m.length/1024},R=function(){return b<=_._options.maxPayloadKBSize};return x(),R()||(A.info("Payload size is too big ("+b+" kb). Removing unnecessary events."),p=v.filter(function(U){return yE.indexOf(U.e)===-1}),x()),R()||(A.info("Payload size still too big ("+b+" kb). Cropping fields.."),p.forEach(function(U){for(var C in U){var K=U[C];typeof K=="string"&&K.length>51200&&(U[C]=K.substring(0,51200))}}),x()),m};var TE=function(v){return v.length<=57344},qf=function(v,m,p,b){if(p&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(v,m))b();else if(d().fetch)d().fetch(v,{method:"POST",body:m,headers:{"Content-Type":"text/plain"},keepalive:TE(m)}).then(function(I){return b(null,I.ok?null:"Error")}).catch(function(I){return b(null,I)});else{if(d().XMLHttpRequest){var _=new(d()).XMLHttpRequest;return _.onreadystatechange=function(){if(_.readyState===4)return b(null,_.status!==200?"error":void 0)},_.open("POST",v),_.setRequestHeader("Content-Type","text/plain"),void _.send(m)}b()}},_E=Vi;function AE(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!b||R.length!==b);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,b){if(p){if(typeof p=="string")return Yf(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Yf(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Yf(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}function jf(v,m){var p=Object.keys(v);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(v);m&&(b=b.filter(function(_){return Object.getOwnPropertyDescriptor(v,_).enumerable})),p.push.apply(p,b)}return p}function ms(v){for(var m=1;m<arguments.length;m++){var p=arguments[m]!=null?arguments[m]:{};m%2?jf(Object(p),!0).forEach(function(b){Sa(v,b,p[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(v,Object.getOwnPropertyDescriptors(p)):jf(Object(p)).forEach(function(b){Object.defineProperty(v,b,Object.getOwnPropertyDescriptor(p,b))})}return v}function ln(v){return ln=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},ln(v)}function SE(v,m){if(!(v instanceof m))throw new TypeError("Cannot call a class as a function")}function zf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function Sa(v,m,p){return m in v?Object.defineProperty(v,m,{value:p,enumerable:!0,configurable:!0,writable:!0}):v[m]=p,v}var xE=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id"],IE=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],LE=["ad_id","ad_creative_id","ad_universal_id"],kE=["viewstart","error","ended","viewend"],RE=function(){function v(_,I){var x,R,U,C,K,ve,de,he,oe,me,Me,St,xt,$t,ii,Ce=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};SE(this,v),Sa(this,"previousBeaconData",null),Sa(this,"lastEventTime",0),Sa(this,"rateLimited",!1),this.mux=_,this.envKey=I,this.options=Ce,this.eventQueue=new _E(pE(this.envKey,this.options)),this.sampleRate=(x=this.options.sampleRate)!==null&&x!==void 0?x:1,this.disableCookies=(R=this.options.disableCookies)!==null&&R!==void 0&&R,this.respectDoNotTrack=(U=this.options.respectDoNotTrack)!==null&&U!==void 0&&U,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.pageLevelData={mux_api_version:this.mux.API_VERSION,mux_embed:this.mux.NAME,mux_embed_version:this.mux.VERSION,viewer_application_name:(C=this.options.platform)===null||C===void 0?void 0:C.name,viewer_application_version:(K=this.options.platform)===null||K===void 0?void 0:K.version,viewer_application_engine:(ve=this.options.platform)===null||ve===void 0?void 0:ve.layout,viewer_device_name:(de=this.options.platform)===null||de===void 0?void 0:de.product,viewer_device_category:"",viewer_device_manufacturer:(he=this.options.platform)===null||he===void 0?void 0:he.manufacturer,viewer_os_family:(oe=this.options.platform)===null||oe===void 0||(me=oe.os)===null||me===void 0?void 0:me.family,viewer_os_architecture:(Me=this.options.platform)===null||Me===void 0||(St=Me.os)===null||St===void 0?void 0:St.architecture,viewer_os_version:(xt=this.options.platform)===null||xt===void 0||($t=xt.os)===null||$t===void 0?void 0:$t.version,viewer_connection_type:gE(),page_url:d()===null||d()===void 0||(ii=d().location)===null||ii===void 0?void 0:ii.href},this.viewerData=this.disableCookies?{}:mE()}var m,p,b;return m=v,(p=[{key:"send",value:function(_,I){var x;if(_&&I!=null&&I.view_id){if(this.respectDoNotTrack&&k())return A.info("Not sending `"+_+"` because Do Not Track is enabled");if(!I||ln(I)!=="object")return A.error("A data object was expected in send() but was not provided");var R,U,C=this.disableCookies?{}:(R=$f(),U=L.now(),R.session_start&&(R.sst=R.session_start,delete R.session_start),R.session_id&&(R.sid=R.session_id,delete R.session_id),R.session_expires&&(R.sex=R.session_expires,delete R.session_expires),(!R.sex||R.sex<U)&&(R.sid=c(),R.sst=U),R.sex=U+15e5,Gf(R),{session_id:R.sid,session_start:R.sst,session_expires:R.sex}),K=ms(ms(ms(ms(ms({},this.pageLevelData),I),C),this.viewerData),{},{event:_,env_key:this.envKey});K.user_id&&(K.viewer_user_id=K.user_id,delete K.user_id);var ve=((x=K.mux_sample_number)!==null&&x!==void 0?x:0)>=this.sampleRate,de=gd(this._deduplicateBeaconData(_,K));if(this.lastEventTime=this.mux.utils.now(),ve)return A.info("Not sending event due to sample rate restriction",_,K,de);if(this.envKey||A.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",_,K,de),!this.rateLimited){if(A.info("Sending event",_,K,de),this.rateLimited=!this.eventQueue.queueEvent(_,de),this.mux.WINDOW_UNLOADING&&_==="viewend")this.eventQueue.destroy(!0);else if(this.mux.WINDOW_HIDDEN&&_==="hb"?this.eventQueue.flushEvents(!0):kE.indexOf(_)>=0&&this.eventQueue.flushEvents(),this.rateLimited)return K.event="eventrateexceeded",de=gd(K),this.eventQueue.queueEvent(K.event,de),A.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(_,I){var x=this,R={},U=I.view_id;if(U==="-1"||_==="viewstart"||_==="viewend"||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=6e5)R=ms({},I),U&&(this.previousBeaconData=R),U&&_==="viewend"&&(this.previousBeaconData=null);else{var C=_.indexOf("request")===0;Object.entries(I).forEach(function(K){var ve=AE(K,2),de=ve[0],he=ve[1];x.previousBeaconData&&(he!==x.previousBeaconData[de]||xE.indexOf(de)>-1||x.objectHasChanged(C,de,he,x.previousBeaconData[de])||x.eventRequiresKey(_,de))&&(R[de]=he,x.previousBeaconData[de]=he)})}return R}},{key:"objectHasChanged",value:function(_,I,x,R){return!(!_||I.indexOf("request_")!==0||I!=="request_response_headers"&&ln(x)==="object"&&ln(R)==="object"&&Object.keys(x||{}).length===Object.keys(R||{}).length)}},{key:"eventRequiresKey",value:function(_,I){return _==="renditionchange"&&I.indexOf("video_source_")===0||!(!LE.includes(I)||!IE.includes(_))}}])&&zf(m.prototype,p),b&&zf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),v}();function Xf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function wE(v,m,p){return m&&Xf(v.prototype,m),p&&Xf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var DE=wE(function v(m){(function(C,K){if(!(C instanceof K))throw new TypeError("Cannot call a class as a function")})(this,v);var p=0,b=0,_=0,I=0,x=0,R=0,U=0;m.on("requestcompleted",function(C,K){var ve,de,he=K.request_start,oe=K.request_response_start,me=K.request_response_end,Me=K.request_bytes_loaded;if(I++,oe?(ve=oe-(he!=null?he:0),de=(me!=null?me:0)-oe):de=(me!=null?me:0)-(he!=null?he:0),de>0&&Me&&Me>0){var St=Me/de*8e3;x++,b+=Me,_+=de,m.data.view_min_request_throughput=Math.min(m.data.view_min_request_throughput||1/0,St),m.data.view_average_request_throughput=b/_*8e3,m.data.view_request_count=I,ve>0&&(p+=ve,m.data.view_max_request_latency=Math.max(m.data.view_max_request_latency||0,ve),m.data.view_average_request_latency=p/x)}}),m.on("requestfailed",function(C,K){I++,R++,m.data.view_request_count=I,m.data.view_request_failed_count=R}),m.on("requestcanceled",function(C,K){I++,U++,m.data.view_request_count=I,m.data.view_request_canceled_count=U})});function Qf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function CE(v,m,p){return m&&Qf(v.prototype,m),p&&Qf(v,p),Object.defineProperty(v,"prototype",{writable:!1}),v}var ME=CE(function v(m){var p=this;(function(b,_){if(!(b instanceof _))throw new TypeError("Cannot call a class as a function")})(this,v),m.on("before*",function(b,_){var I=_.viewer_time,x=L.now(),R=p._lastEventTime;if(p._lastEventTime=x,R&&x-R>36e5){var U=Object.keys(m.data).reduce(function(C,K){return K.indexOf("video_")===0?Object.assign(C,function(ve,de,he){return de in ve?Object.defineProperty(ve,de,{value:he,enumerable:!0,configurable:!0,writable:!0}):ve[de]=he,ve}({},K,m.data[K])):C},{});m.mux.log.info("Received event after at least an hour inactivity, creating a new view"),m.emit("viewinit",Object.assign({viewer_time:I},U)),m.playbackHeartbeat._playheadShouldBeProgressing&&b.type!=="play"&&b.type!=="adbreakstart"&&(m.emit("play",{viewer_time:I}),b.type!=="playing"&&m.emit("playing",{viewer_time:I}))}})});function vd(v){return vd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},vd(v)}function OE(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!b||R.length!==b);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,b){if(p){if(typeof p=="string")return Zf(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?Zf(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
4
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Zf(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}function Jf(v,m){for(var p=0;p<m.length;p++){var b=m[p];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(v,b.key,b)}}function Ed(v,m){return Ed=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,b){return p.__proto__=b,p},Ed(v,m)}function PE(v){var m=function(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var p,b=xa(v);if(m){var _=xa(this).constructor;p=Reflect.construct(b,arguments,_)}else p=b.apply(this,arguments);return NE(this,p)}}function NE(v,m){if(m&&(vd(m)==="object"||typeof m=="function"))return m;if(m!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vt(v)}function vt(v){if(v===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v}function xa(v){return xa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(m){return m.__proto__||Object.getPrototypeOf(m)},xa(v)}var UE=["viewstart","ended","loadstart","pause","play","playing","ratechange","waiting","adplay","adpause","adended","aderror","adplaying","adrequest","adresponse","adbreakstart","adbreakend","adfirstquartile","admidpoint","adthirdquartile","rebufferstart","rebufferend","seeked","error","hb","requestcompleted","requestfailed","requestcanceled","renditionchange"],FE=function(v){(function(x,R){if(typeof R!="function"&&R!==null)throw new TypeError("Super expression must either be null or a function");x.prototype=Object.create(R&&R.prototype,{constructor:{value:x,writable:!0,configurable:!0}}),Object.defineProperty(x,"prototype",{writable:!1}),R&&Ed(x,R)})(I,v);var m,p,b,_=PE(I);function I(x,R,U){var C;(function(oe,me){if(!(oe instanceof me))throw new TypeError("Cannot call a class as a function")})(this,I),(C=_.call(this)).DOM_CONTENT_LOADED_EVENT_END=$.domContentLoadedEventEnd(),C.NAVIGATION_START=$.navigationStart(),C.mux=x,C.id=R,(U=Object.assign({debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,errorTranslator:function(oe){return oe}},U)).data=U.data||{},U.data.property_key&&(U.data.env_key=U.data.property_key,delete U.data.property_key),A.setLevel(U.debug?"debug":"warn"),C.getPlayheadTime=U.getPlayheadTime,C.getStateData=U.getStateData||function(){return{}},C.getAdData=U.getAdData||function(){},C.minimumRebufferDuration=U.minimumRebufferDuration,C.sustainedRebufferThreshold=U.sustainedRebufferThreshold,C.playbackHeartbeatTime=U.playbackHeartbeatTime,C.disableRebufferTracking=U.disableRebufferTracking,C.disableRebufferTracking&&C.mux.log.warn("Disabling rebuffer tracking. This should only be used in specific circumstances as a last resort when your player is known to unreliably track rebuffering."),C.disablePlayheadRebufferTracking=U.disablePlayheadRebufferTracking,C.errorTranslator=U.errorTranslator,C.playbackEventDispatcher=new RE(x,U.data.env_key,U),C.data={player_instance_id:c(),mux_sample_rate:U.sampleRate,beacon_domain:U.beaconCollectionDomain?U.beaconCollectionDomain:U.beaconDomain},C.data.view_sequence_number=1,C.data.player_sequence_number=1,C.oldEmit=C.emit,C.emit=function(oe,me){me=Object.assign({viewer_time:this.mux.utils.now()},me),this.oldEmit(oe,me)};var K=function(){this.data.view_start===void 0&&(this.data.view_start=this.mux.utils.now(),this.emit("viewstart"))}.bind(vt(C));C.on("viewinit",function(oe,me){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,me),this._initializeViewData(),this.one("play",K),this.one("adbreakstart",K)});var ve=function(oe){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",oe)}.bind(vt(C));if(C.on("videochange",function(oe,me){ve(me)}),C.on("programchange",function(oe,me){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),ve(Object.assign(me,{view_program_changed:!0})),K(),this.emit("play"),this.emit("playing")}),C.on("fragmentchange",function(oe,me){this.currentFragmentPDT=me.currentFragmentPDT,this.currentFragmentStart=me.currentFragmentStart}),C.on("destroy",C.destroy),typeof window!="undefined"&&typeof window.addEventListener=="function"&&typeof window.removeEventListener=="function"){var de=function(){var oe=C.data.view_start!==void 0;C.mux.WINDOW_HIDDEN=document.visibilityState==="hidden",oe&&C.mux.WINDOW_HIDDEN&&(C.data.player_is_paused||C.emit("hb"))};window.addEventListener("visibilitychange",de,!1);var he=function(oe){oe.persisted||C.destroy()};window.addEventListener("pagehide",he,!1),C.on("destroy",function(){window.removeEventListener("visibilitychange",de),window.removeEventListener("pagehide",he)})}return C.on("playerready",function(oe,me){Object.assign(this.data,me)}),UE.forEach(function(oe){C.on(oe,function(me,Me){oe.indexOf("ad")!==0&&this._updateStateData(),Object.assign(this.data,Me),this._sanitizeData()}),C.on("after"+oe,function(){(oe!=="error"||this.errorTracker.viewErrored)&&this.send(oe)})}),C.on("viewend",function(oe,me){Object.assign(C.data,me)}),C.one("playerready",function(oe){var me=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=me-this.data.player_init_time),!this.mux.PLAYER_TRACKED&&this.NAVIGATION_START&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.DOM_CONTENT_LOADED_EVENT_END)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.DOM_CONTENT_LOADED_EVENT_END||1/0)-this.NAVIGATION_START)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time}),C.longResumeTracker=new ME(vt(C)),C.errorTracker=new ei(vt(C)),new hE(vt(C)),C.seekingTracker=new aE(vt(C)),C.playheadTime=new rt(vt(C)),C.playbackHeartbeat=new At(vt(C)),new sE(vt(C)),C.watchTimeTracker=new Ai(vt(C)),new sn(vt(C)),C.adTracker=new lE(vt(C)),new tE(vt(C)),new Aa(vt(C)),new iE(vt(C)),new cE(vt(C)),new DE(vt(C)),U.hlsjs&&C.addHLSJS(U),U.dashjs&&C.addDashJS(U),C.emit("viewinit",U.data),C}return m=I,p=[{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.data.view_start!==void 0&&(this.emit("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(x){if(this.data.view_id){var R=Object.assign({},this.data);if(R.video_source_is_live===void 0&&(R.player_source_duration===1/0||R.video_source_duration===1/0?R.video_source_is_live=!0:(R.player_source_duration>0||R.video_source_duration>0)&&(R.video_source_is_live=!1)),R.video_source_is_live||["player_program_time","player_manifest_newest_program_time","player_live_edge_program_time","player_program_time","video_holdback","video_part_holdback","video_target_duration","video_part_target_duration"].forEach(function(ve){R[ve]=void 0}),R.video_source_url=R.video_source_url||R.player_source_url,R.video_source_url){var U=OE(D(R.video_source_url),2),C=U[0],K=U[1];R.video_source_domain=K,R.video_source_hostname=C}delete R.ad_request_id,this.playbackEventDispatcher.send(x,R),this.data.view_sequence_number++,this.data.player_sequence_number++,this._restartHeartBeat(),x==="viewend"&&delete this.data.view_id}}},{key:"_updateStateData",value:function(){Object.assign(this.data,this.getStateData()),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var x=this;["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"].forEach(function(R){var U=parseInt(x.data[R],10);x.data[R]=isNaN(U)?void 0:U}),["player_source_url","video_source_url"].forEach(function(R){if(x.data[R]){var U=x.data[R].toLowerCase();U.indexOf("data:")!==0&&U.indexOf("blob:")!==0||(x.data[R]="MSE style URL")}})}},{key:"_resetVideoData",value:function(x,R){var U=this;Object.keys(this.data).forEach(function(C){C.indexOf("video_")===0&&delete U.data[C]})}},{key:"_resetViewData",value:function(){var x=this;Object.keys(this.data).forEach(function(R){R.indexOf("view_")===0&&delete x.data[R]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(x,R){delete this.data.player_error_code,delete this.data.player_error_message}},{key:"_initializeViewData",value:function(){var x=this,R=this.data.view_id=c(),U=function(){R===x.data.view_id&&O(x.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",U):U()}},{key:"_restartHeartBeat",value:function(){var x=this;window.clearTimeout(this._heartBeatTimeout),this.errorTracker.viewErrored||(this._heartBeatTimeout=window.setTimeout(function(){x.data.player_is_paused||x.emit("hb")},1e4))}},{key:"addHLSJS",value:function(x){x.hlsjs?this.hlsjs?this.mux.log.warn("An instance of HLS.js is already being monitored for this player."):(this.hlsjs=x.hlsjs,function(R,U,C){var K=arguments.length>4?arguments[4]:void 0,ve=R.log,de=R.utils.secondsToMs,he=function(Oe){var Q,fe=parseInt(K.version);return fe===1&&Oe.programDateTime!==null&&(Q=Oe.programDateTime),fe===0&&Oe.pdt!==null&&(Q=Oe.pdt),Q};if($.exists()){var oe=function(Oe,Q){return R.emit(U,Oe,Q)},me=function(Oe,Q){var fe=Q.levels,ee=Q.audioTracks,Te=Q.url,De=Q.stats,ut=Q.networkDetails,Gt=Q.sessionData,It={},Ut={};fe.forEach(function(mt,hn){It[hn]={width:mt.width,height:mt.height,bitrate:mt.bitrate,attrs:mt.attrs}}),ee.forEach(function(mt,hn){Ut[hn]={name:mt.name,language:mt.lang,bitrate:mt.bitrate}});var Et=we(De),yt=Et.bytesLoaded,ar=Et.requestStart,un=Et.responseStart,Rr=Et.responseEnd;oe("requestcompleted",Ee(Ee({},z(Gt)),{},{request_event_type:Oe,request_bytes_loaded:yt,request_start:ar,request_response_start:un,request_response_end:Rr,request_type:"manifest",request_hostname:N(Te),request_response_headers:Se(ut),request_rendition_lists:{media:It,audio:Ut,video:{}}}))};C.on(K.Events.MANIFEST_LOADED,me);var Me=function(Oe,Q){var fe=Q.details,ee=Q.level,Te=Q.networkDetails,De=Q.stats,ut=we(De),Gt=ut.bytesLoaded,It=ut.requestStart,Ut=ut.responseStart,Et=ut.responseEnd,yt=fe.fragments[fe.fragments.length-1],ar=he(yt)+de(yt.duration);oe("requestcompleted",{request_event_type:Oe,request_bytes_loaded:Gt,request_start:It,request_response_start:Ut,request_response_end:Et,request_current_level:ee,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(Te),video_holdback:fe.holdBack&&de(fe.holdBack),video_part_holdback:fe.partHoldBack&&de(fe.partHoldBack),video_part_target_duration:fe.partTarget&&de(fe.partTarget),video_target_duration:fe.targetduration&&de(fe.targetduration),video_source_is_live:fe.live,player_manifest_newest_program_time:isNaN(ar)?void 0:ar})};C.on(K.Events.LEVEL_LOADED,Me);var St=function(Oe,Q){var fe=Q.details,ee=Q.networkDetails,Te=Q.stats,De=we(Te),ut=De.bytesLoaded,Gt=De.requestStart,It=De.responseStart,Ut=De.responseEnd;oe("requestcompleted",{request_event_type:Oe,request_bytes_loaded:ut,request_start:Gt,request_response_start:It,request_response_end:Ut,request_type:"manifest",request_hostname:N(fe.url),request_response_headers:Se(ee)})};C.on(K.Events.AUDIO_TRACK_LOADED,St);var xt=function(Oe,Q){var fe=Q.stats,ee=Q.networkDetails,Te=Q.frag;fe=fe||Te.stats;var De=we(fe),ut=De.bytesLoaded,Gt=De.requestStart,It=De.responseStart,Ut=De.responseEnd,Et=ee?Se(ee):void 0,yt={request_event_type:Oe,request_bytes_loaded:ut,request_start:Gt,request_response_start:It,request_response_end:Ut,request_hostname:ee?N(ee.responseURL):void 0,request_id:Et?X(Et):void 0,request_response_headers:Et,request_media_duration:Te.duration,request_url:ee==null?void 0:ee.responseURL};Te.type==="main"?(yt.request_type="media",yt.request_current_level=Te.level,yt.request_video_width=(C.levels[Te.level]||{}).width,yt.request_video_height=(C.levels[Te.level]||{}).height,yt.request_labeled_bitrate=(C.levels[Te.level]||{}).bitrate):yt.request_type=Te.type,oe("requestcompleted",yt)};C.on(K.Events.FRAG_LOADED,xt);var $t=function(Oe,Q){var fe=Q.frag,ee=fe.start,Te={currentFragmentPDT:he(fe),currentFragmentStart:de(ee)};oe("fragmentchange",Te)};C.on(K.Events.FRAG_CHANGED,$t);var ii=function(Oe,Q){var fe=Q.type,ee=Q.details,Te=Q.response,De=Q.fatal,ut=Q.frag,Gt=Q.networkDetails,It=(ut==null?void 0:ut.url)||Q.url||"",Ut=Gt?Se(Gt):void 0;if(ee!==K.ErrorDetails.MANIFEST_LOAD_ERROR&&ee!==K.ErrorDetails.MANIFEST_LOAD_TIMEOUT&&ee!==K.ErrorDetails.FRAG_LOAD_ERROR&&ee!==K.ErrorDetails.FRAG_LOAD_TIMEOUT&&ee!==K.ErrorDetails.LEVEL_LOAD_ERROR&&ee!==K.ErrorDetails.LEVEL_LOAD_TIMEOUT&&ee!==K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR&&ee!==K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT&&ee!==K.ErrorDetails.SUBTITLE_LOAD_ERROR&&ee!==K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT&&ee!==K.ErrorDetails.KEY_LOAD_ERROR&&ee!==K.ErrorDetails.KEY_LOAD_TIMEOUT||oe("requestfailed",{request_error:ee,request_url:It,request_hostname:N(It),request_id:Ut?X(Ut):void 0,request_type:ee===K.ErrorDetails.FRAG_LOAD_ERROR||ee===K.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":ee===K.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||ee===K.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":ee===K.ErrorDetails.SUBTITLE_LOAD_ERROR||ee===K.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":ee===K.ErrorDetails.KEY_LOAD_ERROR||ee===K.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:Te==null?void 0:Te.code,request_error_text:Te==null?void 0:Te.text}),De){var Et,yt="".concat(It?"url: ".concat(It,`
5
5
  `):"")+"".concat(Te&&(Te.code||Te.text)?"response: ".concat(Te.code,", ").concat(Te.text,`
6
6
  `):"")+"".concat(Q.reason?"failure reason: ".concat(Q.reason,`
7
7
  `):"")+"".concat(Q.level?"level: ".concat(Q.level,`
@@ -10,13 +10,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
10
10
  `):"")+"".concat(Q.error?"error: ".concat(Q.error,`
11
11
  `):"")+"".concat(Q.event?"event: ".concat(Q.event,`
12
12
  `):"")+"".concat(Q.err?"error message: ".concat((Et=Q.err)===null||Et===void 0?void 0:Et.message,`
13
- `):"");oe("error",{player_error_code:fe,player_error_message:ee,player_error_context:yt})}};C.on(K.Events.ERROR,ii);var Ce=function(Oe,Q){var fe=Q.frag,ee=fe&&fe._url||"";oe("requestcanceled",{request_event_type:Oe,request_url:ee,request_type:"media",request_hostname:N(ee)})};C.on(K.Events.FRAG_LOAD_EMERGENCY_ABORTED,Ce);var lt=function(Oe,Q){var fe=Q.level,ee=C.levels[fe];if(ee&&ee.attrs&&ee.attrs.BANDWIDTH){var Te,De=ee.attrs.BANDWIDTH,ut=parseFloat(ee.attrs["FRAME-RATE"]);isNaN(ut)||(Te=ut),De?oe("renditionchange",{video_source_fps:Te,video_source_bitrate:De,video_source_width:ee.width,video_source_height:ee.height,video_source_rendition_name:ee.name,video_source_codec:ee==null?void 0:ee.videoCodec}):ve.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};C.on(K.Events.LEVEL_SWITCHED,lt),C._stopMuxMonitor=function(){C.off(K.Events.MANIFEST_LOADED,me),C.off(K.Events.LEVEL_LOADED,Me),C.off(K.Events.AUDIO_TRACK_LOADED,St),C.off(K.Events.FRAG_LOADED,xt),C.off(K.Events.FRAG_CHANGED,$t),C.off(K.Events.ERROR,ii),C.off(K.Events.FRAG_LOAD_EMERGENCY_ABORTED,Ce),C.off(K.Events.LEVEL_SWITCHED,lt),C.off(K.Events.DESTROYING,C._stopMuxMonitor),delete C._stopMuxMonitor},C.on(K.Events.DESTROYING,C._stopMuxMonitor)}else ve.warn("performance timing not supported. Not tracking HLS.js.")}(this.mux,this.id,I.hlsjs,{},I.Hls||window.Hls)):this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.")}},{key:"removeHLSJS",value:function(){var I;this.hlsjs&&((I=this.hlsjs)&&typeof I._stopMuxMonitor=="function"&&I._stopMuxMonitor(),this.hlsjs=void 0)}},{key:"addDashJS",value:function(I){I.dashjs?this.dashjs?this.mux.log.warn("An instance of Dash.js is already being monitored for this player."):(this.dashjs=I.dashjs,function(k,F,C){var K=k.log;if(C&&C.on){var ve=function(Ce,lt){return k.emit(F,Ce,lt)},de=function(Ce){var lt=Ce.type,Oe=(Ce.data||{}).url;ve("requestcompleted",{request_event_type:lt,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:N(Oe),request_url:Oe})};C.on("manifestLoaded",de);var he={},oe=function(Ce){var lt=Ce.type,Oe=Ce.fragmentModel,Q=(Ce.chunk||{}).mediaInfo||{},fe=Q.type,ee=Q.bitrateList,Te={};(ee=ee||[]).forEach(function(kr,mt){Te[mt]={},Te[mt].width=kr.width,Te[mt].height=kr.height,Te[mt].bitrate=kr.bandwidth,Te[mt].attrs={}}),fe==="video"?he.video=Te:fe==="audio"?he.audio=Te:he.media=Te;var De=xe(Oe,C),ut=De.requestStart,Gt=De.requestResponseStart,It=De.requestResponseEnd,Nt=De.requestResponseHeaders,Et=De.requestMediaDuration,yt=De.requestHostname,ar=De.requestUrl,un=De.requestId;ve("requestcompleted",{request_event_type:lt,request_start:ut,request_response_start:Gt,request_response_end:It,request_bytes_loaded:-1,request_type:fe+"_init",request_response_headers:Nt,request_hostname:yt,request_id:un,request_url:ar,request_media_duration:Et,request_rendition_lists:he})};C.on("initFragmentLoaded",oe);var me=function(Ce){var lt=Ce.type,Oe=Ce.fragmentModel,Q=Ce.chunk||{},fe=Q.mediaInfo,ee=Q.start,Te=(fe||{}).type,De=xe(Oe,C),ut=De.requestStart,Gt=De.requestResponseStart,It=De.requestResponseEnd,Nt=De.requestBytesLoaded,Et=De.requestResponseHeaders,yt=De.requestMediaDuration,ar=De.requestHostname,un=De.requestUrl,kr=De.requestId,mt=Ie(Te,C),hn=mt.currentLevel,ay=mt.renditionWidth,oy=mt.renditionHeight,ly=mt.renditionBitrate;ve("requestcompleted",{request_event_type:lt,request_start:ut,request_response_start:Gt,request_response_end:It,request_bytes_loaded:Nt,request_type:Te,request_response_headers:Et,request_hostname:ar,request_id:kr,request_url:un,request_media_start_time:ee,request_media_duration:yt,request_current_level:hn,request_labeled_bitrate:ly,request_video_width:ay,request_video_height:oy})};C.on("mediaFragmentLoaded",me);var Me={video:void 0,audio:void 0,totalBitrate:void 0},St=function(){if(Me.video&&typeof Me.video.bitrate=="number"){if(Me.video.width&&Me.video.height){var Ce=Me.video.bitrate;return Me.audio&&typeof Me.audio.bitrate=="number"&&(Ce+=Me.audio.bitrate),Ce!==Me.totalBitrate?(Me.totalBitrate=Ce,{video_source_bitrate:Ce,video_source_height:Me.video.height,video_source_width:Me.video.width,video_source_codec:Ve(Me.video.codec)}):void 0}K.warn("have bitrate info for video but missing width/height")}},xt=function(Ce,lt,Oe){if(typeof Ce.newQuality=="number"){var Q=Ce.mediaType;if(Q==="audio"||Q==="video"){var fe=C.getBitrateInfoListFor(Q).find(function(Te){return Te.qualityIndex===Ce.newQuality});if(fe&&typeof fe.bitrate=="number"){Me[Q]=ae(ae({},fe),{},{codec:C.getCurrentTrackFor(Q).codec});var ee=St();ee&&ve("renditionchange",ee)}else K.warn("missing bitrate info for ".concat(Q))}}else K.warn("missing evt.newQuality in qualityChangeRendered event",Ce)};C.on("qualityChangeRendered",xt);var $t=function(Ce){var lt=Ce.request,Oe=Ce.mediaType;ve("requestcanceled",{request_event_type:(lt=lt||{}).type+"_"+lt.action,request_url:lt.url,request_type:Oe,request_hostname:N(lt.url)})};C.on("fragmentLoadingAbandoned",$t);var ii=function(Ce){var lt,Oe,Q=Ce.error,fe=(Q==null||(lt=Q.data)===null||lt===void 0?void 0:lt.request)||{},ee=(Q==null||(Oe=Q.data)===null||Oe===void 0?void 0:Oe.response)||{};(Q==null?void 0:Q.code)===27&&ve("requestfailed",{request_error:fe.type+"_"+fe.action,request_url:fe.url,request_hostname:N(fe.url),request_type:fe.mediaType,request_error_code:ee.status,request_error_text:ee.statusText});var Te="".concat(fe!=null&&fe.url?"url: ".concat(fe.url,`
13
+ `):"");oe("error",{player_error_code:fe,player_error_message:ee,player_error_context:yt})}};C.on(K.Events.ERROR,ii);var Ce=function(Oe,Q){var fe=Q.frag,ee=fe&&fe._url||"";oe("requestcanceled",{request_event_type:Oe,request_url:ee,request_type:"media",request_hostname:N(ee)})};C.on(K.Events.FRAG_LOAD_EMERGENCY_ABORTED,Ce);var lt=function(Oe,Q){var fe=Q.level,ee=C.levels[fe];if(ee&&ee.attrs&&ee.attrs.BANDWIDTH){var Te,De=ee.attrs.BANDWIDTH,ut=parseFloat(ee.attrs["FRAME-RATE"]);isNaN(ut)||(Te=ut),De?oe("renditionchange",{video_source_fps:Te,video_source_bitrate:De,video_source_width:ee.width,video_source_height:ee.height,video_source_rendition_name:ee.name,video_source_codec:ee==null?void 0:ee.videoCodec}):ve.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};C.on(K.Events.LEVEL_SWITCHED,lt),C._stopMuxMonitor=function(){C.off(K.Events.MANIFEST_LOADED,me),C.off(K.Events.LEVEL_LOADED,Me),C.off(K.Events.AUDIO_TRACK_LOADED,St),C.off(K.Events.FRAG_LOADED,xt),C.off(K.Events.FRAG_CHANGED,$t),C.off(K.Events.ERROR,ii),C.off(K.Events.FRAG_LOAD_EMERGENCY_ABORTED,Ce),C.off(K.Events.LEVEL_SWITCHED,lt),C.off(K.Events.DESTROYING,C._stopMuxMonitor),delete C._stopMuxMonitor},C.on(K.Events.DESTROYING,C._stopMuxMonitor)}else ve.warn("performance timing not supported. Not tracking HLS.js.")}(this.mux,this.id,x.hlsjs,{},x.Hls||window.Hls)):this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.")}},{key:"removeHLSJS",value:function(){var x;this.hlsjs&&((x=this.hlsjs)&&typeof x._stopMuxMonitor=="function"&&x._stopMuxMonitor(),this.hlsjs=void 0)}},{key:"addDashJS",value:function(x){x.dashjs?this.dashjs?this.mux.log.warn("An instance of Dash.js is already being monitored for this player."):(this.dashjs=x.dashjs,function(R,U,C){var K=R.log;if(C&&C.on){var ve=function(Ce,lt){return R.emit(U,Ce,lt)},de=function(Ce){var lt=Ce.type,Oe=(Ce.data||{}).url;ve("requestcompleted",{request_event_type:lt,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:N(Oe),request_url:Oe})};C.on("manifestLoaded",de);var he={},oe=function(Ce){var lt=Ce.type,Oe=Ce.fragmentModel,Q=(Ce.chunk||{}).mediaInfo||{},fe=Q.type,ee=Q.bitrateList,Te={};(ee=ee||[]).forEach(function(Rr,mt){Te[mt]={},Te[mt].width=Rr.width,Te[mt].height=Rr.height,Te[mt].bitrate=Rr.bandwidth,Te[mt].attrs={}}),fe==="video"?he.video=Te:fe==="audio"?he.audio=Te:he.media=Te;var De=xe(Oe,C),ut=De.requestStart,Gt=De.requestResponseStart,It=De.requestResponseEnd,Ut=De.requestResponseHeaders,Et=De.requestMediaDuration,yt=De.requestHostname,ar=De.requestUrl,un=De.requestId;ve("requestcompleted",{request_event_type:lt,request_start:ut,request_response_start:Gt,request_response_end:It,request_bytes_loaded:-1,request_type:fe+"_init",request_response_headers:Ut,request_hostname:yt,request_id:un,request_url:ar,request_media_duration:Et,request_rendition_lists:he})};C.on("initFragmentLoaded",oe);var me=function(Ce){var lt=Ce.type,Oe=Ce.fragmentModel,Q=Ce.chunk||{},fe=Q.mediaInfo,ee=Q.start,Te=(fe||{}).type,De=xe(Oe,C),ut=De.requestStart,Gt=De.requestResponseStart,It=De.requestResponseEnd,Ut=De.requestBytesLoaded,Et=De.requestResponseHeaders,yt=De.requestMediaDuration,ar=De.requestHostname,un=De.requestUrl,Rr=De.requestId,mt=Ie(Te,C),hn=mt.currentLevel,oy=mt.renditionWidth,ly=mt.renditionHeight,dy=mt.renditionBitrate;ve("requestcompleted",{request_event_type:lt,request_start:ut,request_response_start:Gt,request_response_end:It,request_bytes_loaded:Ut,request_type:Te,request_response_headers:Et,request_hostname:ar,request_id:Rr,request_url:un,request_media_start_time:ee,request_media_duration:yt,request_current_level:hn,request_labeled_bitrate:dy,request_video_width:oy,request_video_height:ly})};C.on("mediaFragmentLoaded",me);var Me={video:void 0,audio:void 0,totalBitrate:void 0},St=function(){if(Me.video&&typeof Me.video.bitrate=="number"){if(Me.video.width&&Me.video.height){var Ce=Me.video.bitrate;return Me.audio&&typeof Me.audio.bitrate=="number"&&(Ce+=Me.audio.bitrate),Ce!==Me.totalBitrate?(Me.totalBitrate=Ce,{video_source_bitrate:Ce,video_source_height:Me.video.height,video_source_width:Me.video.width,video_source_codec:Ve(Me.video.codec)}):void 0}K.warn("have bitrate info for video but missing width/height")}},xt=function(Ce,lt,Oe){if(typeof Ce.newQuality=="number"){var Q=Ce.mediaType;if(Q==="audio"||Q==="video"){var fe=C.getBitrateInfoListFor(Q).find(function(Te){return Te.qualityIndex===Ce.newQuality});if(fe&&typeof fe.bitrate=="number"){Me[Q]=ae(ae({},fe),{},{codec:C.getCurrentTrackFor(Q).codec});var ee=St();ee&&ve("renditionchange",ee)}else K.warn("missing bitrate info for ".concat(Q))}}else K.warn("missing evt.newQuality in qualityChangeRendered event",Ce)};C.on("qualityChangeRendered",xt);var $t=function(Ce){var lt=Ce.request,Oe=Ce.mediaType;ve("requestcanceled",{request_event_type:(lt=lt||{}).type+"_"+lt.action,request_url:lt.url,request_type:Oe,request_hostname:N(lt.url)})};C.on("fragmentLoadingAbandoned",$t);var ii=function(Ce){var lt,Oe,Q=Ce.error,fe=(Q==null||(lt=Q.data)===null||lt===void 0?void 0:lt.request)||{},ee=(Q==null||(Oe=Q.data)===null||Oe===void 0?void 0:Oe.response)||{};(Q==null?void 0:Q.code)===27&&ve("requestfailed",{request_error:fe.type+"_"+fe.action,request_url:fe.url,request_hostname:N(fe.url),request_type:fe.mediaType,request_error_code:ee.status,request_error_text:ee.statusText});var Te="".concat(fe!=null&&fe.url?"url: ".concat(fe.url,`
14
14
  `):"")+"".concat(ee!=null&&ee.status||ee!=null&&ee.statusText?"response: ".concat(ee==null?void 0:ee.status,", ").concat(ee==null?void 0:ee.statusText,`
15
- `):"");ve("error",{player_error_code:Q==null?void 0:Q.code,player_error_message:Q==null?void 0:Q.message,player_error_context:Te})};C.on("error",ii),C._stopMuxMonitor=function(){C.off("manifestLoaded",de),C.off("initFragmentLoaded",oe),C.off("mediaFragmentLoaded",me),C.off("qualityChangeRendered",xt),C.off("error",ii),C.off("fragmentLoadingAbandoned",$t),delete C._stopMuxMonitor}}else K.warn("Invalid dash.js player reference. Monitoring blocked.")}(this.mux,this.id,I.dashjs)):this.mux.log.warn("You must pass a valid dashjs instance in order to track it.")}},{key:"removeDashJS",value:function(){var I;this.dashjs&&((I=this.dashjs)&&typeof I._stopMuxMonitor=="function"&&I._stopMuxMonitor(),this.dashjs=void 0)}}],p&&Jf(m.prototype,p),b&&Jf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),L}(Re),FE=UE,BE=o(153),dn=o.n(BE);function Ed(v){return Ed=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},Ed(v)}function em(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var L,I,k=[],F=!0,C=!1;try{for(_=_.call(p);!(F=(L=_.next()).done)&&(k.push(L.value),!b||k.length!==b);F=!0);}catch(K){C=!0,I=K}finally{try{F||_.return==null||_.return()}finally{if(C)throw I}}return k}}(v,m)||function(p,b){if(p){if(typeof p=="string")return tm(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?tm(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function tm(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}var ps,$E=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],GE={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};d()&&d().WeakMap&&(ps=new WeakMap);var HE="#EXT-X-TARGETDURATION",VE="#EXT-X-PART-INF",KE="#EXT-X-SERVER-CONTROL",WE="#EXTINF",qE="#EXT-X-PROGRAM-DATE-TIME",YE="#EXT-X-VERSION",jE="#EXT-X-SESSION-DATA",xa=function(v){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(v),this.manifest};xa.prototype.process=function(v){var m;for(this.buffer+=v,m=this.buffer.indexOf(`
15
+ `):"");ve("error",{player_error_code:Q==null?void 0:Q.code,player_error_message:Q==null?void 0:Q.message,player_error_context:Te})};C.on("error",ii),C._stopMuxMonitor=function(){C.off("manifestLoaded",de),C.off("initFragmentLoaded",oe),C.off("mediaFragmentLoaded",me),C.off("qualityChangeRendered",xt),C.off("error",ii),C.off("fragmentLoadingAbandoned",$t),delete C._stopMuxMonitor}}else K.warn("Invalid dash.js player reference. Monitoring blocked.")}(this.mux,this.id,x.dashjs)):this.mux.log.warn("You must pass a valid dashjs instance in order to track it.")}},{key:"removeDashJS",value:function(){var x;this.dashjs&&((x=this.dashjs)&&typeof x._stopMuxMonitor=="function"&&x._stopMuxMonitor(),this.dashjs=void 0)}}],p&&Jf(m.prototype,p),b&&Jf(m,b),Object.defineProperty(m,"prototype",{writable:!1}),I}(ke),BE=FE,$E=o(153),dn=o.n($E);function yd(v){return yd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},yd(v)}function em(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!b||R.length!==b);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,b){if(p){if(typeof p=="string")return tm(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?tm(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
16
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function tm(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}var ps,GE=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],HE={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};d()&&d().WeakMap&&(ps=new WeakMap);var VE="#EXT-X-TARGETDURATION",KE="#EXT-X-PART-INF",WE="#EXT-X-SERVER-CONTROL",qE="#EXTINF",YE="#EXT-X-PROGRAM-DATE-TIME",jE="#EXT-X-VERSION",zE="#EXT-X-SESSION-DATA",Ia=function(v){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(v),this.manifest};Ia.prototype.process=function(v){var m;for(this.buffer+=v,m=this.buffer.indexOf(`
17
17
  `);m>-1;m=this.buffer.indexOf(`
18
- `))this.processLine(this.buffer.substring(0,m)),this.buffer=this.buffer.substring(m+1)},xa.prototype.processLine=function(v){var m=v.indexOf(":"),p=ZE(v,m),b=p[0],_=p.length===2?bd(p[1]):void 0;if(b[0]!=="#")this.currentUri.uri=b,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(b){case HE:if(!isFinite(_)||_<0)return;this.manifest.targetDuration=_,this.setHoldBack();break;case VE:yd(this.manifest,p),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break;case KE:yd(this.manifest,p),this.setHoldBack();break;case WE:_===0?this.currentUri.duration=.01:_>0&&(this.currentUri.duration=_);break;case qE:var L=_,I=new Date(L);this.manifest.dateTimeString||(this.manifest.dateTimeString=L,this.manifest.dateTimeObject=I),this.currentUri.dateTimeString=L,this.currentUri.dateTimeObject=I;break;case YE:yd(this.manifest,p);break;case jE:var k=JE(p[1]),F=z(k);Object.assign(this.manifest.sessionData,F)}},xa.prototype.setHoldBack=function(){var v=this.manifest,m=v.serverControl,p=v.targetDuration,b=v.partTargetDuration;if(m){var _="holdBack",L="partHoldBack",I=p&&3*p,k=b&&2*b;p&&!m.hasOwnProperty(_)&&(m[_]=I),I&&m[_]<I&&(m[_]=I),b&&!m.hasOwnProperty(L)&&(m[L]=3*b),b&&m[L]<k&&(m[L]=k)}};var yd=function(v,m){var p,b=im(m[0].replace("#EXT-X-",""));QE(m[1])?(p={},p=Object.assign(XE(m[1]),p)):p=bd(m[1]),v[b]=p},im=function(v){return v.toLowerCase().replace(/-(\w)/g,function(m){return m[1].toUpperCase()})},bd=function(v){if(v.toLowerCase()==="yes"||v.toLowerCase()==="no")return v.toLowerCase()==="yes";var m=v.indexOf(":")!==-1?v:parseFloat(v);return isNaN(m)?v:m},zE=function(v){var m={},p=v.split("=");return p.length>1&&(m[im(p[0])]=bd(p[1])),m},XE=function(v){for(var m=v.split(","),p={},b=0;m.length>b;b++){var _=m[b],L=zE(_);p=Object.assign(L,p)}return p},QE=function(v){return v.indexOf("=")>-1},ZE=function(v,m){return m===-1?[v]:[v.substring(0,m),v.substring(m+1)]},JE=function(v){var m={};if(v){var p=v.search(",");return[v.slice(0,p),v.slice(p+1)].forEach(function(b,_){for(var L=b.replace(/['"]+/g,"").split("="),I=0;I<L.length;I++)L[I]==="DATA-ID"&&(m["DATA-ID"]=L[1-I]),L[I]==="VALUE"&&(m.VALUE=L[1-I])}),{data:m}}},ey=xa,ty={safeCall:function(v,m,p,b){var _=b;if(v&&typeof v[m]=="function")try{_=v[m].apply(v,p)}catch(L){S.info("safeCall error",L)}return _},safeIncrement:O,getComputedStyle:function(v,m){var p;if(v&&m&&d()&&typeof d().getComputedStyle=="function")return ps&&ps.has(v)&&(p=ps.get(v)),p||(p=d().getComputedStyle(v,null),ps&&ps.set(v,p)),p.getPropertyValue(m)},secondsToMs:function(v){return Math.floor(1e3*v)},assign:Object.assign,headersStringToObject:P,cdnHeadersToRequestId:X,extractHostnameAndDomain:D,extractHostname:N,manifestParser:ey,generateShortID:u,generateUUID:c,now:x.now},iy={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"};function ry(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var L,I,k=[],F=!0,C=!1;try{for(_=_.call(p);!(F=(L=_.next()).done)&&(k.push(L.value),!b||k.length!==b);F=!0);}catch(K){C=!0,I=K}finally{try{F||_.return==null||_.return()}finally{if(C)throw I}}return k}}(v,m)||function(p,b){if(p){if(typeof p=="string")return rm(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?rm(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
19
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function rm(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}var ti={},cn=function v(m){var p=arguments;typeof m=="string"?v.hasOwnProperty(m)?d().setTimeout(function(){p=Array.prototype.splice.call(p,1),v[m].apply(null,p)},0):S.warn("`"+m+"` is an unknown task"):typeof m=="function"?d().setTimeout(function(){m(v)},0):S.warn("`"+m+"` is invalid.")},sy={loaded:x.now(),NAME:"mux-embed",VERSION:"4.24.0",API_VERSION:"2.1",PLAYER_TRACKED:!1,monitor:function(v,m){return function(p,b,_){var L=em(f(b),3),I=L[0],k=L[1],F=L[2],C=p.log,K=p.utils.getComputedStyle,ve=p.utils.secondsToMs;if(!I)return C.error("No element was found with the `"+k+"` query selector.");if(F!=="video"&&F!=="audio")return C.error("The element of `"+k+"` was not a media element.");I.mux&&(I.mux.destroy(),delete I.mux,C.warn("Already monitoring this video element, replacing existing event listeners")),(_=Object.assign({automaticErrorTracking:!0},_)).data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:p.VERSION},_.data),_.getPlayheadTime=function(){return ve(I.currentTime)},_.getStateData=function(){var he,oe,me=this.hlsjs&&this.hlsjs.url,Me=this.dashjs&&Ed(this.dashjs.getSource==="function")&&this.dashjs.getSource(),St={player_is_paused:I.paused,player_playhead_time:ve(I.currentTime),player_width:parseInt(K(I,"width")),player_height:parseInt(K(I,"height")),player_autoplay_on:I.autoplay,player_preload_on:I.preload,player_language_code:I.lang,player_is_fullscreen:dn()&&!!(dn().fullscreenElement||dn().webkitFullscreenElement||dn().mozFullScreenElement||dn().msFullscreenElement),video_poster_url:I.poster,video_source_url:me||Me||I.currentSrc,video_source_duration:ve(I.duration),video_source_height:I.videoHeight,video_source_width:I.videoWidth,view_dropped_frame_count:(he=I)===null||he===void 0||(oe=he.getVideoPlaybackQuality)===null||oe===void 0?void 0:oe.call(he).droppedVideoFrames},xt=_.getPlayheadTime();if(I.getStartDate&&xt>0){var $t=I.getStartDate();if($t&&typeof $t.getTime=="function"&&$t.getTime()){var ii=$t.getTime();if(St.player_program_time=ii+xt,I.seekable.length>0){var Ce=ii+I.seekable.end(I.seekable.length-1);St.player_live_edge_program_time=Ce}}}return St},I.mux=I.mux||{},I.mux.deleted=!1,I.mux.emit=function(he,oe){p.emit(k,he,oe)};var de=function(){C.error("The monitor for this video element has already been destroyed.")};I.mux.destroy=function(){Object.keys(I.mux.listeners).forEach(function(he){I.removeEventListener(he,I.mux.listeners[he],!1)}),delete I.mux.listeners,I.mux.destroy=de,I.mux.swapElement=de,I.mux.emit=de,I.mux.addHLSJS=de,I.mux.addDashJS=de,I.mux.removeHLSJS=de,I.mux.removeDashJS=de,I.mux.deleted=!0,p.emit(k,"destroy")},I.mux.swapElement=function(he){var oe=em(f(he),3),me=oe[0],Me=oe[1],St=oe[2];return me?St!=="video"&&St!=="audio"?p.log.error("The element of `"+Me+"` was not a media element."):(me.muxId=I.muxId,delete I.muxId,me.mux=me.mux||{},me.mux.listeners=Object.assign({},I.mux.listeners),delete I.mux.listeners,Object.keys(me.mux.listeners).forEach(function(xt){I.removeEventListener(xt,me.mux.listeners[xt],!1),me.addEventListener(xt,me.mux.listeners[xt],!1)}),me.mux.swapElement=I.mux.swapElement,me.mux.destroy=I.mux.destroy,delete I.mux,void(I=me)):p.log.error("No element was found with the `"+Me+"` query selector.")},I.mux.addHLSJS=function(he){p.addHLSJS(k,he)},I.mux.addDashJS=function(he){p.addDashJS(k,he)},I.mux.removeHLSJS=function(){p.removeHLSJS(k)},I.mux.removeDashJS=function(){p.removeDashJS(k)},p.init(k,_),p.emit(k,"playerready"),I.paused||(p.emit(k,"play"),I.readyState>2&&p.emit(k,"playing")),I.mux.listeners={},$E.forEach(function(he){(he!=="error"||_.automaticErrorTracking)&&(I.mux.listeners[he]=function(){var oe={};if(he==="error"){if(!I.error||I.error.code===1)return;oe.player_error_code=I.error.code,oe.player_error_message=GE[I.error.code]||I.error.message}p.emit(k,he,oe)},I.addEventListener(he,I.mux.listeners[he],!1))})}(cn,v,m)},destroyMonitor:function(v){var m=ry(f(v),1)[0];m&&m.mux&&typeof m.mux.destroy=="function"?m.mux.destroy():S.error("A video element monitor for `"+v+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(v,m){var p=h(v);ti[p]?ti[p].addHLSJS(m):S.error("A monitor for `"+p+"` has not been initialized.")},addDashJS:function(v,m){var p=h(v);ti[p]?ti[p].addDashJS(m):S.error("A monitor for `"+p+"` has not been initialized.")},removeHLSJS:function(v){var m=h(v);ti[m]?ti[m].removeHLSJS():S.error("A monitor for `"+m+"` has not been initialized.")},removeDashJS:function(v){var m=h(v);ti[m]?ti[m].removeDashJS():S.error("A monitor for `"+m+"` has not been initialized.")},init:function(v,m){R()&&m&&m.respectDoNotTrack&&S.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var p=h(v);ti[p]=new FE(cn,p,m)},emit:function(v,m,p){var b=h(v);ti[b]?(ti[b].emit(m,p),m==="destroy"&&delete ti[b]):S.error("A monitor for `"+b+"` has not been initialized.")},checkDoNotTrack:R,log:S,utils:ty,events:iy,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(cn,sy),d()!==void 0&&typeof d().addEventListener=="function"&&d().addEventListener("pagehide",function(v){v.persisted||(cn.WINDOW_UNLOADING=!0)},!1);var ny=cn},655:function(n,a,o){var l,d;function c(u){return c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(h){return typeof h}:function(h){return h&&typeof Symbol=="function"&&h.constructor===Symbol&&h!==Symbol.prototype?"symbol":typeof h},c(u);}(function(u){var h=!1;if((d=typeof(l=u)=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d),h=!0,c(a)==="object"&&(n.exports=u(),h=!0),!h){var f=window.Cookies,g=window.Cookies=u();g.noConflict=function(){return window.Cookies=f,g}}})(function(){var u=function(){for(var h=0,f={};h<arguments.length;h++){var g=arguments[h];for(var E in g)f[E]=g[E]}return f};return function h(f){function g(E,T,S){var R;if(typeof document!="undefined"){if(arguments.length>1){if(typeof(S=u({path:"/"},g.defaults,S)).expires=="number"){var x=new Date;x.setMilliseconds(x.getMilliseconds()+864e5*S.expires),S.expires=x}try{R=JSON.stringify(T),/^[\{\[]/.test(R)&&(T=R)}catch{}return T=f.write?f.write(T,E):encodeURIComponent(String(T)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),E=(E=(E=encodeURIComponent(String(E))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape),document.cookie=[E,"=",T,S.expires?"; expires="+S.expires.toUTCString():"",S.path?"; path="+S.path:"",S.domain?"; domain="+S.domain:"",S.secure?"; secure":""].join("")}E||(R={});for(var N=document.cookie?document.cookie.split("; "):[],D=/(%[0-9A-Z]{2})+/g,$=0;$<N.length;$++){var O=N[$].split("="),H=O.slice(1).join("=");H.charAt(0)==='"'&&(H=H.slice(1,-1));try{var q=O[0].replace(D,decodeURIComponent);if(H=f.read?f.read(H,q):f(H,q)||H.replace(D,decodeURIComponent),this.json)try{H=JSON.parse(H)}catch{}if(E===q){R=H;break}E||(R[q]=H)}catch{}}return R}}return g.set=g,g.get=function(E){return g.call(g,E)},g.getJSON=function(){return g.apply({json:!0},[].slice.call(arguments))},g.defaults={},g.remove=function(E,T){g(E,"",u(T,{expires:-1}))},g.withConverter=h,g}(function(){})})},153:function(n,a,o){var l,d=o.g!==void 0?o.g:typeof window!="undefined"?window:{},c=o(558);typeof document!="undefined"?l=document:(l=d["__GLOBAL_DOCUMENT_CACHE@4"])||(l=d["__GLOBAL_DOCUMENT_CACHE@4"]=c),n.exports=l},48:function(n,a,o){var l;l=typeof window!="undefined"?window:o.g!==void 0?o.g:typeof self!="undefined"?self:{},n.exports=l},640:function(n,a,o){var l,d;(function(c,u){"use strict";l=function(){var h=function(){},f="undefined",g=typeof window!==f&&typeof window.navigator!==f&&/Trident\/|MSIE /.test(window.navigator.userAgent),E=["trace","debug","info","warn","error"];function T(P,X){var z=P[X];if(typeof z.bind=="function")return z.bind(P);try{return Function.prototype.bind.call(z,P)}catch{return function(){return Function.prototype.apply.apply(z,[P,arguments])}}}function S(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function R(P){return P==="debug"&&(P="log"),typeof console!==f&&(P==="trace"&&g?S:console[P]!==void 0?T(console,P):console.log!==void 0?T(console,"log"):h)}function x(P,X){for(var z=0;z<E.length;z++){var Ae=E[z];this[Ae]=z<P?h:this.methodFactory(Ae,P,X)}this.log=this.debug}function N(P,X,z){return function(){typeof console!==f&&(x.call(this,X,z),this[P].apply(this,arguments))}}function D(P,X,z){return R(P)||N.apply(this,arguments)}function $(P,X,z){var Ae,Ee=this;X=X==null?"WARN":X;var ye="loglevel";function we(ne){var xe=(E[ne]||"silent").toUpperCase();if(typeof window!==f&&ye){try{return void(window.localStorage[ye]=xe)}catch{}try{window.document.cookie=encodeURIComponent(ye)+"="+xe+";"}catch{}}}function Se(){var ne;if(typeof window!==f&&ye){try{ne=window.localStorage[ye]}catch{}if(typeof ne===f)try{var xe=window.document.cookie,Ie=xe.indexOf(encodeURIComponent(ye)+"=");Ie!==-1&&(ne=/^([^;]+)/.exec(xe.slice(Ie))[1])}catch{}return Ee.levels[ne]===void 0&&(ne=void 0),ne}}function Z(){if(typeof window!==f&&ye){try{return void window.localStorage.removeItem(ye)}catch{}try{window.document.cookie=encodeURIComponent(ye)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}typeof P=="string"?ye+=":"+P:typeof P=="symbol"&&(ye=void 0),Ee.name=P,Ee.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},Ee.methodFactory=z||D,Ee.getLevel=function(){return Ae},Ee.setLevel=function(ne,xe){if(typeof ne=="string"&&Ee.levels[ne.toUpperCase()]!==void 0&&(ne=Ee.levels[ne.toUpperCase()]),!(typeof ne=="number"&&ne>=0&&ne<=Ee.levels.SILENT))throw"log.setLevel() called with invalid level: "+ne;if(Ae=ne,xe!==!1&&we(ne),x.call(Ee,ne,P),typeof console===f&&ne<Ee.levels.SILENT)return"No console available for logging"},Ee.setDefaultLevel=function(ne){X=ne,Se()||Ee.setLevel(ne,!1)},Ee.resetLevel=function(){Ee.setLevel(X,!1),Z()},Ee.enableAll=function(ne){Ee.setLevel(Ee.levels.TRACE,ne)},Ee.disableAll=function(ne){Ee.setLevel(Ee.levels.SILENT,ne)};var ae=Se();ae==null&&(ae=X),Ee.setLevel(ae,!1)}var O=new $,H={};O.getLogger=function(P){if(typeof P!="symbol"&&typeof P!="string"||P==="")throw new TypeError("You must supply a name when creating a logger.");var X=H[P];return X||(X=H[P]=new $(P,O.getLevel(),O.methodFactory)),X};var q=typeof window!==f?window.log:void 0;return O.noConflict=function(){return typeof window!==f&&window.log===O&&(window.log=q),O},O.getLoggers=function(){return H},O.default=O,O},(d=typeof l=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d)})()},375:function(n,a){"use strict";var o=Object.prototype.hasOwnProperty;function l(c){try{return decodeURIComponent(c.replace(/\+/g," "))}catch{return null}}function d(c){try{return encodeURIComponent(c)}catch{return null}}a.stringify=function(c,u){u=u||"";var h,f,g=[];for(f in typeof u!="string"&&(u="?"),c)if(o.call(c,f)){if((h=c[f])||h!=null&&!isNaN(h)||(h=""),f=d(f),h=d(h),f===null||h===null)continue;g.push(f+"="+h)}return g.length?u+g.join("&"):""},a.parse=function(c){for(var u,h=/([^=?#&]+)=?([^&]*)/g,f={};u=h.exec(c);){var g=l(u[1]),E=l(u[2]);g===null||E===null||g in f||(f[g]=E)}return f}},558:function(){}},i={};function s(n){var a=i[n];if(a!==void 0)return a.exports;var o=i[n]={exports:{}};return t[n].call(o.exports,o,o.exports,s),o.exports}return s.n=function(n){var a=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(a,{a}),a},s.d=function(n,a){for(var o in a)s.o(a,o)&&!s.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:a[o]})},s.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),s.o=function(n,a){return Object.prototype.hasOwnProperty.call(n,a)},s(80)}()},typeof Zo=="object"&&typeof Jc=="object"?Jc.exports=e():typeof Zo=="object"?Zo.mux=e():r.mux=e()})()});var gs=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class r extends gs{}globalThis.DocumentFragment=r}var fn=class extends gs{},_d=class extends gs{},vy={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(fn)}},mn,Ad=class{constructor(e,t={}){ht(this,mn,void 0);ri(this,mn,t==null?void 0:t.detail)}get detail(){return Ne(this,mn)}initCustomEvent(){}};mn=new WeakMap;function Ey(r,e){return new fn}var nm={document:{createElement:Ey},DocumentFragment,customElements:vy,CustomEvent:Ad,EventTarget:gs,HTMLElement:fn,HTMLVideoElement:_d},am=typeof window=="undefined"||typeof globalThis.customElements=="undefined",at=am?nm:globalThis,Qt=am?nm.document:globalThis.document;var se={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},_e={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},wr={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_PAUSED:"mediaPaused",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_ENDED:"mediaEnded",MEDIA_MUTED:"mediaMuted",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_IS_PIP:"mediaIsPip",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_LOADING:"mediaLoading",MEDIA_BUFFERED:"mediaBuffered",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled"},om=Object.entries(wr),A=om.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{}),vs=om.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange"}),xx=Object.entries(vs).reduce((r,[e,t])=>{let i=A[e];return i&&(r[t]=i),r},{userinactivechange:"userinactive"}),lm=Object.entries(A).reduce((r,[e,t])=>{let i=vs[e];return i&&(r[t]=i),r},{userinactive:"userinactivechange"}),Es={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},Ia={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var Sd={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Zt={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},ui={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var Dt={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:r=1}={})=>`current playback rate ${r}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading"},Xe={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",AIRPLAY:()=>"air play",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:r=30}={})=>`seek forward ${r} seconds`,SEEK_BACK_N_SECS:({seekOffset:r=30}={})=>`seek back ${r} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},by={...Dt,...Xe};function dm(r){return r==null?void 0:r.map(Ty).join(" ")}function cm(r){return r==null?void 0:r.split(/\s+/).map(_y)}function Ty(r){if(r){let{id:e,width:t,height:i}=r;return[e,t,i].filter(s=>s!=null).join(":")}}function _y(r){if(r){let[e,t,i]=r.split(":");return{id:e,width:t,height:i}}}function um(r){return r==null?void 0:r.map(Ay).join(" ")}function hm(r){return r==null?void 0:r.split(/\s+/).map(Sy)}function Ay(r){if(r){let{id:e,kind:t,language:i,label:s}=r;return[e,t,i,s].filter(n=>n!=null).join(":")}}function Sy(r){if(r){let[e,t,i,s]=r.split(":");return{id:e,kind:t,language:i,label:s}}}function La(r,e=!1){return r.split("_").map(function(t,i){return(i||e?t[0].toUpperCase():t[0].toLowerCase())+t.slice(1).toLowerCase()}).join("")}function fm(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function mm(r){return typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r)}function Ra(r){return typeof r!="string"?!1:!isNaN(r)&&!isNaN(parseFloat(r))}var ka=r=>new Promise(e=>setTimeout(e,r));var pm=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],xy=(r,e)=>{let t=r===1?pm[e].singular:pm[e].plural;return`${r} ${t}`},Dr=r=>{if(!mm(r))return"";let e=Math.abs(r),t=e!==r,i=new Date(0,0,0,0,0,e,0);return`${[i.getHours(),i.getMinutes(),i.getSeconds()].map((o,l)=>o&&xy(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function Si(r,e){let t=!1;r<0&&(t=!0,r=0-r),r=r<0?0:r;let i=Math.floor(r%60),s=Math.floor(r/60%60),n=Math.floor(r/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(r)||r===1/0)&&(n=s=i="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",i=i<10?"0"+i:i,(t?"-":"")+n+s+i}var kx=Object.freeze({length:0,start(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var wa=(r,e,t=".value")=>{let i=r.querySelector(t);!i||(i.textContent=e)},Ly=(r,e)=>{let t=`slot[name="${e}"]`,i=r.shadowRoot.querySelector(t);return i?i.children:[]},Da=(r,e)=>Ly(r,e)[0],pn=(r,e)=>!r||!e?!1:r.contains(e)?!0:pn(r,e.getRootNode().host),Cr=(r,e)=>{if(!r)return null;let t=r.closest(e);return t||Cr(r.getRootNode().host,e)};function Qe(r,e){var t;let i;for(i of r.querySelectorAll("style")){let s;try{s=(t=i.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(n.selectorText===e)return n}return i!=null&&i.sheet?(i.sheet.insertRule(`${e}{}`,i.sheet.cssRules.length),i.sheet.cssRules[i.sheet.cssRules.length-1]):{style:{setProperty:()=>{},removeProperty:()=>{}}}}function Fe(r,e,t=Number.NaN){let i=r.getAttribute(e);return i!=null?+i:t}function ze(r,e,t){let i=+t;if(t==null||Number.isNaN(i)){r.hasAttribute(e)&&r.removeAttribute(e);return}Fe(r,e,void 0)!==i&&r.setAttribute(e,`${i}`)}function Ye(r,e){return r.hasAttribute(e)}function Ke(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}Ye(r,e)!=t&&r.toggleAttribute(e,t)}function We(r,e,t=null){var i;return(i=r.getAttribute(e))!=null?i:t}function Be(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}let i=`${t}`;We(r,e,void 0)!==i&&r.setAttribute(e,i)}var Ca=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},xd=class{observe(){}},gm={createElement:function(){return new Id.HTMLElement},addEventListener(){},removeEventListener(){}},Id={ResizeObserver:xd,document:gm,HTMLElement:class extends Ca{},DocumentFragment:class extends Ca{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},CustomEvent:function(){},getComputedStyle:function(){}},vm=typeof window=="undefined"||typeof window.customElements=="undefined",Em=Object.keys(Id).every(r=>r in globalThis),w=vm&&!Em?Id:globalThis,Y=vm&&!Em?gm:globalThis.document;var Ry=Object.defineProperty,ky=(r,e,t)=>e in r?Ry(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,wy=(r,e,t)=>(ky(r,typeof e!="symbol"?e+"":e,t),t),ym=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},si=(r,e,t)=>(ym(r,e,"read from private field"),t?t.call(r):e.get(r)),Ma=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Oa=(r,e,t,i)=>(ym(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),xi,Pa,ys,Na,bm=Y.createElement("template");bm.innerHTML=`
18
+ `))this.processLine(this.buffer.substring(0,m)),this.buffer=this.buffer.substring(m+1)},Ia.prototype.processLine=function(v){var m=v.indexOf(":"),p=JE(v,m),b=p[0],_=p.length===2?Td(p[1]):void 0;if(b[0]!=="#")this.currentUri.uri=b,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(b){case VE:if(!isFinite(_)||_<0)return;this.manifest.targetDuration=_,this.setHoldBack();break;case KE:bd(this.manifest,p),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break;case WE:bd(this.manifest,p),this.setHoldBack();break;case qE:_===0?this.currentUri.duration=.01:_>0&&(this.currentUri.duration=_);break;case YE:var I=_,x=new Date(I);this.manifest.dateTimeString||(this.manifest.dateTimeString=I,this.manifest.dateTimeObject=x),this.currentUri.dateTimeString=I,this.currentUri.dateTimeObject=x;break;case jE:bd(this.manifest,p);break;case zE:var R=ey(p[1]),U=z(R);Object.assign(this.manifest.sessionData,U)}},Ia.prototype.setHoldBack=function(){var v=this.manifest,m=v.serverControl,p=v.targetDuration,b=v.partTargetDuration;if(m){var _="holdBack",I="partHoldBack",x=p&&3*p,R=b&&2*b;p&&!m.hasOwnProperty(_)&&(m[_]=x),x&&m[_]<x&&(m[_]=x),b&&!m.hasOwnProperty(I)&&(m[I]=3*b),b&&m[I]<R&&(m[I]=R)}};var bd=function(v,m){var p,b=im(m[0].replace("#EXT-X-",""));ZE(m[1])?(p={},p=Object.assign(QE(m[1]),p)):p=Td(m[1]),v[b]=p},im=function(v){return v.toLowerCase().replace(/-(\w)/g,function(m){return m[1].toUpperCase()})},Td=function(v){if(v.toLowerCase()==="yes"||v.toLowerCase()==="no")return v.toLowerCase()==="yes";var m=v.indexOf(":")!==-1?v:parseFloat(v);return isNaN(m)?v:m},XE=function(v){var m={},p=v.split("=");return p.length>1&&(m[im(p[0])]=Td(p[1])),m},QE=function(v){for(var m=v.split(","),p={},b=0;m.length>b;b++){var _=m[b],I=XE(_);p=Object.assign(I,p)}return p},ZE=function(v){return v.indexOf("=")>-1},JE=function(v,m){return m===-1?[v]:[v.substring(0,m),v.substring(m+1)]},ey=function(v){var m={};if(v){var p=v.search(",");return[v.slice(0,p),v.slice(p+1)].forEach(function(b,_){for(var I=b.replace(/['"]+/g,"").split("="),x=0;x<I.length;x++)I[x]==="DATA-ID"&&(m["DATA-ID"]=I[1-x]),I[x]==="VALUE"&&(m.VALUE=I[1-x])}),{data:m}}},ty=Ia,iy={safeCall:function(v,m,p,b){var _=b;if(v&&typeof v[m]=="function")try{_=v[m].apply(v,p)}catch(I){A.info("safeCall error",I)}return _},safeIncrement:O,getComputedStyle:function(v,m){var p;if(v&&m&&d()&&typeof d().getComputedStyle=="function")return ps&&ps.has(v)&&(p=ps.get(v)),p||(p=d().getComputedStyle(v,null),ps&&ps.set(v,p)),p.getPropertyValue(m)},secondsToMs:function(v){return Math.floor(1e3*v)},assign:Object.assign,headersStringToObject:P,cdnHeadersToRequestId:X,extractHostnameAndDomain:D,extractHostname:N,manifestParser:ty,generateShortID:u,generateUUID:c,now:L.now},ry={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"};function sy(v,m){return function(p){if(Array.isArray(p))return p}(v)||function(p,b){var _=p==null?null:typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(_!=null){var I,x,R=[],U=!0,C=!1;try{for(_=_.call(p);!(U=(I=_.next()).done)&&(R.push(I.value),!b||R.length!==b);U=!0);}catch(K){C=!0,x=K}finally{try{U||_.return==null||_.return()}finally{if(C)throw x}}return R}}(v,m)||function(p,b){if(p){if(typeof p=="string")return rm(p,b);var _=Object.prototype.toString.call(p).slice(8,-1);return _==="Object"&&p.constructor&&(_=p.constructor.name),_==="Map"||_==="Set"?Array.from(p):_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_)?rm(p,b):void 0}}(v,m)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
19
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function rm(v,m){(m==null||m>v.length)&&(m=v.length);for(var p=0,b=new Array(m);p<m;p++)b[p]=v[p];return b}var ti={},cn=function v(m){var p=arguments;typeof m=="string"?v.hasOwnProperty(m)?d().setTimeout(function(){p=Array.prototype.splice.call(p,1),v[m].apply(null,p)},0):A.warn("`"+m+"` is an unknown task"):typeof m=="function"?d().setTimeout(function(){m(v)},0):A.warn("`"+m+"` is invalid.")},ny={loaded:L.now(),NAME:"mux-embed",VERSION:"4.27.0",API_VERSION:"2.1",PLAYER_TRACKED:!1,monitor:function(v,m){return function(p,b,_){var I=em(f(b),3),x=I[0],R=I[1],U=I[2],C=p.log,K=p.utils.getComputedStyle,ve=p.utils.secondsToMs;if(!x)return C.error("No element was found with the `"+R+"` query selector.");if(U!=="video"&&U!=="audio")return C.error("The element of `"+R+"` was not a media element.");x.mux&&(x.mux.destroy(),delete x.mux,C.warn("Already monitoring this video element, replacing existing event listeners")),(_=Object.assign({automaticErrorTracking:!0},_)).data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:p.VERSION},_.data),_.getPlayheadTime=function(){return ve(x.currentTime)},_.getStateData=function(){var he,oe,me=this.hlsjs&&this.hlsjs.url,Me=this.dashjs&&yd(this.dashjs.getSource==="function")&&this.dashjs.getSource(),St={player_is_paused:x.paused,player_playhead_time:ve(x.currentTime),player_width:parseInt(K(x,"width")),player_height:parseInt(K(x,"height")),player_autoplay_on:x.autoplay,player_preload_on:x.preload,player_language_code:x.lang,player_is_fullscreen:dn()&&!!(dn().fullscreenElement||dn().webkitFullscreenElement||dn().mozFullScreenElement||dn().msFullscreenElement),video_poster_url:x.poster,video_source_url:me||Me||x.currentSrc,video_source_duration:ve(x.duration),video_source_height:x.videoHeight,video_source_width:x.videoWidth,view_dropped_frame_count:(he=x)===null||he===void 0||(oe=he.getVideoPlaybackQuality)===null||oe===void 0?void 0:oe.call(he).droppedVideoFrames},xt=_.getPlayheadTime();if(x.getStartDate&&xt>0){var $t=x.getStartDate();if($t&&typeof $t.getTime=="function"&&$t.getTime()){var ii=$t.getTime();if(St.player_program_time=ii+xt,x.seekable.length>0){var Ce=ii+x.seekable.end(x.seekable.length-1);St.player_live_edge_program_time=Ce}}}return St},x.mux=x.mux||{},x.mux.deleted=!1,x.mux.emit=function(he,oe){p.emit(R,he,oe)};var de=function(){C.error("The monitor for this video element has already been destroyed.")};x.mux.destroy=function(){Object.keys(x.mux.listeners).forEach(function(he){x.removeEventListener(he,x.mux.listeners[he],!1)}),delete x.mux.listeners,x.mux.destroy=de,x.mux.swapElement=de,x.mux.emit=de,x.mux.addHLSJS=de,x.mux.addDashJS=de,x.mux.removeHLSJS=de,x.mux.removeDashJS=de,x.mux.deleted=!0,p.emit(R,"destroy")},x.mux.swapElement=function(he){var oe=em(f(he),3),me=oe[0],Me=oe[1],St=oe[2];return me?St!=="video"&&St!=="audio"?p.log.error("The element of `"+Me+"` was not a media element."):(me.muxId=x.muxId,delete x.muxId,me.mux=me.mux||{},me.mux.listeners=Object.assign({},x.mux.listeners),delete x.mux.listeners,Object.keys(me.mux.listeners).forEach(function(xt){x.removeEventListener(xt,me.mux.listeners[xt],!1),me.addEventListener(xt,me.mux.listeners[xt],!1)}),me.mux.swapElement=x.mux.swapElement,me.mux.destroy=x.mux.destroy,delete x.mux,void(x=me)):p.log.error("No element was found with the `"+Me+"` query selector.")},x.mux.addHLSJS=function(he){p.addHLSJS(R,he)},x.mux.addDashJS=function(he){p.addDashJS(R,he)},x.mux.removeHLSJS=function(){p.removeHLSJS(R)},x.mux.removeDashJS=function(){p.removeDashJS(R)},p.init(R,_),p.emit(R,"playerready"),x.paused||(p.emit(R,"play"),x.readyState>2&&p.emit(R,"playing")),x.mux.listeners={},GE.forEach(function(he){(he!=="error"||_.automaticErrorTracking)&&(x.mux.listeners[he]=function(){var oe={};if(he==="error"){if(!x.error||x.error.code===1)return;oe.player_error_code=x.error.code,oe.player_error_message=HE[x.error.code]||x.error.message}p.emit(R,he,oe)},x.addEventListener(he,x.mux.listeners[he],!1))})}(cn,v,m)},destroyMonitor:function(v){var m=sy(f(v),1)[0];m&&m.mux&&typeof m.mux.destroy=="function"?m.mux.destroy():A.error("A video element monitor for `"+v+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(v,m){var p=h(v);ti[p]?ti[p].addHLSJS(m):A.error("A monitor for `"+p+"` has not been initialized.")},addDashJS:function(v,m){var p=h(v);ti[p]?ti[p].addDashJS(m):A.error("A monitor for `"+p+"` has not been initialized.")},removeHLSJS:function(v){var m=h(v);ti[m]?ti[m].removeHLSJS():A.error("A monitor for `"+m+"` has not been initialized.")},removeDashJS:function(v){var m=h(v);ti[m]?ti[m].removeDashJS():A.error("A monitor for `"+m+"` has not been initialized.")},init:function(v,m){k()&&m&&m.respectDoNotTrack&&A.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var p=h(v);ti[p]=new BE(cn,p,m)},emit:function(v,m,p){var b=h(v);ti[b]?(ti[b].emit(m,p),m==="destroy"&&delete ti[b]):A.error("A monitor for `"+b+"` has not been initialized.")},checkDoNotTrack:k,log:A,utils:iy,events:ry,WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(cn,ny),d()!==void 0&&typeof d().addEventListener=="function"&&d().addEventListener("pagehide",function(v){v.persisted||(cn.WINDOW_UNLOADING=!0)},!1);var ay=cn},655:function(n,a,o){var l,d;function c(u){return c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(h){return typeof h}:function(h){return h&&typeof Symbol=="function"&&h.constructor===Symbol&&h!==Symbol.prototype?"symbol":typeof h},c(u);}(function(u){var h=!1;if((d=typeof(l=u)=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d),h=!0,c(a)==="object"&&(n.exports=u(),h=!0),!h){var f=window.Cookies,g=window.Cookies=u();g.noConflict=function(){return window.Cookies=f,g}}})(function(){var u=function(){for(var h=0,f={};h<arguments.length;h++){var g=arguments[h];for(var E in g)f[E]=g[E]}return f};return function h(f){function g(E,T,A){var k;if(typeof document!="undefined"){if(arguments.length>1){if(typeof(A=u({path:"/"},g.defaults,A)).expires=="number"){var L=new Date;L.setMilliseconds(L.getMilliseconds()+864e5*A.expires),A.expires=L}try{k=JSON.stringify(T),/^[\{\[]/.test(k)&&(T=k)}catch{}return T=f.write?f.write(T,E):encodeURIComponent(String(T)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),E=(E=(E=encodeURIComponent(String(E))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape),document.cookie=[E,"=",T,A.expires?"; expires="+A.expires.toUTCString():"",A.path?"; path="+A.path:"",A.domain?"; domain="+A.domain:"",A.secure?"; secure":""].join("")}E||(k={});for(var N=document.cookie?document.cookie.split("; "):[],D=/(%[0-9A-Z]{2})+/g,$=0;$<N.length;$++){var O=N[$].split("="),G=O.slice(1).join("=");G.charAt(0)==='"'&&(G=G.slice(1,-1));try{var q=O[0].replace(D,decodeURIComponent);if(G=f.read?f.read(G,q):f(G,q)||G.replace(D,decodeURIComponent),this.json)try{G=JSON.parse(G)}catch{}if(E===q){k=G;break}E||(k[q]=G)}catch{}}return k}}return g.set=g,g.get=function(E){return g.call(g,E)},g.getJSON=function(){return g.apply({json:!0},[].slice.call(arguments))},g.defaults={},g.remove=function(E,T){g(E,"",u(T,{expires:-1}))},g.withConverter=h,g}(function(){})})},153:function(n,a,o){var l,d=o.g!==void 0?o.g:typeof window!="undefined"?window:{},c=o(558);typeof document!="undefined"?l=document:(l=d["__GLOBAL_DOCUMENT_CACHE@4"])||(l=d["__GLOBAL_DOCUMENT_CACHE@4"]=c),n.exports=l},48:function(n,a,o){var l;l=typeof window!="undefined"?window:o.g!==void 0?o.g:typeof self!="undefined"?self:{},n.exports=l},640:function(n,a,o){var l,d;(function(c,u){"use strict";l=function(){var h=function(){},f="undefined",g=typeof window!==f&&typeof window.navigator!==f&&/Trident\/|MSIE /.test(window.navigator.userAgent),E=["trace","debug","info","warn","error"];function T(P,X){var z=P[X];if(typeof z.bind=="function")return z.bind(P);try{return Function.prototype.bind.call(z,P)}catch{return function(){return Function.prototype.apply.apply(z,[P,arguments])}}}function A(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function k(P){return P==="debug"&&(P="log"),typeof console!==f&&(P==="trace"&&g?A:console[P]!==void 0?T(console,P):console.log!==void 0?T(console,"log"):h)}function L(P,X){for(var z=0;z<E.length;z++){var Ae=E[z];this[Ae]=z<P?h:this.methodFactory(Ae,P,X)}this.log=this.debug}function N(P,X,z){return function(){typeof console!==f&&(L.call(this,X,z),this[P].apply(this,arguments))}}function D(P,X,z){return k(P)||N.apply(this,arguments)}function $(P,X,z){var Ae,Ee=this;X=X==null?"WARN":X;var ye="loglevel";function we(ne){var xe=(E[ne]||"silent").toUpperCase();if(typeof window!==f&&ye){try{return void(window.localStorage[ye]=xe)}catch{}try{window.document.cookie=encodeURIComponent(ye)+"="+xe+";"}catch{}}}function Se(){var ne;if(typeof window!==f&&ye){try{ne=window.localStorage[ye]}catch{}if(typeof ne===f)try{var xe=window.document.cookie,Ie=xe.indexOf(encodeURIComponent(ye)+"=");Ie!==-1&&(ne=/^([^;]+)/.exec(xe.slice(Ie))[1])}catch{}return Ee.levels[ne]===void 0&&(ne=void 0),ne}}function Z(){if(typeof window!==f&&ye){try{return void window.localStorage.removeItem(ye)}catch{}try{window.document.cookie=encodeURIComponent(ye)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}typeof P=="string"?ye+=":"+P:typeof P=="symbol"&&(ye=void 0),Ee.name=P,Ee.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},Ee.methodFactory=z||D,Ee.getLevel=function(){return Ae},Ee.setLevel=function(ne,xe){if(typeof ne=="string"&&Ee.levels[ne.toUpperCase()]!==void 0&&(ne=Ee.levels[ne.toUpperCase()]),!(typeof ne=="number"&&ne>=0&&ne<=Ee.levels.SILENT))throw"log.setLevel() called with invalid level: "+ne;if(Ae=ne,xe!==!1&&we(ne),L.call(Ee,ne,P),typeof console===f&&ne<Ee.levels.SILENT)return"No console available for logging"},Ee.setDefaultLevel=function(ne){X=ne,Se()||Ee.setLevel(ne,!1)},Ee.resetLevel=function(){Ee.setLevel(X,!1),Z()},Ee.enableAll=function(ne){Ee.setLevel(Ee.levels.TRACE,ne)},Ee.disableAll=function(ne){Ee.setLevel(Ee.levels.SILENT,ne)};var ae=Se();ae==null&&(ae=X),Ee.setLevel(ae,!1)}var O=new $,G={};O.getLogger=function(P){if(typeof P!="symbol"&&typeof P!="string"||P==="")throw new TypeError("You must supply a name when creating a logger.");var X=G[P];return X||(X=G[P]=new $(P,O.getLevel(),O.methodFactory)),X};var q=typeof window!==f?window.log:void 0;return O.noConflict=function(){return typeof window!==f&&window.log===O&&(window.log=q),O},O.getLoggers=function(){return G},O.default=O,O},(d=typeof l=="function"?l.call(a,o,a,n):l)===void 0||(n.exports=d)})()},375:function(n,a){"use strict";var o=Object.prototype.hasOwnProperty;function l(c){try{return decodeURIComponent(c.replace(/\+/g," "))}catch{return null}}function d(c){try{return encodeURIComponent(c)}catch{return null}}a.stringify=function(c,u){u=u||"";var h,f,g=[];for(f in typeof u!="string"&&(u="?"),c)if(o.call(c,f)){if((h=c[f])||h!=null&&!isNaN(h)||(h=""),f=d(f),h=d(h),f===null||h===null)continue;g.push(f+"="+h)}return g.length?u+g.join("&"):""},a.parse=function(c){for(var u,h=/([^=?#&]+)=?([^&]*)/g,f={};u=h.exec(c);){var g=l(u[1]),E=l(u[2]);g===null||E===null||g in f||(f[g]=E)}return f}},558:function(){}},i={};function s(n){var a=i[n];if(a!==void 0)return a.exports;var o=i[n]={exports:{}};return t[n].call(o.exports,o,o.exports,s),o.exports}return s.n=function(n){var a=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(a,{a}),a},s.d=function(n,a){for(var o in a)s.o(a,o)&&!s.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:a[o]})},s.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),s.o=function(n,a){return Object.prototype.hasOwnProperty.call(n,a)},s(80)}()},typeof Jo=="object"&&typeof eu=="object"?eu.exports=e():typeof Jo=="object"?Jo.mux=e():r.mux=e()})()});var gs=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};if(typeof DocumentFragment=="undefined"){class r extends gs{}globalThis.DocumentFragment=r}var fn=class extends gs{},Ad=class extends gs{},Ey={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(fn)}},mn,Sd=class{constructor(e,t={}){ht(this,mn,void 0);ri(this,mn,t==null?void 0:t.detail)}get detail(){return Ne(this,mn)}initCustomEvent(){}};mn=new WeakMap;function yy(r,e){return new fn}var nm={document:{createElement:yy},DocumentFragment,customElements:Ey,CustomEvent:Sd,EventTarget:gs,HTMLElement:fn,HTMLVideoElement:Ad},am=typeof window=="undefined"||typeof globalThis.customElements=="undefined",at=am?nm:globalThis,Qt=am?nm.document:globalThis.document;var se={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},_e={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},wr={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_PAUSED:"mediaPaused",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_ENDED:"mediaEnded",MEDIA_MUTED:"mediaMuted",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_IS_PIP:"mediaIsPip",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_LOADING:"mediaLoading",MEDIA_BUFFERED:"mediaBuffered",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled"},om=Object.entries(wr),S=om.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{}),vs=om.reduce((r,[e,t])=>(r[e]=`${t.toLowerCase()}`,r),{USER_INACTIVE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange"}),Ix=Object.entries(vs).reduce((r,[e,t])=>{let i=S[e];return i&&(r[t]=i),r},{userinactivechange:"userinactive"}),lm=Object.entries(S).reduce((r,[e,t])=>{let i=vs[e];return i&&(r[t]=i),r},{userinactive:"userinactivechange"}),Es={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},La={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var xd={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Zt={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},hi={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var Dt={AUDIO_PLAYER:()=>"audio player",VIDEO_PLAYER:()=>"video player",VOLUME:()=>"volume",SEEK:()=>"seek",CLOSED_CAPTIONS:()=>"closed captions",PLAYBACK_RATE:({playbackRate:r=1}={})=>`current playback rate ${r}`,PLAYBACK_TIME:()=>"playback time",MEDIA_LOADING:()=>"media loading"},Xe={PLAY:()=>"play",PAUSE:()=>"pause",MUTE:()=>"mute",UNMUTE:()=>"unmute",AIRPLAY:()=>"air play",ENTER_CAST:()=>"start casting",EXIT_CAST:()=>"stop casting",ENTER_FULLSCREEN:()=>"enter fullscreen mode",EXIT_FULLSCREEN:()=>"exit fullscreen mode",ENTER_PIP:()=>"enter picture in picture mode",EXIT_PIP:()=>"exit picture in picture mode",SEEK_FORWARD_N_SECS:({seekOffset:r=30}={})=>`seek forward ${r} seconds`,SEEK_BACK_N_SECS:({seekOffset:r=30}={})=>`seek back ${r} seconds`,SEEK_LIVE:()=>"seek to live",PLAYING_LIVE:()=>"playing live"},Ty={...Dt,...Xe};function dm(r){return r==null?void 0:r.map(_y).join(" ")}function cm(r){return r==null?void 0:r.split(/\s+/).map(Ay)}function _y(r){if(r){let{id:e,width:t,height:i}=r;return[e,t,i].filter(s=>s!=null).join(":")}}function Ay(r){if(r){let[e,t,i]=r.split(":");return{id:e,width:t,height:i}}}function um(r){return r==null?void 0:r.map(Sy).join(" ")}function hm(r){return r==null?void 0:r.split(/\s+/).map(xy)}function Sy(r){if(r){let{id:e,kind:t,language:i,label:s}=r;return[e,t,i,s].filter(n=>n!=null).join(":")}}function xy(r){if(r){let[e,t,i,s]=r.split(":");return{id:e,kind:t,language:i,label:s}}}function ka(r,e=!1){return r.split("_").map(function(t,i){return(i||e?t[0].toUpperCase():t[0].toLowerCase())+t.slice(1).toLowerCase()}).join("")}function fm(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function mm(r){return typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r)}function Ra(r){return typeof r!="string"?!1:!isNaN(r)&&!isNaN(parseFloat(r))}var wa=r=>new Promise(e=>setTimeout(e,r));var pm=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],Iy=(r,e)=>{let t=r===1?pm[e].singular:pm[e].plural;return`${r} ${t}`},Dr=r=>{if(!mm(r))return"";let e=Math.abs(r),t=e!==r,i=new Date(0,0,0,0,0,e,0);return`${[i.getHours(),i.getMinutes(),i.getSeconds()].map((o,l)=>o&&Iy(o,l)).filter(o=>o).join(", ")}${t?" remaining":""}`};function Si(r,e){let t=!1;r<0&&(t=!0,r=0-r),r=r<0?0:r;let i=Math.floor(r%60),s=Math.floor(r/60%60),n=Math.floor(r/3600),a=Math.floor(e/60%60),o=Math.floor(e/3600);return(isNaN(r)||r===1/0)&&(n=s=i="0"),n=n>0||o>0?n+":":"",s=((n||a>=10)&&s<10?"0"+s:s)+":",i=i<10?"0"+i:i,(t?"-":"")+n+s+i}var wx=Object.freeze({length:0,start(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var Da=(r,e,t=".value")=>{let i=r.querySelector(t);!i||(i.textContent=e)},ky=(r,e)=>{let t=`slot[name="${e}"]`,i=r.shadowRoot.querySelector(t);return i?i.children:[]},Ca=(r,e)=>ky(r,e)[0],pn=(r,e)=>!r||!e?!1:r.contains(e)?!0:pn(r,e.getRootNode().host),Cr=(r,e)=>{if(!r)return null;let t=r.closest(e);return t||Cr(r.getRootNode().host,e)};function Qe(r,e){var t;let i;for(i of r.querySelectorAll("style")){let s;try{s=(t=i.sheet)==null?void 0:t.cssRules}catch{continue}for(let n of s!=null?s:[])if(n.selectorText===e)return n}return i!=null&&i.sheet?(i.sheet.insertRule(`${e}{}`,i.sheet.cssRules.length),i.sheet.cssRules[i.sheet.cssRules.length-1]):{style:{setProperty:()=>{},removeProperty:()=>{}}}}function Fe(r,e,t=Number.NaN){let i=r.getAttribute(e);return i!=null?+i:t}function ze(r,e,t){let i=+t;if(t==null||Number.isNaN(i)){r.hasAttribute(e)&&r.removeAttribute(e);return}Fe(r,e,void 0)!==i&&r.setAttribute(e,`${i}`)}function Ye(r,e){return r.hasAttribute(e)}function Ke(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}Ye(r,e)!=t&&r.toggleAttribute(e,t)}function We(r,e,t=null){var i;return(i=r.getAttribute(e))!=null?i:t}function Be(r,e,t){if(t==null){r.hasAttribute(e)&&r.removeAttribute(e);return}let i=`${t}`;We(r,e,void 0)!==i&&r.setAttribute(e,i)}var Ma=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},Id=class{observe(){}},gm={createElement:function(){return new Ld.HTMLElement},addEventListener(){},removeEventListener(){}},Ld={ResizeObserver:Id,document:gm,HTMLElement:class extends Ma{},DocumentFragment:class extends Ma{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},CustomEvent:function(){},getComputedStyle:function(){}},vm=typeof window=="undefined"||typeof window.customElements=="undefined",Em=Object.keys(Ld).every(r=>r in globalThis),w=vm&&!Em?Ld:globalThis,Y=vm&&!Em?gm:globalThis.document;var Ry=Object.defineProperty,wy=(r,e,t)=>e in r?Ry(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Dy=(r,e,t)=>(wy(r,typeof e!="symbol"?e+"":e,t),t),ym=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},si=(r,e,t)=>(ym(r,e,"read from private field"),t?t.call(r):e.get(r)),Oa=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Pa=(r,e,t,i)=>(ym(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),xi,Na,ys,Ua,bm=Y.createElement("template");bm.innerHTML=`
20
20
  <style>
21
21
  :host {
22
22
  font: var(--media-font,
@@ -64,38 +64,38 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
64
64
  min-width: 100%;
65
65
  }
66
66
  </style>
67
- `;var $e=class extends w.HTMLElement{constructor(e={}){if(super(),Ma(this,xi,void 0),wy(this,"preventClick",!1),Ma(this,Pa,i=>{this.preventClick||this.handleClick(i)}),Ma(this,ys,i=>{let{key:s}=i;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",si(this,ys));return}this.preventClick||this.handleClick(i)}),Ma(this,Na,i=>{let{metaKey:s,altKey:n,key:a}=i;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",si(this,ys));return}this.addEventListener("keyup",si(this,ys),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let i=bm.content.cloneNode(!0);this.nativeEl=i;let s=e.slotTemplate;s||(s=Y.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),this.shadowRoot.appendChild(i)}let{style:t}=Qe(this.shadowRoot,":host");t.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`)}static get observedAttributes(){return["disabled",_e.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",si(this,Pa)),this.addEventListener("keydown",si(this,Na)),this.tabIndex=0}disable(){this.removeEventListener("click",si(this,Pa)),this.removeEventListener("keydown",si(this,Na)),this.removeEventListener("keyup",si(this,ys)),this.tabIndex=-1}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=si(this,xi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Oa(this,xi,null)),i&&(Oa(this,xi,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=si(this,xi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&i!==t&&(i==null?this.enable():this.disable())}connectedCallback(){var e,t,i;this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Oa(this,xi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=si(this,xi))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=si(this,xi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Oa(this,xi,null)}get keysUsed(){return["Enter"," "]}handleClick(e){}};xi=new WeakMap;Pa=new WeakMap;ys=new WeakMap;Na=new WeakMap;w.customElements.get("media-chrome-button")||w.customElements.define("media-chrome-button",$e);var Dy=`<svg aria-hidden="true" viewBox="0 0 26 24">
67
+ `;var $e=class extends w.HTMLElement{constructor(e={}){if(super(),Oa(this,xi,void 0),Dy(this,"preventClick",!1),Oa(this,Na,i=>{this.preventClick||this.handleClick(i)}),Oa(this,ys,i=>{let{key:s}=i;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",si(this,ys));return}this.preventClick||this.handleClick(i)}),Oa(this,Ua,i=>{let{metaKey:s,altKey:n,key:a}=i;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",si(this,ys));return}this.addEventListener("keyup",si(this,ys),{once:!0})}),!this.shadowRoot){this.attachShadow({mode:"open"});let i=bm.content.cloneNode(!0);this.nativeEl=i;let s=e.slotTemplate;s||(s=Y.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),this.shadowRoot.appendChild(i)}let{style:t}=Qe(this.shadowRoot,":host");t.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`)}static get observedAttributes(){return["disabled",_e.MEDIA_CONTROLLER]}enable(){this.addEventListener("click",si(this,Na)),this.addEventListener("keydown",si(this,Ua)),this.tabIndex=0}disable(){this.removeEventListener("click",si(this,Na)),this.removeEventListener("keydown",si(this,Ua)),this.removeEventListener("keyup",si(this,ys)),this.tabIndex=-1}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=si(this,xi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Pa(this,xi,null)),i&&(Pa(this,xi,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=si(this,xi))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&i!==t&&(i==null?this.enable():this.disable())}connectedCallback(){var e,t,i;this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","button");let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Pa(this,xi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=si(this,xi))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=si(this,xi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Pa(this,xi,null)}get keysUsed(){return["Enter"," "]}handleClick(e){}};xi=new WeakMap;Na=new WeakMap;ys=new WeakMap;Ua=new WeakMap;w.customElements.get("media-chrome-button")||w.customElements.define("media-chrome-button",$e);var Cy=`<svg aria-hidden="true" viewBox="0 0 26 24">
68
68
  <path d="M22.13 3H3.87a.87.87 0 0 0-.87.87v13.26a.87.87 0 0 0 .87.87h3.4L9 16H5V5h16v11h-4l1.72 2h3.4a.87.87 0 0 0 .87-.87V3.87a.87.87 0 0 0-.86-.87Zm-8.75 11.44a.5.5 0 0 0-.76 0l-4.91 5.73a.5.5 0 0 0 .38.83h9.82a.501.501 0 0 0 .38-.83l-4.91-5.73Z"/>
69
69
  </svg>
70
70
  `,Tm=Y.createElement("template");Tm.innerHTML=`
71
- <slot name="icon">${Dy}</slot>
72
- `;var Ld=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Tm,...e})}connectedCallback(){this.setAttribute("aria-label",Xe.AIRPLAY()),super.connectedCallback()}get mediaAirplayUnavailable(){return We(this,A.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){Be(this,A.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new w.CustomEvent(se.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};w.customElements.get("media-airplay-button")||w.customElements.define("media-airplay-button",Ld);var Cy='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',My='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',Am=Y.createElement("template");Am.innerHTML=`
71
+ <slot name="icon">${Cy}</slot>
72
+ `;var kd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AIRPLAY_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Tm,...e})}connectedCallback(){this.setAttribute("aria-label",Xe.AIRPLAY()),super.connectedCallback()}get mediaAirplayUnavailable(){return We(this,S.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){Be(this,S.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new w.CustomEvent(se.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};w.customElements.get("media-airplay-button")||w.customElements.define("media-airplay-button",kd);var My='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',Oy='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>',Am=Y.createElement("template");Am.innerHTML=`
73
73
  <style>
74
- :host([${A.MEDIA_IS_CASTING}]) slot:not([name=exit]):not([name=icon]) {
74
+ :host([${S.MEDIA_IS_CASTING}]) slot:not([name=exit]):not([name=icon]) {
75
75
  display: none !important;
76
76
  }
77
77
 
78
78
 
79
- :host(:not([${A.MEDIA_IS_CASTING}])) slot:not([name=enter]):not([name=icon]) {
79
+ :host(:not([${S.MEDIA_IS_CASTING}])) slot:not([name=enter]):not([name=icon]) {
80
80
  display: none !important;
81
81
  }
82
82
  </style>
83
83
 
84
84
  <slot name="icon">
85
- <slot name="enter">${Cy}</slot>
86
- <slot name="exit">${My}</slot>
85
+ <slot name="enter">${My}</slot>
86
+ <slot name="exit">${Oy}</slot>
87
87
  </slot>
88
- `;var _m=r=>{let t=r.getAttribute(A.MEDIA_IS_CASTING)!=null?Xe.EXIT_CAST():Xe.ENTER_CAST();r.setAttribute("aria-label",t)},Rd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_IS_CASTING,A.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Am,...e})}connectedCallback(){_m(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===A.MEDIA_IS_CASTING&&_m(this),super.attributeChangedCallback(e,t,i)}get mediaIsCasting(){return Ye(this,A.MEDIA_IS_CASTING)}set mediaIsCasting(e){Ke(this,A.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return We(this,A.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){Be(this,A.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?se.MEDIA_EXIT_CAST_REQUEST:se.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-cast-button")||w.customElements.define("media-cast-button",Rd);var Sm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},or=(r,e,t)=>(Sm(r,e,"read from private field"),t?t.call(r):e.get(r)),Oy=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ua=(r,e,t,i)=>(Sm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Ht,xm=Y.createElement("template");xm.innerHTML=`
88
+ `;var _m=r=>{let t=r.getAttribute(S.MEDIA_IS_CASTING)!=null?Xe.EXIT_CAST():Xe.ENTER_CAST();r.setAttribute("aria-label",t)},Rd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_IS_CASTING,S.MEDIA_CAST_UNAVAILABLE]}constructor(e={}){super({slotTemplate:Am,...e})}connectedCallback(){_m(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===S.MEDIA_IS_CASTING&&_m(this),super.attributeChangedCallback(e,t,i)}get mediaIsCasting(){return Ye(this,S.MEDIA_IS_CASTING)}set mediaIsCasting(e){Ke(this,S.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return We(this,S.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){Be(this,S.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?se.MEDIA_EXIT_CAST_REQUEST:se.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-cast-button")||w.customElements.define("media-cast-button",Rd);var Sm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},or=(r,e,t)=>(Sm(r,e,"read from private field"),t?t.call(r):e.get(r)),Py=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Fa=(r,e,t,i)=>(Sm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Ht,xm=Y.createElement("template");xm.innerHTML=`
89
89
  <style>
90
90
  :host {
91
91
  display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block));
92
92
  box-sizing: border-box;
93
93
  }
94
94
  </style>
95
- `;var kd=class extends w.HTMLElement{constructor(e={}){if(super(),Oy(this,Ht,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),i=xm.content.cloneNode(!0);this.nativeEl=i;let s=e.slotTemplate;s||(s=Y.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(i)}}static get observedAttributes(){return[_e.MEDIA_CONTROLLER,A.MEDIA_PAUSED]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=or(this,Ht))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ua(this,Ht,null)),i&&(Ua(this,Ht,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=or(this,Ht))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),Ua(this,Ht,Py(this)),this.getAttribute(_e.MEDIA_CONTROLLER)&&((t=(e=or(this,Ht))==null?void 0:e.associateElement)==null||t.call(e,this)),(i=or(this,Ht))==null||i.addEventListener("pointerdown",this),(s=or(this,Ht))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,i,s;this.getAttribute(_e.MEDIA_CONTROLLER)&&((t=(e=or(this,Ht))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(i=or(this,Ht))==null||i.removeEventListener("pointerdown",this),(s=or(this,Ht))==null||s.removeEventListener("click",this),Ua(this,Ht,null)}handleEvent(e){var t;let i=(t=e.composedPath())==null?void 0:t[0];if(!!["video","media-controller"].includes(i==null?void 0:i.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:c}=this.getBoundingClientRect(),u=n-o,h=a-l;if(u<0||h<0||u>d||h>c||d===0&&c===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===Sd.TOUCH){this.handleTap(e);return}else if(f===Sd.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Ye(this,A.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,A.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new w.CustomEvent(t,{composed:!0,bubbles:!0}))}};Ht=new WeakMap;function Py(r){var e;let t=r.getAttribute(_e.MEDIA_CONTROLLER);return t?(e=r.getRootNode())==null?void 0:e.getElementById(t):Cr(r,"media-controller")}w.customElements.get("media-gesture-receiver")||w.customElements.define("media-gesture-receiver",kd);var Ny=Object.defineProperty,Uy=(r,e,t)=>e in r?Ny(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fy=(r,e,t)=>(Uy(r,typeof e!="symbol"?e+"":e,t),t),Ge={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},Im=Y.createElement("template");Im.innerHTML=`
95
+ `;var wd=class extends w.HTMLElement{constructor(e={}){if(super(),Py(this,Ht,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),i=xm.content.cloneNode(!0);this.nativeEl=i;let s=e.slotTemplate;s||(s=Y.createElement("template"),s.innerHTML=`<slot>${e.defaultContent||""}</slot>`),this.nativeEl.appendChild(s.content.cloneNode(!0)),t.appendChild(i)}}static get observedAttributes(){return[_e.MEDIA_CONTROLLER,S.MEDIA_PAUSED]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=or(this,Ht))==null?void 0:s.unassociateElement)==null||n.call(s,this),Fa(this,Ht,null)),i&&(Fa(this,Ht,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=or(this,Ht))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i,s;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),Fa(this,Ht,Ny(this)),this.getAttribute(_e.MEDIA_CONTROLLER)&&((t=(e=or(this,Ht))==null?void 0:e.associateElement)==null||t.call(e,this)),(i=or(this,Ht))==null||i.addEventListener("pointerdown",this),(s=or(this,Ht))==null||s.addEventListener("click",this)}disconnectedCallback(){var e,t,i,s;this.getAttribute(_e.MEDIA_CONTROLLER)&&((t=(e=or(this,Ht))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(i=or(this,Ht))==null||i.removeEventListener("pointerdown",this),(s=or(this,Ht))==null||s.removeEventListener("click",this),Fa(this,Ht,null)}handleEvent(e){var t;let i=(t=e.composedPath())==null?void 0:t[0];if(!!["video","media-controller"].includes(i==null?void 0:i.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:o,top:l,width:d,height:c}=this.getBoundingClientRect(),u=n-o,h=a-l;if(u<0||h<0||u>d||h>c||d===0&&c===0)return;let{pointerType:f=this._pointerType}=e;if(this._pointerType=void 0,f===xd.TOUCH){this.handleTap(e);return}else if(f===xd.MOUSE){this.handleMouseClick(e);return}}}}get mediaPaused(){return Ye(this,S.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,S.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new w.CustomEvent(t,{composed:!0,bubbles:!0}))}};Ht=new WeakMap;function Ny(r){var e;let t=r.getAttribute(_e.MEDIA_CONTROLLER);return t?(e=r.getRootNode())==null?void 0:e.getElementById(t):Cr(r,"media-controller")}w.customElements.get("media-gesture-receiver")||w.customElements.define("media-gesture-receiver",wd);var Uy=Object.defineProperty,Fy=(r,e,t)=>e in r?Uy(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,By=(r,e,t)=>(Fy(r,typeof e!="symbol"?e+"":e,t),t),Ge={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive"},Im=Y.createElement("template");Im.innerHTML=`
96
96
  <style>
97
97
 
98
- :host([${A.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
98
+ :host([${S.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
99
99
  outline: none;
100
100
  }
101
101
 
@@ -190,7 +190,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
190
190
  }
191
191
 
192
192
 
193
- :host([${Ge.USER_INACTIVE}]:not([${A.MEDIA_PAUSED}]):not([${A.MEDIA_IS_CASTING}]):not([${Ge.AUDIO}])) ::slotted(:not([slot=media]):not([${Ge.NO_AUTOHIDE}])) {
193
+ :host([${Ge.USER_INACTIVE}]:not([${S.MEDIA_PAUSED}]):not([${S.MEDIA_IS_CASTING}]):not([${Ge.AUDIO}])) ::slotted(:not([slot=media]):not([${Ge.NO_AUTOHIDE}])) {
194
194
  opacity: 0;
195
195
  transition: opacity 1s;
196
196
  }
@@ -200,7 +200,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
200
200
  }
201
201
 
202
202
 
203
- :host(:not([${Ge.AUDIO}])[${A.MEDIA_HAS_PLAYED}]) slot[name=poster] {
203
+ :host(:not([${Ge.AUDIO}])[${S.MEDIA_HAS_PLAYED}]) slot[name=poster] {
204
204
  display: none;
205
205
  }
206
206
  </style>
@@ -217,7 +217,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
217
217
 
218
218
  <slot part="bottom chrome"></slot>
219
219
  </span>
220
- `;var By=Object.values(A),$y="sm:384 md:576 lg:768 xl:960";function Gy(r){for(let e of r)Hy(e.target,e.contentRect.width)}function Hy(r,e){var t;if(!r.isConnected)return;let i=(t=r.getAttribute(Ge.BREAKPOINTS))!=null?t:$y,s=Vy(i),n=Ky(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){r.hasAttribute(`breakpoint${o}`)||(r.setAttribute(`breakpoint${o}`,""),a=!0);return}r.hasAttribute(`breakpoint${o}`)&&(r.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(vs.BREAKPOINTS_CHANGE,{detail:n});r.dispatchEvent(o)}}function Vy(r){let e=r.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function Ky(r,e){return Object.keys(r).filter(t=>e>=r[t])}var Fa=class extends w.HTMLElement{constructor(){super(),Fy(this,"breakpointsUncomputed",!0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Im.content.cloneNode(!0)));let e=l=>{let d=this.media;for(let c of l)c.type==="childList"&&(c.removedNodes.forEach(u=>{if(u.slot=="media"&&c.target==this){let h=c.previousSibling&&c.previousSibling.previousElementSibling;if(!h||!d)this.mediaUnsetCallback(u);else{let f=h.slot!=="media";for(;(h=h.previousSibling)!==null;)h.slot=="media"&&(f=!1);f&&this.mediaUnsetCallback(u)}}}),d&&c.addedNodes.forEach(u=>{u==d&&this.handleMediaUpdated(d).then(h=>this.mediaSetCallback(h))}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let i=!1,s=l=>{i||(setTimeout(()=>{Gy(l),i=!1,this.breakpointsUncomputed=!1},0),i=!0)},n=new ResizeObserver(s);this.resizeObserver=n,n.observe(this);let a=this.media,o=this.querySelector(":scope > slot[slot=media]");o&&o.addEventListener("slotchange",()=>{if(!o.assignedElements({flatten:!0}).length){this.mediaUnsetCallback(a);return}this.media&&(a=this.media,this.handleMediaUpdated(this.media).then(d=>this.mediaSetCallback(d)))})}static get observedAttributes(){return[Ge.AUTOHIDE,Ge.GESTURES_DISABLED].concat(By).filter(e=>![A.MEDIA_RENDITION_LIST,A.MEDIA_AUDIO_TRACK_LIST].includes(e))}attributeChangedCallback(e,t,i){e.toLowerCase()==Ge.AUTOHIDE&&(this.autohide=i)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}mediaSetCallback(e){this._mediaClickPlayToggle=()=>{let t=e.paused?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new w.CustomEvent(t,{composed:!0,bubbles:!0}))}}handleMediaUpdated(e){let t=n=>Promise.resolve(n),i=n=>(console.error('<media-chrome>: Media element set with slot="media" does not appear to be compatible.',n),Promise.reject(n));if(!e)return i(e);let s=e.nodeName.toLowerCase();return s.includes("-")?w.customElements.whenDefined(s).then(()=>t(e)):t(e)}mediaUnsetCallback(e){}connectedCallback(){var e;let i=this.getAttribute(Ge.AUDIO)!=null?Dt.AUDIO_PLAYER():Dt.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",i),this.media&&this.handleMediaUpdated(this.media).then(o=>this.mediaSetCallback(o)),this.setAttribute(Ge.USER_INACTIVE,"");let s=()=>{if(this.autohide<0||this.hasAttribute(Ge.USER_INACTIVE))return;this.setAttribute(Ge.USER_INACTIVE,"");let o=new w.CustomEvent(vs.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(o)},n=()=>{if(!this.hasAttribute(Ge.USER_INACTIVE))return;this.removeAttribute(Ge.USER_INACTIVE);let o=new w.CustomEvent(vs.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(o)},a=()=>{n(),clearTimeout(this._inactiveTimeout),!(this.autohide<0)&&(this._inactiveTimeout=setTimeout(()=>{s()},this.autohide*1e3))};this.addEventListener("keyup",()=>{a()}),this.addEventListener("pointerup",o=>{o.pointerType==="touch"?[this,this.media].includes(o.target)&&!this.hasAttribute(Ge.USER_INACTIVE)?s():a():o.composedPath().some(l=>{var d;return["media-play-button","media-fullscreen-button"].includes((d=l==null?void 0:l.nodeName)==null?void 0:d.toLowerCase())})&&a()}),this.addEventListener("pointermove",o=>{o.pointerType==="mouse"&&(n(),clearTimeout(this._inactiveTimeout),[this,this.media].includes(o.target)&&a())}),this.addEventListener("mouseleave",()=>{s()}),this.addEventListener("keyup",()=>{this.setAttribute(Ge.KEYBOARD_CONTROL,"")}),(e=w.window)==null||e.addEventListener("mouseup",()=>{this.removeAttribute(Ge.KEYBOARD_CONTROL)})}set autohide(e){e=Number(e),this._autohide=isNaN(e)?0:e}get autohide(){return this._autohide===void 0?2:this._autohide}};var Lm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Tt=(r,e,t)=>(Lm(r,e,"read from private field"),t?t.call(r):e.get(r)),gn=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ba=(r,e,t,i)=>(Lm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),bs,Ts,$a,Mr,Ki,lr,dr=class{constructor(e,t,{defaultValue:i}={defaultValue:void 0}){gn(this,Ki),gn(this,bs,void 0),gn(this,Ts,void 0),gn(this,$a,void 0),gn(this,Mr,new Set),Ba(this,bs,e),Ba(this,Ts,t),Ba(this,$a,new Set(i))}[Symbol.iterator](){return Tt(this,Ki,lr).values()}get length(){return Tt(this,Ki,lr).size}get value(){var e;return(e=[...Tt(this,Ki,lr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(Ba(this,Mr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...Tt(this,Ki,lr)][e]}values(){return Tt(this,Ki,lr).values()}forEach(e){Tt(this,Ki,lr).forEach(e)}add(...e){var t,i;e.forEach(s=>Tt(this,Mr).add(s)),!(this.value===""&&!((t=Tt(this,bs))!=null&&t.hasAttribute(`${Tt(this,Ts)}`)))&&((i=Tt(this,bs))==null||i.setAttribute(`${Tt(this,Ts)}`,`${this.value}`))}remove(...e){var t;e.forEach(i=>Tt(this,Mr).delete(i)),(t=Tt(this,bs))==null||t.setAttribute(`${Tt(this,Ts)}`,`${this.value}`)}contains(e){return Tt(this,Ki,lr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};bs=new WeakMap;Ts=new WeakMap;$a=new WeakMap;Mr=new WeakMap;Ki=new WeakSet;lr=function(){return Tt(this,Mr).size?Tt(this,Mr):Tt(this,$a)};var Rm=(r="")=>r.split(/\s+/),km=(r="")=>{let[e,t,i]=r.split(":"),s=i?decodeURIComponent(i):void 0;return e=e==="cc"?"captions":"subtitles",{kind:e,language:t,label:s}},vn=(r="",e={})=>Rm(r).map(t=>{let i=km(t);return{...e,...i}}),Wy=r=>Array.isArray(r)?r.map(e=>typeof e=="string"?km(e):e):typeof r=="string"?vn(r):[r],Ga=({kind:r,label:e,language:t}={kind:"subtitles"})=>e?`${r==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,Or=(r=[])=>Array.prototype.map.call(r,Ga).join(" "),qy=(r,e)=>t=>t[r]===e,wm=r=>{let e=Object.entries(r).map(([t,i])=>qy(t,i));return t=>e.every(i=>i(t))},wd=(r,e=[],t=[])=>{let i=Wy(t).map(wm),s=n=>i.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=r})},Ha=(r,e=()=>!0)=>{if(!(r!=null&&r.textTracks))return[];let t=typeof e=="function"?e:wm(e);return Array.from(r.textTracks).filter(t)},Dd=r=>!!r.getAttribute(A.MEDIA_SUBTITLES_SHOWING),Wi=(r,e)=>{var t,i;let s=Dd(r);if(s||e===!1){let n=r.getAttribute(A.MEDIA_SUBTITLES_SHOWING);if(n){let a=new w.CustomEvent(se.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:n});r.dispatchEvent(a)}}else if(!s||e===!0){let[n]=(i=Rm((t=r.getAttribute(A.MEDIA_SUBTITLES_LIST))!=null?t:""))!=null?i:[];if(n){let a=new w.CustomEvent(se.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:n});r.dispatchEvent(a)}}else console.error("Attempting to enable captions or subtitles but none are available! Please verify your media content if this is unexpected.")};var ot={enter:"requestFullscreen",exit:"exitFullscreen",rootEvents:["fullscreenchange"],mediaEvents:[],element:"fullscreenElement",error:"fullscreenerror",enabled:"fullscreenEnabled"};Y.fullscreenElement===void 0&&(ot.enter="webkitRequestFullScreen",ot.exit=Y.webkitExitFullscreen!=null?"webkitExitFullscreen":"webkitCancelFullScreen",ot.rootEvents=["webkitfullscreenchange"],ot.mediaEvents=["webkitbeginfullscreen","webkitendfullscreen"],ot.element="webkitFullscreenElement",ot.error="webkitfullscreenerror",ot.enabled="webkitFullscreenEnabled");var Va,Cd=()=>{var r,e;return Va||(Va=(e=(r=Y)==null?void 0:r.createElement)==null?void 0:e.call(r,"video"),Va)},Dm=async(r=Cd())=>{if(!r)return!1;let e=r.volume;return r.volume=e/2+.1,await ka(0),r.volume!==e},Yy=(r=Cd())=>typeof(r==null?void 0:r.requestPictureInPicture)=="function",jy=(r=Cd())=>{let e=Y[ot.enabled];return!e&&r&&(e="webkitSupportsFullscreen"in r),e},Md=jy(),Cm=Yy(),Mm=!!w.WebKitPlaybackTargetAvailabilityEvent,Om=!!w.chrome;var Ka,Pm=Dm().then(r=>(Ka=r,Ka)),zy=Object.values(ui),Od=r=>Ha(r.media,e=>[Es.SUBTITLES,Es.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Xy=r=>Ha(r.media,e=>e.mode===Ia.SHOWING&&[Es.SUBTITLES,Es.CAPTIONS].includes(e.kind)),Vt={MEDIA_PAUSED:{get:function(r){let{media:e}=r;return e?e.paused:!0},mediaEvents:["play","playing","pause","emptied"]},MEDIA_HAS_PLAYED:{get:function(r){let{media:e}=r;return e?!e.paused:!1},mediaEvents:["playing","emptied"]},MEDIA_ENDED:{get:function(r){let{media:e}=r;return e?e.ended:!1},mediaEvents:["seeked","ended","emptied"]},MEDIA_PLAYBACK_RATE:{get:function(r){let{media:e}=r;return!e||typeof e.playbackRate=="undefined"?1:e.playbackRate},mediaEvents:["ratechange","loadstart"]},MEDIA_MUTED:{get:function(r){let{media:e}=r;return!e||typeof e.muted=="undefined"?!1:e.muted},mediaEvents:["volumechange"]},MEDIA_VOLUME:{get:function(r){let{media:e}=r;return!e||typeof e.volume=="undefined"?1:Number(e.volume)},mediaEvents:["volumechange"]},MEDIA_VOLUME_LEVEL:{get:function(r){let{media:e}=r,t="high";if(!e||typeof e.volume=="undefined")return t;let{muted:i,volume:s}=e;return s===0||i?t="off":s<.5?t="low":s<.75&&(t="medium"),t},mediaEvents:["volumechange"]},MEDIA_CURRENT_TIME:{get:function(r){let{media:e}=r;return!e||typeof e.currentTime=="undefined"?0:e.currentTime},mediaEvents:["timeupdate","loadedmetadata"]},MEDIA_DURATION:{get:function(r){let{media:e}=r;return!e||!Number.isFinite(e.duration)?NaN:e.duration},mediaEvents:["durationchange","loadedmetadata","emptied"]},MEDIA_SEEKABLE:{get:function(r){var e;let{media:t}=r;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let i=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!i&&!s))return[Number(i.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress"]},MEDIA_LOADING:{get:function(r){var e;return((e=r.media)==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},MEDIA_BUFFERED:{get:function(r){var e,t,i;let s=(e=r.media)==null?void 0:e.buffered;return Array.from((i=(t=r.media)==null?void 0:t.buffered)!=null?i:[]).map((n,a)=>[Number(s.start(a)).toFixed(3),Number(s.end(a)).toFixed(3)])},mediaEvents:["progress","emptied"]},MEDIA_STREAM_TYPE:{get:function(r){let{media:e}=r;if(!e)return;let{streamType:t}=e;if(zy.includes(t)){if(t===ui.UNKNOWN){let s=r.getAttribute("defaultstreamtype");return[ui.LIVE,ui.ON_DEMAND].includes(s)?s:void 0}return t}let i=e.duration;if(i===1/0)return ui.LIVE;if(Number.isFinite(i))return ui.ON_DEMAND;{let s=r.getAttribute("defaultstreamtype");if([ui.LIVE,ui.ON_DEMAND].includes(s))return s}},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},MEDIA_TARGET_LIVE_WINDOW:{get:function(r){let{media:e}=r;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,i=Vt.MEDIA_STREAM_TYPE.get(r);return(t==null||Number.isNaN(t))&&i===ui.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},MEDIA_TIME_IS_LIVE:{get:function(r){let{media:e}=r;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(Vt.MEDIA_STREAM_TYPE.get(r)==="live"))return!1;let i=e.seekable;if(!i)return!0;if(!i.length)return!1;let s=r.hasAttribute("liveedgeoffset")?Number(r.getAttribute("liveedgeoffset")):10,n=i.end(i.length-1)-s;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},MEDIA_IS_FULLSCREEN:{get:function(r,e){var t;let i=r.media;if(i&&Y[ot.element]===void 0&&"webkitDisplayingFullscreen"in i)return i.webkitDisplayingFullscreen&&i.webkitPresentationMode==="fullscreen";let s;return e?s=Y[ot.element]?e.target:null:s=(t=r.getRootNode().fullscreenElement)!=null?t:Y[ot.element],pn(r.fullscreenElement,s)},rootEvents:ot.rootEvents,mediaEvents:ot.mediaEvents},MEDIA_IS_PIP:{get:function(r,e){var t;let i=r.media;if(!i)return!1;if(e)return e.type=="enterpictureinpicture";{let s=(t=r.getRootNode().pictureInPictureElement)!=null?t:Y.pictureInPictureElement;return pn(i,s)}},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},MEDIA_IS_CASTING:{get:function(r,e){var t;let{media:i}=r;if(!i)return!1;let s=(t=w.CastableVideoElement)==null?void 0:t.castElement,n=pn(i,s);return(e==null?void 0:e.type)==="castchange"&&(e==null?void 0:e.detail)==="CONNECTING"&&(n="connecting"),n},mediaEvents:["entercast","leavecast","castchange"]},MEDIA_AIRPLAY_UNAVAILABLE:{get:function(r,e){if(!Mm)return Zt.UNSUPPORTED;if(!!e&&e.availability!=="available"&&e.availability==="not-available")return Zt.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"]},MEDIA_CAST_UNAVAILABLE:{get:function(){var r;let e=(r=w.CastableVideoElement)==null?void 0:r.castState;if(!Om||!e)return Zt.UNSUPPORTED;if(!e.includes("CONNECT"))return Zt.UNAVAILABLE},mediaEvents:["castchange"]},MEDIA_FULLSCREEN_UNAVAILABLE:{get:function(){return Md?void 0:Zt.UNAVAILABLE}},MEDIA_PIP_UNAVAILABLE:{get:function(){return Cm?void 0:Zt.UNSUPPORTED}},MEDIA_RENDITION_UNAVAILABLE:{get:function(r){var e;let{media:t}=r;if(!(t!=null&&t.videoRenditions))return Zt.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Zt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},MEDIA_AUDIO_TRACK_UNAVAILABLE:{get:function(r){var e,t;let{media:i}=r;if(!(i!=null&&i.audioTracks))return Zt.UNSUPPORTED;if(((t=(e=i.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Zt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},MEDIA_VOLUME_UNAVAILABLE:{get:function(r){if(Ka!==void 0&&!Ka)return Zt.UNSUPPORTED;let{media:e}=r;if(e&&typeof e.volume=="undefined")return Zt.UNAVAILABLE},mediaEvents:["loadstart"]},MEDIA_SUBTITLES_LIST:{get:function(r){return Od(r).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},MEDIA_SUBTITLES_SHOWING:{get:function(r){return r.hasAttribute("defaultsubtitles")&&!r.hasAttribute(A.MEDIA_HAS_PLAYED)&&!r.hasAttribute(A.MEDIA_SUBTITLES_SHOWING)&&Wi(r,!0),Xy(r).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"]},MEDIA_RENDITION_LIST:{get:function(r){var e;let{media:t}=r;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]]},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},MEDIA_RENDITION_SELECTED:{get:function(r){var e,t,i;let{media:s}=r;return(i=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:i.id},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},MEDIA_AUDIO_TRACK_LIST:{get:function(r){var e;let{media:t}=r;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},MEDIA_AUDIO_TRACK_ENABLED:{get:function(r){var e,t;let{media:i}=r;return(t=[...(e=i==null?void 0:i.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]}},Wa={MEDIA_PLAY_REQUEST:(r,e,t)=>{var i;let s=Vt.MEDIA_STREAM_TYPE.get(t),n=t.getAttribute("noautoseektolive")===null;s==ui.LIVE&&n&&Wa.MEDIA_SEEK_TO_LIVE_REQUEST(r),(i=r.play())==null||i.catch(()=>{})},MEDIA_PAUSE_REQUEST:r=>r.pause(),MEDIA_MUTE_REQUEST:r=>r.muted=!0,MEDIA_UNMUTE_REQUEST:r=>{r.muted=!1,r.volume===0&&(r.volume=.25)},MEDIA_VOLUME_REQUEST:(r,e,t)=>{let i=e.detail;if(r.volume=i,i>0&&r.muted&&(r.muted=!1),!t.hasAttribute("novolumepref"))try{w.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}},MEDIA_ENTER_FULLSCREEN_REQUEST:(r,e,t)=>{if(!Md){console.warn("Fullscreen support is unavailable; not entering fullscreen");return}Y.pictureInPictureElement&&Y.exitPictureInPicture(),t[ot.enter]?t.fullscreenElement[ot.enter]():r.webkitEnterFullscreen?r.webkitEnterFullscreen():r.requestFullscreen?r.requestFullscreen():console.warn("MediaChrome: Fullscreen not supported")},MEDIA_EXIT_FULLSCREEN_REQUEST:()=>{Y[ot.exit]()},MEDIA_ENTER_PIP_REQUEST:r=>{if(!Y.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!r.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}Y[ot.element]&&Y[ot.exit]();let e=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};r.requestPictureInPicture().catch(t=>{if(t.code===11)if(r.readyState===0&&r.preload==="none"){let i=()=>{r.removeEventListener("loadedmetadata",s),r.preload="none"},s=()=>{r.requestPictureInPicture().catch(e),i()};r.addEventListener("loadedmetadata",s),r.preload="metadata",setTimeout(()=>{r.readyState===0&&e(),i()},1e3)}else throw t;else throw t})},MEDIA_EXIT_PIP_REQUEST:()=>{Y.pictureInPictureElement&&Y.exitPictureInPicture()},MEDIA_ENTER_CAST_REQUEST:r=>{var e;!((e=w.CastableVideoElement)!=null&&e.castEnabled)||(Y[ot.element]&&Y[ot.exit](),r.requestCast())},MEDIA_EXIT_CAST_REQUEST:async()=>{var r;(r=w.CastableVideoElement)!=null&&r.castElement&&w.CastableVideoElement.exitCast()},MEDIA_SEEK_REQUEST:(r,e)=>{let t=e.detail;(r.readyState>0||r.readyState===void 0)&&(r.currentTime=t)},MEDIA_PLAYBACK_RATE_REQUEST:(r,e)=>{r.playbackRate=e.detail},MEDIA_PREVIEW_REQUEST:(r,e,t)=>{var i;if(!r)return;let s=e.detail;s===null&&t.propagateMediaState(A.MEDIA_PREVIEW_TIME,void 0),t.propagateMediaState(A.MEDIA_PREVIEW_TIME,s);let[n]=Ha(r,{kind:Es.METADATA,label:"thumbnails"});if(!(n&&n.cues))return;if(s===null){t.propagateMediaState(A.MEDIA_PREVIEW_IMAGE,void 0),t.propagateMediaState(A.MEDIA_PREVIEW_COORDS,void 0);return}let a=Array.prototype.find.call(n.cues,c=>c.startTime>=s);if(!a)return;let o=/'^(?:[a-z]+:)?\/\//i.test(a.text)||(i=r.querySelector('track[label="thumbnails"]'))==null?void 0:i.src,l=new URL(a.text,o),d=new URLSearchParams(l.hash).get("#xywh");t.propagateMediaState(A.MEDIA_PREVIEW_IMAGE,l.href),t.propagateMediaState(A.MEDIA_PREVIEW_COORDS,d.split(","))},MEDIA_SHOW_SUBTITLES_REQUEST:(r,e,t)=>{let i=Od(t),{detail:s=[]}=e;wd(Ia.SHOWING,i,s)},MEDIA_DISABLE_SUBTITLES_REQUEST:(r,e,t)=>{let i=Od(t),{detail:s=[]}=e;wd(Ia.DISABLED,i,s)},MEDIA_AIRPLAY_REQUEST:r=>{if(!!r){if(!(r.webkitShowPlaybackTargetPicker&&w.WebKitPlaybackTargetAvailabilityEvent)){console.warn("received a request to select AirPlay but AirPlay is not supported in this environment");return}r.webkitShowPlaybackTargetPicker()}},MEDIA_SEEK_TO_LIVE_REQUEST:r=>{let e=r.seekable;if(!e){console.warn("MediaController: Media element does not support seeking to live.");return}if(!e.length){console.warn("MediaController: Media is unable to seek to live.");return}r.currentTime=e.end(e.length-1)},MEDIA_RENDITION_REQUEST:(r,e)=>{if(!(r!=null&&r.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let t=e.detail,i=[...r.videoRenditions].findIndex(s=>s.id==t);r.videoRenditions.selectedIndex!=i&&(r.videoRenditions.selectedIndex=i)},MEDIA_AUDIO_TRACK_REQUEST:(r,e)=>{if(!(r!=null&&r.audioTracks)){console.warn("MediaController: Audio track selection not supported by this media.");return}let t=e.detail;for(let i of r.audioTracks)i.enabled=t==i.id}};var Ud=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Nr=(r,e,t)=>(Ud(r,e,"read from private field"),t?t.call(r):e.get(r)),qa=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Nm=(r,e,t,i)=>(Ud(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),_s=(r,e,t)=>(Ud(r,e,"access private method"),t),cr,En,As,yn,Ya,Pd,Hm=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],Qy=10,Um=0,Kt={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys"},ja=class extends Fa{constructor(){super(),qa(this,As),qa(this,Ya),qa(this,cr,new dr(this,Kt.HOTKEYS)),qa(this,En,void 0),Vt.MEDIA_VOLUME_UNAVAILABLE.get(this)===void 0&&Pm.then(()=>{this.propagateMediaState(A.MEDIA_VOLUME_UNAVAILABLE,Vt.MEDIA_VOLUME_UNAVAILABLE.get(this))}),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,this.associateElement(this),Object.keys(Wa).forEach(e=>{let t=`_handle${La(e,!0)}`;this[t]=i=>{if(i.stopPropagation(),!this.media){console.warn("MediaController: No media available.");return}Wa[e](this.media,i,this)},this.addEventListener(se[e],this[t])}),this._mediaStatePropagators={},Object.keys(Vt).forEach(e=>{this._mediaStatePropagators[e]=t=>{this.propagateMediaState(wr[e],Vt[e].get(this,t))}}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(Kt.NO_HOTKEYS,Kt.HOTKEYS,Kt.DEFAULT_STREAM_TYPE,Kt.DEFAULT_SUBTITLES)}get fullscreenElement(){var e;return(e=Nr(this,En))!=null?e:this}set fullscreenElement(e){this.hasAttribute(Kt.FULLSCREEN_ELEMENT)&&this.removeAttribute(Kt.FULLSCREEN_ELEMENT),Nm(this,En,e)}attributeChangedCallback(e,t,i){var s;if(e===Kt.NO_HOTKEYS)i!==t&&i===""?(this.hasAttribute(Kt.HOTKEYS)&&console.warn("Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):i!==t&&i===null&&this.enableHotkeys();else if(e===Kt.HOTKEYS)Nr(this,cr).value=i;else if(e===Kt.DEFAULT_SUBTITLES&&i!==t&&i==="")Wi(this,!0);else if(e===Kt.DEFAULT_STREAM_TYPE)this.propagateMediaState(wr.MEDIA_STREAM_TYPE);else if(e===Kt.FULLSCREEN_ELEMENT){let n=i?(s=this.getRootNode())==null?void 0:s.getElementById(i):void 0;Nm(this,En,n)}super.attributeChangedCallback(e,t,i)}mediaSetCallback(e){if(super.mediaSetCallback(e),e.hasAttribute("tabindex")||(e.tabIndex=-1),Object.keys(Vt).forEach(t=>{let{mediaEvents:i,rootEvents:s,textTracksEvents:n,videoRenditionsEvents:a,audioTracksEvents:o}=Vt[t],l=this._mediaStatePropagators[t];i==null||i.forEach(d=>{e.addEventListener(d,l),l()}),s==null||s.forEach(d=>{this.getRootNode().addEventListener(d,l),l()}),n==null||n.forEach(d=>{var c;(c=e.textTracks)==null||c.addEventListener(d,l),l()}),a==null||a.forEach(d=>{var c;(c=e.videoRenditions)==null||c.addEventListener(d,l),l()}),o==null||o.forEach(d=>{var c;(c=e.audioTracks)==null||c.addEventListener(d,l),l()})}),!this.hasAttribute("novolumepref"))try{let t=w.localStorage.getItem("media-chrome-pref-volume");t!==null&&(e.volume=t)}catch(t){console.debug("Error getting volume pref",t)}}mediaUnsetCallback(e){super.mediaUnsetCallback(e),Object.keys(Vt).forEach(t=>{let{mediaEvents:i,rootEvents:s,textTracksEvents:n,videoRenditionsEvents:a,audioTracksEvents:o}=Vt[t],l=this._mediaStatePropagators[t];i==null||i.forEach(d=>{e.removeEventListener(d,l)}),s==null||s.forEach(d=>{this.getRootNode().removeEventListener(d,l)}),n==null||n.forEach(d=>{var c;(c=e.textTracks)==null||c.removeEventListener(d,l)}),a==null||a.forEach(d=>{var c;(c=e.videoRenditions)==null||c.removeEventListener(d,l),l()}),o==null||o.forEach(d=>{var c;(c=e.audioTracks)==null||c.removeEventListener(d,l),l()})}),this.propagateMediaState(wr.MEDIA_PAUSED,!0)}propagateMediaState(e,t){let i=Gm(this.mediaStateReceivers,e);if($m(this.mediaStateReceivers,e,t),i===Gm(this.mediaStateReceivers,e))return;let s=e.toLowerCase(),n=new w.CustomEvent(lm[s],{composed:!0,bubbles:!0,detail:t});this.dispatchEvent(n)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let i=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=rb(e,i,s);Object.keys(se).forEach(a=>{e.addEventListener(se[a],this[`_handle${La(a,!0)}`])}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.keys(se).forEach(s=>{e.removeEventListener(se[s],this[`_handle${La(s,!0)}`])})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),Object.keys(Vt).forEach(s=>{let n=Vt[s];$m([e],wr[s],n.get(this))}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,i=t.indexOf(e);i<0||t.splice(i,1)}enableHotkeys(){this.addEventListener("keydown",_s(this,Ya,Pd))}disableHotkeys(){this.removeEventListener("keydown",_s(this,Ya,Pd)),this.removeEventListener("keyup",_s(this,As,yn))}get hotkeys(){return Nr(this,cr)}keyboardShortcutHandler(e){var t,i,s,n;if(((n=(s=(t=e.target.getAttribute(Kt.KEYS_USED))==null?void 0:t.split(" "))!=null?s:(i=e.target)==null?void 0:i.keysUsed)!=null?n:[]).map(f=>f==="Space"?" ":f).filter(Boolean).includes(e.key))return;let o,l,d,c,u,h=Qy;if(!Nr(this,cr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&Nr(this,cr).contains("nospace")))switch(e.key){case" ":case"k":o=this.getAttribute(A.MEDIA_PAUSED)!=null?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new w.CustomEvent(o,{composed:!0,bubbles:!0}));break;case"m":o=this.getAttribute(A.MEDIA_VOLUME_LEVEL)==="off"?se.MEDIA_UNMUTE_REQUEST:se.MEDIA_MUTE_REQUEST,this.dispatchEvent(new w.CustomEvent(o,{composed:!0,bubbles:!0}));break;case"f":o=this.getAttribute(A.MEDIA_IS_FULLSCREEN)!=null?se.MEDIA_EXIT_FULLSCREEN_REQUEST:se.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new w.CustomEvent(o,{composed:!0,bubbles:!0}));break;case"c":Wi(this);break;case"ArrowLeft":l=this.getAttribute(A.MEDIA_CURRENT_TIME),d=l&&!Number.isNaN(+l)?+l:Um,c=Math.max(d-h,0),u=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:c}),this.dispatchEvent(u);break;case"ArrowRight":l=this.getAttribute(A.MEDIA_CURRENT_TIME),d=l&&!Number.isNaN(+l)?+l:Um,c=Math.max(d+h,0),u=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:c}),this.dispatchEvent(u);break;default:break}}};cr=new WeakMap;En=new WeakMap;As=new WeakSet;yn=function(r){let{key:e}=r;if(!Hm.includes(e)){this.removeEventListener("keyup",_s(this,As,yn));return}this.keyboardShortcutHandler(r)};Ya=new WeakSet;Pd=function(r){let{metaKey:e,altKey:t,key:i}=r;if(e||t||!Hm.includes(i)){this.removeEventListener("keyup",_s(this,As,yn));return}[" ","ArrowLeft","ArrowRight"].includes(i)&&!(Nr(this,cr).contains(`no${i.toLowerCase()}`)||i===" "&&Nr(this,cr).contains("nospace"))&&r.preventDefault(),this.addEventListener("keyup",_s(this,As,yn),{once:!0})};var Zy=Object.values(A),Jy=Object.values(wr),Fd=r=>{var e,t,i,s;let{observedAttributes:n}=r.constructor;!n&&((e=r.nodeName)==null?void 0:e.includes("-"))&&(w.customElements.upgrade(r),{observedAttributes:n}=r.constructor);let a=(s=(i=(t=r==null?void 0:r.getAttribute)==null?void 0:t.call(r,_e.MEDIA_CHROME_ATTRIBUTES))==null?void 0:i.split)==null?void 0:s.call(i,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>Zy.includes(o)):[]},eb=r=>{var e,t;return((e=r.nodeName)==null?void 0:e.includes("-"))&&!!w.customElements.get((t=r.nodeName)==null?void 0:t.toLowerCase())&&!(r instanceof w.customElements.get(r.nodeName.toLowerCase()))&&w.customElements.upgrade(r),Jy.some(i=>i in r)},Nd=r=>eb(r)||!!Fd(r).length,Fm=r=>{var e;return(e=r==null?void 0:r.join)==null?void 0:e.call(r,":")},Bm={[A.MEDIA_SUBTITLES_LIST]:Or,[A.MEDIA_SUBTITLES_SHOWING]:Or,[A.MEDIA_SEEKABLE]:Fm,[A.MEDIA_BUFFERED]:r=>r==null?void 0:r.map(Fm).join(" "),[A.MEDIA_PREVIEW_COORDS]:r=>r==null?void 0:r.join(" "),[A.MEDIA_RENDITION_LIST]:dm,[A.MEDIA_AUDIO_TRACK_LIST]:um},tb=async(r,e,t)=>{var i,s;if(r.isConnected||await ka(0),typeof t=="boolean"||t==null)return Ke(r,e,t);if(typeof t=="number")return ze(r,e,t);if(typeof t=="string")return Be(r,e,t);if(Array.isArray(t)&&!t.length)return r.removeAttribute(e);let n=(s=(i=Bm[e])==null?void 0:i.call(Bm,t))!=null?s:t;return r.setAttribute(e,n)},ib=r=>{var e;return!!((e=r.closest)!=null&&e.call(r,'*[slot="media"]'))},Pr=(r,e)=>{if(ib(r))return;let t=(s,n)=>{var a,o;Nd(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(u=>Pr(u,n))},i=r==null?void 0:r.nodeName.toLowerCase();if(i.includes("-")&&!Nd(r)){w.customElements.whenDefined(i).then(()=>{t(r,e)});return}t(r,e)},$m=(r,e,t)=>{r.forEach(i=>{if(e in i){i[e]=t;return}let s=Fd(i),n=e.toLowerCase();!s.includes(n)||tb(i,n,t)})},Gm=(r,e)=>{for(let t of r){if(e in t)return t[e];let i=Fd(t),s=e.toLowerCase();if(!!i.includes(s))return t.getAttribute(s)}},rb=(r,e,t)=>{Pr(r,e);let i=c=>{var u;let h=(u=c==null?void 0:c.composedPath()[0])!=null?u:c.target;e(h)},s=c=>{var u;let h=(u=c==null?void 0:c.composedPath()[0])!=null?u:c.target;t(h)};r.addEventListener(se.REGISTER_MEDIA_STATE_RECEIVER,i),r.addEventListener(se.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=c=>{c.forEach(u=>{let{addedNodes:h=[],removedNodes:f=[],type:g,target:E,attributeName:T}=u;g==="childList"?(Array.prototype.forEach.call(h,S=>Pr(S,e)),Array.prototype.forEach.call(f,S=>Pr(S,t))):g==="attributes"&&T===_e.MEDIA_CHROME_ATTRIBUTES&&(Nd(E)?e(E):t(E))})},a=[],o=c=>{let u=c.target;u.name!=="media"&&(a.forEach(h=>Pr(h,t)),a=[...u.assignedElements({flatten:!0})],a.forEach(h=>Pr(h,e)))};r.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(r,{childList:!0,attributes:!0,subtree:!0}),()=>{Pr(r,t),r.removeEventListener("slotchange",o),l.disconnect(),r.removeEventListener(se.REGISTER_MEDIA_STATE_RECEIVER,i),r.removeEventListener(se.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};w.customElements.get("media-controller")||w.customElements.define("media-controller",ja);var Bd=ja;var sb=Object.defineProperty,nb=(r,e,t)=>e in r?sb(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ab=(r,e,t)=>(nb(r,typeof e!="symbol"?e+"":e,t),t),Km=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ur=(r,e,t)=>(Km(r,e,"read from private field"),t?t.call(r):e.get(r)),$d=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},za=(r,e,t,i)=>(Km(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Ii,Xa,Qa,Wm=Y.createElement("template"),Vm=`
220
+ `;var $y=Object.values(S),Gy="sm:384 md:576 lg:768 xl:960";function Hy(r){for(let e of r)Vy(e.target,e.contentRect.width)}function Vy(r,e){var t;if(!r.isConnected)return;let i=(t=r.getAttribute(Ge.BREAKPOINTS))!=null?t:Gy,s=Ky(i),n=Wy(s,e),a=!1;if(Object.keys(s).forEach(o=>{if(n.includes(o)){r.hasAttribute(`breakpoint${o}`)||(r.setAttribute(`breakpoint${o}`,""),a=!0);return}r.hasAttribute(`breakpoint${o}`)&&(r.removeAttribute(`breakpoint${o}`),a=!0)}),a){let o=new CustomEvent(vs.BREAKPOINTS_CHANGE,{detail:n});r.dispatchEvent(o)}}function Ky(r){let e=r.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function Wy(r,e){return Object.keys(r).filter(t=>e>=r[t])}var Ba=class extends w.HTMLElement{constructor(){super(),By(this,"breakpointsUncomputed",!0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Im.content.cloneNode(!0)));let e=l=>{let d=this.media;for(let c of l)c.type==="childList"&&(c.removedNodes.forEach(u=>{if(u.slot=="media"&&c.target==this){let h=c.previousSibling&&c.previousSibling.previousElementSibling;if(!h||!d)this.mediaUnsetCallback(u);else{let f=h.slot!=="media";for(;(h=h.previousSibling)!==null;)h.slot=="media"&&(f=!1);f&&this.mediaUnsetCallback(u)}}}),d&&c.addedNodes.forEach(u=>{u==d&&this.handleMediaUpdated(d).then(h=>this.mediaSetCallback(h))}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0});let i=!1,s=l=>{i||(setTimeout(()=>{Hy(l),i=!1,this.breakpointsUncomputed=!1},0),i=!0)},n=new ResizeObserver(s);this.resizeObserver=n,n.observe(this);let a=this.media,o=this.querySelector(":scope > slot[slot=media]");o&&o.addEventListener("slotchange",()=>{if(!o.assignedElements({flatten:!0}).length){this.mediaUnsetCallback(a);return}this.media&&(a=this.media,this.handleMediaUpdated(this.media).then(d=>this.mediaSetCallback(d)))})}static get observedAttributes(){return[Ge.AUTOHIDE,Ge.GESTURES_DISABLED].concat($y).filter(e=>![S.MEDIA_RENDITION_LIST,S.MEDIA_AUDIO_TRACK_LIST].includes(e))}attributeChangedCallback(e,t,i){e.toLowerCase()==Ge.AUTOHIDE&&(this.autohide=i)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}mediaSetCallback(e){this._mediaClickPlayToggle=()=>{let t=e.paused?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new w.CustomEvent(t,{composed:!0,bubbles:!0}))}}handleMediaUpdated(e){let t=n=>Promise.resolve(n),i=n=>(console.error('<media-chrome>: Media element set with slot="media" does not appear to be compatible.',n),Promise.reject(n));if(!e)return i(e);let s=e.nodeName.toLowerCase();return s.includes("-")?w.customElements.whenDefined(s).then(()=>t(e)):t(e)}mediaUnsetCallback(e){}connectedCallback(){var e;let i=this.getAttribute(Ge.AUDIO)!=null?Dt.AUDIO_PLAYER():Dt.VIDEO_PLAYER();this.setAttribute("role","region"),this.setAttribute("aria-label",i),this.media&&this.handleMediaUpdated(this.media).then(o=>this.mediaSetCallback(o)),this.setAttribute(Ge.USER_INACTIVE,"");let s=()=>{if(this.autohide<0||this.hasAttribute(Ge.USER_INACTIVE))return;this.setAttribute(Ge.USER_INACTIVE,"");let o=new w.CustomEvent(vs.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(o)},n=()=>{if(!this.hasAttribute(Ge.USER_INACTIVE))return;this.removeAttribute(Ge.USER_INACTIVE);let o=new w.CustomEvent(vs.USER_INACTIVE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(o)},a=()=>{n(),clearTimeout(this._inactiveTimeout),!(this.autohide<0)&&(this._inactiveTimeout=setTimeout(()=>{s()},this.autohide*1e3))};this.addEventListener("keyup",()=>{a()}),this.addEventListener("pointerup",o=>{o.pointerType==="touch"?[this,this.media].includes(o.target)&&!this.hasAttribute(Ge.USER_INACTIVE)?s():a():o.composedPath().some(l=>{var d;return["media-play-button","media-fullscreen-button"].includes((d=l==null?void 0:l.nodeName)==null?void 0:d.toLowerCase())})&&a()}),this.addEventListener("pointermove",o=>{o.pointerType==="mouse"&&(n(),clearTimeout(this._inactiveTimeout),[this,this.media].includes(o.target)&&a())}),this.addEventListener("mouseleave",()=>{s()}),this.addEventListener("keyup",()=>{this.setAttribute(Ge.KEYBOARD_CONTROL,"")}),(e=w.window)==null||e.addEventListener("mouseup",()=>{this.removeAttribute(Ge.KEYBOARD_CONTROL)})}set autohide(e){e=Number(e),this._autohide=isNaN(e)?0:e}get autohide(){return this._autohide===void 0?2:this._autohide}};var Lm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Tt=(r,e,t)=>(Lm(r,e,"read from private field"),t?t.call(r):e.get(r)),gn=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},$a=(r,e,t,i)=>(Lm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),bs,Ts,Ga,Mr,Ki,lr,dr=class{constructor(e,t,{defaultValue:i}={defaultValue:void 0}){gn(this,Ki),gn(this,bs,void 0),gn(this,Ts,void 0),gn(this,Ga,void 0),gn(this,Mr,new Set),$a(this,bs,e),$a(this,Ts,t),$a(this,Ga,new Set(i))}[Symbol.iterator](){return Tt(this,Ki,lr).values()}get length(){return Tt(this,Ki,lr).size}get value(){var e;return(e=[...Tt(this,Ki,lr)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&($a(this,Mr,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...Tt(this,Ki,lr)][e]}values(){return Tt(this,Ki,lr).values()}forEach(e){Tt(this,Ki,lr).forEach(e)}add(...e){var t,i;e.forEach(s=>Tt(this,Mr).add(s)),!(this.value===""&&!((t=Tt(this,bs))!=null&&t.hasAttribute(`${Tt(this,Ts)}`)))&&((i=Tt(this,bs))==null||i.setAttribute(`${Tt(this,Ts)}`,`${this.value}`))}remove(...e){var t;e.forEach(i=>Tt(this,Mr).delete(i)),(t=Tt(this,bs))==null||t.setAttribute(`${Tt(this,Ts)}`,`${this.value}`)}contains(e){return Tt(this,Ki,lr).has(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};bs=new WeakMap;Ts=new WeakMap;Ga=new WeakMap;Mr=new WeakMap;Ki=new WeakSet;lr=function(){return Tt(this,Mr).size?Tt(this,Mr):Tt(this,Ga)};var km=(r="")=>r.split(/\s+/),Rm=(r="")=>{let[e,t,i]=r.split(":"),s=i?decodeURIComponent(i):void 0;return e=e==="cc"?"captions":"subtitles",{kind:e,language:t,label:s}},vn=(r="",e={})=>km(r).map(t=>{let i=Rm(t);return{...e,...i}}),qy=r=>Array.isArray(r)?r.map(e=>typeof e=="string"?Rm(e):e):typeof r=="string"?vn(r):[r],Ha=({kind:r,label:e,language:t}={kind:"subtitles"})=>e?`${r==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,Or=(r=[])=>Array.prototype.map.call(r,Ha).join(" "),Yy=(r,e)=>t=>t[r]===e,wm=r=>{let e=Object.entries(r).map(([t,i])=>Yy(t,i));return t=>e.every(i=>i(t))},Dd=(r,e=[],t=[])=>{let i=qy(t).map(wm),s=n=>i.some(a=>a(n));Array.from(e).filter(s).forEach(n=>{n.mode=r})},Va=(r,e=()=>!0)=>{if(!(r!=null&&r.textTracks))return[];let t=typeof e=="function"?e:wm(e);return Array.from(r.textTracks).filter(t)},Cd=r=>!!r.getAttribute(S.MEDIA_SUBTITLES_SHOWING),Wi=(r,e)=>{var t,i;let s=Cd(r);if(s||e===!1){let n=r.getAttribute(S.MEDIA_SUBTITLES_SHOWING);if(n){let a=new w.CustomEvent(se.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:n});r.dispatchEvent(a)}}else if(!s||e===!0){let[n]=(i=km((t=r.getAttribute(S.MEDIA_SUBTITLES_LIST))!=null?t:""))!=null?i:[];if(n){let a=new w.CustomEvent(se.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:n});r.dispatchEvent(a)}}else console.error("Attempting to enable captions or subtitles but none are available! Please verify your media content if this is unexpected.")};var ot={enter:"requestFullscreen",exit:"exitFullscreen",rootEvents:["fullscreenchange"],mediaEvents:[],element:"fullscreenElement",error:"fullscreenerror",enabled:"fullscreenEnabled"};Y.fullscreenElement===void 0&&(ot.enter="webkitRequestFullScreen",ot.exit=Y.webkitExitFullscreen!=null?"webkitExitFullscreen":"webkitCancelFullScreen",ot.rootEvents=["webkitfullscreenchange"],ot.mediaEvents=["webkitbeginfullscreen","webkitendfullscreen"],ot.element="webkitFullscreenElement",ot.error="webkitfullscreenerror",ot.enabled="webkitFullscreenEnabled");var Ka,Md=()=>{var r,e;return Ka||(Ka=(e=(r=Y)==null?void 0:r.createElement)==null?void 0:e.call(r,"video"),Ka)},Dm=async(r=Md())=>{if(!r)return!1;let e=r.volume;return r.volume=e/2+.1,await wa(0),r.volume!==e},jy=(r=Md())=>typeof(r==null?void 0:r.requestPictureInPicture)=="function",zy=(r=Md())=>{let e=Y[ot.enabled];return!e&&r&&(e="webkitSupportsFullscreen"in r),e},Od=zy(),Cm=jy(),Mm=!!w.WebKitPlaybackTargetAvailabilityEvent,Om=!!w.chrome;var Wa,Pm=Dm().then(r=>(Wa=r,Wa)),Xy=Object.values(hi),Pd=r=>Va(r.media,e=>[Es.SUBTITLES,Es.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),Qy=r=>Va(r.media,e=>e.mode===La.SHOWING&&[Es.SUBTITLES,Es.CAPTIONS].includes(e.kind)),Vt={MEDIA_PAUSED:{get:function(r){let{media:e}=r;return e?e.paused:!0},mediaEvents:["play","playing","pause","emptied"]},MEDIA_HAS_PLAYED:{get:function(r){let{media:e}=r;return e?!e.paused:!1},mediaEvents:["playing","emptied"]},MEDIA_ENDED:{get:function(r){let{media:e}=r;return e?e.ended:!1},mediaEvents:["seeked","ended","emptied"]},MEDIA_PLAYBACK_RATE:{get:function(r){let{media:e}=r;return!e||typeof e.playbackRate=="undefined"?1:e.playbackRate},mediaEvents:["ratechange","loadstart"]},MEDIA_MUTED:{get:function(r){let{media:e}=r;return!e||typeof e.muted=="undefined"?!1:e.muted},mediaEvents:["volumechange"]},MEDIA_VOLUME:{get:function(r){let{media:e}=r;return!e||typeof e.volume=="undefined"?1:Number(e.volume)},mediaEvents:["volumechange"]},MEDIA_VOLUME_LEVEL:{get:function(r){let{media:e}=r,t="high";if(!e||typeof e.volume=="undefined")return t;let{muted:i,volume:s}=e;return s===0||i?t="off":s<.5?t="low":s<.75&&(t="medium"),t},mediaEvents:["volumechange"]},MEDIA_CURRENT_TIME:{get:function(r){let{media:e}=r;return!e||typeof e.currentTime=="undefined"?0:e.currentTime},mediaEvents:["timeupdate","loadedmetadata"]},MEDIA_DURATION:{get:function(r){let{media:e}=r;return!e||!Number.isFinite(e.duration)?NaN:e.duration},mediaEvents:["durationchange","loadedmetadata","emptied"]},MEDIA_SEEKABLE:{get:function(r){var e;let{media:t}=r;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let i=t.seekable.start(0),s=t.seekable.end(t.seekable.length-1);if(!(!i&&!s))return[Number(i.toFixed(3)),Number(s.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress"]},MEDIA_LOADING:{get:function(r){var e;return((e=r.media)==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},MEDIA_BUFFERED:{get:function(r){var e,t,i;let s=(e=r.media)==null?void 0:e.buffered;return Array.from((i=(t=r.media)==null?void 0:t.buffered)!=null?i:[]).map((n,a)=>[Number(s.start(a)).toFixed(3),Number(s.end(a)).toFixed(3)])},mediaEvents:["progress","emptied"]},MEDIA_STREAM_TYPE:{get:function(r){let{media:e}=r;if(!e)return;let{streamType:t}=e;if(Xy.includes(t)){if(t===hi.UNKNOWN){let s=r.getAttribute("defaultstreamtype");return[hi.LIVE,hi.ON_DEMAND].includes(s)?s:void 0}return t}let i=e.duration;if(i===1/0)return hi.LIVE;if(Number.isFinite(i))return hi.ON_DEMAND;{let s=r.getAttribute("defaultstreamtype");if([hi.LIVE,hi.ON_DEMAND].includes(s))return s}},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},MEDIA_TARGET_LIVE_WINDOW:{get:function(r){let{media:e}=r;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,i=Vt.MEDIA_STREAM_TYPE.get(r);return(t==null||Number.isNaN(t))&&i===hi.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},MEDIA_TIME_IS_LIVE:{get:function(r){let{media:e}=r;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(Vt.MEDIA_STREAM_TYPE.get(r)==="live"))return!1;let i=e.seekable;if(!i)return!0;if(!i.length)return!1;let s=r.hasAttribute("liveedgeoffset")?Number(r.getAttribute("liveedgeoffset")):10,n=i.end(i.length-1)-s;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},MEDIA_IS_FULLSCREEN:{get:function(r,e){var t;let i=r.media;if(i&&Y[ot.element]===void 0&&"webkitDisplayingFullscreen"in i)return i.webkitDisplayingFullscreen&&i.webkitPresentationMode==="fullscreen";let s;return e?s=Y[ot.element]?e.target:null:s=(t=r.getRootNode().fullscreenElement)!=null?t:Y[ot.element],pn(r.fullscreenElement,s)},rootEvents:ot.rootEvents,mediaEvents:ot.mediaEvents},MEDIA_IS_PIP:{get:function(r,e){var t;let i=r.media;if(!i)return!1;if(e)return e.type=="enterpictureinpicture";{let s=(t=r.getRootNode().pictureInPictureElement)!=null?t:Y.pictureInPictureElement;return pn(i,s)}},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},MEDIA_IS_CASTING:{get:function(r,e){var t;let{media:i}=r;if(!i)return!1;let s=(t=w.CastableVideoElement)==null?void 0:t.castElement,n=pn(i,s);return(e==null?void 0:e.type)==="castchange"&&(e==null?void 0:e.detail)==="CONNECTING"&&(n="connecting"),n},mediaEvents:["entercast","leavecast","castchange"]},MEDIA_AIRPLAY_UNAVAILABLE:{get:function(r,e){if(!Mm)return Zt.UNSUPPORTED;if(!!e&&e.availability!=="available"&&e.availability==="not-available")return Zt.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"]},MEDIA_CAST_UNAVAILABLE:{get:function(){var r;let e=(r=w.CastableVideoElement)==null?void 0:r.castState;if(!Om||!e)return Zt.UNSUPPORTED;if(!e.includes("CONNECT"))return Zt.UNAVAILABLE},mediaEvents:["castchange"]},MEDIA_FULLSCREEN_UNAVAILABLE:{get:function(){return Od?void 0:Zt.UNAVAILABLE}},MEDIA_PIP_UNAVAILABLE:{get:function(){return Cm?void 0:Zt.UNSUPPORTED}},MEDIA_RENDITION_UNAVAILABLE:{get:function(r){var e;let{media:t}=r;if(!(t!=null&&t.videoRenditions))return Zt.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Zt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},MEDIA_AUDIO_TRACK_UNAVAILABLE:{get:function(r){var e,t;let{media:i}=r;if(!(i!=null&&i.audioTracks))return Zt.UNSUPPORTED;if(((t=(e=i.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Zt.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},MEDIA_VOLUME_UNAVAILABLE:{get:function(r){if(Wa!==void 0&&!Wa)return Zt.UNSUPPORTED;let{media:e}=r;if(e&&typeof e.volume=="undefined")return Zt.UNAVAILABLE},mediaEvents:["loadstart"]},MEDIA_SUBTITLES_LIST:{get:function(r){return Pd(r).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},MEDIA_SUBTITLES_SHOWING:{get:function(r){return r.hasAttribute("defaultsubtitles")&&!r.hasAttribute(S.MEDIA_HAS_PLAYED)&&!r.hasAttribute(S.MEDIA_SUBTITLES_SHOWING)&&Wi(r,!0),Qy(r).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"]},MEDIA_RENDITION_LIST:{get:function(r){var e;let{media:t}=r;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]]},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},MEDIA_RENDITION_SELECTED:{get:function(r){var e,t,i;let{media:s}=r;return(i=(t=s==null?void 0:s.videoRenditions)==null?void 0:t[(e=s.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:i.id},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},MEDIA_AUDIO_TRACK_LIST:{get:function(r){var e;let{media:t}=r;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},MEDIA_AUDIO_TRACK_ENABLED:{get:function(r){var e,t;let{media:i}=r;return(t=[...(e=i==null?void 0:i.audioTracks)!=null?e:[]].find(s=>s.enabled))==null?void 0:t.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]}},qa={MEDIA_PLAY_REQUEST:(r,e,t)=>{var i;let s=Vt.MEDIA_STREAM_TYPE.get(t),n=t.getAttribute("noautoseektolive")===null;s==hi.LIVE&&n&&qa.MEDIA_SEEK_TO_LIVE_REQUEST(r),(i=r.play())==null||i.catch(()=>{})},MEDIA_PAUSE_REQUEST:r=>r.pause(),MEDIA_MUTE_REQUEST:r=>r.muted=!0,MEDIA_UNMUTE_REQUEST:r=>{r.muted=!1,r.volume===0&&(r.volume=.25)},MEDIA_VOLUME_REQUEST:(r,e,t)=>{let i=e.detail;if(r.volume=i,i>0&&r.muted&&(r.muted=!1),!t.hasAttribute("novolumepref"))try{w.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch{}},MEDIA_ENTER_FULLSCREEN_REQUEST:(r,e,t)=>{if(!Od){console.warn("Fullscreen support is unavailable; not entering fullscreen");return}Y.pictureInPictureElement&&Y.exitPictureInPicture(),t[ot.enter]?t.fullscreenElement[ot.enter]():r.webkitEnterFullscreen?r.webkitEnterFullscreen():r.requestFullscreen?r.requestFullscreen():console.warn("MediaChrome: Fullscreen not supported")},MEDIA_EXIT_FULLSCREEN_REQUEST:()=>{Y[ot.exit]()},MEDIA_ENTER_PIP_REQUEST:r=>{if(!Y.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!r.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}Y[ot.element]&&Y[ot.exit]();let e=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};r.requestPictureInPicture().catch(t=>{if(t.code===11)if(r.readyState===0&&r.preload==="none"){let i=()=>{r.removeEventListener("loadedmetadata",s),r.preload="none"},s=()=>{r.requestPictureInPicture().catch(e),i()};r.addEventListener("loadedmetadata",s),r.preload="metadata",setTimeout(()=>{r.readyState===0&&e(),i()},1e3)}else throw t;else throw t})},MEDIA_EXIT_PIP_REQUEST:()=>{Y.pictureInPictureElement&&Y.exitPictureInPicture()},MEDIA_ENTER_CAST_REQUEST:r=>{var e;!((e=w.CastableVideoElement)!=null&&e.castEnabled)||(Y[ot.element]&&Y[ot.exit](),r.requestCast())},MEDIA_EXIT_CAST_REQUEST:async()=>{var r;(r=w.CastableVideoElement)!=null&&r.castElement&&w.CastableVideoElement.exitCast()},MEDIA_SEEK_REQUEST:(r,e)=>{let t=e.detail;(r.readyState>0||r.readyState===void 0)&&(r.currentTime=t)},MEDIA_PLAYBACK_RATE_REQUEST:(r,e)=>{r.playbackRate=e.detail},MEDIA_PREVIEW_REQUEST:(r,e,t)=>{var i;if(!r)return;let s=e.detail;s===null&&t.propagateMediaState(S.MEDIA_PREVIEW_TIME,void 0),t.propagateMediaState(S.MEDIA_PREVIEW_TIME,s);let[n]=Va(r,{kind:Es.METADATA,label:"thumbnails"});if(!(n&&n.cues))return;if(s===null){t.propagateMediaState(S.MEDIA_PREVIEW_IMAGE,void 0),t.propagateMediaState(S.MEDIA_PREVIEW_COORDS,void 0);return}let a=Array.prototype.find.call(n.cues,c=>c.startTime>=s);if(!a)return;let o=/'^(?:[a-z]+:)?\/\//i.test(a.text)||(i=r.querySelector('track[label="thumbnails"]'))==null?void 0:i.src,l=new URL(a.text,o),d=new URLSearchParams(l.hash).get("#xywh");t.propagateMediaState(S.MEDIA_PREVIEW_IMAGE,l.href),t.propagateMediaState(S.MEDIA_PREVIEW_COORDS,d.split(","))},MEDIA_SHOW_SUBTITLES_REQUEST:(r,e,t)=>{let i=Pd(t),{detail:s=[]}=e;Dd(La.SHOWING,i,s)},MEDIA_DISABLE_SUBTITLES_REQUEST:(r,e,t)=>{let i=Pd(t),{detail:s=[]}=e;Dd(La.DISABLED,i,s)},MEDIA_AIRPLAY_REQUEST:r=>{if(!!r){if(!(r.webkitShowPlaybackTargetPicker&&w.WebKitPlaybackTargetAvailabilityEvent)){console.warn("received a request to select AirPlay but AirPlay is not supported in this environment");return}r.webkitShowPlaybackTargetPicker()}},MEDIA_SEEK_TO_LIVE_REQUEST:r=>{let e=r.seekable;if(!e){console.warn("MediaController: Media element does not support seeking to live.");return}if(!e.length){console.warn("MediaController: Media is unable to seek to live.");return}r.currentTime=e.end(e.length-1)},MEDIA_RENDITION_REQUEST:(r,e)=>{if(!(r!=null&&r.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let t=e.detail,i=[...r.videoRenditions].findIndex(s=>s.id==t);r.videoRenditions.selectedIndex!=i&&(r.videoRenditions.selectedIndex=i)},MEDIA_AUDIO_TRACK_REQUEST:(r,e)=>{if(!(r!=null&&r.audioTracks)){console.warn("MediaController: Audio track selection not supported by this media.");return}let t=e.detail;for(let i of r.audioTracks)i.enabled=t==i.id}};var Fd=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Nr=(r,e,t)=>(Fd(r,e,"read from private field"),t?t.call(r):e.get(r)),Ya=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Nm=(r,e,t,i)=>(Fd(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),_s=(r,e,t)=>(Fd(r,e,"access private method"),t),cr,En,As,yn,ja,Nd,Hm=["ArrowLeft","ArrowRight","Enter"," ","f","m","k","c"],Zy=10,Um=0,Kt={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYS_USED:"keysused",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_HOTKEYS:"nohotkeys"},za=class extends Ba{constructor(){super(),Ya(this,As),Ya(this,ja),Ya(this,cr,new dr(this,Kt.HOTKEYS)),Ya(this,En,void 0),Vt.MEDIA_VOLUME_UNAVAILABLE.get(this)===void 0&&Pm.then(()=>{this.propagateMediaState(S.MEDIA_VOLUME_UNAVAILABLE,Vt.MEDIA_VOLUME_UNAVAILABLE.get(this))}),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,this.associateElement(this),Object.keys(qa).forEach(e=>{let t=`_handle${ka(e,!0)}`;this[t]=i=>{if(i.stopPropagation(),!this.media){console.warn("MediaController: No media available.");return}qa[e](this.media,i,this)},this.addEventListener(se[e],this[t])}),this._mediaStatePropagators={},Object.keys(Vt).forEach(e=>{this._mediaStatePropagators[e]=t=>{this.propagateMediaState(wr[e],Vt[e].get(this,t))}}),this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(Kt.NO_HOTKEYS,Kt.HOTKEYS,Kt.DEFAULT_STREAM_TYPE,Kt.DEFAULT_SUBTITLES)}get fullscreenElement(){var e;return(e=Nr(this,En))!=null?e:this}set fullscreenElement(e){this.hasAttribute(Kt.FULLSCREEN_ELEMENT)&&this.removeAttribute(Kt.FULLSCREEN_ELEMENT),Nm(this,En,e)}attributeChangedCallback(e,t,i){var s;if(e===Kt.NO_HOTKEYS)i!==t&&i===""?(this.hasAttribute(Kt.HOTKEYS)&&console.warn("Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):i!==t&&i===null&&this.enableHotkeys();else if(e===Kt.HOTKEYS)Nr(this,cr).value=i;else if(e===Kt.DEFAULT_SUBTITLES&&i!==t&&i==="")Wi(this,!0);else if(e===Kt.DEFAULT_STREAM_TYPE)this.propagateMediaState(wr.MEDIA_STREAM_TYPE);else if(e===Kt.FULLSCREEN_ELEMENT){let n=i?(s=this.getRootNode())==null?void 0:s.getElementById(i):void 0;Nm(this,En,n)}super.attributeChangedCallback(e,t,i)}mediaSetCallback(e){if(super.mediaSetCallback(e),e.hasAttribute("tabindex")||(e.tabIndex=-1),Object.keys(Vt).forEach(t=>{let{mediaEvents:i,rootEvents:s,textTracksEvents:n,videoRenditionsEvents:a,audioTracksEvents:o}=Vt[t],l=this._mediaStatePropagators[t];i==null||i.forEach(d=>{e.addEventListener(d,l),l()}),s==null||s.forEach(d=>{this.getRootNode().addEventListener(d,l),l()}),n==null||n.forEach(d=>{var c;(c=e.textTracks)==null||c.addEventListener(d,l),l()}),a==null||a.forEach(d=>{var c;(c=e.videoRenditions)==null||c.addEventListener(d,l),l()}),o==null||o.forEach(d=>{var c;(c=e.audioTracks)==null||c.addEventListener(d,l),l()})}),!this.hasAttribute("novolumepref"))try{let t=w.localStorage.getItem("media-chrome-pref-volume");t!==null&&(e.volume=t)}catch(t){console.debug("Error getting volume pref",t)}}mediaUnsetCallback(e){super.mediaUnsetCallback(e),Object.keys(Vt).forEach(t=>{let{mediaEvents:i,rootEvents:s,textTracksEvents:n,videoRenditionsEvents:a,audioTracksEvents:o}=Vt[t],l=this._mediaStatePropagators[t];i==null||i.forEach(d=>{e.removeEventListener(d,l)}),s==null||s.forEach(d=>{this.getRootNode().removeEventListener(d,l)}),n==null||n.forEach(d=>{var c;(c=e.textTracks)==null||c.removeEventListener(d,l)}),a==null||a.forEach(d=>{var c;(c=e.videoRenditions)==null||c.removeEventListener(d,l),l()}),o==null||o.forEach(d=>{var c;(c=e.audioTracks)==null||c.removeEventListener(d,l),l()})}),this.propagateMediaState(wr.MEDIA_PAUSED,!0)}propagateMediaState(e,t){let i=Gm(this.mediaStateReceivers,e);if($m(this.mediaStateReceivers,e,t),i===Gm(this.mediaStateReceivers,e))return;let s=e.toLowerCase(),n=new w.CustomEvent(lm[s],{composed:!0,bubbles:!0,detail:t});this.dispatchEvent(n)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let i=this.registerMediaStateReceiver.bind(this),s=this.unregisterMediaStateReceiver.bind(this),n=sb(e,i,s);Object.keys(se).forEach(a=>{e.addEventListener(se[a],this[`_handle${ka(a,!0)}`])}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.keys(se).forEach(s=>{e.removeEventListener(se[s],this[`_handle${ka(s,!0)}`])})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),Object.keys(Vt).forEach(s=>{let n=Vt[s];$m([e],wr[s],n.get(this))}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,i=t.indexOf(e);i<0||t.splice(i,1)}enableHotkeys(){this.addEventListener("keydown",_s(this,ja,Nd))}disableHotkeys(){this.removeEventListener("keydown",_s(this,ja,Nd)),this.removeEventListener("keyup",_s(this,As,yn))}get hotkeys(){return Nr(this,cr)}keyboardShortcutHandler(e){var t,i,s,n;if(((n=(s=(t=e.target.getAttribute(Kt.KEYS_USED))==null?void 0:t.split(" "))!=null?s:(i=e.target)==null?void 0:i.keysUsed)!=null?n:[]).map(f=>f==="Space"?" ":f).filter(Boolean).includes(e.key))return;let o,l,d,c,u,h=Zy;if(!Nr(this,cr).contains(`no${e.key.toLowerCase()}`)&&!(e.key===" "&&Nr(this,cr).contains("nospace")))switch(e.key){case" ":case"k":o=this.getAttribute(S.MEDIA_PAUSED)!=null?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new w.CustomEvent(o,{composed:!0,bubbles:!0}));break;case"m":o=this.getAttribute(S.MEDIA_VOLUME_LEVEL)==="off"?se.MEDIA_UNMUTE_REQUEST:se.MEDIA_MUTE_REQUEST,this.dispatchEvent(new w.CustomEvent(o,{composed:!0,bubbles:!0}));break;case"f":o=this.getAttribute(S.MEDIA_IS_FULLSCREEN)!=null?se.MEDIA_EXIT_FULLSCREEN_REQUEST:se.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new w.CustomEvent(o,{composed:!0,bubbles:!0}));break;case"c":Wi(this);break;case"ArrowLeft":l=this.getAttribute(S.MEDIA_CURRENT_TIME),d=l&&!Number.isNaN(+l)?+l:Um,c=Math.max(d-h,0),u=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:c}),this.dispatchEvent(u);break;case"ArrowRight":l=this.getAttribute(S.MEDIA_CURRENT_TIME),d=l&&!Number.isNaN(+l)?+l:Um,c=Math.max(d+h,0),u=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:c}),this.dispatchEvent(u);break;default:break}}};cr=new WeakMap;En=new WeakMap;As=new WeakSet;yn=function(r){let{key:e}=r;if(!Hm.includes(e)){this.removeEventListener("keyup",_s(this,As,yn));return}this.keyboardShortcutHandler(r)};ja=new WeakSet;Nd=function(r){let{metaKey:e,altKey:t,key:i}=r;if(e||t||!Hm.includes(i)){this.removeEventListener("keyup",_s(this,As,yn));return}[" ","ArrowLeft","ArrowRight"].includes(i)&&!(Nr(this,cr).contains(`no${i.toLowerCase()}`)||i===" "&&Nr(this,cr).contains("nospace"))&&r.preventDefault(),this.addEventListener("keyup",_s(this,As,yn),{once:!0})};var Jy=Object.values(S),eb=Object.values(wr),Bd=r=>{var e,t,i,s;let{observedAttributes:n}=r.constructor;!n&&((e=r.nodeName)==null?void 0:e.includes("-"))&&(w.customElements.upgrade(r),{observedAttributes:n}=r.constructor);let a=(s=(i=(t=r==null?void 0:r.getAttribute)==null?void 0:t.call(r,_e.MEDIA_CHROME_ATTRIBUTES))==null?void 0:i.split)==null?void 0:s.call(i,/\s+/);return Array.isArray(n||a)?(n||a).filter(o=>Jy.includes(o)):[]},tb=r=>{var e,t;return((e=r.nodeName)==null?void 0:e.includes("-"))&&!!w.customElements.get((t=r.nodeName)==null?void 0:t.toLowerCase())&&!(r instanceof w.customElements.get(r.nodeName.toLowerCase()))&&w.customElements.upgrade(r),eb.some(i=>i in r)},Ud=r=>tb(r)||!!Bd(r).length,Fm=r=>{var e;return(e=r==null?void 0:r.join)==null?void 0:e.call(r,":")},Bm={[S.MEDIA_SUBTITLES_LIST]:Or,[S.MEDIA_SUBTITLES_SHOWING]:Or,[S.MEDIA_SEEKABLE]:Fm,[S.MEDIA_BUFFERED]:r=>r==null?void 0:r.map(Fm).join(" "),[S.MEDIA_PREVIEW_COORDS]:r=>r==null?void 0:r.join(" "),[S.MEDIA_RENDITION_LIST]:dm,[S.MEDIA_AUDIO_TRACK_LIST]:um},ib=async(r,e,t)=>{var i,s;if(r.isConnected||await wa(0),typeof t=="boolean"||t==null)return Ke(r,e,t);if(typeof t=="number")return ze(r,e,t);if(typeof t=="string")return Be(r,e,t);if(Array.isArray(t)&&!t.length)return r.removeAttribute(e);let n=(s=(i=Bm[e])==null?void 0:i.call(Bm,t))!=null?s:t;return r.setAttribute(e,n)},rb=r=>{var e;return!!((e=r.closest)!=null&&e.call(r,'*[slot="media"]'))},Pr=(r,e)=>{if(rb(r))return;let t=(s,n)=>{var a,o;Ud(s)&&n(s);let{children:l=[]}=s!=null?s:{},d=(o=(a=s==null?void 0:s.shadowRoot)==null?void 0:a.children)!=null?o:[];[...l,...d].forEach(u=>Pr(u,n))},i=r==null?void 0:r.nodeName.toLowerCase();if(i.includes("-")&&!Ud(r)){w.customElements.whenDefined(i).then(()=>{t(r,e)});return}t(r,e)},$m=(r,e,t)=>{r.forEach(i=>{if(e in i){i[e]=t;return}let s=Bd(i),n=e.toLowerCase();!s.includes(n)||ib(i,n,t)})},Gm=(r,e)=>{for(let t of r){if(e in t)return t[e];let i=Bd(t),s=e.toLowerCase();if(!!i.includes(s))return t.getAttribute(s)}},sb=(r,e,t)=>{Pr(r,e);let i=c=>{var u;let h=(u=c==null?void 0:c.composedPath()[0])!=null?u:c.target;e(h)},s=c=>{var u;let h=(u=c==null?void 0:c.composedPath()[0])!=null?u:c.target;t(h)};r.addEventListener(se.REGISTER_MEDIA_STATE_RECEIVER,i),r.addEventListener(se.UNREGISTER_MEDIA_STATE_RECEIVER,s);let n=c=>{c.forEach(u=>{let{addedNodes:h=[],removedNodes:f=[],type:g,target:E,attributeName:T}=u;g==="childList"?(Array.prototype.forEach.call(h,A=>Pr(A,e)),Array.prototype.forEach.call(f,A=>Pr(A,t))):g==="attributes"&&T===_e.MEDIA_CHROME_ATTRIBUTES&&(Ud(E)?e(E):t(E))})},a=[],o=c=>{let u=c.target;u.name!=="media"&&(a.forEach(h=>Pr(h,t)),a=[...u.assignedElements({flatten:!0})],a.forEach(h=>Pr(h,e)))};r.addEventListener("slotchange",o);let l=new MutationObserver(n);return l.observe(r,{childList:!0,attributes:!0,subtree:!0}),()=>{Pr(r,t),r.removeEventListener("slotchange",o),l.disconnect(),r.removeEventListener(se.REGISTER_MEDIA_STATE_RECEIVER,i),r.removeEventListener(se.UNREGISTER_MEDIA_STATE_RECEIVER,s)}};w.customElements.get("media-controller")||w.customElements.define("media-controller",za);var $d=za;var nb=Object.defineProperty,ab=(r,e,t)=>e in r?nb(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ob=(r,e,t)=>(ab(r,typeof e!="symbol"?e+"":e,t),t),Km=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ur=(r,e,t)=>(Km(r,e,"read from private field"),t?t.call(r):e.get(r)),Gd=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Xa=(r,e,t,i)=>(Km(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Ii,Qa,Za,Wm=Y.createElement("template"),Vm=`
221
221
  height: var(--thumb-height);
222
222
  width: var(--media-range-thumb-width, 10px);
223
223
  border: var(--media-range-thumb-border, none);
@@ -228,7 +228,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
228
228
  transition: var(--media-range-thumb-transition, none);
229
229
  transform: var(--media-range-thumb-transform, none);
230
230
  opacity: var(--media-range-thumb-opacity, 1);
231
- `,Gd=`
231
+ `,Hd=`
232
232
  min-width: 40px;
233
233
  height: var(--track-height);
234
234
  border: var(--media-range-track-border, none);
@@ -310,8 +310,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
310
310
  translate: var(--media-range-track-translate-x, 0) var(--media-range-track-translate-y, 0);
311
311
  }
312
312
 
313
- input[type=range]::-webkit-slider-runnable-track { ${Gd} }
314
- input[type=range]::-moz-range-track { ${Gd} }
313
+ input[type=range]::-webkit-slider-runnable-track { ${Hd} }
314
+ input[type=range]::-moz-range-track { ${Hd} }
315
315
  input[type=range]::-ms-track {
316
316
 
317
317
  width: 100%;
@@ -321,7 +321,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
321
321
  border-color: transparent;
322
322
  color: transparent;
323
323
 
324
- ${Gd}
324
+ ${Hd}
325
325
  }
326
326
 
327
327
  #background,
@@ -384,7 +384,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
384
384
  <div id="hoverzone"></div>
385
385
  <input id="range" type="range" min="0" max="1000" step="any" value="0">
386
386
  </div>
387
- `;var Ur=class extends w.HTMLElement{constructor(){super(),ab(this,"thumbWidth"),$d(this,Ii,void 0),$d(this,Xa,()=>{if(this.range.matches(":focus-visible")){let{style:t}=Qe(this.shadowRoot,":host");t.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),$d(this,Qa,()=>{let{style:t}=Qe(this.shadowRoot,":host");t.removeProperty("--_focus-visible-box-shadow")}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Wm.content.cloneNode(!0)));let{style:e}=Qe(this.shadowRoot,":host");e.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-block))`),this.container=this.shadowRoot.querySelector("#container"),this.range=this.shadowRoot.querySelector("#range"),this.range.addEventListener("input",this.updateBar.bind(this)),this.thumbWidth=parseInt(getComputedStyle(this).getPropertyValue("--media-range-thumb-width")||"10",10)}static get observedAttributes(){return["disabled","aria-disabled",_e.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=ur(this,Ii))==null?void 0:s.unassociateElement)==null||n.call(s,this),za(this,Ii,null)),i&&(za(this,Ii,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=ur(this,Ii))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==i)&&(i==null?this.range.removeAttribute(e):this.range.setAttribute(e,i))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(za(this,Ii,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=ur(this,Ii))==null?void 0:t.associateElement)==null||i.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",ur(this,Xa)),this.shadowRoot.addEventListener("focusout",ur(this,Qa))}disconnectedCallback(){var e,t;(t=(e=ur(this,Ii))==null?void 0:e.unassociateElement)==null||t.call(e,this),za(this,Ii,null),this.shadowRoot.removeEventListener("focusin",ur(this,Xa)),this.shadowRoot.removeEventListener("focusout",ur(this,Qa))}updatePointerBar(e){let t=this.range.getBoundingClientRect(),i=(e.clientX-t.left)/t.width;i=Math.max(0,Math.min(1,i));let{style:s}=Qe(this.shadowRoot,"#pointer");s.setProperty("width",`${i*t.width}px`)}updateBar(){let e=this.getBarColors(),t="linear-gradient(to right, ",i=0;e.forEach(n=>{n[1]<i||(t=t+`${n[0]} ${i}%, ${n[0]} ${n[1]}%,`,i=n[1])}),t=t.slice(0,t.length-1)+")";let{style:s}=Qe(this.shadowRoot,"#range");s.setProperty("--media-range-track-progress-internal",t)}getRelativeValues(){let{range:e}=this;return{relativeValue:e.value-e.min,relativeMax:e.max-e.min}}getBarColors(){let e=this.range,{relativeValue:t,relativeMax:i}=this.getRelativeValues(),s=t/i*100,n=0;return!!t&&t<i&&(n=this.thumbWidth*(.5-s/100)/e.offsetWidth*100),[["var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238)))",s+n],["var(--media-range-track-color, transparent)",100]]}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};Ii=new WeakMap;Xa=new WeakMap;Qa=new WeakMap;w.customElements.get("media-chrome-range")||w.customElements.define("media-chrome-range",Ur);var qm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Za=(r,e,t)=>(qm(r,e,"read from private field"),t?t.call(r):e.get(r)),ob=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ja=(r,e,t,i)=>(qm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Li,Ym=Y.createElement("template");Ym.innerHTML=`
387
+ `;var Ur=class extends w.HTMLElement{constructor(){super(),ob(this,"thumbWidth"),Gd(this,Ii,void 0),Gd(this,Qa,()=>{if(this.range.matches(":focus-visible")){let{style:t}=Qe(this.shadowRoot,":host");t.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),Gd(this,Za,()=>{let{style:t}=Qe(this.shadowRoot,":host");t.removeProperty("--_focus-visible-box-shadow")}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Wm.content.cloneNode(!0)));let{style:e}=Qe(this.shadowRoot,":host");e.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-block))`),this.container=this.shadowRoot.querySelector("#container"),this.range=this.shadowRoot.querySelector("#range"),this.range.addEventListener("input",this.updateBar.bind(this)),this.thumbWidth=parseInt(getComputedStyle(this).getPropertyValue("--media-range-thumb-width")||"10",10)}static get observedAttributes(){return["disabled","aria-disabled",_e.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=ur(this,Ii))==null?void 0:s.unassociateElement)==null||n.call(s,this),Xa(this,Ii,null)),i&&(Xa(this,Ii,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=ur(this,Ii))==null?void 0:o.associateElement)==null||l.call(o,this))):(e==="disabled"||e==="aria-disabled"&&t!==i)&&(i==null?this.range.removeAttribute(e):this.range.setAttribute(e,i))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Xa(this,Ii,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=ur(this,Ii))==null?void 0:t.associateElement)==null||i.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",ur(this,Qa)),this.shadowRoot.addEventListener("focusout",ur(this,Za))}disconnectedCallback(){var e,t;(t=(e=ur(this,Ii))==null?void 0:e.unassociateElement)==null||t.call(e,this),Xa(this,Ii,null),this.shadowRoot.removeEventListener("focusin",ur(this,Qa)),this.shadowRoot.removeEventListener("focusout",ur(this,Za))}updatePointerBar(e){let t=this.range.getBoundingClientRect(),i=(e.clientX-t.left)/t.width;i=Math.max(0,Math.min(1,i));let{style:s}=Qe(this.shadowRoot,"#pointer");s.setProperty("width",`${i*t.width}px`)}updateBar(){let e=this.getBarColors(),t="linear-gradient(to right, ",i=0;e.forEach(n=>{n[1]<i||(t=t+`${n[0]} ${i}%, ${n[0]} ${n[1]}%,`,i=n[1])}),t=t.slice(0,t.length-1)+")";let{style:s}=Qe(this.shadowRoot,"#range");s.setProperty("--media-range-track-progress-internal",t)}getRelativeValues(){let{range:e}=this;return{relativeValue:e.value-e.min,relativeMax:e.max-e.min}}getBarColors(){let e=this.range,{relativeValue:t,relativeMax:i}=this.getRelativeValues(),s=t/i*100,n=0;return!!t&&t<i&&(n=this.thumbWidth*(.5-s/100)/e.offsetWidth*100),[["var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238)))",s+n],["var(--media-range-track-color, transparent)",100]]}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};Ii=new WeakMap;Qa=new WeakMap;Za=new WeakMap;w.customElements.get("media-chrome-range")||w.customElements.define("media-chrome-range",Ur);var qm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Ja=(r,e,t)=>(qm(r,e,"read from private field"),t?t.call(r):e.get(r)),lb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},eo=(r,e,t,i)=>(qm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Li,Ym=Y.createElement("template");Ym.innerHTML=`
388
388
  <style>
389
389
  :host {
390
390
 
@@ -410,7 +410,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
410
410
  </style>
411
411
 
412
412
  <slot></slot>
413
- `;var Hd=class extends w.HTMLElement{constructor(){super(),ob(this,Li,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Ym.content.cloneNode(!0))),this.shadowRoot.querySelector("slot").addEventListener("slotchange",({target:e})=>{let t=e.assignedElements({flatten:!0}).every(n=>["media-time-range","media-volume-range"].includes(n.nodeName.toLowerCase())),{style:i}=Qe(this.shadowRoot,":host"),s=t?"unset":"initial";i.setProperty("--_range-auto-size",s)})}static get observedAttributes(){return[_e.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=Za(this,Li))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ja(this,Li,null)),i&&(Ja(this,Li,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=Za(this,Li))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Ja(this,Li,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=Za(this,Li))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Za(this,Li))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ja(this,Li,null)}};Li=new WeakMap;w.customElements.get("media-control-bar")||w.customElements.define("media-control-bar",Hd);var jm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},eo=(r,e,t)=>(jm(r,e,"read from private field"),t?t.call(r):e.get(r)),lb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},to=(r,e,t,i)=>(jm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Ri,zm=Y.createElement("template");zm.innerHTML=`
413
+ `;var Vd=class extends w.HTMLElement{constructor(){super(),lb(this,Li,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Ym.content.cloneNode(!0))),this.shadowRoot.querySelector("slot").addEventListener("slotchange",({target:e})=>{let t=e.assignedElements({flatten:!0}).every(n=>["media-time-range","media-volume-range"].includes(n.nodeName.toLowerCase())),{style:i}=Qe(this.shadowRoot,":host"),s=t?"unset":"initial";i.setProperty("--_range-auto-size",s)})}static get observedAttributes(){return[_e.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=Ja(this,Li))==null?void 0:s.unassociateElement)==null||n.call(s,this),eo(this,Li,null)),i&&(eo(this,Li,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=Ja(this,Li))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(eo(this,Li,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=Ja(this,Li))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=Ja(this,Li))==null?void 0:e.unassociateElement)==null||t.call(e,this),eo(this,Li,null)}};Li=new WeakMap;w.customElements.get("media-control-bar")||w.customElements.define("media-control-bar",Vd);var jm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},to=(r,e,t)=>(jm(r,e,"read from private field"),t?t.call(r):e.get(r)),db=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},io=(r,e,t,i)=>(jm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),ki,zm=Y.createElement("template");zm.innerHTML=`
414
414
  <style>
415
415
  :host {
416
416
  font: var(--media-font,
@@ -443,9 +443,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
443
443
  }
444
444
  </style>
445
445
  <slot></slot>
446
- `;var qi=class extends w.HTMLElement{constructor(){super(),lb(this,Ri,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(zm.content.cloneNode(!0)));let{style:e}=Qe(this.shadowRoot,":host");e.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`)}static get observedAttributes(){return[_e.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=eo(this,Ri))==null?void 0:s.unassociateElement)==null||n.call(s,this),to(this,Ri,null)),i&&(to(this,Ri,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=eo(this,Ri))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(to(this,Ri,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=eo(this,Ri))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=eo(this,Ri))==null?void 0:e.unassociateElement)==null||t.call(e,this),to(this,Ri,null)}};Ri=new WeakMap;w.customElements.get("media-text-display")||w.customElements.define("media-text-display",qi);var Qm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Xm=(r,e,t)=>(Qm(r,e,"read from private field"),t?t.call(r):e.get(r)),db=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},cb=(r,e,t,i)=>(Qm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),bn,Vd=class extends qi{constructor(){super(),db(this,bn,void 0),cb(this,bn,this.shadowRoot.querySelector("slot")),Xm(this,bn).textContent=Si(0)}static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_DURATION]}attributeChangedCallback(e,t,i){e===A.MEDIA_DURATION&&(Xm(this,bn).textContent=Si(i)),super.attributeChangedCallback(e,t,i)}get mediaDuration(){return Fe(this,A.MEDIA_DURATION)}set mediaDuration(e){ze(this,A.MEDIA_DURATION,e)}};bn=new WeakMap;w.customElements.get("media-duration-display")||w.customElements.define("media-duration-display",Vd);var tp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Kd=(r,e,t)=>(tp(r,e,"read from private field"),t?t.call(r):e.get(r)),ub=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},hb=(r,e,t,i)=>(tp(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Ss,hi={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Zm=[...Object.values(hi),A.MEDIA_CURRENT_TIME,A.MEDIA_DURATION,A.MEDIA_SEEKABLE],Jm=["Enter"," "],fb="&nbsp;/&nbsp;",ep=(r,{timesSep:e=fb}={})=>{var t,i,s,n;let a=r.hasAttribute(hi.REMAINING),o=r.hasAttribute(hi.SHOW_DURATION),l=(t=r.mediaCurrentTime)!=null?t:0,[,d]=(i=r.mediaSeekable)!=null?i:[],c=(n=(s=r.mediaDuration)!=null?s:d)!=null?n:0,u=a?Si(0-(c-l)):Si(l);return o?`${u}${e}${Si(c)}`:u},mb="video not loaded, unknown time.",pb=r=>{var e;let t=r.mediaCurrentTime,[,i]=(e=r.mediaSeekable)!=null?e:[],s=r.mediaDuration||i;if(t==null||s==null){r.setAttribute("aria-valuetext",mb);return}let n=r.hasAttribute(hi.REMAINING),a=r.hasAttribute(hi.SHOW_DURATION),o=n?Dr(0-(s-t)):Dr(t);if(!a){r.setAttribute("aria-valuetext",o);return}let l=Dr(s),d=`${o} of ${l}`;r.setAttribute("aria-valuetext",d)},Wd=class extends qi{constructor(){super(),ub(this,Ss,void 0),hb(this,Ss,this.shadowRoot.querySelector("slot")),Kd(this,Ss).innerHTML=`${ep(this)}`;let{style:e}=Qe(this.shadowRoot,":host:not([notoggle])");e.setProperty("cursor","pointer");let{style:t}=Qe(this.shadowRoot,":host(:hover:not([notoggle]))");t.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))")}static get observedAttributes(){return[...super.observedAttributes,...Zm,"disabled"]}connectedCallback(){this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",Dt.PLAYBACK_TIME());let e=t=>{let{key:i}=t;if(!Jm.includes(i)){this.removeEventListener("keyup",e);return}this.toggleTimeDisplay()};this.addEventListener("keydown",t=>{let{metaKey:i,altKey:s,key:n}=t;if(i||s||!Jm.includes(n)){this.removeEventListener("keyup",e);return}this.addEventListener("keyup",e)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,i){Zm.includes(e)?this.update():e==="disabled"&&i!==t&&(i==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,i)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Ye(this,hi.REMAINING)}set remaining(e){Ke(this,hi.REMAINING,e)}get showDuration(){return Ye(this,hi.SHOW_DURATION)}set showDuration(e){Ke(this,hi.SHOW_DURATION,e)}get noToggle(){return Ye(this,hi.NO_TOGGLE)}set noToggle(e){Ke(this,hi.NO_TOGGLE,e)}get mediaDuration(){return Fe(this,A.MEDIA_DURATION)}set mediaDuration(e){ze(this,A.MEDIA_DURATION,e)}get mediaCurrentTime(){return Fe(this,A.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ze(this,A.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(A.MEDIA_SEEKABLE);if(!!e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(A.MEDIA_SEEKABLE);return}this.setAttribute(A.MEDIA_SEEKABLE,e.join(":"))}update(){let e=ep(this);pb(this),e!==Kd(this,Ss).innerHTML&&(Kd(this,Ss).innerHTML=e)}};Ss=new WeakMap;w.customElements.get("media-time-display")||w.customElements.define("media-time-display",Wd);var gb=`<svg aria-hidden="true" viewBox="0 0 26 24">
446
+ `;var qi=class extends w.HTMLElement{constructor(){super(),db(this,ki,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(zm.content.cloneNode(!0)));let{style:e}=Qe(this.shadowRoot,":host");e.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`)}static get observedAttributes(){return[_e.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=to(this,ki))==null?void 0:s.unassociateElement)==null||n.call(s,this),io(this,ki,null)),i&&(io(this,ki,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=to(this,ki))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(io(this,ki,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=to(this,ki))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=to(this,ki))==null?void 0:e.unassociateElement)==null||t.call(e,this),io(this,ki,null)}};ki=new WeakMap;w.customElements.get("media-text-display")||w.customElements.define("media-text-display",qi);var Qm=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Xm=(r,e,t)=>(Qm(r,e,"read from private field"),t?t.call(r):e.get(r)),cb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ub=(r,e,t,i)=>(Qm(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),bn,Kd=class extends qi{constructor(){super(),cb(this,bn,void 0),ub(this,bn,this.shadowRoot.querySelector("slot")),Xm(this,bn).textContent=Si(0)}static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_DURATION]}attributeChangedCallback(e,t,i){e===S.MEDIA_DURATION&&(Xm(this,bn).textContent=Si(i)),super.attributeChangedCallback(e,t,i)}get mediaDuration(){return Fe(this,S.MEDIA_DURATION)}set mediaDuration(e){ze(this,S.MEDIA_DURATION,e)}};bn=new WeakMap;w.customElements.get("media-duration-display")||w.customElements.define("media-duration-display",Kd);var tp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Wd=(r,e,t)=>(tp(r,e,"read from private field"),t?t.call(r):e.get(r)),hb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},fb=(r,e,t,i)=>(tp(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Ss,fi={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Zm=[...Object.values(fi),S.MEDIA_CURRENT_TIME,S.MEDIA_DURATION,S.MEDIA_SEEKABLE],Jm=["Enter"," "],mb="&nbsp;/&nbsp;",ep=(r,{timesSep:e=mb}={})=>{var t,i,s,n;let a=r.hasAttribute(fi.REMAINING),o=r.hasAttribute(fi.SHOW_DURATION),l=(t=r.mediaCurrentTime)!=null?t:0,[,d]=(i=r.mediaSeekable)!=null?i:[],c=(n=(s=r.mediaDuration)!=null?s:d)!=null?n:0,u=a?Si(0-(c-l)):Si(l);return o?`${u}${e}${Si(c)}`:u},pb="video not loaded, unknown time.",gb=r=>{var e;let t=r.mediaCurrentTime,[,i]=(e=r.mediaSeekable)!=null?e:[],s=r.mediaDuration||i;if(t==null||s==null){r.setAttribute("aria-valuetext",pb);return}let n=r.hasAttribute(fi.REMAINING),a=r.hasAttribute(fi.SHOW_DURATION),o=n?Dr(0-(s-t)):Dr(t);if(!a){r.setAttribute("aria-valuetext",o);return}let l=Dr(s),d=`${o} of ${l}`;r.setAttribute("aria-valuetext",d)},qd=class extends qi{constructor(){super(),hb(this,Ss,void 0),fb(this,Ss,this.shadowRoot.querySelector("slot")),Wd(this,Ss).innerHTML=`${ep(this)}`;let{style:e}=Qe(this.shadowRoot,":host:not([notoggle])");e.setProperty("cursor","pointer");let{style:t}=Qe(this.shadowRoot,":host(:hover:not([notoggle]))");t.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))")}static get observedAttributes(){return[...super.observedAttributes,...Zm,"disabled"]}connectedCallback(){this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",Dt.PLAYBACK_TIME());let e=t=>{let{key:i}=t;if(!Jm.includes(i)){this.removeEventListener("keyup",e);return}this.toggleTimeDisplay()};this.addEventListener("keydown",t=>{let{metaKey:i,altKey:s,key:n}=t;if(i||s||!Jm.includes(n)){this.removeEventListener("keyup",e);return}this.addEventListener("keyup",e)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,i){Zm.includes(e)?this.update():e==="disabled"&&i!==t&&(i==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,i)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return Ye(this,fi.REMAINING)}set remaining(e){Ke(this,fi.REMAINING,e)}get showDuration(){return Ye(this,fi.SHOW_DURATION)}set showDuration(e){Ke(this,fi.SHOW_DURATION,e)}get noToggle(){return Ye(this,fi.NO_TOGGLE)}set noToggle(e){Ke(this,fi.NO_TOGGLE,e)}get mediaDuration(){return Fe(this,S.MEDIA_DURATION)}set mediaDuration(e){ze(this,S.MEDIA_DURATION,e)}get mediaCurrentTime(){return Fe(this,S.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ze(this,S.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(S.MEDIA_SEEKABLE);if(!!e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(S.MEDIA_SEEKABLE);return}this.setAttribute(S.MEDIA_SEEKABLE,e.join(":"))}update(){let e=ep(this);gb(this),e!==Wd(this,Ss).innerHTML&&(Wd(this,Ss).innerHTML=e)}};Ss=new WeakMap;w.customElements.get("media-time-display")||w.customElements.define("media-time-display",qd);var vb=`<svg aria-hidden="true" viewBox="0 0 26 24">
447
447
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
448
- </svg>`,vb=`<svg aria-hidden="true" viewBox="0 0 26 24">
448
+ </svg>`,Eb=`<svg aria-hidden="true" viewBox="0 0 26 24">
449
449
  <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
450
450
  </svg>`,np=Y.createElement("template");np.innerHTML=`
451
451
  <style>
@@ -460,32 +460,32 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
460
460
  </style>
461
461
 
462
462
  <slot name="icon">
463
- <slot name="on">${gb}</slot>
464
- <slot name="off">${vb}</slot>
463
+ <slot name="on">${vb}</slot>
464
+ <slot name="off">${Eb}</slot>
465
465
  </slot>
466
- `;var ip=r=>{r.setAttribute("aria-checked",Dd(r))},qd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_SUBTITLES_LIST,A.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:np,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",Dt.CLOSED_CAPTIONS()),ip(this)}attributeChangedCallback(e,t,i){e===A.MEDIA_SUBTITLES_SHOWING&&ip(this),super.attributeChangedCallback(e,t,i)}get mediaSubtitlesList(){return rp(this,A.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){sp(this,A.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return rp(this,A.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){sp(this,A.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){Wi(this)}},rp=(r,e)=>{let t=r.getAttribute(e);return t?vn(t):[]},sp=(r,e,t)=>{if(!(t!=null&&t.length)){r.removeAttribute(e);return}let i=Or(t);r.getAttribute(e)!==i&&r.setAttribute(e,i)};w.customElements.get("media-captions-button")||w.customElements.define("media-captions-button",qd);var xs={SEEK_OFFSET:"seekoffset"},io=30,Eb=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${io}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,ap=Y.createElement("template");ap.innerHTML=`
467
- <slot name="icon">${Eb}</slot>
468
- `;var yb=0,Yd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_CURRENT_TIME,xs.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:ap,...e})}connectedCallback(){this.seekOffset=Fe(this,xs.SEEK_OFFSET,io),super.connectedCallback()}attributeChangedCallback(e,t,i){e===xs.SEEK_OFFSET&&(this.seekOffset=Fe(this,xs.SEEK_OFFSET,io)),super.attributeChangedCallback(e,t,i)}get seekOffset(){return Fe(this,xs.SEEK_OFFSET,io)}set seekOffset(e){ze(this,xs.SEEK_OFFSET,e),this.setAttribute("aria-label",Xe.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),wa(Da(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Fe(this,A.MEDIA_CURRENT_TIME,yb)}set mediaCurrentTime(e){ze(this,A.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};w.customElements.get("media-seek-forward-button")||w.customElements.define("media-seek-forward-button",Yd);var bb=`<svg aria-hidden="true" viewBox="0 0 26 24">
466
+ `;var ip=r=>{r.setAttribute("aria-checked",Cd(r))},Yd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_SUBTITLES_LIST,S.MEDIA_SUBTITLES_SHOWING]}constructor(e={}){super({slotTemplate:np,...e}),this._captionsReady=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",Dt.CLOSED_CAPTIONS()),ip(this)}attributeChangedCallback(e,t,i){e===S.MEDIA_SUBTITLES_SHOWING&&ip(this),super.attributeChangedCallback(e,t,i)}get mediaSubtitlesList(){return rp(this,S.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){sp(this,S.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return rp(this,S.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){sp(this,S.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){Wi(this)}},rp=(r,e)=>{let t=r.getAttribute(e);return t?vn(t):[]},sp=(r,e,t)=>{if(!(t!=null&&t.length)){r.removeAttribute(e);return}let i=Or(t);r.getAttribute(e)!==i&&r.setAttribute(e,i)};w.customElements.get("media-captions-button")||w.customElements.define("media-captions-button",Yd);var xs={SEEK_OFFSET:"seekoffset"},ro=30,yb=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(8.9 19.87)">${ro}</text><path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/></svg>`,ap=Y.createElement("template");ap.innerHTML=`
467
+ <slot name="icon">${yb}</slot>
468
+ `;var bb=0,jd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_CURRENT_TIME,xs.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:ap,...e})}connectedCallback(){this.seekOffset=Fe(this,xs.SEEK_OFFSET,ro),super.connectedCallback()}attributeChangedCallback(e,t,i){e===xs.SEEK_OFFSET&&(this.seekOffset=Fe(this,xs.SEEK_OFFSET,ro)),super.attributeChangedCallback(e,t,i)}get seekOffset(){return Fe(this,xs.SEEK_OFFSET,ro)}set seekOffset(e){ze(this,xs.SEEK_OFFSET,e),this.setAttribute("aria-label",Xe.SEEK_FORWARD_N_SECS({seekOffset:this.seekOffset})),Da(Ca(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Fe(this,S.MEDIA_CURRENT_TIME,bb)}set mediaCurrentTime(e){ze(this,S.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};w.customElements.get("media-seek-forward-button")||w.customElements.define("media-seek-forward-button",jd);var Tb=`<svg aria-hidden="true" viewBox="0 0 26 24">
469
469
  <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/>
470
- </svg>`,Tb=`<svg aria-hidden="true" viewBox="0 0 26 24">
470
+ </svg>`,_b=`<svg aria-hidden="true" viewBox="0 0 26 24">
471
471
  <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/>
472
472
  </svg>`,lp=Y.createElement("template");lp.innerHTML=`
473
473
  <style>
474
- :host([${A.MEDIA_IS_FULLSCREEN}]) slot:not([name=exit]):not([name=icon]) {
474
+ :host([${S.MEDIA_IS_FULLSCREEN}]) slot:not([name=exit]):not([name=icon]) {
475
475
  display: none !important;
476
476
  }
477
477
 
478
478
 
479
- :host(:not([${A.MEDIA_IS_FULLSCREEN}])) slot:not([name=enter]):not([name=icon]) {
479
+ :host(:not([${S.MEDIA_IS_FULLSCREEN}])) slot:not([name=enter]):not([name=icon]) {
480
480
  display: none !important;
481
481
  }
482
482
  </style>
483
483
 
484
484
  <slot name="icon">
485
- <slot name="enter">${bb}</slot>
486
- <slot name="exit">${Tb}</slot>
485
+ <slot name="enter">${Tb}</slot>
486
+ <slot name="exit">${_b}</slot>
487
487
  </slot>
488
- `;var op=r=>{let e=r.mediaIsFullscreen?Xe.EXIT_FULLSCREEN():Xe.ENTER_FULLSCREEN();r.setAttribute("aria-label",e)},jd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_IS_FULLSCREEN,A.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:lp,...e})}connectedCallback(){op(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===A.MEDIA_IS_FULLSCREEN&&op(this),super.attributeChangedCallback(e,t,i)}get mediaFullscreenUnavailable(){return We(this,A.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){Be(this,A.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Ye(this,A.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Ke(this,A.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?se.MEDIA_EXIT_FULLSCREEN_REQUEST:se.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-fullscreen-button")||w.customElements.define("media-fullscreen-button",jd);var{MEDIA_TIME_IS_LIVE:ro,MEDIA_PAUSED:Tn}=A,{MEDIA_SEEK_TO_LIVE_REQUEST:_b,MEDIA_PLAY_REQUEST:Ab}=se,Sb='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',cp=Y.createElement("template");cp.innerHTML=`
488
+ `;var op=r=>{let e=r.mediaIsFullscreen?Xe.EXIT_FULLSCREEN():Xe.ENTER_FULLSCREEN();r.setAttribute("aria-label",e)},zd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_IS_FULLSCREEN,S.MEDIA_FULLSCREEN_UNAVAILABLE]}constructor(e={}){super({slotTemplate:lp,...e})}connectedCallback(){op(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===S.MEDIA_IS_FULLSCREEN&&op(this),super.attributeChangedCallback(e,t,i)}get mediaFullscreenUnavailable(){return We(this,S.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){Be(this,S.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return Ye(this,S.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){Ke(this,S.MEDIA_IS_FULLSCREEN,e)}handleClick(){let e=this.mediaIsFullscreen?se.MEDIA_EXIT_FULLSCREEN_REQUEST:se.MEDIA_ENTER_FULLSCREEN_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-fullscreen-button")||w.customElements.define("media-fullscreen-button",zd);var{MEDIA_TIME_IS_LIVE:so,MEDIA_PAUSED:Tn}=S,{MEDIA_SEEK_TO_LIVE_REQUEST:Ab,MEDIA_PLAY_REQUEST:Sb}=se,xb='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>',cp=Y.createElement("template");cp.innerHTML=`
489
489
  <style>
490
490
 
491
491
  slot[name=indicator] > *,
@@ -496,26 +496,26 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
496
496
  color: var(--media-live-button-icon-color, rgb(140, 140, 140));
497
497
  }
498
498
 
499
- :host([${ro}]:not([${Tn}])) slot[name=indicator] > *,
500
- :host([${ro}]:not([${Tn}])) ::slotted([slot=indicator]) {
499
+ :host([${so}]:not([${Tn}])) slot[name=indicator] > *,
500
+ :host([${so}]:not([${Tn}])) ::slotted([slot=indicator]) {
501
501
  fill: var(--media-live-button-indicator-color, rgb(255, 0, 0));
502
502
  color: var(--media-live-button-indicator-color, rgb(255, 0, 0));
503
503
  }
504
504
 
505
- :host([${ro}]:not([${Tn}])) {
505
+ :host([${so}]:not([${Tn}])) {
506
506
  cursor: not-allowed;
507
507
  }
508
508
 
509
509
  </style>
510
510
 
511
- <slot name="indicator">${Sb}</slot>
511
+ <slot name="indicator">${xb}</slot>
512
512
 
513
513
  <slot name="spacer">&nbsp;</slot><slot name="text">LIVE</slot>
514
- `;var dp=r=>{let e=r.mediaPaused||!r.mediaTimeIsLive,t=e?Xe.SEEK_LIVE():Xe.PLAYING_LIVE();r.setAttribute("aria-label",t),e?r.removeAttribute("aria-disabled"):r.setAttribute("aria-disabled","true")},zd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,Tn,ro]}constructor(e={}){super({slotTemplate:cp,...e})}connectedCallback(){dp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),dp(this)}get mediaPaused(){return Ye(this,A.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,A.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Ye(this,A.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Ke(this,A.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new w.CustomEvent(_b,{composed:!0,bubbles:!0})),this.hasAttribute(Tn)&&this.dispatchEvent(new w.CustomEvent(Ab,{composed:!0,bubbles:!0})))}};w.customElements.get("media-live-button")||w.customElements.define("media-live-button",zd);var{MEDIA_VOLUME_LEVEL:_n}=A,xb=`<svg aria-hidden="true" viewBox="0 0 24 24">
514
+ `;var dp=r=>{let e=r.mediaPaused||!r.mediaTimeIsLive,t=e?Xe.SEEK_LIVE():Xe.PLAYING_LIVE();r.setAttribute("aria-label",t),e?r.removeAttribute("aria-disabled"):r.setAttribute("aria-disabled","true")},Xd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,Tn,so]}constructor(e={}){super({slotTemplate:cp,...e})}connectedCallback(){dp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),dp(this)}get mediaPaused(){return Ye(this,S.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,S.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return Ye(this,S.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){Ke(this,S.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new w.CustomEvent(Ab,{composed:!0,bubbles:!0})),this.hasAttribute(Tn)&&this.dispatchEvent(new w.CustomEvent(Sb,{composed:!0,bubbles:!0})))}};w.customElements.get("media-live-button")||w.customElements.define("media-live-button",Xd);var{MEDIA_VOLUME_LEVEL:_n}=S,Ib=`<svg aria-hidden="true" viewBox="0 0 24 24">
515
515
  <path d="M16.5 12A4.5 4.5 0 0 0 14 8v2.18l2.45 2.45a4.22 4.22 0 0 0 .05-.63Zm2.5 0a6.84 6.84 0 0 1-.54 2.64L20 16.15A8.8 8.8 0 0 0 21 12a9 9 0 0 0-7-8.77v2.06A7 7 0 0 1 19 12ZM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25A6.92 6.92 0 0 1 14 18.7v2.06A9 9 0 0 0 17.69 19l2 2.05L21 19.73l-9-9L4.27 3ZM12 4 9.91 6.09 12 8.18V4Z"/>
516
516
  </svg>`,up=`<svg aria-hidden="true" viewBox="0 0 24 24">
517
517
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4Z"/>
518
- </svg>`,Ib=`<svg aria-hidden="true" viewBox="0 0 24 24">
518
+ </svg>`,Lb=`<svg aria-hidden="true" viewBox="0 0 24 24">
519
519
  <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4ZM14 3.23v2.06a7 7 0 0 1 0 13.42v2.06a9 9 0 0 0 0-17.54Z"/>
520
520
  </svg>`,fp=Y.createElement("template");fp.innerHTML=`
521
521
  <style>
@@ -539,21 +539,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
539
539
  </style>
540
540
 
541
541
  <slot name="icon">
542
- <slot name="off">${xb}</slot>
542
+ <slot name="off">${Ib}</slot>
543
543
  <slot name="low">${up}</slot>
544
544
  <slot name="medium">${up}</slot>
545
- <slot name="high">${Ib}</slot>
545
+ <slot name="high">${Lb}</slot>
546
546
  </slot>
547
- `;var hp=r=>{let t=r.mediaVolumeLevel==="off"?Xe.UNMUTE():Xe.MUTE();r.setAttribute("aria-label",t)},Xd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:fp,...e})}connectedCallback(){hp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===A.MEDIA_VOLUME_LEVEL&&hp(this),super.attributeChangedCallback(e,t,i)}get mediaVolumeLevel(){return We(this,A.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){Be(this,A.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?se.MEDIA_UNMUTE_REQUEST:se.MEDIA_MUTE_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-mute-button")||w.customElements.define("media-mute-button",Xd);var mp=`<svg aria-hidden="true" viewBox="0 0 28 24">
547
+ `;var hp=r=>{let t=r.mediaVolumeLevel==="off"?Xe.UNMUTE():Xe.MUTE();r.setAttribute("aria-label",t)},Qd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_VOLUME_LEVEL]}constructor(e={}){super({slotTemplate:fp,...e})}connectedCallback(){hp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===S.MEDIA_VOLUME_LEVEL&&hp(this),super.attributeChangedCallback(e,t,i)}get mediaVolumeLevel(){return We(this,S.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){Be(this,S.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?se.MEDIA_UNMUTE_REQUEST:se.MEDIA_MUTE_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-mute-button")||w.customElements.define("media-mute-button",Qd);var mp=`<svg aria-hidden="true" viewBox="0 0 28 24">
548
548
  <path d="M24 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1Zm-1 16H5V5h18v14Zm-3-8h-7v5h7v-5Z"/>
549
549
  </svg>`,gp=Y.createElement("template");gp.innerHTML=`
550
550
  <style>
551
- :host([${A.MEDIA_IS_PIP}]) slot:not([name=exit]):not([name=icon]) {
551
+ :host([${S.MEDIA_IS_PIP}]) slot:not([name=exit]):not([name=icon]) {
552
552
  display: none !important;
553
553
  }
554
554
 
555
555
 
556
- :host(:not([${A.MEDIA_IS_PIP}])) slot:not([name=enter]):not([name=icon]) {
556
+ :host(:not([${S.MEDIA_IS_PIP}])) slot:not([name=enter]):not([name=icon]) {
557
557
  display: none !important;
558
558
  }
559
559
  </style>
@@ -562,28 +562,28 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
562
562
  <slot name="enter">${mp}</slot>
563
563
  <slot name="exit">${mp}</slot>
564
564
  </slot>
565
- `;var pp=r=>{let e=r.mediaIsPip?Xe.EXIT_PIP():Xe.ENTER_PIP();r.setAttribute("aria-label",e)},Qd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_IS_PIP,A.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:gp,...e})}connectedCallback(){pp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===A.MEDIA_IS_PIP&&pp(this),super.attributeChangedCallback(e,t,i)}get mediaPipUnavailable(){return We(this,A.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){Be(this,A.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Ye(this,A.MEDIA_IS_PIP)}set mediaIsPip(e){Ke(this,A.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?se.MEDIA_EXIT_PIP_REQUEST:se.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-pip-button")||w.customElements.define("media-pip-button",Qd);var Lb=`<svg aria-hidden="true" viewBox="0 0 24 24">
565
+ `;var pp=r=>{let e=r.mediaIsPip?Xe.EXIT_PIP():Xe.ENTER_PIP();r.setAttribute("aria-label",e)},Zd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_IS_PIP,S.MEDIA_PIP_UNAVAILABLE]}constructor(e={}){super({slotTemplate:gp,...e})}connectedCallback(){pp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===S.MEDIA_IS_PIP&&pp(this),super.attributeChangedCallback(e,t,i)}get mediaPipUnavailable(){return We(this,S.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){Be(this,S.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return Ye(this,S.MEDIA_IS_PIP)}set mediaIsPip(e){Ke(this,S.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?se.MEDIA_EXIT_PIP_REQUEST:se.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-pip-button")||w.customElements.define("media-pip-button",Zd);var kb=`<svg aria-hidden="true" viewBox="0 0 24 24">
566
566
  <path d="m6 21 15-9L6 3v18Z"/>
567
567
  </svg>`,Rb=`<svg aria-hidden="true" viewBox="0 0 24 24">
568
568
  <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/>
569
569
  </svg>`,Ep=Y.createElement("template");Ep.innerHTML=`
570
570
  <style>
571
- :host([${A.MEDIA_PAUSED}]) slot[name=pause] {
571
+ :host([${S.MEDIA_PAUSED}]) slot[name=pause] {
572
572
  display: none !important;
573
573
  }
574
574
 
575
- :host(:not([${A.MEDIA_PAUSED}])) slot[name=play] {
575
+ :host(:not([${S.MEDIA_PAUSED}])) slot[name=play] {
576
576
  display: none !important;
577
577
  }
578
578
  </style>
579
579
 
580
580
  <slot name="icon">
581
- <slot name="play">${Lb}</slot>
581
+ <slot name="play">${kb}</slot>
582
582
  <slot name="pause">${Rb}</slot>
583
583
  </slot>
584
- `;var vp=r=>{let e=r.mediaPaused?Xe.PLAY():Xe.PAUSE();r.setAttribute("aria-label",e)},Zd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_PAUSED,A.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Ep,...e})}connectedCallback(){vp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===A.MEDIA_PAUSED&&vp(this),super.attributeChangedCallback(e,t,i)}get mediaPaused(){return Ye(this,A.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,A.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-play-button")||w.customElements.define("media-play-button",Zd);var kb=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},so=(r,e,t)=>(kb(r,e,"read from private field"),t?t.call(r):e.get(r)),wb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Is,Jd={RATES:"rates"},tc=[1,1.25,1.5,1.75,2],Ls=1,yp=Y.createElement("template");yp.innerHTML=`
584
+ `;var vp=r=>{let e=r.mediaPaused?Xe.PLAY():Xe.PAUSE();r.setAttribute("aria-label",e)},Jd=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_PAUSED,S.MEDIA_ENDED]}constructor(e={}){super({slotTemplate:Ep,...e})}connectedCallback(){vp(this),super.connectedCallback()}attributeChangedCallback(e,t,i){e===S.MEDIA_PAUSED&&vp(this),super.attributeChangedCallback(e,t,i)}get mediaPaused(){return Ye(this,S.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,S.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?se.MEDIA_PLAY_REQUEST:se.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new w.CustomEvent(e,{composed:!0,bubbles:!0}))}};w.customElements.get("media-play-button")||w.customElements.define("media-play-button",Jd);var wb=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},no=(r,e,t)=>(wb(r,e,"read from private field"),t?t.call(r):e.get(r)),Db=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Is,ec={RATES:"rates"},ic=[1,1.25,1.5,1.75,2],Ls=1,yp=Y.createElement("template");yp.innerHTML=`
585
585
  <span id="container"></span>
586
- `;var ec=class extends $e{constructor(e={}){super({slotTemplate:yp,...e}),wb(this,Is,new dr(this,Jd.RATES,{defaultValue:tc})),this.container=this.shadowRoot.querySelector("#container"),this.container.innerHTML=`${Ls}x`}static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_PLAYBACK_RATE,Jd.RATES]}attributeChangedCallback(e,t,i){if(e===Jd.RATES&&(so(this,Is).value=i),e===A.MEDIA_PLAYBACK_RATE){let s=i?+i:Number.NaN,n=Number.isNaN(s)?Ls:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Dt.PLAYBACK_RATE({playbackRate:n}));return}super.attributeChangedCallback(e,t,i)}get rates(){return so(this,Is)}set rates(e){e?Array.isArray(e)&&(so(this,Is).value=e.join(" ")):so(this,Is).value=""}get mediaPlaybackRate(){return Fe(this,A.MEDIA_PLAYBACK_RATE,Ls)}set mediaPlaybackRate(e){ze(this,A.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let i=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=i.find(a=>a>this.mediaPlaybackRate))!=null?e:i[0])!=null?t:Ls,n=new w.CustomEvent(se.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};Is=new WeakMap;w.customElements.get("media-playback-rate-button")||w.customElements.define("media-playback-rate-button",ec);var ki={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},bp=Y.createElement("template");bp.innerHTML=`
586
+ `;var tc=class extends $e{constructor(e={}){super({slotTemplate:yp,...e}),Db(this,Is,new dr(this,ec.RATES,{defaultValue:ic})),this.container=this.shadowRoot.querySelector("#container"),this.container.innerHTML=`${Ls}x`}static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_PLAYBACK_RATE,ec.RATES]}attributeChangedCallback(e,t,i){if(e===ec.RATES&&(no(this,Is).value=i),e===S.MEDIA_PLAYBACK_RATE){let s=i?+i:Number.NaN,n=Number.isNaN(s)?Ls:s;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",Dt.PLAYBACK_RATE({playbackRate:n}));return}super.attributeChangedCallback(e,t,i)}get rates(){return no(this,Is)}set rates(e){e?Array.isArray(e)&&(no(this,Is).value=e.join(" ")):no(this,Is).value=""}get mediaPlaybackRate(){return Fe(this,S.MEDIA_PLAYBACK_RATE,Ls)}set mediaPlaybackRate(e){ze(this,S.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let i=Array.from(this.rates.values(),a=>+a).sort((a,o)=>a-o),s=(t=(e=i.find(a=>a>this.mediaPlaybackRate))!=null?e:i[0])!=null?t:Ls,n=new w.CustomEvent(se.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}};Is=new WeakMap;w.customElements.get("media-playback-rate-button")||w.customElements.define("media-playback-rate-button",tc);var Ri={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"},bp=Y.createElement("template");bp.innerHTML=`
587
587
  <style>
588
588
  :host {
589
589
  pointer-events: none;
@@ -605,9 +605,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
605
605
  </style>
606
606
 
607
607
  <img part="poster img" aria-hidden="true" id="image"/>
608
- `;var Db=r=>{r.style.removeProperty("background-image")},Cb=(r,e)=>{r.style["background-image"]=`url('${e}')`},ic=class extends w.HTMLElement{static get observedAttributes(){return[ki.PLACEHOLDER_SRC,ki.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(bp.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,i){e===ki.SRC&&(i==null?this.image.removeAttribute(ki.SRC):this.image.setAttribute(ki.SRC,i)),e===ki.PLACEHOLDER_SRC&&(i==null?Db(this.image):Cb(this.image,i))}get placeholderSrc(){return We(this,ki.PLACEHOLDER_SRC)}set placeholderSrc(e){Be(this,ki.SRC,e)}get src(){return We(this,ki.SRC)}set src(e){Be(this,ki.SRC,e)}};w.customElements.get("media-poster-image")||w.customElements.define("media-poster-image",ic);var Rs={SEEK_OFFSET:"seekoffset"},no=30,Mb=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${no}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Tp=Y.createElement("template");Tp.innerHTML=`
609
- <slot name="icon">${Mb}</slot>
610
- `;var Ob=0,rc=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_CURRENT_TIME,Rs.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Tp,...e})}connectedCallback(){this.seekOffset=Fe(this,Rs.SEEK_OFFSET,no),super.connectedCallback()}attributeChangedCallback(e,t,i){e===Rs.SEEK_OFFSET&&(this.seekOffset=Fe(this,Rs.SEEK_OFFSET,no)),super.attributeChangedCallback(e,t,i)}get seekOffset(){return Fe(this,Rs.SEEK_OFFSET,no)}set seekOffset(e){ze(this,Rs.SEEK_OFFSET,e),this.setAttribute("aria-label",Xe.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),wa(Da(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Fe(this,A.MEDIA_CURRENT_TIME,Ob)}set mediaCurrentTime(e){ze(this,A.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};w.customElements.get("media-seek-backward-button")||w.customElements.define("media-seek-backward-button",rc);var Ap=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},_p=(r,e,t)=>(Ap(r,e,"read from private field"),t?t.call(r):e.get(r)),Pb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Nb=(r,e,t,i)=>(Ap(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),An,sc=class extends qi{constructor(){super(),Pb(this,An,void 0),Nb(this,An,this.shadowRoot.querySelector("slot")),_p(this,An).textContent=Si(0)}static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,i){e===A.MEDIA_PREVIEW_TIME&&i!=null&&(_p(this,An).textContent=Si(i)),super.attributeChangedCallback(e,t,i)}get mediaPreviewTime(){return Fe(this,A.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ze(this,A.MEDIA_PREVIEW_TIME,e)}};An=new WeakMap;w.customElements.get("media-preview-time-display")||w.customElements.define("media-preview-time-display",sc);var Sp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ao=(r,e,t)=>(Sp(r,e,"read from private field"),t?t.call(r):e.get(r)),Ub=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},oo=(r,e,t,i)=>(Sp(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),wi,xp=Y.createElement("template");xp.innerHTML=`
608
+ `;var Cb=r=>{r.style.removeProperty("background-image")},Mb=(r,e)=>{r.style["background-image"]=`url('${e}')`},rc=class extends w.HTMLElement{static get observedAttributes(){return[Ri.PLACEHOLDER_SRC,Ri.SRC]}constructor(){super(),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(bp.content.cloneNode(!0))),this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,i){e===Ri.SRC&&(i==null?this.image.removeAttribute(Ri.SRC):this.image.setAttribute(Ri.SRC,i)),e===Ri.PLACEHOLDER_SRC&&(i==null?Cb(this.image):Mb(this.image,i))}get placeholderSrc(){return We(this,Ri.PLACEHOLDER_SRC)}set placeholderSrc(e){Be(this,Ri.SRC,e)}get src(){return We(this,Ri.SRC)}set src(e){Be(this,Ri.SRC,e)}};w.customElements.get("media-poster-image")||w.customElements.define("media-poster-image",rc);var ks={SEEK_OFFSET:"seekoffset"},ao=30,Ob=`<svg aria-hidden="true" viewBox="0 0 20 24"><defs><style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style></defs><text class="text value" transform="translate(2.18 19.87)">${ao}</text><path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/></svg>`,Tp=Y.createElement("template");Tp.innerHTML=`
609
+ <slot name="icon">${Ob}</slot>
610
+ `;var Pb=0,sc=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_CURRENT_TIME,ks.SEEK_OFFSET]}constructor(e={}){super({slotTemplate:Tp,...e})}connectedCallback(){this.seekOffset=Fe(this,ks.SEEK_OFFSET,ao),super.connectedCallback()}attributeChangedCallback(e,t,i){e===ks.SEEK_OFFSET&&(this.seekOffset=Fe(this,ks.SEEK_OFFSET,ao)),super.attributeChangedCallback(e,t,i)}get seekOffset(){return Fe(this,ks.SEEK_OFFSET,ao)}set seekOffset(e){ze(this,ks.SEEK_OFFSET,e),this.setAttribute("aria-label",Xe.SEEK_BACK_N_SECS({seekOffset:this.seekOffset})),Da(Ca(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return Fe(this,S.MEDIA_CURRENT_TIME,Pb)}set mediaCurrentTime(e){ze(this,S.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};w.customElements.get("media-seek-backward-button")||w.customElements.define("media-seek-backward-button",sc);var Ap=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},_p=(r,e,t)=>(Ap(r,e,"read from private field"),t?t.call(r):e.get(r)),Nb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ub=(r,e,t,i)=>(Ap(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),An,nc=class extends qi{constructor(){super(),Nb(this,An,void 0),Ub(this,An,this.shadowRoot.querySelector("slot")),_p(this,An).textContent=Si(0)}static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,i){e===S.MEDIA_PREVIEW_TIME&&i!=null&&(_p(this,An).textContent=Si(i)),super.attributeChangedCallback(e,t,i)}get mediaPreviewTime(){return Fe(this,S.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ze(this,S.MEDIA_PREVIEW_TIME,e)}};An=new WeakMap;w.customElements.get("media-preview-time-display")||w.customElements.define("media-preview-time-display",nc);var Sp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},oo=(r,e,t)=>(Sp(r,e,"read from private field"),t?t.call(r):e.get(r)),Fb=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},lo=(r,e,t,i)=>(Sp(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),wi,xp=Y.createElement("template");xp.innerHTML=`
611
611
  <style>
612
612
  :host {
613
613
  box-sizing: border-box;
@@ -621,7 +621,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
621
621
  }
622
622
  </style>
623
623
  <img crossorigin loading="eager" decoding="async">
624
- `;var nc=class extends w.HTMLElement{constructor(){super(),Ub(this,wi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(xp.content.cloneNode(!0)))}static get observedAttributes(){return[_e.MEDIA_CONTROLLER,A.MEDIA_PREVIEW_IMAGE,A.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(oo(this,wi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=ao(this,wi))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ao(this,wi))==null?void 0:e.unassociateElement)==null||t.call(e,this),oo(this,wi,null)}attributeChangedCallback(e,t,i){var s,n,a,o,l;[A.MEDIA_PREVIEW_IMAGE,A.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=ao(this,wi))==null?void 0:s.unassociateElement)==null||n.call(s,this),oo(this,wi,null)),i&&(oo(this,wi,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=ao(this,wi))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return We(this,A.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){Be(this,A.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(A.MEDIA_PREVIEW_COORDS);if(!!e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(A.MEDIA_PREVIEW_COORDS);return}this.setAttribute(A.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[i,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:c,minWidth:u,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(c)/a),g=Math.max(parseInt(u)/n,parseInt(h)/a),E=f<1,T=E?f:g>1?g:1,{style:S}=Qe(this.shadowRoot,":host"),R=Qe(this.shadowRoot,"img").style,x=this.shadowRoot.querySelector("img"),N=E?"min":"max";S.setProperty(`${N}-width`,"initial","important"),S.setProperty(`${N}-height`,"initial","important"),S.width=`${n*T}px`,S.height=`${a*T}px`;let D=()=>{R.width=`${this.imgWidth*T}px`,R.height=`${this.imgHeight*T}px`,R.display="block"};x.src!==o&&(x.onload=()=>{this.imgWidth=x.naturalWidth,this.imgHeight=x.naturalHeight,D()},x.src=o,D()),D(),R.transform=`translate(-${i*T}px, -${s*T}px)`}};wi=new WeakMap;w.customElements.get("media-preview-thumbnail")||w.customElements.define("media-preview-thumbnail",nc);var mc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},dt=(r,e,t)=>(mc(r,e,"read from private field"),t?t.call(r):e.get(r)),Ct=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},hr=(r,e,t,i)=>(mc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Sn=(r,e,t)=>(mc(r,e,"access private method"),t),xn,lo,In,mo,po,co,oc,lc,Ip,uo,dc,ho,ks,Ln,cc,go,vo,fo,uc,hc,Lp,Fb="video not loaded, unknown time.",ac=r=>{let e=r.range,t=Dr(+e.value),i=Dr(+e.max),s=t&&i?`${t} of ${i}`:Fb;e.setAttribute("aria-valuetext",s)},Rp=Y.createElement("template");Rp.innerHTML=`
624
+ `;var ac=class extends w.HTMLElement{constructor(){super(),Fb(this,wi,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(xp.content.cloneNode(!0)))}static get observedAttributes(){return[_e.MEDIA_CONTROLLER,S.MEDIA_PREVIEW_IMAGE,S.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(lo(this,wi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=oo(this,wi))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=oo(this,wi))==null?void 0:e.unassociateElement)==null||t.call(e,this),lo(this,wi,null)}attributeChangedCallback(e,t,i){var s,n,a,o,l;[S.MEDIA_PREVIEW_IMAGE,S.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=oo(this,wi))==null?void 0:s.unassociateElement)==null||n.call(s,this),lo(this,wi,null)),i&&(lo(this,wi,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=oo(this,wi))==null?void 0:o.associateElement)==null||l.call(o,this)))}get mediaPreviewImage(){return We(this,S.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){Be(this,S.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(S.MEDIA_PREVIEW_COORDS);if(!!e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(S.MEDIA_PREVIEW_COORDS);return}this.setAttribute(S.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[i,s,n,a]=e,o=t.split("#")[0],l=getComputedStyle(this),{maxWidth:d,maxHeight:c,minWidth:u,minHeight:h}=l,f=Math.min(parseInt(d)/n,parseInt(c)/a),g=Math.max(parseInt(u)/n,parseInt(h)/a),E=f<1,T=E?f:g>1?g:1,{style:A}=Qe(this.shadowRoot,":host"),k=Qe(this.shadowRoot,"img").style,L=this.shadowRoot.querySelector("img"),N=E?"min":"max";A.setProperty(`${N}-width`,"initial","important"),A.setProperty(`${N}-height`,"initial","important"),A.width=`${n*T}px`,A.height=`${a*T}px`;let D=()=>{k.width=`${this.imgWidth*T}px`,k.height=`${this.imgHeight*T}px`,k.display="block"};L.src!==o&&(L.onload=()=>{this.imgWidth=L.naturalWidth,this.imgHeight=L.naturalHeight,D()},L.src=o,D()),D(),k.transform=`translate(-${i*T}px, -${s*T}px)`}};wi=new WeakMap;w.customElements.get("media-preview-thumbnail")||w.customElements.define("media-preview-thumbnail",ac);var pc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},dt=(r,e,t)=>(pc(r,e,"read from private field"),t?t.call(r):e.get(r)),Ct=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},hr=(r,e,t,i)=>(pc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Sn=(r,e,t)=>(pc(r,e,"access private method"),t),xn,co,In,po,go,uo,lc,dc,Ip,ho,cc,fo,Rs,Ln,uc,vo,Eo,mo,hc,fc,Lp,Bb="video not loaded, unknown time.",oc=r=>{let e=r.range,t=Dr(+e.value),i=Dr(+e.max),s=t&&i?`${t} of ${i}`:Bb;e.setAttribute("aria-valuetext",s)},kp=Y.createElement("template");kp.innerHTML=`
625
625
  <style>
626
626
  :host {
627
627
  --media-preview-border-radius: 3px;
@@ -657,8 +657,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
657
657
  opacity: 0;
658
658
  }
659
659
 
660
- :host([${A.MEDIA_PREVIEW_IMAGE}]:hover) [part~="preview-box"],
661
- :host([${A.MEDIA_PREVIEW_TIME}]:hover) [part~="preview-box"] {
660
+ :host([${S.MEDIA_PREVIEW_IMAGE}]:hover) [part~="preview-box"],
661
+ :host([${S.MEDIA_PREVIEW_TIME}]:hover) [part~="preview-box"] {
662
662
  transition-duration: var(--media-preview-transition-duration-in, .5s);
663
663
  transition-delay: var(--media-preview-transition-delay-in, .25s);
664
664
  visibility: visible;
@@ -682,8 +682,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
682
682
  var(--media-preview-border-radius) var(--media-preview-border-radius) 0 0);
683
683
  }
684
684
 
685
- :host([${A.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail,
686
- :host([${A.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) {
685
+ :host([${S.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail,
686
+ :host([${S.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) {
687
687
  transition-delay: var(--media-preview-transition-delay-in, .25s);
688
688
  visibility: visible;
689
689
  }
@@ -703,15 +703,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
703
703
  text-shadow: var(--media-preview-time-text-shadow, 0 0 4px rgb(0 0 0 / .75));
704
704
  }
705
705
 
706
- :host([${A.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display,
707
- :host([${A.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) {
706
+ :host([${S.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display,
707
+ :host([${S.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) {
708
708
  transition-delay: var(--media-preview-transition-delay-in, .25s);
709
709
  min-width: 100%;
710
710
  border-radius: var(--media-preview-time-border-radius,
711
711
  0 0 var(--media-preview-border-radius) var(--media-preview-border-radius));
712
712
  }
713
713
 
714
- :host([${A.MEDIA_PREVIEW_TIME}]:hover) {
714
+ :host([${S.MEDIA_PREVIEW_TIME}]:hover) {
715
715
  --media-time-range-hover-display: block;
716
716
  }
717
717
  </style>
@@ -726,7 +726,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
726
726
 
727
727
  </slot>
728
728
  </div>
729
- `;var fc=class extends Ur{constructor(){super(),Ct(this,co),Ct(this,lc),Ct(this,uo),Ct(this,fo),Ct(this,hc),Ct(this,xn,void 0),Ct(this,lo,void 0),Ct(this,In,void 0),Ct(this,mo,void 0),Ct(this,po,void 0),Ct(this,ho,t=>{if([...dt(this,xn)].some(c=>t.composedPath().includes(c)))return;this.updatePointerBar(t);let i=this.mediaDuration;if(!i)return;let s=this.range.getBoundingClientRect(),n=(t.clientX-s.left-this.thumbWidth/2)/(s.width-this.thumbWidth);n=Math.max(0,Math.min(1,n));let a=Sn(this,uo,dc).call(this,dt(this,lo),n),{style:o}=Qe(this.shadowRoot,"#preview-rail");o.transform=`translateX(${a})`;let l=n*i,d=new w.CustomEvent(se.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:l});this.dispatchEvent(d)}),Ct(this,ks,!1),Ct(this,Ln,t=>{var i;(!t.composedPath().includes(this)||[...dt(this,xn)].some(s=>t.composedPath().includes(s)))&&((i=w.window)==null||i.removeEventListener("pointermove",dt(this,Ln)),hr(this,ks,!1),dt(this,go).call(this))}),Ct(this,cc,()=>{var t;(t=w.window)==null||t.addEventListener("pointermove",dt(this,ho),!1)}),Ct(this,go,()=>{var t;(t=w.window)==null||t.removeEventListener("pointermove",dt(this,ho));let i=new w.CustomEvent(se.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:null});this.dispatchEvent(i)}),Ct(this,vo,()=>{var t;let i=this.getAttribute(A.MEDIA_DURATION);!dt(this,ks)&&i&&(hr(this,ks,!0),dt(this,cc).call(this),(t=w.window)==null||t.addEventListener("pointermove",dt(this,Ln),!1))}),this.container.appendChild(Rp.content.cloneNode(!0)),this.range.addEventListener("input",()=>{cancelAnimationFrame(this._refreshId);let i=this.range.value,s=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i});this.dispatchEvent(s)}),this._refreshBar=()=>{let t=(performance.now()-this._updateTimestamp)/1e3;this.range.value=this.mediaCurrentTime+t*this.mediaPlaybackRate,this.updateBar(),this.updateCurrentBox(),this._refreshId=requestAnimationFrame(this._refreshBar)},hr(this,xn,this.shadowRoot.querySelectorAll('[part~="box"]')),hr(this,lo,this.shadowRoot.querySelector('[part~="preview-box"]')),hr(this,In,this.shadowRoot.querySelector('[part~="current-box"]'));let e=getComputedStyle(this);hr(this,mo,parseInt(e.getPropertyValue("--media-box-padding-left"))),hr(this,po,parseInt(e.getPropertyValue("--media-box-padding-right"))),Sn(this,fo,uc).call(this)}static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_PAUSED,A.MEDIA_DURATION,A.MEDIA_SEEKABLE,A.MEDIA_CURRENT_TIME,A.MEDIA_PREVIEW_IMAGE,A.MEDIA_PREVIEW_TIME,A.MEDIA_BUFFERED,A.MEDIA_PLAYBACK_RATE,A.MEDIA_LOADING,A.MEDIA_ENDED]}connectedCallback(){this.range.setAttribute("aria-label",Dt.SEEK()),super.connectedCallback()}disconnectedCallback(){cancelAnimationFrame(this._refreshId),super.disconnectedCallback()}attributeChangedCallback(e,t,i){var s,n,a,o,l;(e===A.MEDIA_CURRENT_TIME||e===A.MEDIA_PAUSED||e===A.MEDIA_ENDED||e===A.MEDIA_LOADING)&&(this._updateTimestamp=performance.now(),this.range.value=this.mediaCurrentTime,ac(this),this.updateBar(),this.updateCurrentBox(),cancelAnimationFrame(this._refreshId),!this.mediaPaused&&!this.mediaLoading&&(this._refreshId=requestAnimationFrame(this._refreshBar))),e===A.MEDIA_DURATION&&(this.range.max=(n=(s=dt(this,co,oc))!=null?s:this.mediaDuration)!=null?n:1e3,ac(this),this.updateBar(),this.updateCurrentBox()),e===A.MEDIA_SEEKABLE&&(this.range.min=(a=dt(this,lc,Ip))!=null?a:0,this.range.max=(l=(o=dt(this,co,oc))!=null?o:this.mediaDuration)!=null?l:1e3,ac(this),this.updateBar()),e===A.MEDIA_BUFFERED&&this.updateBar(),e==="disabled"&&(i==null?Sn(this,fo,uc).call(this):Sn(this,hc,Lp).call(this)),super.attributeChangedCallback(e,t,i)}get mediaPaused(){return Ye(this,A.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,A.MEDIA_PAUSED,e)}get mediaLoading(){return Ye(this,A.MEDIA_LOADING)}set mediaLoading(e){Ke(this,A.MEDIA_LOADING,e)}get mediaDuration(){return Fe(this,A.MEDIA_DURATION)}set mediaDuration(e){ze(this,A.MEDIA_DURATION,e)}get mediaCurrentTime(){return Fe(this,A.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ze(this,A.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return Fe(this,A.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ze(this,A.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(A.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(i=>+i)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(A.MEDIA_BUFFERED);return}let t=e.map(i=>i.join(":")).join(" ");this.setAttribute(A.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(A.MEDIA_SEEKABLE);if(!!e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(A.MEDIA_SEEKABLE);return}this.setAttribute(A.MEDIA_SEEKABLE,e.join(":"))}get mediaPreviewImage(){return We(this,A.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){Be(this,A.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return Fe(this,A.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ze(this,A.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Ye(this,A.MEDIA_ENDED)}set mediaEnded(e){Ke(this,A.MEDIA_ENDED,e)}getRelativeValues(){let e=super.getRelativeValues();return this.mediaEnded?{...e,relativeValue:e.relativeMax}:e}getBarColors(){var e;let t=super.getBarColors(),{range:i}=this,s=i.max-i.min,n=this.mediaBuffered;if(!n.length||!Number.isFinite(s)||s<=0)return t;let a;if(this.mediaEnded)a=s;else{let l=this.mediaCurrentTime,[,d=i.min]=(e=n.find(([c,u])=>c<=l&&l<=u))!=null?e:[];a=d-i.min}let o=a/s*100;return t.splice(1,0,["var(--media-time-range-buffered-color, rgb(255 255 255 / .4))",o]),t}updateCurrentBox(){if(!dt(this,In).assignedElements().length)return;let e=this.range.value/(this.range.max-this.range.min),t=Sn(this,uo,dc).call(this,dt(this,In),e),{style:i}=Qe(this.shadowRoot,"#current-rail");i.transform=`translateX(${t})`}};xn=new WeakMap;lo=new WeakMap;In=new WeakMap;mo=new WeakMap;po=new WeakMap;co=new WeakSet;oc=function(){var r;let[,e]=(r=this.mediaSeekable)!=null?r:[];return e};lc=new WeakSet;Ip=function(){var r;let[e]=(r=this.mediaSeekable)!=null?r:[];return e};uo=new WeakSet;dc=function(r,e){var t;let i=`${e*100*100}%`,s=r.offsetWidth;if(!s)return i;let n=(t=this.getAttribute("bounds")?Cr(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?t:this,a=this.range.getBoundingClientRect(),o=n.getBoundingClientRect(),l=(dt(this,mo)-(a.left-o.left-s/2))/a.width*100,d=(o.right-a.left-s/2-dt(this,po))/a.width*100;return Number.isNaN(l)||(i=`max(${l*100}%, ${i})`),Number.isNaN(d)||(i=`min(${i}, ${d*100}%)`),i};ho=new WeakMap;ks=new WeakMap;Ln=new WeakMap;cc=new WeakMap;go=new WeakMap;vo=new WeakMap;fo=new WeakSet;uc=function(){this.addEventListener("pointermove",dt(this,vo),!1)};hc=new WeakSet;Lp=function(){var r;(r=w.window)==null||r.removeEventListener("pointermove",dt(this,Ln)),this.removeEventListener("pointermove",dt(this,vo)),hr(this,ks,!1),dt(this,go).call(this)};w.customElements.get("media-time-range")||w.customElements.define("media-time-range",fc);var wp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ws=(r,e,t)=>(wp(r,e,"read from private field"),t?t.call(r):e.get(r)),pc=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ds=(r,e,t,i)=>(wp(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Di,Eo,yo,kp={LOADING_DELAY:"loadingdelay"},Dp=500,Cp=Y.createElement("template"),Bb=`
729
+ `;var mc=class extends Ur{constructor(){super(),Ct(this,uo),Ct(this,dc),Ct(this,ho),Ct(this,mo),Ct(this,fc),Ct(this,xn,void 0),Ct(this,co,void 0),Ct(this,In,void 0),Ct(this,po,void 0),Ct(this,go,void 0),Ct(this,fo,t=>{if([...dt(this,xn)].some(c=>t.composedPath().includes(c)))return;this.updatePointerBar(t);let i=this.mediaDuration;if(!i)return;let s=this.range.getBoundingClientRect(),n=(t.clientX-s.left-this.thumbWidth/2)/(s.width-this.thumbWidth);n=Math.max(0,Math.min(1,n));let a=Sn(this,ho,cc).call(this,dt(this,co),n),{style:o}=Qe(this.shadowRoot,"#preview-rail");o.transform=`translateX(${a})`;let l=n*i,d=new w.CustomEvent(se.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:l});this.dispatchEvent(d)}),Ct(this,Rs,!1),Ct(this,Ln,t=>{var i;(!t.composedPath().includes(this)||[...dt(this,xn)].some(s=>t.composedPath().includes(s)))&&((i=w.window)==null||i.removeEventListener("pointermove",dt(this,Ln)),hr(this,Rs,!1),dt(this,vo).call(this))}),Ct(this,uc,()=>{var t;(t=w.window)==null||t.addEventListener("pointermove",dt(this,fo),!1)}),Ct(this,vo,()=>{var t;(t=w.window)==null||t.removeEventListener("pointermove",dt(this,fo));let i=new w.CustomEvent(se.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:null});this.dispatchEvent(i)}),Ct(this,Eo,()=>{var t;let i=this.getAttribute(S.MEDIA_DURATION);!dt(this,Rs)&&i&&(hr(this,Rs,!0),dt(this,uc).call(this),(t=w.window)==null||t.addEventListener("pointermove",dt(this,Ln),!1))}),this.container.appendChild(kp.content.cloneNode(!0)),this.range.addEventListener("input",()=>{cancelAnimationFrame(this._refreshId);let i=this.range.value,s=new w.CustomEvent(se.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i});this.dispatchEvent(s)}),this._refreshBar=()=>{let t=(performance.now()-this._updateTimestamp)/1e3;this.range.value=this.mediaCurrentTime+t*this.mediaPlaybackRate,this.updateBar(),this.updateCurrentBox(),this._refreshId=requestAnimationFrame(this._refreshBar)},hr(this,xn,this.shadowRoot.querySelectorAll('[part~="box"]')),hr(this,co,this.shadowRoot.querySelector('[part~="preview-box"]')),hr(this,In,this.shadowRoot.querySelector('[part~="current-box"]'));let e=getComputedStyle(this);hr(this,po,parseInt(e.getPropertyValue("--media-box-padding-left"))),hr(this,go,parseInt(e.getPropertyValue("--media-box-padding-right"))),Sn(this,mo,hc).call(this)}static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_PAUSED,S.MEDIA_DURATION,S.MEDIA_SEEKABLE,S.MEDIA_CURRENT_TIME,S.MEDIA_PREVIEW_IMAGE,S.MEDIA_PREVIEW_TIME,S.MEDIA_BUFFERED,S.MEDIA_PLAYBACK_RATE,S.MEDIA_LOADING,S.MEDIA_ENDED]}connectedCallback(){this.range.setAttribute("aria-label",Dt.SEEK()),super.connectedCallback()}disconnectedCallback(){cancelAnimationFrame(this._refreshId),super.disconnectedCallback()}attributeChangedCallback(e,t,i){var s,n,a,o,l;(e===S.MEDIA_CURRENT_TIME||e===S.MEDIA_PAUSED||e===S.MEDIA_ENDED||e===S.MEDIA_LOADING)&&(this._updateTimestamp=performance.now(),this.range.value=this.mediaCurrentTime,oc(this),this.updateBar(),this.updateCurrentBox(),cancelAnimationFrame(this._refreshId),!this.mediaPaused&&!this.mediaLoading&&(this._refreshId=requestAnimationFrame(this._refreshBar))),e===S.MEDIA_DURATION&&(this.range.max=(n=(s=dt(this,uo,lc))!=null?s:this.mediaDuration)!=null?n:1e3,oc(this),this.updateBar(),this.updateCurrentBox()),e===S.MEDIA_SEEKABLE&&(this.range.min=(a=dt(this,dc,Ip))!=null?a:0,this.range.max=(l=(o=dt(this,uo,lc))!=null?o:this.mediaDuration)!=null?l:1e3,oc(this),this.updateBar()),e===S.MEDIA_BUFFERED&&this.updateBar(),e==="disabled"&&(i==null?Sn(this,mo,hc).call(this):Sn(this,fc,Lp).call(this)),super.attributeChangedCallback(e,t,i)}get mediaPaused(){return Ye(this,S.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,S.MEDIA_PAUSED,e)}get mediaLoading(){return Ye(this,S.MEDIA_LOADING)}set mediaLoading(e){Ke(this,S.MEDIA_LOADING,e)}get mediaDuration(){return Fe(this,S.MEDIA_DURATION)}set mediaDuration(e){ze(this,S.MEDIA_DURATION,e)}get mediaCurrentTime(){return Fe(this,S.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){ze(this,S.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return Fe(this,S.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){ze(this,S.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(S.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(i=>+i)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(S.MEDIA_BUFFERED);return}let t=e.map(i=>i.join(":")).join(" ");this.setAttribute(S.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(S.MEDIA_SEEKABLE);if(!!e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(S.MEDIA_SEEKABLE);return}this.setAttribute(S.MEDIA_SEEKABLE,e.join(":"))}get mediaPreviewImage(){return We(this,S.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){Be(this,S.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return Fe(this,S.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){ze(this,S.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return Ye(this,S.MEDIA_ENDED)}set mediaEnded(e){Ke(this,S.MEDIA_ENDED,e)}getRelativeValues(){let e=super.getRelativeValues();return this.mediaEnded?{...e,relativeValue:e.relativeMax}:e}getBarColors(){var e;let t=super.getBarColors(),{range:i}=this,s=i.max-i.min,n=this.mediaBuffered;if(!n.length||!Number.isFinite(s)||s<=0)return t;let a;if(this.mediaEnded)a=s;else{let l=this.mediaCurrentTime,[,d=i.min]=(e=n.find(([c,u])=>c<=l&&l<=u))!=null?e:[];a=d-i.min}let o=a/s*100;return t.splice(1,0,["var(--media-time-range-buffered-color, rgb(255 255 255 / .4))",o]),t}updateCurrentBox(){if(!dt(this,In).assignedElements().length)return;let e=this.range.value/(this.range.max-this.range.min),t=Sn(this,ho,cc).call(this,dt(this,In),e),{style:i}=Qe(this.shadowRoot,"#current-rail");i.transform=`translateX(${t})`}};xn=new WeakMap;co=new WeakMap;In=new WeakMap;po=new WeakMap;go=new WeakMap;uo=new WeakSet;lc=function(){var r;let[,e]=(r=this.mediaSeekable)!=null?r:[];return e};dc=new WeakSet;Ip=function(){var r;let[e]=(r=this.mediaSeekable)!=null?r:[];return e};ho=new WeakSet;cc=function(r,e){var t;let i=`${e*100*100}%`,s=r.offsetWidth;if(!s)return i;let n=(t=this.getAttribute("bounds")?Cr(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?t:this,a=this.range.getBoundingClientRect(),o=n.getBoundingClientRect(),l=(dt(this,po)-(a.left-o.left-s/2))/a.width*100,d=(o.right-a.left-s/2-dt(this,go))/a.width*100;return Number.isNaN(l)||(i=`max(${l*100}%, ${i})`),Number.isNaN(d)||(i=`min(${i}, ${d*100}%)`),i};fo=new WeakMap;Rs=new WeakMap;Ln=new WeakMap;uc=new WeakMap;vo=new WeakMap;Eo=new WeakMap;mo=new WeakSet;hc=function(){this.addEventListener("pointermove",dt(this,Eo),!1)};fc=new WeakSet;Lp=function(){var r;(r=w.window)==null||r.removeEventListener("pointermove",dt(this,Ln)),this.removeEventListener("pointermove",dt(this,Eo)),hr(this,Rs,!1),dt(this,vo).call(this)};w.customElements.get("media-time-range")||w.customElements.define("media-time-range",mc);var wp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ws=(r,e,t)=>(wp(r,e,"read from private field"),t?t.call(r):e.get(r)),gc=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ds=(r,e,t,i)=>(wp(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Di,yo,bo,Rp={LOADING_DELAY:"loadingdelay"},Dp=500,Cp=Y.createElement("template"),$b=`
730
730
  <svg aria-hidden="true" viewBox="0 0 100 100">
731
731
  <path d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
732
732
  <animateTransform
@@ -760,8 +760,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
760
760
  transition: opacity 0.15s;
761
761
  }
762
762
 
763
- :host([${A.MEDIA_LOADING}]:not([${A.MEDIA_PAUSED}])) slot[name=icon] > *,
764
- :host([${A.MEDIA_LOADING}]:not([${A.MEDIA_PAUSED}])) ::slotted([slot=icon]) {
763
+ :host([${S.MEDIA_LOADING}]:not([${S.MEDIA_PAUSED}])) slot[name=icon] > *,
764
+ :host([${S.MEDIA_LOADING}]:not([${S.MEDIA_PAUSED}])) ::slotted([slot=icon]) {
765
765
  opacity: var(--media-loading-indicator-opacity, 1);
766
766
  transition: opacity 0.15s var(--_loading-indicator-delay);
767
767
  }
@@ -771,7 +771,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
771
771
  transition: visibility 0.15s;
772
772
  }
773
773
 
774
- :host([${A.MEDIA_LOADING}]:not([${A.MEDIA_PAUSED}])) #status {
774
+ :host([${S.MEDIA_LOADING}]:not([${S.MEDIA_PAUSED}])) #status {
775
775
  visibility: var(--media-loading-indicator-opacity, visible);
776
776
  transition: visibility 0.15s var(--_loading-indicator-delay);
777
777
  }
@@ -784,12 +784,12 @@ svg, img, ::slotted(svg), ::slotted(img) {
784
784
  }
785
785
  </style>
786
786
 
787
- <slot name="icon">${Bb}</slot>
787
+ <slot name="icon">${$b}</slot>
788
788
  <div id="status" role="status" aria-live="polite">${Dt.MEDIA_LOADING()}</div>
789
- `;var gc=class extends w.HTMLElement{constructor(){if(super(),pc(this,Di,void 0),pc(this,Eo,Dp),pc(this,yo,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),i=Cp.content.cloneNode(!0);t.appendChild(i)}let{style:e}=Qe(this.shadowRoot,":host");Ds(this,yo,e)}static get observedAttributes(){return[_e.MEDIA_CONTROLLER,A.MEDIA_PAUSED,A.MEDIA_LOADING,kp.LOADING_DELAY]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===kp.LOADING_DELAY&&t!==i?this.loadingDelay=Number(i):e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=ws(this,Di))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ds(this,Di,null)),i&&(Ds(this,Di,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=ws(this,Di))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Ds(this,Di,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=ws(this,Di))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ws(this,Di))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ds(this,Di,null)}get loadingDelay(){return ws(this,Eo)}set loadingDelay(e){Ds(this,Eo,e),ws(this,yo).setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Ye(this,A.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,A.MEDIA_PAUSED,e)}get mediaLoading(){return Ye(this,A.MEDIA_LOADING)}set mediaLoading(e){Ke(this,A.MEDIA_LOADING,e)}};Di=new WeakMap;Eo=new WeakMap;yo=new WeakMap;w.customElements.get("media-loading-indicator")||w.customElements.define("media-loading-indicator",gc);var $b=100,Gb=1,Hb=r=>r.mediaMuted?0:Math.round(r.mediaVolume*r.range.max),Vb=({value:r,max:e})=>`${Math.round(r/e*100)}%`,vc=class extends Ur{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_VOLUME,A.MEDIA_MUTED,A.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.max=$b,this.range.addEventListener("input",()=>{let t=this.range.value/this.range.max,i=new w.CustomEvent(se.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:t});this.dispatchEvent(i)})}connectedCallback(){this.range.setAttribute("aria-label",Dt.VOLUME()),super.connectedCallback()}attributeChangedCallback(e,t,i){if(e===A.MEDIA_VOLUME||e===A.MEDIA_MUTED){let s=Hb(this);this.range.value=s,this.range.setAttribute("aria-valuetext",Vb(this.range)),this.updateBar()}super.attributeChangedCallback(e,t,i)}get mediaVolume(){return Fe(this,A.MEDIA_VOLUME,Gb)}set mediaVolume(e){ze(this,A.MEDIA_VOLUME,e)}get mediaMuted(){return Ye(this,A.MEDIA_MUTED)}set mediaMuted(e){Ke(this,A.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return We(this,A.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){Be(this,A.MEDIA_VOLUME_UNAVAILABLE,e)}};w.customElements.get("media-volume-range")||w.customElements.define("media-volume-range",vc);var _c=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Lt=(r,e,t)=>(_c(r,e,"read from private field"),t?t.call(r):e.get(r)),ni=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},fi=(r,e,t,i)=>(_c(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Yi=(r,e,t)=>(_c(r,e,"access private method"),t),Ci,fr,Ms,Rn,bo,To,Ec,Cs,yc,kn,_o,Ao,bc,Tc,Mp,Ac,Op,Kb=`
789
+ `;var vc=class extends w.HTMLElement{constructor(){if(super(),gc(this,Di,void 0),gc(this,yo,Dp),gc(this,bo,void 0),!this.shadowRoot){let t=this.attachShadow({mode:"open"}),i=Cp.content.cloneNode(!0);t.appendChild(i)}let{style:e}=Qe(this.shadowRoot,":host");Ds(this,bo,e)}static get observedAttributes(){return[_e.MEDIA_CONTROLLER,S.MEDIA_PAUSED,S.MEDIA_LOADING,Rp.LOADING_DELAY]}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===Rp.LOADING_DELAY&&t!==i?this.loadingDelay=Number(i):e===_e.MEDIA_CONTROLLER&&(t&&((n=(s=ws(this,Di))==null?void 0:s.unassociateElement)==null||n.call(s,this),Ds(this,Di,null)),i&&(Ds(this,Di,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=ws(this,Di))==null?void 0:o.associateElement)==null||l.call(o,this)))}connectedCallback(){var e,t,i;let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Ds(this,Di,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=ws(this,Di))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;(t=(e=ws(this,Di))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ds(this,Di,null)}get loadingDelay(){return ws(this,yo)}set loadingDelay(e){Ds(this,yo,e),ws(this,bo).setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return Ye(this,S.MEDIA_PAUSED)}set mediaPaused(e){Ke(this,S.MEDIA_PAUSED,e)}get mediaLoading(){return Ye(this,S.MEDIA_LOADING)}set mediaLoading(e){Ke(this,S.MEDIA_LOADING,e)}};Di=new WeakMap;yo=new WeakMap;bo=new WeakMap;w.customElements.get("media-loading-indicator")||w.customElements.define("media-loading-indicator",vc);var Gb=100,Hb=1,Vb=r=>r.mediaMuted?0:Math.round(r.mediaVolume*r.range.max),Kb=({value:r,max:e})=>`${Math.round(r/e*100)}%`,Ec=class extends Ur{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_VOLUME,S.MEDIA_MUTED,S.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.max=Gb,this.range.addEventListener("input",()=>{let t=this.range.value/this.range.max,i=new w.CustomEvent(se.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:t});this.dispatchEvent(i)})}connectedCallback(){this.range.setAttribute("aria-label",Dt.VOLUME()),super.connectedCallback()}attributeChangedCallback(e,t,i){if(e===S.MEDIA_VOLUME||e===S.MEDIA_MUTED){let s=Vb(this);this.range.value=s,this.range.setAttribute("aria-valuetext",Kb(this.range)),this.updateBar()}super.attributeChangedCallback(e,t,i)}get mediaVolume(){return Fe(this,S.MEDIA_VOLUME,Hb)}set mediaVolume(e){ze(this,S.MEDIA_VOLUME,e)}get mediaMuted(){return Ye(this,S.MEDIA_MUTED)}set mediaMuted(e){Ke(this,S.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return We(this,S.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){Be(this,S.MEDIA_VOLUME_UNAVAILABLE,e)}};w.customElements.get("media-volume-range")||w.customElements.define("media-volume-range",Ec);var Ac=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Lt=(r,e,t)=>(Ac(r,e,"read from private field"),t?t.call(r):e.get(r)),ni=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},mi=(r,e,t,i)=>(Ac(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Yi=(r,e,t)=>(Ac(r,e,"access private method"),t),Ci,fr,Ms,kn,To,_o,yc,Cs,bc,Rn,Ao,So,Tc,_c,Mp,Sc,Op,Wb=`
790
790
  <svg aria-hidden="true" viewBox="0 1 24 24" part="select-indicator indicator">
791
791
  <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/>
792
- </svg>`;function Mi(r,e,t){let i=Y.createElement("media-chrome-option");i.part.add("option"),i.value=e,i.selected=t;let s=Y.createElement("span");return s.textContent=r,i.append(s),i}function mi(r,e){let t=r.querySelector(`:scope > [slot="${e}"]`);return(t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t?(t=t.cloneNode(!0),t.removeAttribute("slot"),t):r.shadowRoot.querySelector(`[name="${e}"] > svg`).cloneNode(!0)}var Pp=Y.createElement("template");Pp.innerHTML=`
792
+ </svg>`;function Mi(r,e,t){let i=Y.createElement("media-chrome-option");i.part.add("option"),i.value=e,i.selected=t;let s=Y.createElement("span");return s.textContent=r,i.append(s),i}function pi(r,e){let t=r.querySelector(`:scope > [slot="${e}"]`);return(t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t?(t=t.cloneNode(!0),t.removeAttribute("slot"),t):r.shadowRoot.querySelector(`[name="${e}"] > svg`).cloneNode(!0)}var Pp=Y.createElement("template");Pp.innerHTML=`
793
793
  <style>
794
794
  :host {
795
795
  font: var(--media-font,
@@ -834,8 +834,8 @@ svg, img, ::slotted(svg), ::slotted(img) {
834
834
  </style>
835
835
  <slot name="header"></slot>
836
836
  <slot id="container"></slot>
837
- <slot name="select-indicator" hidden>${Kb}</slot>
838
- `;var ai=class extends w.HTMLElement{constructor(e={}){super(),ni(this,To),ni(this,kn),ni(this,Ao),ni(this,Tc),ni(this,Ac),ni(this,Ci,void 0),ni(this,fr,""),ni(this,Ms,null),ni(this,Rn,!1),ni(this,bo,t=>{this.handleClick(t)}),ni(this,Cs,t=>{let{key:i}=t;if(i==="Escape"){this.removeEventListener("keyup",Lt(this,Cs));return}if(i==="Meta"){fi(this,Rn,!1);return}Yi(this,To,Ec).call(this,t)}),ni(this,yc,t=>{let{key:i,altKey:s}=t;if(s){this.removeEventListener("keyup",Lt(this,Cs));return}if(i==="Meta"){fi(this,Rn,!0);return}if(this.keysUsed.includes(i)&&t.preventDefault(),Lt(this,Rn)&&this.keysUsed.includes(i)){Yi(this,To,Ec).call(this,t);return}this.addEventListener("keyup",Lt(this,Cs),{once:!0})}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=Pp.content.cloneNode(!0),e.slotTemplate&&this.nativeEl.append(e.slotTemplate.content.cloneNode(!0)),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.container.addEventListener("slotchange",t=>{for(let i of t.target.assignedNodes({flatten:!0}))i.nodeType===3&&i.textContent.trim()===""&&i.remove()})}static get observedAttributes(){return["disabled",_e.MEDIA_CONTROLLER]}static formatOptionText(e){return e}formatOptionText(e,t){return this.constructor.formatOptionText(e,t)}get options(){var e;let t=this.querySelectorAll("media-chrome-option");return t.length||(t=(e=this.container)==null?void 0:e.querySelectorAll("media-chrome-option")),Array.from(t)}get selectedOptions(){return this.options.filter(e=>e.selected)}get value(){var e,t;return(t=(e=this.selectedOptions[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.options.find(i=>i.value===e);!t||Yi(this,Ao,bc).call(this,t)}focus(){var e;(e=this.selectedOptions[0])==null||e.focus()}enable(){this.addEventListener("click",Lt(this,bo)),this.addEventListener("keydown",Lt(this,yc))}disable(){this.removeEventListener("click",Lt(this,bo)),this.removeEventListener("keyup",Lt(this,Cs))}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=Lt(this,Ci))==null?void 0:s.unassociateElement)==null||n.call(s,this),fi(this,Ci,null)),i&&(fi(this,Ci,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=Lt(this,Ci))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&i!==t&&(i==null?this.enable():this.disable())}connectedCallback(){var e,t,i;this.hasAttribute("disabled")||this.enable(),this.hasAttribute("role")||this.setAttribute("role","listbox");let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(fi(this,Ci,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=Lt(this,Ci))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=Lt(this,Ci))==null?void 0:e.unassociateElement)==null||t.call(e,this),fi(this,Ci,null)}get keysUsed(){return["Enter"," ","ArrowDown","ArrowUp","Home","End"]}handleSelection(e,t){let i=Yi(this,kn,_o).call(this,e);!i||Yi(this,Ao,bc).call(this,i,t)}handleMovement(e){let{key:t}=e,i=this.options,s=Yi(this,kn,_o).call(this,e);s||(s=i.filter(a=>a.getAttribute("tabindex")==="0")[0]);let n;switch(t){case"ArrowDown":n=s.nextElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.nextElementSibling);break;case"ArrowUp":n=s.previousElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.previousElementSibling);break;case"Home":n=i[0];break;case"End":n=i[i.length-1];break;default:n=Yi(this,Tc,Mp).call(this,t);break}n&&(i.forEach(a=>a.setAttribute("tabindex","-1")),n.setAttribute("tabindex","0"),n.focus())}handleClick(e){let t=Yi(this,kn,_o).call(this,e);!t||t.hasAttribute("disabled")||(this.options.forEach(i=>i.setAttribute("tabindex","-1")),t.setAttribute("tabindex","0"),this.handleSelection(e,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"))}};Ci=new WeakMap;fr=new WeakMap;Ms=new WeakMap;Rn=new WeakMap;bo=new WeakMap;To=new WeakSet;Ec=function(r){let{key:e}=r;e==="Enter"||e===" "?this.handleSelection(r,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"):this.handleMovement(r)};Cs=new WeakMap;yc=new WeakMap;kn=new WeakSet;_o=function(r){let e=r.composedPath(),t=e.findIndex(i=>i.nodeName==="MEDIA-CHROME-OPTION");return e[t]};Ao=new WeakSet;bc=function(r,e){let t=[...this.selectedOptions];(!this.hasAttribute("aria-multiselectable")||this.getAttribute("aria-multiselectable")!=="true")&&this.options.forEach(i=>i.selected=!1),e?r.selected=!r.selected:r.selected=!0,this.selectedOptions.some((i,s)=>i!=t[s])&&this.dispatchEvent(new Event("change"))};Tc=new WeakSet;Mp=function(r){Yi(this,Ac,Op).call(this);let e=this.options,t=e.findIndex(d=>d.getAttribute("tabindex")==="0");fi(this,fr,Lt(this,fr)+r);let i=Lt(this,fr).split("").every(d=>d===r),s=e.slice(t+(i?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(Lt(this,fr))),n=e.slice(0,t-(i?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(Lt(this,fr))),a=[],o=[];return i&&(a=e.slice(t+(i?1:0)).filter(d=>d.textContent.startsWith(r)),o=e.slice(0,t-(i?1:0)).filter(d=>d.textContent.startsWith(r))),[...s,...n,...a,...o][0]};Ac=new WeakSet;Op=function(){clearTimeout(Lt(this,Ms)),fi(this,Ms,null),fi(this,Ms,setTimeout(()=>{fi(this,fr,""),fi(this,Ms,null)},500))};w.customElements.get("media-chrome-listbox")||w.customElements.define("media-chrome-listbox",ai);var kc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Ic=(r,e,t)=>(kc(r,e,"read from private field"),t?t.call(r):e.get(r)),Sc=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},xc=(r,e,t,i)=>(kc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Np=(r,e,t)=>(kc(r,e,"access private method"),t),So,Os,xo,Lc,Up=Y.createElement("template");Up.innerHTML=`
837
+ <slot name="select-indicator" hidden>${Wb}</slot>
838
+ `;var ai=class extends w.HTMLElement{constructor(e={}){super(),ni(this,_o),ni(this,Rn),ni(this,So),ni(this,_c),ni(this,Sc),ni(this,Ci,void 0),ni(this,fr,""),ni(this,Ms,null),ni(this,kn,!1),ni(this,To,t=>{this.handleClick(t)}),ni(this,Cs,t=>{let{key:i}=t;if(i==="Escape"){this.removeEventListener("keyup",Lt(this,Cs));return}if(i==="Meta"){mi(this,kn,!1);return}Yi(this,_o,yc).call(this,t)}),ni(this,bc,t=>{let{key:i,altKey:s}=t;if(s){this.removeEventListener("keyup",Lt(this,Cs));return}if(i==="Meta"){mi(this,kn,!0);return}if(this.keysUsed.includes(i)&&t.preventDefault(),Lt(this,kn)&&this.keysUsed.includes(i)){Yi(this,_o,yc).call(this,t);return}this.addEventListener("keyup",Lt(this,Cs),{once:!0})}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.nativeEl=Pp.content.cloneNode(!0),e.slotTemplate&&this.nativeEl.append(e.slotTemplate.content.cloneNode(!0)),this.shadowRoot.append(this.nativeEl)),this.container=this.shadowRoot.querySelector("#container"),this.container.addEventListener("slotchange",t=>{for(let i of t.target.assignedNodes({flatten:!0}))i.nodeType===3&&i.textContent.trim()===""&&i.remove()})}static get observedAttributes(){return["disabled",_e.MEDIA_CONTROLLER]}static formatOptionText(e){return e}formatOptionText(e,t){return this.constructor.formatOptionText(e,t)}get options(){var e;let t=this.querySelectorAll("media-chrome-option");return t.length||(t=(e=this.container)==null?void 0:e.querySelectorAll("media-chrome-option")),Array.from(t)}get selectedOptions(){return this.options.filter(e=>e.selected)}get value(){var e,t;return(t=(e=this.selectedOptions[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.options.find(i=>i.value===e);!t||Yi(this,So,Tc).call(this,t)}focus(){var e;(e=this.selectedOptions[0])==null||e.focus()}enable(){this.addEventListener("click",Lt(this,To)),this.addEventListener("keydown",Lt(this,bc))}disable(){this.removeEventListener("click",Lt(this,To)),this.removeEventListener("keyup",Lt(this,Cs))}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=Lt(this,Ci))==null?void 0:s.unassociateElement)==null||n.call(s,this),mi(this,Ci,null)),i&&(mi(this,Ci,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=Lt(this,Ci))==null?void 0:o.associateElement)==null||l.call(o,this))):e==="disabled"&&i!==t&&(i==null?this.enable():this.disable())}connectedCallback(){var e,t,i;this.hasAttribute("disabled")||this.enable(),this.hasAttribute("role")||this.setAttribute("role","listbox");let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(mi(this,Ci,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=Lt(this,Ci))==null?void 0:t.associateElement)==null||i.call(t,this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=Lt(this,Ci))==null?void 0:e.unassociateElement)==null||t.call(e,this),mi(this,Ci,null)}get keysUsed(){return["Enter"," ","ArrowDown","ArrowUp","Home","End"]}handleSelection(e,t){let i=Yi(this,Rn,Ao).call(this,e);!i||Yi(this,So,Tc).call(this,i,t)}handleMovement(e){let{key:t}=e,i=this.options,s=Yi(this,Rn,Ao).call(this,e);s||(s=i.filter(a=>a.getAttribute("tabindex")==="0")[0]);let n;switch(t){case"ArrowDown":n=s.nextElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.nextElementSibling);break;case"ArrowUp":n=s.previousElementSibling,n!=null&&n.hasAttribute("disabled")&&(n=n.previousElementSibling);break;case"Home":n=i[0];break;case"End":n=i[i.length-1];break;default:n=Yi(this,_c,Mp).call(this,t);break}n&&(i.forEach(a=>a.setAttribute("tabindex","-1")),n.setAttribute("tabindex","0"),n.focus())}handleClick(e){let t=Yi(this,Rn,Ao).call(this,e);!t||t.hasAttribute("disabled")||(this.options.forEach(i=>i.setAttribute("tabindex","-1")),t.setAttribute("tabindex","0"),this.handleSelection(e,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"))}};Ci=new WeakMap;fr=new WeakMap;Ms=new WeakMap;kn=new WeakMap;To=new WeakMap;_o=new WeakSet;yc=function(r){let{key:e}=r;e==="Enter"||e===" "?this.handleSelection(r,this.hasAttribute("aria-multiselectable")&&this.getAttribute("aria-multiselectable")==="true"):this.handleMovement(r)};Cs=new WeakMap;bc=new WeakMap;Rn=new WeakSet;Ao=function(r){let e=r.composedPath(),t=e.findIndex(i=>i.nodeName==="MEDIA-CHROME-OPTION");return e[t]};So=new WeakSet;Tc=function(r,e){let t=[...this.selectedOptions];(!this.hasAttribute("aria-multiselectable")||this.getAttribute("aria-multiselectable")!=="true")&&this.options.forEach(i=>i.selected=!1),e?r.selected=!r.selected:r.selected=!0,this.selectedOptions.some((i,s)=>i!=t[s])&&this.dispatchEvent(new Event("change"))};_c=new WeakSet;Mp=function(r){Yi(this,Sc,Op).call(this);let e=this.options,t=e.findIndex(d=>d.getAttribute("tabindex")==="0");mi(this,fr,Lt(this,fr)+r);let i=Lt(this,fr).split("").every(d=>d===r),s=e.slice(t+(i?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(Lt(this,fr))),n=e.slice(0,t-(i?1:0)).filter(d=>d.textContent.toLowerCase().startsWith(Lt(this,fr))),a=[],o=[];return i&&(a=e.slice(t+(i?1:0)).filter(d=>d.textContent.startsWith(r)),o=e.slice(0,t-(i?1:0)).filter(d=>d.textContent.startsWith(r))),[...s,...n,...a,...o][0]};Sc=new WeakSet;Op=function(){clearTimeout(Lt(this,Ms)),mi(this,Ms,null),mi(this,Ms,setTimeout(()=>{mi(this,fr,""),mi(this,Ms,null)},500))};w.customElements.get("media-chrome-listbox")||w.customElements.define("media-chrome-listbox",ai);var wc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Lc=(r,e,t)=>(wc(r,e,"read from private field"),t?t.call(r):e.get(r)),xc=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ic=(r,e,t,i)=>(wc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Np=(r,e,t)=>(wc(r,e,"access private method"),t),xo,Os,Io,kc,Up=Y.createElement("template");Up.innerHTML=`
839
839
  <style>
840
840
  :host {
841
841
  cursor: pointer;
@@ -874,7 +874,7 @@ svg, img, ::slotted(svg), ::slotted(img) {
874
874
  }
875
875
  </style>
876
876
  <slot></slot>
877
- `;var mr={VALUE:"value",SELECTED:"selected",DISABLED:"disabled"},Io=class extends w.HTMLElement{constructor(){super(),Sc(this,xo),Sc(this,So,!1),Sc(this,Os,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Up.content.cloneNode(!0)))}static get observedAttributes(){return[mr.DISABLED,mr.SELECTED,mr.VALUE]}get value(){var e;return(e=this.getAttribute(mr.VALUE))!=null?e:this.text}set value(e){this.setAttribute(mr.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get selected(){return this.getAttribute("aria-selected")==="true"}set selected(e){xc(this,So,!0),this.setAttribute("aria-selected",e?"true":"false"),e?this.part.add("option-selected"):this.part.remove("option-selected")}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.hasAttribute("aria-selected")||this.setAttribute("aria-selected","false")}disable(){this.removeAttribute("tabindex")}attributeChangedCallback(e,t,i){e===mr.SELECTED&&!Ic(this,So)?this.setAttribute("aria-selected",i!=null?"true":"false"):e===mr.DISABLED&&i!==t&&(i==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(mr.DISABLED)||this.enable(),this.setAttribute("role","option"),xc(this,Os,Rc(this,this.parentNode)),Np(this,xo,Lc).call(this)}disconnectedCallback(){this.disable(),Np(this,xo,Lc).call(this),xc(this,Os,null)}handleClick(){}};So=new WeakMap;Os=new WeakMap;xo=new WeakSet;Lc=function(){var r;let e=(r=Ic(this,Os))==null?void 0:r.options;if(!e)return;let t=e.filter(i=>i.getAttribute("aria-selected")==="true").pop();t||(t=e[0]),Ic(this,Os).getAttribute("aria-multiselectable")!=="true"&&e.forEach(i=>{i.setAttribute("tabindex","-1"),i.setAttribute("aria-selected","false")}),t==null||t.setAttribute("tabindex","0"),t==null||t.setAttribute("aria-selected","true")};function Rc(r,e){if(!r)return null;let{host:t}=r.getRootNode();return!e&&t?Rc(r,t):e!=null&&e.options?e:Rc(e,e==null?void 0:e.parentNode)}w.customElements.get("media-chrome-option")||w.customElements.define("media-chrome-option",Io);var Cc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},ie=(r,e,t)=>(Cc(r,e,"read from private field"),t?t.call(r):e.get(r)),Rt=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Mt=(r,e,t,i)=>(Cc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),ji=(r,e,t)=>(Cc(r,e,"access private method"),t),Oi,Ps,wn,Ns,pt,Dn,tt,Pi,Cn,Fr,Us,Lo,wc,Fp,Dc,Bp,Fs,Mn,Mc,$p,Ro,Oc,Gp=Y.createElement("template");Gp.innerHTML=`
877
+ `;var mr={VALUE:"value",SELECTED:"selected",DISABLED:"disabled"},Lo=class extends w.HTMLElement{constructor(){super(),xc(this,Io),xc(this,xo,!1),xc(this,Os,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Up.content.cloneNode(!0)))}static get observedAttributes(){return[mr.DISABLED,mr.SELECTED,mr.VALUE]}get value(){var e;return(e=this.getAttribute(mr.VALUE))!=null?e:this.text}set value(e){this.setAttribute(mr.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get selected(){return this.getAttribute("aria-selected")==="true"}set selected(e){Ic(this,xo,!0),this.setAttribute("aria-selected",e?"true":"false"),e?this.part.add("option-selected"):this.part.remove("option-selected")}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex",-1),this.hasAttribute("aria-selected")||this.setAttribute("aria-selected","false")}disable(){this.removeAttribute("tabindex")}attributeChangedCallback(e,t,i){e===mr.SELECTED&&!Lc(this,xo)?this.setAttribute("aria-selected",i!=null?"true":"false"):e===mr.DISABLED&&i!==t&&(i==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(mr.DISABLED)||this.enable(),this.setAttribute("role","option"),Ic(this,Os,Rc(this,this.parentNode)),Np(this,Io,kc).call(this)}disconnectedCallback(){this.disable(),Np(this,Io,kc).call(this),Ic(this,Os,null)}handleClick(){}};xo=new WeakMap;Os=new WeakMap;Io=new WeakSet;kc=function(){var r;let e=(r=Lc(this,Os))==null?void 0:r.options;if(!e)return;let t=e.filter(i=>i.getAttribute("aria-selected")==="true").pop();t||(t=e[0]),Lc(this,Os).getAttribute("aria-multiselectable")!=="true"&&e.forEach(i=>{i.setAttribute("tabindex","-1"),i.setAttribute("aria-selected","false")}),t==null||t.setAttribute("tabindex","0"),t==null||t.setAttribute("aria-selected","true")};function Rc(r,e){if(!r)return null;let{host:t}=r.getRootNode();return!e&&t?Rc(r,t):e!=null&&e.options?e:Rc(e,e==null?void 0:e.parentNode)}w.customElements.get("media-chrome-option")||w.customElements.define("media-chrome-option",Lo);var Mc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},re=(r,e,t)=>(Mc(r,e,"read from private field"),t?t.call(r):e.get(r)),kt=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Mt=(r,e,t,i)=>(Mc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),ji=(r,e,t)=>(Mc(r,e,"access private method"),t),Oi,Ps,wn,Ns,pt,Dn,tt,Pi,Cn,Fr,Us,ko,Dc,Fp,Cc,Bp,Fs,Mn,Oc,$p,Ro,Pc,Gp=Y.createElement("template");Gp.innerHTML=`
878
878
  <style>
879
879
  :host {
880
880
  font: var(--media-font,
@@ -927,48 +927,48 @@ svg, img, ::slotted(svg), ::slotted(img) {
927
927
  <slot></slot>
928
928
  </media-chrome-listbox>
929
929
  </slot>
930
- `;var oi=class extends w.HTMLElement{constructor(){var e;super(),Rt(this,wc),Rt(this,Dc),Rt(this,Fs),Rt(this,Mc),Rt(this,Ro),Rt(this,Oi,void 0),Rt(this,Ps,void 0),Rt(this,wn,void 0),Rt(this,Ns,!0),Rt(this,pt,void 0),Rt(this,Dn,void 0),Rt(this,tt,void 0),Rt(this,Pi,void 0),Rt(this,Cn,!1),Rt(this,Fr,i=>{let{key:s}=i;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",ie(this,Fr));return}i.composedPath().includes(ie(this,pt))&&(s==="Enter"||s===" ")?ie(this,Ps).call(this):s==="Escape"&&!ie(this,Pi).hidden&&ji(this,Fs,Mn).call(this)}),Rt(this,Us,i=>{let{metaKey:s,altKey:n,key:a}=i;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",ie(this,Fr));return}i.preventDefault(),this.addEventListener("keyup",ie(this,Fr),{once:!0})}),Rt(this,Lo,i=>{i.composedPath().includes(this)||ie(this,Pi).hidden||ji(this,Fs,Mn).call(this)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Gp.content.cloneNode(!0)));let{style:t}=Qe(this.shadowRoot,":host");t.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),Mt(this,Ps,ji(this,wc,Fp).bind(this)),Mt(this,wn,ji(this,Dc,Bp).bind(this)),(e=this.init)==null||e.call(this),Mt(this,pt,this.shadowRoot.querySelector("[part=button]")),Mt(this,tt,this.shadowRoot.querySelector("[part=listbox]")),Mt(this,Dn,this.shadowRoot.querySelector("slot[name=button]")),ie(this,Dn).addEventListener("slotchange",()=>{let i=ie(this,Dn).assignedElements()[0];!i||(this.disable(),Mt(this,pt,i),ie(this,pt).preventClick=!0,ie(this,pt).hasAttribute("disabled")&&Mt(this,Ns,!1),ie(this,Ns)?(this.enable(),ie(this,pt).setAttribute("aria-haspopup","listbox")):this.disable())}),Mt(this,Pi,this.shadowRoot.querySelector("slot[name=listbox]")),ie(this,Pi).addEventListener("slotchange",()=>{this.disable(),Mt(this,tt,ie(this,Pi).assignedElements()[0]||ie(this,tt)),this.enable()})}static get observedAttributes(){return["disabled",_e.MEDIA_CONTROLLER]}enable(){ie(this,pt).removeAttribute("disabled"),ie(this,pt).addEventListener("click",ie(this,Ps)),ie(this,pt).addEventListener("keydown",ie(this,Us)),ie(this,tt).addEventListener("keydown",ie(this,Us)),ji(this,Ro,Oc).call(this),ie(this,tt).addEventListener("change",ie(this,wn)),Y.addEventListener("click",ie(this,Lo))}disable(){ie(this,pt).setAttribute("disabled",""),ie(this,pt).removeEventListener("click",ie(this,Ps)),ie(this,pt).removeEventListener("keydown",ie(this,Us)),ie(this,pt).removeEventListener("keyup",ie(this,Fr)),ie(this,tt).removeEventListener("keydown",ie(this,Us)),ie(this,tt).removeEventListener("keyup",ie(this,Fr)),ie(this,tt).addEventListener("change",ie(this,wn)),Y.removeEventListener("click",ie(this,Lo))}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=ie(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Mt(this,Oi,null),ie(this,tt).removeAttribute(_e.MEDIA_CONTROLLER)),i&&(Mt(this,Oi,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=ie(this,Oi))==null?void 0:o.associateElement)==null||l.call(o,this),ie(this,tt).setAttribute(_e.MEDIA_CONTROLLER,i))):e==="disabled"&&i!==t&&(i==null?(Mt(this,Ns,!0),this.enable()):(Mt(this,Ns,!1),this.disable()))}connectedCallback(){var e,t,i;this.hasAttribute("disabled")||this.enable();let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Mt(this,Oi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=ie(this,Oi))==null?void 0:t.associateElement)==null||i.call(t,this),ie(this,tt).setAttribute(_e.MEDIA_CONTROLLER,s))}disconnectedCallback(){var e,t;this.disable(),(t=(e=ie(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Mt(this,Oi,null),ie(this,tt).removeAttribute(_e.MEDIA_CONTROLLER)}get keysUsed(){return["Enter","Escape"," ","ArrowUp","ArrowDown","f","c","k","m"]}};Oi=new WeakMap;Ps=new WeakMap;wn=new WeakMap;Ns=new WeakMap;pt=new WeakMap;Dn=new WeakMap;tt=new WeakMap;Pi=new WeakMap;Cn=new WeakMap;Fr=new WeakMap;Us=new WeakMap;Lo=new WeakMap;wc=new WeakSet;Fp=function(){ji(this,Fs,Mn).call(this)};Dc=new WeakSet;Bp=function(){ji(this,Fs,Mn).call(this,!0)};Fs=new WeakSet;Mn=function(r){ie(this,Pi).hidden=!ie(this,Pi).hidden||r,ji(this,Ro,Oc).call(this,r),ie(this,Pi).hidden?(this.shadowRoot.activeElement===ie(this,tt)||ie(this,tt).contains(this.shadowRoot.activeElement))&&ie(this,pt).focus():(ie(this,tt).focus(),ji(this,Mc,$p).call(this))};Mc=new WeakSet;$p=function(){var r;if(ie(this,tt).offsetWidth===0)return;let e=ie(this,pt).getBoundingClientRect();if(this.hasAttribute("mediacontroller")||ie(this,pt).hasAttribute("mediacontroller")||ie(this,tt).hasAttribute("mediacontroller")){ie(this,tt).style.zIndex="1",ie(this,tt).style.bottom="unset",ie(this,tt).style.top=e.height+"px";return}let t=(r=this.getAttribute("bounds")?Cr(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?r:this,i=ie(this,tt).offsetWidth,s=t.getBoundingClientRect(),n=-Math.max(e.x+i-s.right,0);ie(this,tt).style.left=`${n}px`};Ro=new WeakSet;Oc=function(r=!1){Mt(this,Cn,!ie(this,Cn)||r),ie(this,pt).setAttribute("aria-expanded",ie(this,Cn))};w.customElements.get("media-chrome-selectmenu")||w.customElements.define("media-chrome-selectmenu",oi);var Bc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Wb=(r,e,t)=>(Bc(r,e,"read from private field"),t?t.call(r):e.get(r)),Pc=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},qb=(r,e,t,i)=>(Bc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Nc=(r,e,t)=>(Bc(r,e,"access private method"),t),wo,Uc,Kp,ko,Fc,Yb=`
930
+ `;var oi=class extends w.HTMLElement{constructor(){var e;super(),kt(this,Dc),kt(this,Cc),kt(this,Fs),kt(this,Oc),kt(this,Ro),kt(this,Oi,void 0),kt(this,Ps,void 0),kt(this,wn,void 0),kt(this,Ns,!0),kt(this,pt,void 0),kt(this,Dn,void 0),kt(this,tt,void 0),kt(this,Pi,void 0),kt(this,Cn,!1),kt(this,Fr,i=>{let{key:s}=i;if(!this.keysUsed.includes(s)){this.removeEventListener("keyup",re(this,Fr));return}i.composedPath().includes(re(this,pt))&&(s==="Enter"||s===" ")?re(this,Ps).call(this):s==="Escape"&&!re(this,Pi).hidden&&ji(this,Fs,Mn).call(this)}),kt(this,Us,i=>{let{metaKey:s,altKey:n,key:a}=i;if(s||n||!this.keysUsed.includes(a)){this.removeEventListener("keyup",re(this,Fr));return}i.preventDefault(),this.addEventListener("keyup",re(this,Fr),{once:!0})}),kt(this,ko,i=>{i.composedPath().includes(this)||re(this,Pi).hidden||ji(this,Fs,Mn).call(this)}),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(Gp.content.cloneNode(!0)));let{style:t}=Qe(this.shadowRoot,":host");t.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),Mt(this,Ps,ji(this,Dc,Fp).bind(this)),Mt(this,wn,ji(this,Cc,Bp).bind(this)),(e=this.init)==null||e.call(this),Mt(this,pt,this.shadowRoot.querySelector("[part=button]")),Mt(this,tt,this.shadowRoot.querySelector("[part=listbox]")),Mt(this,Dn,this.shadowRoot.querySelector("slot[name=button]")),re(this,Dn).addEventListener("slotchange",()=>{let i=re(this,Dn).assignedElements()[0];!i||(this.disable(),Mt(this,pt,i),re(this,pt).preventClick=!0,re(this,pt).hasAttribute("disabled")&&Mt(this,Ns,!1),re(this,Ns)?(this.enable(),re(this,pt).setAttribute("aria-haspopup","listbox")):this.disable())}),Mt(this,Pi,this.shadowRoot.querySelector("slot[name=listbox]")),re(this,Pi).addEventListener("slotchange",()=>{this.disable(),Mt(this,tt,re(this,Pi).assignedElements()[0]||re(this,tt)),this.enable()})}static get observedAttributes(){return["disabled",_e.MEDIA_CONTROLLER]}enable(){re(this,pt).removeAttribute("disabled"),re(this,pt).addEventListener("click",re(this,Ps)),re(this,pt).addEventListener("keydown",re(this,Us)),re(this,tt).addEventListener("keydown",re(this,Us)),ji(this,Ro,Pc).call(this),re(this,tt).addEventListener("change",re(this,wn)),Y.addEventListener("click",re(this,ko))}disable(){re(this,pt).setAttribute("disabled",""),re(this,pt).removeEventListener("click",re(this,Ps)),re(this,pt).removeEventListener("keydown",re(this,Us)),re(this,pt).removeEventListener("keyup",re(this,Fr)),re(this,tt).removeEventListener("keydown",re(this,Us)),re(this,tt).removeEventListener("keyup",re(this,Fr)),re(this,tt).addEventListener("change",re(this,wn)),Y.removeEventListener("click",re(this,ko))}attributeChangedCallback(e,t,i){var s,n,a,o,l;e===_e.MEDIA_CONTROLLER?(t&&((n=(s=re(this,Oi))==null?void 0:s.unassociateElement)==null||n.call(s,this),Mt(this,Oi,null),re(this,tt).removeAttribute(_e.MEDIA_CONTROLLER)),i&&(Mt(this,Oi,(a=this.getRootNode())==null?void 0:a.getElementById(i)),(l=(o=re(this,Oi))==null?void 0:o.associateElement)==null||l.call(o,this),re(this,tt).setAttribute(_e.MEDIA_CONTROLLER,i))):e==="disabled"&&i!==t&&(i==null?(Mt(this,Ns,!0),this.enable()):(Mt(this,Ns,!1),this.disable()))}connectedCallback(){var e,t,i;this.hasAttribute("disabled")||this.enable();let s=this.getAttribute(_e.MEDIA_CONTROLLER);s&&(Mt(this,Oi,(e=this.getRootNode())==null?void 0:e.getElementById(s)),(i=(t=re(this,Oi))==null?void 0:t.associateElement)==null||i.call(t,this),re(this,tt).setAttribute(_e.MEDIA_CONTROLLER,s))}disconnectedCallback(){var e,t;this.disable(),(t=(e=re(this,Oi))==null?void 0:e.unassociateElement)==null||t.call(e,this),Mt(this,Oi,null),re(this,tt).removeAttribute(_e.MEDIA_CONTROLLER)}get keysUsed(){return["Enter","Escape"," ","ArrowUp","ArrowDown","f","c","k","m"]}};Oi=new WeakMap;Ps=new WeakMap;wn=new WeakMap;Ns=new WeakMap;pt=new WeakMap;Dn=new WeakMap;tt=new WeakMap;Pi=new WeakMap;Cn=new WeakMap;Fr=new WeakMap;Us=new WeakMap;ko=new WeakMap;Dc=new WeakSet;Fp=function(){ji(this,Fs,Mn).call(this)};Cc=new WeakSet;Bp=function(){ji(this,Fs,Mn).call(this,!0)};Fs=new WeakSet;Mn=function(r){re(this,Pi).hidden=!re(this,Pi).hidden||r,ji(this,Ro,Pc).call(this,r),re(this,Pi).hidden?(this.shadowRoot.activeElement===re(this,tt)||re(this,tt).contains(this.shadowRoot.activeElement))&&re(this,pt).focus():(re(this,tt).focus(),ji(this,Oc,$p).call(this))};Oc=new WeakSet;$p=function(){var r;if(re(this,tt).offsetWidth===0)return;let e=re(this,pt).getBoundingClientRect();if(this.hasAttribute("mediacontroller")||re(this,pt).hasAttribute("mediacontroller")||re(this,tt).hasAttribute("mediacontroller")){re(this,tt).style.zIndex="1",re(this,tt).style.bottom="unset",re(this,tt).style.top=e.height+"px";return}let t=(r=this.getAttribute("bounds")?Cr(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?r:this,i=re(this,tt).offsetWidth,s=t.getBoundingClientRect(),n=-Math.max(e.x+i-s.right,0);re(this,tt).style.left=`${n}px`};Ro=new WeakSet;Pc=function(r=!1){Mt(this,Cn,!re(this,Cn)||r),re(this,pt).setAttribute("aria-expanded",re(this,Cn))};w.customElements.get("media-chrome-selectmenu")||w.customElements.define("media-chrome-selectmenu",oi);var $c=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},qb=(r,e,t)=>($c(r,e,"read from private field"),t?t.call(r):e.get(r)),Nc=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Yb=(r,e,t,i)=>($c(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Uc=(r,e,t)=>($c(r,e,"access private method"),t),Do,Fc,Kp,wo,Bc,jb=`
931
931
  <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
932
932
  <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
933
933
  </svg>`,Wp=Y.createElement("template");Wp.innerHTML=`
934
- <slot name="captions-indicator" hidden>${Yb}</slot>
935
- `;var Do=class extends ai{constructor(){super({slotTemplate:Wp}),Pc(this,Uc),Pc(this,ko),Pc(this,wo,void 0)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",A.MEDIA_SUBTITLES_LIST,A.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===A.MEDIA_SUBTITLES_LIST&&t!==i?Nc(this,Uc,Kp).call(this):e===A.MEDIA_SUBTITLES_SHOWING&&t!==i?this.value=i:e==="aria-multiselectable"&&(this.removeAttribute("aria-multiselectable"),console.warn("Captions List doesn't currently support multiple selections. You can enable multiple items via the media.textTrack API."))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Nc(this,ko,Fc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Nc(this,ko,Fc))}get mediaSubtitlesList(){return Hp(this,A.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){Vp(this,A.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return Hp(this,A.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){Vp(this,A.MEDIA_SUBTITLES_SHOWING,e)}};wo=new WeakMap;Uc=new WeakSet;Kp=function(){var r;if(Wb(this,wo)===JSON.stringify(this.mediaSubtitlesList))return;qb(this,wo,JSON.stringify(this.mediaSubtitlesList));let e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.value,i=Mi(this.formatOptionText("Off"),"off",t);i.prepend(mi(this,"select-indicator")),e.append(i);let s=this.mediaSubtitlesList;for(let n of s){let a=Mi(this.formatOptionText(n.label,n),Ga(n),this.value==Ga(n));a.prepend(mi(this,"select-indicator")),((r=n.kind)!=null?r:"subs")==="captions"&&a.append(mi(this,"captions-indicator")),e.append(a)}};ko=new WeakSet;Fc=function(){if(Wi(this,!1),!this.value)return;let r=new w.CustomEvent(se.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};var Hp=(r,e)=>{let t=r.getAttribute(e);return t?vn(t):[]},Vp=(r,e,t)=>{if(!(t!=null&&t.length)){r.removeAttribute(e);return}let i=Or(t);r.getAttribute(e)!==i&&r.setAttribute(e,i)};w.customElements.get("media-captions-listbox")||w.customElements.define("media-captions-listbox",Do);var Co=class extends oi{init(){let e=Y.createElement("media-captions-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-captions-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-captions-selectmenu")||w.customElements.define("media-captions-selectmenu",Co);var qp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Mo=(r,e,t)=>(qp(r,e,"read from private field"),t?t.call(r):e.get(r)),$c=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},On=(r,e,t)=>(qp(r,e,"access private method"),t),Bs,Pn,Oo,Po,Hc,Gc={RATES:"rates"},No=class extends ai{constructor(){super(),$c(this,Pn),$c(this,Po),$c(this,Bs,new dr(this,Gc.RATES,{defaultValue:tc})),On(this,Pn,Oo).call(this)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",A.MEDIA_PLAYBACK_RATE,Gc.RATES]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===A.MEDIA_PLAYBACK_RATE&&t!=i?this.value=i:e===Gc.RATES&&t!=i&&(Mo(this,Bs).value=i,On(this,Pn,Oo).call(this))}get rates(){return Mo(this,Bs)}set rates(e){e?Array.isArray(e)&&(Mo(this,Bs).value=e.join(" ")):Mo(this,Bs).value="",On(this,Pn,Oo).call(this)}get mediaPlaybackRate(){return Fe(this,A.MEDIA_PLAYBACK_RATE,Ls)}set mediaPlaybackRate(e){ze(this,A.MEDIA_PLAYBACK_RATE,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",On(this,Po,Hc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",On(this,Po,Hc))}};Bs=new WeakMap;Pn=new WeakSet;Oo=function(){let r=this.shadowRoot.querySelector("#container");r.textContent="";for(let e of this.rates){let t=Mi(this.formatOptionText(`${e}x`,e),e,this.mediaPlaybackRate==e);t.prepend(mi(this,"select-indicator")),r.append(t)}};Po=new WeakSet;Hc=function(){if(!this.value)return;let r=new w.CustomEvent(se.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};w.customElements.get("media-playback-rate-listbox")||w.customElements.define("media-playback-rate-listbox",No);var Uo=class extends oi{init(){let e=Y.createElement("media-playback-rate-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-playback-rate-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-playback-rate-selectmenu")||w.customElements.define("media-playback-rate-selectmenu",Uo);var qc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Yp=(r,e,t)=>(qc(r,e,"read from private field"),t?t.call(r):e.get(r)),Fo=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Vc=(r,e,t,i)=>(qc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Bo=(r,e,t)=>(qc(r,e,"access private method"),t),Nn,Ho,$o,Kc,Go,Wc,Vo=class extends ai{constructor(){super(...arguments),Fo(this,$o),Fo(this,Go),Fo(this,Nn,[]),Fo(this,Ho,void 0)}static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_RENDITION_LIST,A.MEDIA_RENDITION_SELECTED]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===A.MEDIA_RENDITION_SELECTED&&t!==i?this.value=i!=null?i:"auto":e===A.MEDIA_RENDITION_LIST&&t!==i&&(Vc(this,Nn,cm(i)),Bo(this,$o,Kc).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Bo(this,Go,Wc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Bo(this,Go,Wc))}get mediaRenditionList(){return Yp(this,Nn)}set mediaRenditionList(e){Vc(this,Nn,e),Bo(this,$o,Kc).call(this)}get mediaRenditionSelected(){return We(this,A.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){Be(this,A.MEDIA_RENDITION_SELECTED,e)}};Nn=new WeakMap;Ho=new WeakMap;$o=new WeakSet;Kc=function(){if(Yp(this,Ho)===JSON.stringify(this.mediaRenditionList))return;Vc(this,Ho,JSON.stringify(this.mediaRenditionList));let r=this.mediaRenditionList.sort((s,n)=>n.height-s.height),e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.mediaRenditionSelected;for(let s of r){let n=this.formatOptionText(`${Math.min(s.width,s.height)}p`,s),a=Mi(n,`${s.id}`,s.selected&&!t);a.prepend(mi(this,"select-indicator")),e.append(a)}let i=Mi(this.formatOptionText("Auto"),"auto",t);i.prepend(mi(this,"select-indicator")),e.append(i)};Go=new WeakSet;Wc=function(){if(this.value==null)return;let r=new w.CustomEvent(se.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};w.customElements.get("media-rendition-listbox")||w.customElements.define("media-rendition-listbox",Vo);var jb=`<svg aria-hidden="true" viewBox="0 0 24 24">
934
+ <slot name="captions-indicator" hidden>${jb}</slot>
935
+ `;var Co=class extends ai{constructor(){super({slotTemplate:Wp}),Nc(this,Fc),Nc(this,wo),Nc(this,Do,void 0)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",S.MEDIA_SUBTITLES_LIST,S.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===S.MEDIA_SUBTITLES_LIST&&t!==i?Uc(this,Fc,Kp).call(this):e===S.MEDIA_SUBTITLES_SHOWING&&t!==i?this.value=i:e==="aria-multiselectable"&&(this.removeAttribute("aria-multiselectable"),console.warn("Captions List doesn't currently support multiple selections. You can enable multiple items via the media.textTrack API."))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Uc(this,wo,Bc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Uc(this,wo,Bc))}get mediaSubtitlesList(){return Hp(this,S.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){Vp(this,S.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return Hp(this,S.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){Vp(this,S.MEDIA_SUBTITLES_SHOWING,e)}};Do=new WeakMap;Fc=new WeakSet;Kp=function(){var r;if(qb(this,Do)===JSON.stringify(this.mediaSubtitlesList))return;Yb(this,Do,JSON.stringify(this.mediaSubtitlesList));let e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.value,i=Mi(this.formatOptionText("Off"),"off",t);i.prepend(pi(this,"select-indicator")),e.append(i);let s=this.mediaSubtitlesList;for(let n of s){let a=Mi(this.formatOptionText(n.label,n),Ha(n),this.value==Ha(n));a.prepend(pi(this,"select-indicator")),((r=n.kind)!=null?r:"subs")==="captions"&&a.append(pi(this,"captions-indicator")),e.append(a)}};wo=new WeakSet;Bc=function(){if(Wi(this,!1),!this.value)return;let r=new w.CustomEvent(se.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};var Hp=(r,e)=>{let t=r.getAttribute(e);return t?vn(t):[]},Vp=(r,e,t)=>{if(!(t!=null&&t.length)){r.removeAttribute(e);return}let i=Or(t);r.getAttribute(e)!==i&&r.setAttribute(e,i)};w.customElements.get("media-captions-listbox")||w.customElements.define("media-captions-listbox",Co);var Mo=class extends oi{init(){let e=Y.createElement("media-captions-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-captions-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-captions-selectmenu")||w.customElements.define("media-captions-selectmenu",Mo);var qp=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Oo=(r,e,t)=>(qp(r,e,"read from private field"),t?t.call(r):e.get(r)),Gc=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},On=(r,e,t)=>(qp(r,e,"access private method"),t),Bs,Pn,Po,No,Vc,Hc={RATES:"rates"},Uo=class extends ai{constructor(){super(),Gc(this,Pn),Gc(this,No),Gc(this,Bs,new dr(this,Hc.RATES,{defaultValue:ic})),On(this,Pn,Po).call(this)}static get observedAttributes(){return[...super.observedAttributes,"aria-multiselectable",S.MEDIA_PLAYBACK_RATE,Hc.RATES]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===S.MEDIA_PLAYBACK_RATE&&t!=i?this.value=i:e===Hc.RATES&&t!=i&&(Oo(this,Bs).value=i,On(this,Pn,Po).call(this))}get rates(){return Oo(this,Bs)}set rates(e){e?Array.isArray(e)&&(Oo(this,Bs).value=e.join(" ")):Oo(this,Bs).value="",On(this,Pn,Po).call(this)}get mediaPlaybackRate(){return Fe(this,S.MEDIA_PLAYBACK_RATE,Ls)}set mediaPlaybackRate(e){ze(this,S.MEDIA_PLAYBACK_RATE,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",On(this,No,Vc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",On(this,No,Vc))}};Bs=new WeakMap;Pn=new WeakSet;Po=function(){let r=this.shadowRoot.querySelector("#container");r.textContent="";for(let e of this.rates){let t=Mi(this.formatOptionText(`${e}x`,e),e,this.mediaPlaybackRate==e);t.prepend(pi(this,"select-indicator")),r.append(t)}};No=new WeakSet;Vc=function(){if(!this.value)return;let r=new w.CustomEvent(se.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};w.customElements.get("media-playback-rate-listbox")||w.customElements.define("media-playback-rate-listbox",Uo);var Fo=class extends oi{init(){let e=Y.createElement("media-playback-rate-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-playback-rate-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-playback-rate-selectmenu")||w.customElements.define("media-playback-rate-selectmenu",Fo);var Yc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Yp=(r,e,t)=>(Yc(r,e,"read from private field"),t?t.call(r):e.get(r)),Bo=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Kc=(r,e,t,i)=>(Yc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),$o=(r,e,t)=>(Yc(r,e,"access private method"),t),Nn,Vo,Go,Wc,Ho,qc,Ko=class extends ai{constructor(){super(...arguments),Bo(this,Go),Bo(this,Ho),Bo(this,Nn,[]),Bo(this,Vo,void 0)}static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_RENDITION_LIST,S.MEDIA_RENDITION_SELECTED]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===S.MEDIA_RENDITION_SELECTED&&t!==i?this.value=i!=null?i:"auto":e===S.MEDIA_RENDITION_LIST&&t!==i&&(Kc(this,Nn,cm(i)),$o(this,Go,Wc).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",$o(this,Ho,qc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",$o(this,Ho,qc))}get mediaRenditionList(){return Yp(this,Nn)}set mediaRenditionList(e){Kc(this,Nn,e),$o(this,Go,Wc).call(this)}get mediaRenditionSelected(){return We(this,S.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){Be(this,S.MEDIA_RENDITION_SELECTED,e)}};Nn=new WeakMap;Vo=new WeakMap;Go=new WeakSet;Wc=function(){if(Yp(this,Vo)===JSON.stringify(this.mediaRenditionList))return;Kc(this,Vo,JSON.stringify(this.mediaRenditionList));let r=this.mediaRenditionList.sort((s,n)=>n.height-s.height),e=this.shadowRoot.querySelector("#container");e.textContent="";let t=!this.mediaRenditionSelected;for(let s of r){let n=this.formatOptionText(`${Math.min(s.width,s.height)}p`,s),a=Mi(n,`${s.id}`,s.selected&&!t);a.prepend(pi(this,"select-indicator")),e.append(a)}let i=Mi(this.formatOptionText("Auto"),"auto",t);i.prepend(pi(this,"select-indicator")),e.append(i)};Ho=new WeakSet;qc=function(){if(this.value==null)return;let r=new w.CustomEvent(se.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};w.customElements.get("media-rendition-listbox")||w.customElements.define("media-rendition-listbox",Ko);var zb=`<svg aria-hidden="true" viewBox="0 0 24 24">
936
936
  <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
937
937
  </svg>`,jp=Y.createElement("template");jp.innerHTML=`
938
- <slot name="icon">${jb}</slot>
939
- `;var Yc=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_RENDITION_SELECTED,A.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:jp})}get mediaRenditionSelected(){return We(this,A.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){Be(this,A.MEDIA_RENDITION_SELECTED,e)}};w.customElements.get("media-rendition-button")||w.customElements.define("media-rendition-button",Yc);var Ko=class extends oi{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_RENDITION_SELECTED,A.MEDIA_RENDITION_UNAVAILABLE]}init(){let e=Y.createElement("media-rendition-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-rendition-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-rendition-selectmenu")||w.customElements.define("media-rendition-selectmenu",Ko);var Qc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},zp=(r,e,t)=>(Qc(r,e,"read from private field"),t?t.call(r):e.get(r)),Wo=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},jc=(r,e,t,i)=>(Qc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),qo=(r,e,t)=>(Qc(r,e,"access private method"),t),Un,zo,Yo,zc,jo,Xc,Xo=class extends ai{constructor(){super(...arguments),Wo(this,Yo),Wo(this,jo),Wo(this,Un,[]),Wo(this,zo,void 0)}static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_AUDIO_TRACK_LIST,A.MEDIA_AUDIO_TRACK_ENABLED]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===A.MEDIA_AUDIO_TRACK_ENABLED&&t!==i?this.value=i:e===A.MEDIA_AUDIO_TRACK_LIST&&t!==i&&(jc(this,Un,hm(i)),qo(this,Yo,zc).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",qo(this,jo,Xc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",qo(this,jo,Xc))}get mediaAudioTrackList(){return zp(this,Un)}set mediaAudioTrackList(e){jc(this,Un,e),qo(this,Yo,zc).call(this)}get mediaAudioTrackEnabled(){return We(this,A.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){Be(this,A.MEDIA_AUDIO_TRACK_ENABLED,e)}};Un=new WeakMap;zo=new WeakMap;Yo=new WeakSet;zc=function(){if(zp(this,zo)===JSON.stringify(this.mediaAudioTrackList))return;jc(this,zo,JSON.stringify(this.mediaAudioTrackList));let r=this.mediaAudioTrackList,e=this.shadowRoot.querySelector("#container");e.textContent="";for(let t of r){let i=this.formatOptionText(t.label,t),s=Mi(i,`${t.id}`,t.enabled);s.prepend(mi(this,"select-indicator")),e.append(s)}};jo=new WeakSet;Xc=function(){if(this.value==null)return;let r=new w.CustomEvent(se.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};w.customElements.get("media-audio-track-listbox")||w.customElements.define("media-audio-track-listbox",Xo);var zb=`<svg aria-hidden="true" viewBox="0 0 24 24">
938
+ <slot name="icon">${zb}</slot>
939
+ `;var jc=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_RENDITION_SELECTED,S.MEDIA_RENDITION_UNAVAILABLE]}constructor(){super({slotTemplate:jp})}get mediaRenditionSelected(){return We(this,S.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){Be(this,S.MEDIA_RENDITION_SELECTED,e)}};w.customElements.get("media-rendition-button")||w.customElements.define("media-rendition-button",jc);var Wo=class extends oi{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_RENDITION_SELECTED,S.MEDIA_RENDITION_UNAVAILABLE]}init(){let e=Y.createElement("media-rendition-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-rendition-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-rendition-selectmenu")||w.customElements.define("media-rendition-selectmenu",Wo);var Zc=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},zp=(r,e,t)=>(Zc(r,e,"read from private field"),t?t.call(r):e.get(r)),qo=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},zc=(r,e,t,i)=>(Zc(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Yo=(r,e,t)=>(Zc(r,e,"access private method"),t),Un,Xo,jo,Xc,zo,Qc,Qo=class extends ai{constructor(){super(...arguments),qo(this,jo),qo(this,zo),qo(this,Un,[]),qo(this,Xo,void 0)}static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AUDIO_TRACK_LIST,S.MEDIA_AUDIO_TRACK_ENABLED]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===S.MEDIA_AUDIO_TRACK_ENABLED&&t!==i?this.value=i:e===S.MEDIA_AUDIO_TRACK_LIST&&t!==i&&(zc(this,Un,hm(i)),Yo(this,jo,Xc).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Yo(this,zo,Qc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Yo(this,zo,Qc))}get mediaAudioTrackList(){return zp(this,Un)}set mediaAudioTrackList(e){zc(this,Un,e),Yo(this,jo,Xc).call(this)}get mediaAudioTrackEnabled(){return We(this,S.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){Be(this,S.MEDIA_AUDIO_TRACK_ENABLED,e)}};Un=new WeakMap;Xo=new WeakMap;jo=new WeakSet;Xc=function(){if(zp(this,Xo)===JSON.stringify(this.mediaAudioTrackList))return;zc(this,Xo,JSON.stringify(this.mediaAudioTrackList));let r=this.mediaAudioTrackList,e=this.shadowRoot.querySelector("#container");e.textContent="";for(let t of r){let i=this.formatOptionText(t.label,t),s=Mi(i,`${t.id}`,t.enabled);s.prepend(pi(this,"select-indicator")),e.append(s)}};zo=new WeakSet;Qc=function(){if(this.value==null)return;let r=new w.CustomEvent(se.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};w.customElements.get("media-audio-track-listbox")||w.customElements.define("media-audio-track-listbox",Qo);var Xb=`<svg aria-hidden="true" viewBox="0 0 24 24">
940
940
  <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
941
941
  <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
942
942
  </svg>`,Xp=Y.createElement("template");Xp.innerHTML=`
943
- <slot name="icon">${zb}</slot>
944
- `;var Zc=class extends $e{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_AUDIO_TRACK_ENABLED,A.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:Xp})}get mediaAudioTrackEnabled(){return We(this,A.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){Be(this,A.MEDIA_AUDIO_TRACK_ENABLED,e)}};w.customElements.get("media-audio-track-button")||w.customElements.define("media-audio-track-button",Zc);var Qo=class extends oi{static get observedAttributes(){return[...super.observedAttributes,A.MEDIA_AUDIO_TRACK_ENABLED,A.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=Y.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-audio-track-selectmenu")||w.customElements.define("media-audio-track-selectmenu",Qo);var Cl=gy(Qp(),1);function Xb(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Fg={exports:{}};(function(r,e){(function(t){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,c){if(c=c||{},l=l.trim(),d=d.trim(),!d){if(!c.alwaysNormalize)return l;var u=o.parseURL(l);if(!u)throw new Error("Error trying to parse base URL.");return u.path=o.normalizePath(u.path),o.buildURLFromParts(u)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return c.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var g=s.exec(f.path);f.netLoc=g[1],f.path=g[2]}f.netLoc&&!f.path&&(f.path="/");var E={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(E.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)E.path=f.path,h.params||(E.params=f.params,h.query||(E.query=f.query));else{var T=f.path,S=T.substring(0,T.lastIndexOf("/")+1)+h.path;E.path=o.normalizePath(S)}return E.path===null&&(E.path=c.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(E)},parseURL:function(l){var d=i.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};r.exports=o})()})(Fg);var bh=Fg.exports;function Zp(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function zt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Zp(Object(t),!0).forEach(function(i){Qb(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Zp(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function Qb(r,e,t){return e=Jb(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function gt(){return gt=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},gt.apply(this,arguments)}function Zb(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var i=t.call(r,e||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function Jb(r){var e=Zb(r,"string");return typeof e=="symbol"?e:String(e)}var ce=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},y=function(r){return r.MEDIA_ATTACHING="hlsMediaAttaching",r.MEDIA_ATTACHED="hlsMediaAttached",r.MEDIA_DETACHING="hlsMediaDetaching",r.MEDIA_DETACHED="hlsMediaDetached",r.BUFFER_RESET="hlsBufferReset",r.BUFFER_CODECS="hlsBufferCodecs",r.BUFFER_CREATED="hlsBufferCreated",r.BUFFER_APPENDING="hlsBufferAppending",r.BUFFER_APPENDED="hlsBufferAppended",r.BUFFER_EOS="hlsBufferEos",r.BUFFER_FLUSHING="hlsBufferFlushing",r.BUFFER_FLUSHED="hlsBufferFlushed",r.MANIFEST_LOADING="hlsManifestLoading",r.MANIFEST_LOADED="hlsManifestLoaded",r.MANIFEST_PARSED="hlsManifestParsed",r.LEVEL_SWITCHING="hlsLevelSwitching",r.LEVEL_SWITCHED="hlsLevelSwitched",r.LEVEL_LOADING="hlsLevelLoading",r.LEVEL_LOADED="hlsLevelLoaded",r.LEVEL_UPDATED="hlsLevelUpdated",r.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",r.LEVELS_UPDATED="hlsLevelsUpdated",r.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",r.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",r.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",r.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",r.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",r.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",r.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",r.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",r.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",r.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",r.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",r.CUES_PARSED="hlsCuesParsed",r.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",r.INIT_PTS_FOUND="hlsInitPtsFound",r.FRAG_LOADING="hlsFragLoading",r.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",r.FRAG_LOADED="hlsFragLoaded",r.FRAG_DECRYPTED="hlsFragDecrypted",r.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",r.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",r.FRAG_PARSING_METADATA="hlsFragParsingMetadata",r.FRAG_PARSED="hlsFragParsed",r.FRAG_BUFFERED="hlsFragBuffered",r.FRAG_CHANGED="hlsFragChanged",r.FPS_DROP="hlsFpsDrop",r.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",r.ERROR="hlsError",r.DESTROYING="hlsDestroying",r.KEY_LOADING="hlsKeyLoading",r.KEY_LOADED="hlsKeyLoaded",r.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",r.BACK_BUFFER_REACHED="hlsBackBufferReached",r}({}),pe=function(r){return r.NETWORK_ERROR="networkError",r.MEDIA_ERROR="mediaError",r.KEY_SYSTEM_ERROR="keySystemError",r.MUX_ERROR="muxError",r.OTHER_ERROR="otherError",r}({}),B=function(r){return r.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",r.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",r.KEY_SYSTEM_NO_SESSION="keySystemNoSession",r.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",r.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",r.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",r.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",r.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",r.MANIFEST_LOAD_ERROR="manifestLoadError",r.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",r.MANIFEST_PARSING_ERROR="manifestParsingError",r.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",r.LEVEL_EMPTY_ERROR="levelEmptyError",r.LEVEL_LOAD_ERROR="levelLoadError",r.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",r.LEVEL_PARSING_ERROR="levelParsingError",r.LEVEL_SWITCH_ERROR="levelSwitchError",r.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",r.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",r.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",r.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",r.FRAG_LOAD_ERROR="fragLoadError",r.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",r.FRAG_DECRYPT_ERROR="fragDecryptError",r.FRAG_PARSING_ERROR="fragParsingError",r.FRAG_GAP="fragGap",r.REMUX_ALLOC_ERROR="remuxAllocError",r.KEY_LOAD_ERROR="keyLoadError",r.KEY_LOAD_TIMEOUT="keyLoadTimeOut",r.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",r.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",r.BUFFER_APPEND_ERROR="bufferAppendError",r.BUFFER_APPENDING_ERROR="bufferAppendingError",r.BUFFER_STALLED_ERROR="bufferStalledError",r.BUFFER_FULL_ERROR="bufferFullError",r.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",r.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",r.INTERNAL_EXCEPTION="internalException",r.INTERNAL_ABORTED="aborted",r.UNKNOWN="unknown",r}({}),$r=function(){},Tu={trace:$r,debug:$r,log:$r,warn:$r,info:$r,error:$r},Bn=Tu;function eT(r){let e=self.console[r];return e?e.bind(self.console,`[${r}] >`):$r}function tT(r,...e){e.forEach(function(t){Bn[t]=r[t]?r[t].bind(r):eT(t)})}function iT(r,e){if(self.console&&r===!0||typeof r=="object"){tT(r,"debug","log","info","warn","error");try{Bn.log(`Debug logs enabled for "${e}" in hls.js version 1.4.8`)}catch{Bn=Tu}}else Bn=Tu}var M=Bn,rT=/^(\d+)x(\d+)$/,Jp=/(.+?)=(".*?"|.*?)(?:,|$)/g,Ze=class{constructor(e){typeof e=="string"&&(e=Ze.parseAttrList(e));for(let t in e)e.hasOwnProperty(t)&&(t.substring(0,2)==="X-"&&(this.clientAttrs=this.clientAttrs||[],this.clientAttrs.push(t)),this[t]=e[t])}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let i=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)i[s]=parseInt(t.slice(s*2,s*2+2),16);return i}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=rT.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,i={},s='"';for(Jp.lastIndex=0;(t=Jp.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();i[a]=n}return i}};function sT(r){return r!=="ID"&&r!=="CLASS"&&r!=="START-DATE"&&r!=="DURATION"&&r!=="END-DATE"&&r!=="END-ON-NEXT"}function nT(r){return r==="SCTE35-OUT"||r==="SCTE35-IN"}var dl=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let i=t.attr;for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==i[s]){M.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=gt(new Ze({}),i,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let i=new Date(this.attr["END-DATE"]);ce(i.getTime())&&(this._endDate=i)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(ce(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&ce(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Ws=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},qe={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},cl=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[qe.AUDIO]:null,[qe.VIDEO]:null,[qe.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let i=e.split("@",2),s=[];i.length===1?s[0]=t?t.byteRangeEndOffset:0:s[0]=parseInt(i[1]),s[1]=parseInt(i[0])+s[0],this._byteRange=s}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=bh.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},$n=class extends cl{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Ws,this.urlId=0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let i=Object.keys(this.levelkeys);if(i.length===1)return this._decryptdata=this.levelkeys[i[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!ce(this.programDateTime))return null;let e=ce(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),i=t.length;if(i>1||i===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,i,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,i),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[qe.AUDIO]=null,e[qe.VIDEO]=null,e[qe.AUDIOVIDEO]=null}},_u=class extends cl{constructor(e,t,i,s,n){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Ws,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},aT=10,Au=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t,this.advanced=this.endSN>e.endSN||t>0||t===0&&i>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?ce(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||aT}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Th(r){return Uint8Array.from(atob(r),e=>e.charCodeAt(0))}function oT(r){let e=Bg(r).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function lT(r){let e=function(i,s,n){let a=i[s];i[s]=i[n],i[n]=a};e(r,0,3),e(r,1,2),e(r,4,5),e(r,6,7)}function dT(r){let e=r.split(":"),t=null;if(e[0]==="data"&&e.length===2){let i=e[1].split(";"),s=i[i.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(i.splice(-1,1),t=Th(a)):t=oT(a)}}return t}function Bg(r){return Uint8Array.from(unescape(encodeURIComponent(r)),e=>e.charCodeAt(0))}var st={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},jt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function eg(r){switch(r){case jt.FAIRPLAY:return st.FAIRPLAY;case jt.PLAYREADY:return st.PLAYREADY;case jt.WIDEVINE:return st.WIDEVINE;case jt.CLEARKEY:return st.CLEARKEY}}var $g={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function cT(r){if(r===$g.WIDEVINE)return st.WIDEVINE}function tg(r){switch(r){case st.FAIRPLAY:return jt.FAIRPLAY;case st.PLAYREADY:return jt.PLAYREADY;case st.WIDEVINE:return jt.WIDEVINE;case st.CLEARKEY:return jt.CLEARKEY}}function eu(r){let{drmSystems:e,widevineLicenseUrl:t}=r,i=e?[st.FAIRPLAY,st.WIDEVINE,st.PLAYREADY,st.CLEARKEY].filter(s=>!!e[s]):[];return!i[st.WIDEVINE]&&t&&i.push(st.WIDEVINE),i}var Gg=function(){return typeof self!="undefined"&&self.navigator&&self.navigator.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function uT(r,e,t,i){let s;switch(r){case st.FAIRPLAY:s=["cenc","sinf"];break;case st.WIDEVINE:case st.PLAYREADY:s=["cenc"];break;case st.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${r}`)}return hT(s,e,t,i)}function hT(r,e,t,i){return[{initDataTypes:r,persistentState:i.persistentState||"not-allowed",distinctiveIdentifier:i.distinctiveIdentifier||"not-allowed",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function Gr(r,e,t){return Uint8Array.prototype.slice?r.slice(e,t):new Uint8Array(Array.prototype.slice.call(r,e,t))}var _h=(r,e)=>e+10<=r.length&&r[e]===73&&r[e+1]===68&&r[e+2]===51&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,Hg=(r,e)=>e+10<=r.length&&r[e]===51&&r[e+1]===68&&r[e+2]===73&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,ul=(r,e)=>{let t=e,i=0;for(;_h(r,e);){i+=10;let s=wl(r,e+6);i+=s,Hg(r,e+10)&&(i+=10),e+=i}if(i>0)return r.subarray(t,t+i)},wl=(r,e)=>{let t=0;return t=(r[e]&127)<<21,t|=(r[e+1]&127)<<14,t|=(r[e+2]&127)<<7,t|=r[e+3]&127,t},fT=(r,e)=>_h(r,e)&&wl(r,e+6)+10<=r.length-e,mT=r=>{let e=Kg(r);for(let t=0;t<e.length;t++){let i=e[t];if(Vg(i))return bT(i)}},Vg=r=>r&&r.key==="PRIV"&&r.info==="com.apple.streaming.transportStreamTimestamp",pT=r=>{let e=String.fromCharCode(r[0],r[1],r[2],r[3]),t=wl(r,4),i=10;return{type:e,size:t,data:r.subarray(i,i+t)}},Kg=r=>{let e=0,t=[];for(;_h(r,e);){let i=wl(r,e+6);e+=10;let s=e+i;for(;e+8<s;){let n=pT(r.subarray(e)),a=gT(n);a&&t.push(a),e+=n.size+10}Hg(r,e)&&(e+=10)}return t},gT=r=>r.type==="PRIV"?vT(r):r.type[0]==="W"?yT(r):ET(r),vT=r=>{if(r.size<2)return;let e=Gi(r.data,!0),t=new Uint8Array(r.data.subarray(e.length+1));return{key:r.type,info:e,data:t.buffer}},ET=r=>{if(r.size<2)return;if(r.type==="TXXX"){let t=1,i=Gi(r.data.subarray(t),!0);t+=i.length+1;let s=Gi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Gi(r.data.subarray(1));return{key:r.type,data:e}},yT=r=>{if(r.type==="WXXX"){if(r.size<2)return;let t=1,i=Gi(r.data.subarray(t),!0);t+=i.length+1;let s=Gi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Gi(r.data);return{key:r.type,data:e}},bT=r=>{if(r.data.byteLength===8){let e=new Uint8Array(r.data),t=e[3]&1,i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,t&&(i+=4772185884e-2),Math.round(i)}},Gi=(r,e=!1)=>{let t=TT();if(t){let d=t.decode(r);if(e){let c=d.indexOf("\0");return c!==-1?d.substring(0,c):d}return d.replace(/\0/g,"")}let i=r.length,s,n,a,o="",l=0;for(;l<i;){if(s=r[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=r[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=r[l++],a=r[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},tu;function TT(){return!tu&&typeof self.TextDecoder!="undefined"&&(tu=new self.TextDecoder("utf-8")),tu}var Ni={hexDump:function(r){let e="";for(let t=0;t<r.length;t++){let i=r[t].toString(16);i.length<2&&(i="0"+i),e+=i}return e}},hl=Math.pow(2,32)-1,_T=[].push,Wg={video:1,audio:2,id3:3,text:4};function kt(r){return String.fromCharCode.apply(null,r)}function qg(r,e){let t=r[e]<<8|r[e+1];return t<0?65536+t:t}function be(r,e){let t=Yg(r,e);return t<0?4294967296+t:t}function Yg(r,e){return r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}function iu(r,e,t){r[e]=t>>24,r[e+1]=t>>16&255,r[e+2]=t>>8&255,r[e+3]=t&255}function Pe(r,e){let t=[];if(!e.length)return t;let i=r.byteLength;for(let s=0;s<i;){let n=be(r,s),a=kt(r.subarray(s+4,s+8)),o=n>1?s+n:i;if(a===e[0])if(e.length===1)t.push(r.subarray(s+8,o));else{let l=Pe(r.subarray(s+8,o),e.slice(1));l.length&&_T.apply(t,l)}s=o}return t}function AT(r){let e=[],t=r[0],i=8,s=be(r,i);i+=4;let n=0,a=0;t===0?i+=8:i+=16,i+=2;let o=r.length+a,l=qg(r,i);i+=2;for(let d=0;d<l;d++){let c=i,u=be(r,c);c+=4;let h=u&2147483647;if((u&2147483648)>>>31===1)return M.warn("SIDX has hierarchical references (not supported)"),null;let g=be(r,c);c+=4,e.push({referenceSize:h,subsegmentDuration:g,info:{duration:g/s,start:o,end:o+h-1}}),o+=h,c+=4,i=c}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function jg(r){let e=[],t=Pe(r,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=Pe(n,["tkhd"])[0];if(a){let o=a[0],l=o===0?12:20,d=be(a,l),c=Pe(n,["mdia","mdhd"])[0];if(c){o=c[0],l=o===0?12:20;let u=be(c,l),h=Pe(n,["mdia","hdlr"])[0];if(h){let f=kt(h.subarray(8,12)),g={soun:qe.AUDIO,vide:qe.VIDEO}[f];if(g){let E=Pe(n,["mdia","minf","stbl","stsd"])[0],T;E&&(T=kt(E.subarray(12,16))),e[d]={timescale:u,type:g},e[g]={timescale:u,id:d,codec:T}}}}}}return Pe(r,["moov","mvex","trex"]).forEach(s=>{let n=be(s,4),a=e[n];a&&(a.default={duration:be(s,12),flags:be(s,20)})}),e}function ST(r,e){if(!r||!e)return r;let t=e.keyId;return t&&e.isCommonEncryption&&Pe(r,["moov","trak"]).forEach(s=>{let a=Pe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=Pe(a,["enca"]),l=o.length>0;l||(o=Pe(a,["encv"])),o.forEach(d=>{let c=l?d.subarray(28):d.subarray(78);Pe(c,["sinf"]).forEach(h=>{let f=zg(h);if(f){let g=f.subarray(8,24);g.some(E=>E!==0)||(M.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Ni.hexDump(g)} -> ${Ni.hexDump(t)}`),f.set(t,8))}})})}),r}function zg(r){let e=Pe(r,["schm"])[0];if(e){let t=kt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return Pe(r,["schi","tenc"])[0]}return M.error("[eme] missing 'schm' box"),null}function xT(r,e){return Pe(e,["moof","traf"]).reduce((t,i)=>{let s=Pe(i,["tfdt"])[0],n=s[0],a=Pe(i,["tfhd"]).reduce((o,l)=>{let d=be(l,4),c=r[d];if(c){let u=be(s,4);if(n===1){if(u===hl)return M.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;u*=hl+1,u+=be(s,8)}let h=c.timescale||9e4,f=u/h;if(isFinite(f)&&(o===null||f<o))return f}return o},null);return a!==null&&isFinite(a)&&(t===null||a<t)?a:t},null)}function IT(r,e){let t=0,i=0,s=0,n=Pe(r,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=Pe(o,["tfhd"])[0],d=be(l,4),c=e[d];if(!c)continue;let u=c.default,h=be(l,0)|(u==null?void 0:u.flags),f=u==null?void 0:u.duration;h&8&&(h&2?f=be(l,12):f=be(l,8));let g=c.timescale||9e4,E=Pe(o,["trun"]);for(let T=0;T<E.length;T++){if(t=LT(E[T]),!t&&f){let S=be(E[T],4);t=f*S}c.type===qe.VIDEO?i+=t/g:c.type===qe.AUDIO&&(s+=t/g)}}if(i===0&&s===0){let a=0,o=Pe(r,["sidx"]);for(let l=0;l<o.length;l++){let d=AT(o[l]);d!=null&&d.references&&(a+=d.references.reduce((c,u)=>c+u.info.duration||0,0))}return a}return i||s}function LT(r){let e=be(r,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let i=0,s=be(r,4);for(let n=0;n<s;n++){if(e&256){let a=be(r,t);i+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return i}function RT(r,e,t){Pe(e,["moof","traf"]).forEach(i=>{Pe(i,["tfhd"]).forEach(s=>{let n=be(s,4),a=r[n];if(!a)return;let o=a.timescale||9e4;Pe(i,["tfdt"]).forEach(l=>{let d=l[0],c=be(l,4);if(d===0)c-=t*o,c=Math.max(c,0),iu(l,4,c);else{c*=Math.pow(2,32),c+=be(l,8),c-=t*o,c=Math.max(c,0);let u=Math.floor(c/(hl+1)),h=Math.floor(c%(hl+1));iu(l,4,u),iu(l,8,h)}})})})}function kT(r){let e={valid:null,remainder:null},t=Pe(r,["moof"]);if(t){if(t.length<2)return e.remainder=r,e}else return e;let i=t[t.length-1];return e.valid=Gr(r,0,i.byteOffset-8),e.remainder=Gr(r,i.byteOffset-8),e}function Hr(r,e){let t=new Uint8Array(r.length+e.length);return t.set(r),t.set(e,r.length),t}function ig(r,e){let t=[],i=e.samples,s=e.timescale,n=e.id,a=!1;return Pe(i,["moof"]).map(l=>{let d=l.byteOffset-8;Pe(l,["traf"]).map(u=>{let h=Pe(u,["tfdt"]).map(f=>{let g=f[0],E=be(f,4);return g===1&&(E*=Math.pow(2,32),E+=be(f,8)),E/s})[0];return h!==void 0&&(r=h),Pe(u,["tfhd"]).map(f=>{let g=be(f,4),E=be(f,0)&16777215,T=(E&1)!==0,S=(E&2)!==0,R=(E&8)!==0,x=0,N=(E&16)!==0,D=0,$=(E&32)!==0,O=8;g===n&&(T&&(O+=8),S&&(O+=4),R&&(x=be(f,O),O+=4),N&&(D=be(f,O),O+=4),$&&(O+=4),e.type==="video"&&(a=wT(e.codec)),Pe(u,["trun"]).map(H=>{let q=H[0],P=be(H,0)&16777215,X=(P&1)!==0,z=0,Ae=(P&4)!==0,Ee=(P&256)!==0,ye=0,we=(P&512)!==0,Se=0,Z=(P&1024)!==0,ae=(P&2048)!==0,ne=0,xe=be(H,4),Ie=8;X&&(z=be(H,Ie),Ie+=4),Ae&&(Ie+=4);let Ve=z+d;for(let ft=0;ft<xe;ft++){if(Ee?(ye=be(H,Ie),Ie+=4):ye=x,we?(Se=be(H,Ie),Ie+=4):Se=D,Z&&(Ie+=4),ae&&(q===0?ne=be(H,Ie):ne=Yg(H,Ie),Ie+=4),e.type===qe.VIDEO){let V=0;for(;V<Se;){let J=be(i,Ve);if(Ve+=4,DT(a,i[Ve])){let Re=i.subarray(Ve,Ve+J);Xg(Re,a?2:1,r+ne/s,t)}Ve+=J,V+=J+4}}r+=ye/s}}))})})}),t}function wT(r){if(!r)return!1;let e=r.indexOf("."),t=e<0?r:r.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function DT(r,e){if(r){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Xg(r,e,t,i){let s=Qg(r),n=0;n+=e;let a=0,o=0,l=!1,d=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;d=s[n++],a+=d}while(d===255);o=0;do{if(n>=s.length)break;d=s[n++],o+=d}while(d===255);let c=s.length-n;if(!l&&a===4&&n<s.length){if(l=!0,s[n++]===181){let h=qg(s,n);if(n+=2,h===49){let f=be(s,n);if(n+=4,f===1195456820){let g=s[n++];if(g===3){let E=s[n++],T=31&E,S=64&E,R=S?2+T*3:0,x=new Uint8Array(R);if(S){x[0]=E;for(let N=1;N<R;N++)x[N]=s[n++]}i.push({type:g,payloadType:a,pts:t,bytes:x})}}}}}else if(a===5&&o<c){if(l=!0,o>16){let u=[];for(let g=0;g<16;g++){let E=s[n++].toString(16);u.push(E.length==1?"0"+E:E),(g===3||g===5||g===7||g===9)&&u.push("-")}let h=o-16,f=new Uint8Array(h);for(let g=0;g<h;g++)f[g]=s[n++];i.push({payloadType:a,pts:t,uuid:u.join(""),userData:Gi(f),userDataBytes:f})}}else if(o<c)n+=o;else if(o>c)break}}function Qg(r){let e=r.byteLength,t=[],i=1;for(;i<e-2;)r[i]===0&&r[i+1]===0&&r[i+2]===3?(t.push(i+2),i+=2):i++;if(t.length===0)return r;let s=e-t.length,n=new Uint8Array(s),a=0;for(i=0;i<s;a++,i++)a===t[0]&&(a++,t.shift()),n[i]=r[a];return n}function CT(r){let e=r[0],t="",i="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;kt(r.subarray(d,d+1))!=="\0";)t+=kt(r.subarray(d,d+1)),d+=1;for(t+=kt(r.subarray(d,d+1)),d+=1;kt(r.subarray(d,d+1))!=="\0";)i+=kt(r.subarray(d,d+1)),d+=1;i+=kt(r.subarray(d,d+1)),d+=1,s=be(r,12),n=be(r,16),o=be(r,20),l=be(r,24),d=28}else if(e===1){d+=4,s=be(r,d),d+=4;let u=be(r,d);d+=4;let h=be(r,d);for(d+=4,a=2**32*u+h,Number.isSafeInteger(a)||(a=Number.MAX_SAFE_INTEGER,M.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=be(r,d),d+=4,l=be(r,d),d+=4;kt(r.subarray(d,d+1))!=="\0";)t+=kt(r.subarray(d,d+1)),d+=1;for(t+=kt(r.subarray(d,d+1)),d+=1;kt(r.subarray(d,d+1))!=="\0";)i+=kt(r.subarray(d,d+1)),d+=1;i+=kt(r.subarray(d,d+1)),d+=1}let c=r.subarray(d,r.byteLength);return{schemeIdUri:t,value:i,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:c}}function MT(r,...e){let t=e.length,i=8,s=t;for(;s--;)i+=e[s].byteLength;let n=new Uint8Array(i);for(n[0]=i>>24&255,n[1]=i>>16&255,n[2]=i>>8&255,n[3]=i&255,n.set(r,4),s=0,i=8;s<t;s++)n.set(e[s],i),i+=e[s].byteLength;return n}function OT(r,e,t){if(r.byteLength!==16)throw new RangeError("Invalid system id");let i,s;if(e){i=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else i=0,s=new Uint8Array;let n;i>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),MT([112,115,115,104],new Uint8Array([i,0,0,0]),r,n,s,a,t||new Uint8Array)}function PT(r){if(!(r instanceof ArrayBuffer)||r.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(r),i=t.getUint32(0);if(r.byteLength!==i&&i>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Ni.hexDump(new Uint8Array(r,12,16));let n=t.getUint32(28);if(e.version===0){if(i-32<n)return null;e.data=new Uint8Array(r,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(r,32+a*16,16))}return e}var Jo={},Vr=class{static clearKeyUriToKeyIdMap(){Jo={}}constructor(e,t,i,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case jt.FAIRPLAY:case jt.WIDEVINE:case jt.PLAYREADY:case jt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&M.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let i=NT(e);return new Vr(this.method,this.uri,"identity",this.keyFormatVersions,i)}let t=dT(this.uri);if(t)switch(this.keyFormat){case jt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case jt.PLAYREADY:{let i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=OT(i,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let c=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(c){let u=Th(c).subarray(0,16);lT(u),this.keyId=u}}break}default:{let i=t.subarray(0,16);if(i.length!==16){let s=new Uint8Array(16);s.set(i,16-i.length),i=s}this.keyId=i;break}}if(!this.keyId||this.keyId.byteLength!==16){let i=Jo[this.uri];if(!i){let s=Object.keys(Jo).length%Number.MAX_SAFE_INTEGER;i=new Uint8Array(16),new DataView(i.buffer,12,4).setUint32(0,s),Jo[this.uri]=i}this.keyId=i}return this}};function NT(r){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=r>>8*(15-t)&255;return e}var Zg=/\{\$([a-zA-Z0-9-_]+)\}/g;function rg(r){return Zg.test(r)}function qt(r,e,t){if(r.variableList!==null||r.hasVariableRefs)for(let i=t.length;i--;){let s=t[i],n=e[s];n&&(e[s]=Su(r,n))}}function Su(r,e){if(r.variableList!==null||r.hasVariableRefs){let t=r.variableList;return e.replace(Zg,i=>{let s=i.substring(2,i.length-1),n=t==null?void 0:t[s];return n===void 0?(r.playlistParsingError||(r.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),i):n})}return e}function sg(r,e,t){let i=r.variableList;i||(r.variableList=i={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in i?r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):i[s]=n||""}function UT(r,e,t){let i=e.IMPORT;if(t&&i in t){let s=r.variableList;s||(r.variableList=s={}),s[i]=t[i]}else r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}function Dl(){if(typeof self!="undefined")return self.MediaSource||self.WebKitMediaSource}var FT={audio:{a3ds:!0,"ac-3":!0,"ac-4":!0,alac:!0,alaw:!0,dra1:!0,"dts+":!0,"dts-":!0,dtsc:!0,dtse:!0,dtsh:!0,"ec-3":!0,enca:!0,g719:!0,g726:!0,m4ae:!0,mha1:!0,mha2:!0,mhm1:!0,mhm2:!0,mlpa:!0,mp4a:!0,"raw ":!0,Opus:!0,opus:!0,samr:!0,sawb:!0,sawp:!0,sevc:!0,sqcp:!0,ssmv:!0,twos:!0,ulaw:!0},video:{avc1:!0,avc2:!0,avc3:!0,avc4:!0,avcp:!0,av01:!0,drac:!0,dva1:!0,dvav:!0,dvh1:!0,dvhe:!0,encv:!0,hev1:!0,hvc1:!0,mjp2:!0,mp4v:!0,mvc1:!0,mvc2:!0,mvc3:!0,mvc4:!0,resv:!0,rv60:!0,s263:!0,svc1:!0,svc2:!0,"vc-1":!0,vp08:!0,vp09:!0},text:{stpp:!0,wvtt:!0}},ng=Dl();function BT(r,e){let t=FT[e];return!!t&&t[r.slice(0,4)]===!0}function ru(r,e){var t;return(t=ng==null?void 0:ng.isTypeSupported(`${e||"video"}/mp4;codecs="${r}"`))!=null?t:!1}var ag=/#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,og=/#EXT-X-MEDIA:(.*)/g,$T=/^#EXT(?:INF|-X-TARGETDURATION):/m,lg=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),GT=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Jt=class{static findGroup(e,t){for(let i=0;i<e.length;i++){let s=e[i];if(s.id===t)return s}}static convertAVC1ToAVCOTI(e){let t=e.split(".");if(t.length>2){let i=t.shift()+".";return i+=parseInt(t.shift()).toString(16),i+=("000"+parseInt(t.shift()).toString(16)).slice(-4),i}return e}static resolve(e,t){return bh.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return $T.test(e)}static parseMasterPlaylist(e,t){let i=rg(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:i},n=[];ag.lastIndex=0;let a;for(;(a=ag.exec(e))!=null;)if(a[1]){var o;let d=new Ze(a[1]);qt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let c=Su(s,a[2]),u={attrs:d,bitrate:d.decimalInteger("AVERAGE-BANDWIDTH")||d.decimalInteger("BANDWIDTH"),name:d.NAME,url:Jt.resolve(c,t)},h=d.decimalResolution("RESOLUTION");h&&(u.width=h.width,u.height=h.height),HT((d.CODECS||"").split(/[ ,]+/).filter(f=>f),u),u.videoCodec&&u.videoCodec.indexOf("avc1")!==-1&&(u.videoCodec=Jt.convertAVC1ToAVCOTI(u.videoCodec)),(o=u.unknownCodecs)!=null&&o.length||n.push(u),s.levels.push(u)}else if(a[3]){let d=a[3],c=a[4];switch(d){case"SESSION-DATA":{let u=new Ze(c);qt(s,u,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=u["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=u);break}case"SESSION-KEY":{let u=dg(c,t,s);u.encrypted&&u.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(u)):M.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${c}"`);break}case"DEFINE":{{let u=new Ze(c);qt(s,u,["NAME","VALUE","QUERYPARAM"]),sg(s,u,t)}break}case"CONTENT-STEERING":{let u=new Ze(c);qt(s,u,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:Jt.resolve(u["SERVER-URI"],t),pathwayId:u["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=cg(c);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,i){let s,n={},a=i.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(og.lastIndex=0;(s=og.exec(e))!==null;){let d=new Ze(s[1]),c=d.TYPE;if(c){let u=o[c],h=n[c]||[];n[c]=h,qt(i,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",instreamId:d["INSTREAM-ID"],name:d.NAME||d.LANGUAGE||"",type:c,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:d.LANGUAGE,url:d.URI?Jt.resolve(d.URI,t):""};if(u!=null&&u.length){let g=Jt.findGroup(u,f.groupId)||u[0];ug(f,g,"audioCodec"),ug(f,g,"textCodec")}h.push(f)}}return n}static parseLevelPlaylist(e,t,i,s,n,a){let o=new Au(t),l=o.fragments,d=null,c=0,u=0,h=0,f=0,g=null,E=new $n(s,t),T,S,R,x=-1,N=!1;for(lg.lastIndex=0,o.m3u8=e,o.hasVariableRefs=rg(e);(T=lg.exec(e))!==null;){N&&(N=!1,E=new $n(s,t),E.start=h,E.sn=c,E.cc=f,E.level=i,d&&(E.initSegment=d,E.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null));let H=T[1];if(H){E.duration=parseFloat(H);let q=(" "+T[2]).slice(1);E.title=q||null,E.tagList.push(q?["INF",H,q]:["INF",H])}else if(T[3]){if(ce(E.duration)){E.start=h,R&&mg(E,R,o),E.sn=c,E.level=i,E.cc=f,E.urlId=n,l.push(E);let q=(" "+T[3]).slice(1);E.relurl=Su(o,q),hg(E,g),g=E,h+=E.duration,c++,u=0,N=!0}}else if(T[4]){let q=(" "+T[4]).slice(1);g?E.setByteRange(q,g):E.setByteRange(q)}else if(T[5])E.rawProgramDateTime=(" "+T[5]).slice(1),E.tagList.push(["PROGRAM-DATE-TIME",E.rawProgramDateTime]),x===-1&&(x=l.length);else{if(T=T[0].match(GT),!T){M.warn("No matches on slow regex match for level playlist!");continue}for(S=1;S<T.length&&typeof T[S]=="undefined";S++);let q=(" "+T[S]).slice(1),P=(" "+T[S+1]).slice(1),X=T[S+2]?(" "+T[S+2]).slice(1):"";switch(q){case"PLAYLIST-TYPE":o.type=P.toUpperCase();break;case"MEDIA-SEQUENCE":c=o.startSN=parseInt(P);break;case"SKIP":{let z=new Ze(P);qt(o,z,["RECENTLY-REMOVED-DATERANGES"]);let Ae=z.decimalInteger("SKIPPED-SEGMENTS");if(ce(Ae)){o.skippedSegments=Ae;for(let ye=Ae;ye--;)l.unshift(null);c+=Ae}let Ee=z.enumeratedString("RECENTLY-REMOVED-DATERANGES");Ee&&(o.recentlyRemovedDateranges=Ee.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(P),1);break;case"VERSION":o.version=parseInt(P);break;case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(P||X)&&E.tagList.push(X?[P,X]:[P]);break;case"DISCONTINUITY":f++,E.tagList.push(["DIS"]);break;case"GAP":E.gap=!0,E.tagList.push([q]);break;case"BITRATE":E.tagList.push([q,P]);break;case"DATERANGE":{let z=new Ze(P);qt(o,z,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),qt(o,z,z.clientAttrs);let Ae=new dl(z,o.dateRanges[z.ID]);Ae.isValid||o.skippedSegments?o.dateRanges[Ae.id]=Ae:M.warn(`Ignoring invalid DATERANGE tag: "${P}"`),E.tagList.push(["EXT-X-DATERANGE",P]);break}case"DEFINE":{{let z=new Ze(P);qt(o,z,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in z?UT(o,z,a):sg(o,z,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(P);break;case"KEY":{let z=dg(P,t,o);if(z.isSupported()){if(z.method==="NONE"){R=void 0;break}R||(R={}),R[z.keyFormat]&&(R=gt({},R)),R[z.keyFormat]=z}else M.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${P}"`);break}case"START":o.startTimeOffset=cg(P);break;case"MAP":{let z=new Ze(P);if(qt(o,z,["BYTERANGE","URI"]),E.duration){let Ae=new $n(s,t);fg(Ae,z,i,R),d=Ae,E.initSegment=d,d.rawProgramDateTime&&!E.rawProgramDateTime&&(E.rawProgramDateTime=d.rawProgramDateTime)}else fg(E,z,i,R),d=E,N=!0;break}case"SERVER-CONTROL":{let z=new Ze(P);o.canBlockReload=z.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=z.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&z.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=z.optionalFloat("PART-HOLD-BACK",0),o.holdBack=z.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let z=new Ze(P);o.partTarget=z.decimalFloatingPoint("PART-TARGET");break}case"PART":{let z=o.partList;z||(z=o.partList=[]);let Ae=u>0?z[z.length-1]:void 0,Ee=u++,ye=new Ze(P);qt(o,ye,["BYTERANGE","URI"]);let we=new _u(ye,E,t,Ee,Ae);z.push(we),E.duration+=we.duration;break}case"PRELOAD-HINT":{let z=new Ze(P);qt(o,z,["URI"]),o.preloadHint=z;break}case"RENDITION-REPORT":{let z=new Ze(P);qt(o,z,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(z);break}default:M.warn(`line parsed but not handled: ${T}`);break}}}g&&!g.relurl?(l.pop(),h-=g.duration,o.partList&&(o.fragmentHint=g)):o.partList&&(hg(E,g),E.cc=f,o.fragmentHint=E,R&&mg(E,R,o));let D=l.length,$=l[0],O=l[D-1];if(h+=o.skippedSegments*o.targetduration,h>0&&D&&O){o.averagetargetduration=h/D;let H=O.sn;o.endSN=H!=="initSegment"?H:0,o.live||(O.endList=!0),$&&(o.startCC=$.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,x>0&&VT(l,x),o}};function dg(r,e,t){var i,s;let n=new Ze(r);qt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(i=n.METHOD)!=null?i:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,c=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&M.error(`Invalid IV: ${n.IV}`);let u=o?Jt.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Vr(a,u,c,h,l)}function cg(r){let t=new Ze(r).decimalFloatingPoint("TIME-OFFSET");return ce(t)?t:null}function HT(r,e){["video","audio","text"].forEach(t=>{let i=r.filter(s=>BT(s,t));if(i.length){let s=i.filter(n=>n.lastIndexOf("avc1",0)===0||n.lastIndexOf("mp4a",0)===0);e[`${t}Codec`]=s.length>0?s[0]:i[0],r=r.filter(n=>i.indexOf(n)===-1)}}),e.unknownCodecs=r}function ug(r,e,t){let i=e[t];i&&(r[t]=i)}function VT(r,e){let t=r[e];for(let i=e;i--;){let s=r[i];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function hg(r,e){r.rawProgramDateTime?r.programDateTime=Date.parse(r.rawProgramDateTime):e!=null&&e.programDateTime&&(r.programDateTime=e.endProgramDateTime),ce(r.programDateTime)||(r.programDateTime=null,r.rawProgramDateTime=null)}function fg(r,e,t,i){r.relurl=e.URI,e.BYTERANGE&&r.setByteRange(e.BYTERANGE),r.level=t,r.sn="initSegment",i&&(r.levelkeys=i),r.initSegment=null}function mg(r,e,t){r.levelkeys=e;let{encryptedFragments:i}=t;(!i.length||i[i.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&i.push(r)}var Ue={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},ge={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function pg(r){let{type:e}=r;switch(e){case Ue.AUDIO_TRACK:return ge.AUDIO;case Ue.SUBTITLE_TRACK:return ge.SUBTITLE;default:return ge.MAIN}}function su(r,e){let t=r.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var xu=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,s=t.loader,n=i||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Ue.MANIFEST,url:i,deliveryDirectives:null})}onLevelLoading(e,t){let{id:i,level:s,url:n,deliveryDirectives:a}=t;this.load({id:i,level:s,responseType:"text",type:Ue.LEVEL,url:n,deliveryDirectives:a})}onAudioTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let i=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url){M.trace("[playlist-loader]: playlist request ongoing");return}M.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===Ue.MANIFEST?n=i.manifestLoadPolicy.default:n=gt({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),(t=e.deliveryDirectives)!=null&&t.part){let d;if(e.type===Ue.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===Ue.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===Ue.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let c=d.partTarget,u=d.targetduration;if(c&&u){let h=Math.max(c*3,u*.8)*1e3;n=gt({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,c,u,h)=>{let f=this.getInternalLoader(u);this.resetInternalLoader(u.type);let g=d.data;if(g.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,u,new Error("no EXTM3U delimiter"),h||null,c);return}c.parsing.start=performance.now(),Jt.isMediaPlaylist(g)?this.handleTrackOrLevelPlaylist(d,c,u,h||null,f):this.handleMasterPlaylist(d,c,u,h)},onError:(d,c,u,h)=>{this.handleNetworkError(c,u,!1,d,h)},onTimeout:(d,c,u)=>{this.handleNetworkError(c,u,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,i,s){let n=this.hls,a=e.data,o=su(e,i),l=Jt.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,i,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:c,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g}=l;this.variableList=g;let{AUDIO:E=[],SUBTITLES:T,"CLOSED-CAPTIONS":S}=Jt.parseMasterPlaylistMedia(a,o,l);E.length&&!E.some(x=>!x.url)&&c[0].audioCodec&&!c[0].attrs.AUDIO&&(M.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),E.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Ze({}),bitrate:0,url:""})),n.trigger(y.MANIFEST_LOADED,{levels:c,audioTracks:E,subtitles:T,captions:S,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g})}handleTrackOrLevelPlaylist(e,t,i,s,n){let a=this.hls,{id:o,level:l,type:d}=i,c=su(e,i),u=ce(o)?o:0,h=ce(l)?l:u,f=pg(i),g=Jt.parseLevelPlaylist(e.data,c,h,f,u,this.variableList);if(d===Ue.MANIFEST){let E={attrs:new Ze({}),bitrate:0,details:g,name:"",url:c};a.trigger(y.MANIFEST_LOADED,{levels:[E],audioTracks:[],url:c,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=g,this.handlePlaylistLoaded(g,e,t,i,s,n)}handleManifestParsingError(e,t,i,s,n){this.hls.trigger(y.ERROR,{type:pe.NETWORK_ERROR,details:B.MANIFEST_PARSING_ERROR,fatal:t.type===Ue.MANIFEST,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,i=!1,s,n){let a=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===Ue.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===Ue.AUDIO_TRACK||e.type===Ue.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);M.warn(`[playlist-loader]: ${a}`);let l=B.UNKNOWN,d=!1,c=this.getInternalLoader(e);switch(e.type){case Ue.MANIFEST:l=i?B.MANIFEST_LOAD_TIMEOUT:B.MANIFEST_LOAD_ERROR,d=!0;break;case Ue.LEVEL:l=i?B.LEVEL_LOAD_TIMEOUT:B.LEVEL_LOAD_ERROR,d=!1;break;case Ue.AUDIO_TRACK:l=i?B.AUDIO_TRACK_LOAD_TIMEOUT:B.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case Ue.SUBTITLE_TRACK:l=i?B.SUBTITLE_TRACK_LOAD_TIMEOUT:B.SUBTITLE_LOAD_ERROR,d=!1;break}c&&this.resetInternalLoader(e.type);let u={type:pe.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:c,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;u.response=zt({url:h,data:void 0},s)}this.hls.trigger(y.ERROR,u)}handlePlaylistLoaded(e,t,i,s,n,a){let o=this.hls,{type:l,level:d,id:c,groupId:u,deliveryDirectives:h}=s,f=su(t,s),g=pg(s),E=typeof s.level=="number"&&g===ge.MAIN?d:void 0;if(!e.fragments.length){let S=new Error("No Segments found in Playlist");o.trigger(y.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:S,reason:S.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let T=e.playlistParsingError;if(T){o.trigger(y.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:T,reason:T.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case Ue.MANIFEST:case Ue.LEVEL:o.trigger(y.LEVEL_LOADED,{details:e,level:E||0,id:c||0,stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.AUDIO_TRACK:o.trigger(y.AUDIO_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.SUBTITLE_TRACK:o.trigger(y.SUBTITLE_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break}}};function Jg(r,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=r,e.dispatchEvent(t)}function e0(r,e){let t=r.mode;if(t==="disabled"&&(r.mode="hidden"),r.cues&&!r.cues.getCueById(e.id))try{if(r.addCue(e),!r.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(i){M.debug(`[texttrack-utils]: ${i}`);let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,r.addCue(s)}t==="disabled"&&(r.mode=t)}function Vs(r){let e=r.mode;if(e==="disabled"&&(r.mode="hidden"),r.cues)for(let t=r.cues.length;t--;)r.removeCue(r.cues[t]);e==="disabled"&&(r.mode=e)}function Iu(r,e,t,i){let s=r.mode;if(s==="disabled"&&(r.mode="hidden"),r.cues&&r.cues.length>0){let n=WT(r.cues,e,t);for(let a=0;a<n.length;a++)(!i||i(n[a]))&&r.removeCue(n[a])}s==="disabled"&&(r.mode=s)}function KT(r,e){if(e<r[0].startTime)return 0;let t=r.length-1;if(e>r[t].endTime)return-1;let i=0,s=t;for(;i<=s;){let n=Math.floor((s+i)/2);if(e<r[n].startTime)s=n-1;else if(e>r[n].startTime&&i<t)i=n+1;else return n}return r[i].startTime-e<e-r[s].startTime?i:s}function WT(r,e,t){let i=[],s=KT(r,e);if(s>-1)for(let n=s,a=r.length;n<a;n++){let o=r[n];if(o.startTime>=e&&o.endTime<=t)i.push(o);else if(o.startTime>t)return i}return i}var Ei={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},qT=.25;function Lu(){if(typeof self!="undefined")return self.WebKitDataCue||self.VTTCue||self.TextTrackCue}var el=(()=>{let r=Lu();try{new r(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function nu(r,e){return r.getTime()/1e3-e}function YT(r){return Uint8Array.from(r.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Ru=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){!this.id3Track||(Vs(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(!!this.media){for(let t=0;t<e.length;t++){let i=e[t];if(i.kind==="metadata"&&i.label==="id3")return Jg(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:i,enableID3MetadataCues:s}}}=this;if(!i&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Lu();for(let o=0;o<n.length;o++){let l=n[o].type;if(l===Ei.emsg&&!i||!s)continue;let d=Kg(n[o].data);if(d){let c=n[o].pts,u=c+n[o].duration;u>el&&(u=el),u-c<=0&&(u=c+qT);for(let f=0;f<d.length;f++){let g=d[f];if(!Vg(g)){this.updateId3CueEnds(c,l);let E=new a(c,u,"");E.value=g,l&&(E.type=l),this.id3Track.addCue(E)}}}}}updateId3CueEnds(e,t){var i;let s=(i=this.id3Track)==null?void 0:i.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===el&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=c=>c.type===Ei.audioId3&&l:s==="video"?d=c=>c.type===Ei.emsg&&o:d=c=>c.type===Ei.audioId3&&l||c.type===Ei.emsg&&o,Iu(n,t,i,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:i,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let c=Object.keys(i).filter(u=>!a.includes(u));for(let u=c.length;u--;){let h=c[u];Object.keys(i[h].cues).forEach(f=>{s.removeCue(i[h].cues[f])}),delete i[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!ce(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Lu();for(let c=0;c<a.length;c++){let u=a[c],h=n[u],f=i[u],g=(f==null?void 0:f.cues)||{},E=(f==null?void 0:f.durationKnown)||!1,T=nu(h.startDate,l),S=el,R=h.endDate;if(R)S=nu(R,l),E=!0;else if(h.endOnNext&&!E){let N=a.reduce((D,$)=>{let O=n[$];return O.class===h.class&&O.id!==$&&O.startDate>h.startDate&&D.push(O),D},[]).sort((D,$)=>D.startDate.getTime()-$.startDate.getTime())[0];N&&(S=nu(N.startDate,l),E=!0)}let x=Object.keys(h.attr);for(let N=0;N<x.length;N++){let D=x[N];if(!sT(D))continue;let $=g[D];if($)E&&!f.durationKnown&&($.endTime=S);else{let O=h.attr[D];$=new d(T,S,""),nT(D)&&(O=YT(O)),$.value={key:D,data:O},$.type=Ei.dateRange,$.id=u,this.id3Track.addCue($),g[D]=$}}i[u]={cues:g,dateRange:h,durationKnown:E}}}},ku=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:i,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&i||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let c=s,u=1;return d+Math.min(this.stallCount*u,c)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,i=this.levelDetails;if(e===null||t===null||i===null)return null;let s=i.edge,n=e-t-this.edgeStalled,a=s-i.totalduration,o=s-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(y.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(y.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var i;t.details===B.BUFFER_STALLED_ERROR&&(this.stallCount++,(i=this.levelDetails)!=null&&i.live&&M.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let i=this.computeLatency();if(i===null)return;this._latency=i;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1)return;let a=this.targetLatency;if(a===null)return;let o=i-a,l=Math.min(this.maxLatency,a+t.targetduration),d=o<l;if(t.live&&d&&o>.05&&this.forwardBufferLength>1){let c=Math.min(2,Math.max(1,n)),u=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(c,Math.max(1,u))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},wu=["NONE","TYPE-0","TYPE-1",null],Gn={No:"",Yes:"YES",v2:"v2"};function jT(r,e){let{canSkipUntil:t,canSkipDateRanges:i,endSN:s}=r,n=e!==void 0?e-s:0;return t&&n<t?i?Gn.v2:Gn.Yes:Gn.No}var fl=class{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Kr=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.unknownCodecs=void 0,this.audioGroupIds=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.textGroupIds=void 0,this.url=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.unknownCodecs=e.unknownCodecs,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>t).join(",").replace(/\.[^.,]+/g,"")}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get attrs(){return this._attrs[this._urlId]}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get uri(){return this.url[this._urlId]||""}get urlId(){return this._urlId}set urlId(e){let t=e%this.url.length;this._urlId!==t&&(this.fragmentError=0,this.loadError=0,this.details=void 0,this._urlId=t)}get audioGroupId(){var e;return(e=this.audioGroupIds)==null?void 0:e[this.urlId]}get textGroupId(){var e;return(e=this.textGroupIds)==null?void 0:e[this.urlId]}addFallback(e){this.url.push(e.url),this._attrs.push(e.attrs)}};function au(r,e){let t=e.startPTS;if(ce(t)){let i=0,s;e.sn>r.sn?(i=t-r.start,s=r):(i=r.start-t,s=e),s.duration!==i&&(s.duration=i)}else e.sn>r.sn?r.cc===e.cc&&r.minEndPTS?e.start=r.start+(r.minEndPTS-r.start):e.start=r.start+r.duration:e.start=Math.max(r.start-e.duration,0)}function t0(r,e,t,i,s,n){i-t<=0&&(M.warn("Fragment should have a positive duration",e),i=t+e.duration,n=s+e.duration);let o=t,l=i,d=e.startPTS,c=e.endPTS;if(ce(d)){let T=Math.abs(d-t);ce(e.deltaPTS)?e.deltaPTS=Math.max(T,e.deltaPTS):e.deltaPTS=T,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(i,c),i=Math.max(i,c),n=Math.max(n,e.endDTS)}let u=t-e.start;e.start!==0&&(e.start=t),e.duration=i-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=i,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!r||h<r.startSN||h>r.endSN)return 0;let f,g=h-r.startSN,E=r.fragments;for(E[g]=e,f=g;f>0;f--)au(E[f],E[f-1]);for(f=g;f<E.length-1;f++)au(E[f],E[f+1]);return r.fragmentHint&&au(E[E.length-1],r.fragmentHint),r.PTSKnown=r.alignedSliding=!0,u}function zT(r,e){let t=null,i=r.fragments;for(let l=i.length-1;l>=0;l--){let d=i[l].initSegment;if(d){t=d;break}}r.fragmentHint&&delete r.fragmentHint.endPTS;let s=0,n;if(ZT(r,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),ce(l.startPTS)&&ce(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,d.urlId=l.urlId,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var c;(!d.initSegment||d.initSegment.relurl===((c=t)==null?void 0:c.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){M.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=XT(r.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){M.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),QT(r.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?t0(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):i0(r,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=r.driftStartTime,e.driftStart=r.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=r.driftEndTime,e.driftEnd=r.driftEnd,e.advancedDateTime=r.advancedDateTime}function XT(r,e,t){let i=gt({},r);return t&&t.forEach(s=>{delete i[s]}),Object.keys(e).forEach(s=>{let n=new dl(e[s].attr,i[s]);n.isValid?i[s]=n:M.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),i}function QT(r,e,t){if(r&&e){let i=0;for(let s=0,n=r.length;s<=n;s++){let a=r[s],o=e[s+i];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):i--}}}function ZT(r,e,t){let i=e.skippedSegments,s=Math.max(r.startSN,e.startSN)-e.startSN,n=(r.fragmentHint?1:0)+(i?e.endSN:Math.min(r.endSN,e.endSN))-e.startSN,a=e.startSN-r.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=r.fragmentHint?r.fragments.concat(r.fragmentHint):r.fragments;for(let d=s;d<=n;d++){let c=l[a+d],u=o[d];i&&!u&&d<i&&(u=e.fragments[d]=c),c&&u&&t(c,u)}}function i0(r,e){let t=e.startSN+e.skippedSegments-r.startSN,i=r.fragments;t<0||t>=i.length||Du(e,i[t].start)}function Du(r,e){if(e){let t=r.fragments;for(let i=r.skippedSegments;i<t.length;i++)t[i].start+=e;r.fragmentHint&&(r.fragmentHint.start+=e)}}function JT(r,e=1/0){let t=1e3*r.targetduration;if(r.updated){let i=r.fragments,s=4;if(i.length&&t*s>e){let n=i[i.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function e_(r,e,t){if(!(r!=null&&r.details))return null;let i=r.details,s=i.fragments[e-i.startSN];return s||(s=i.fragmentHint,s&&s.sn===e)?s:e<i.startSN&&t&&t.sn===e?t:null}function gg(r,e,t){var i;return r!=null&&r.details?r0((i=r.details)==null?void 0:i.partList,e,t):null}function r0(r,e,t){if(r)for(let i=r.length;i--;){let s=r[i];if(s.index===t&&s.fragment.sn===e)return s}return null}function ml(r){switch(r.details){case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_TIMEOUT:case B.LEVEL_LOAD_TIMEOUT:case B.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function vg(r,e){let t=ml(e);return r.default[`${t?"timeout":"error"}Retry`]}function Ah(r,e){let t=r.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*r.retryDelayMs,r.maxRetryDelayMs)}function Eg(r){return zt(zt({},r),{errorRetry:null,timeoutRetry:null})}function pl(r,e,t,i){return!!r&&e<r.maxNumRetry&&(t_(i)||!!t)}function t_(r){return r===0&&navigator.onLine===!1||!!r&&(r<400||r>499)}var s0={search:function(r,e){let t=0,i=r.length-1,s=null,n=null;for(;t<=i;){s=(t+i)/2|0,n=r[s];let a=e(n);if(a>0)t=s+1;else if(a<0)i=s-1;else return n}return null}};function i_(r,e,t){if(e===null||!Array.isArray(r)||!r.length||!ce(e))return null;let i=r[0].programDateTime;if(e<(i||0))return null;let s=r[r.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<r.length;++n){let a=r[n];if(r_(e,t,a))return a}return null}function Kn(r,e,t=0,i=0){let s=null;if(r?s=e[r.sn-e[0].sn+1]||null:t===0&&e[0].start===0&&(s=e[0]),s&&Cu(t,i,s)===0)return s;let n=s0.search(e,Cu.bind(null,t,i));return n&&(n!==r||!s)?n:s}function Cu(r=0,e=0,t){if(t.start<=r&&t.start+t.duration>r)return 0;let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-i<=r?1:t.start-i>r&&t.start?-1:0}function r_(r,e,t){let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-i>r}function s_(r,e){return s0.search(r,t=>t.cc<e?1:t.cc>e?-1:0)}var n_=3e5,Ut={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},pi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Mu=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=M.log.bind(M,"[info]:"),this.warn=M.warn.bind(M,"[warning]:"),this.error=M.error.bind(M,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(y.ERROR,this.onError,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;!e||(e.off(y.ERROR,this.onError,this),e.off(y.ERROR,this.onErrorOut,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){this.playlistError=0}stopLoad(){}getVariantLevelIndex(e){return(e==null?void 0:e.type)===ge.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var i;if(t.fatal)return;let s=this.hls,n=t.context;switch(t.details){case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=Ut.SendAlternateToPenaltyBox;return}case B.LEVEL_EMPTY_ERROR:case B.LEVEL_PARSING_ERROR:{var a,o;let l=t.parent===ge.MAIN?t.level:s.loadLevel;t.details===B.LEVEL_EMPTY_ERROR&&!!((a=t.context)!=null&&(o=a.levelDetails)!=null&&o.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,l):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,l))}return;case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:typeof(n==null?void 0:n.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level));return;case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.SUBTITLE_LOAD_ERROR:case B.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){let l=s.levels[s.loadLevel];if(l&&(n.type===Ue.AUDIO_TRACK&&n.groupId===l.audioGroupId||n.type===Ue.SUBTITLE_TRACK&&n.groupId===l.textGroupId)){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s.loadLevel),t.errorAction.action=Ut.SendAlternateToPenaltyBox,t.errorAction.flags=pi.MoveAllAlternatesMatchingHost;return}}return;case B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let l=s.levels[s.loadLevel],d=l==null?void 0:l.attrs["HDCP-LEVEL"];d&&(t.errorAction={action:Ut.SendAlternateToPenaltyBox,flags:pi.MoveAllAlternatesMatchingHDCP,hdcpLevel:d})}return;case B.BUFFER_ADD_CODEC_ERROR:case B.REMUX_ALLOC_ERROR:t.errorAction=this.getLevelSwitchAction(t,(i=t.level)!=null?i:s.loadLevel);return;case B.INTERNAL_EXCEPTION:case B.BUFFER_APPENDING_ERROR:case B.BUFFER_APPEND_ERROR:case B.BUFFER_FULL_ERROR:case B.LEVEL_SWITCH_ERROR:case B.BUFFER_STALLED_ERROR:case B.BUFFER_SEEK_OVER_HOLE:case B.BUFFER_NUDGE_ON_STALL:t.errorAction={action:Ut.DoNothing,flags:pi.None};return}if(t.type===pe.KEY_SYSTEM_ERROR){let l=this.getVariantLevelIndex(t.frag);t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,l);return}}getPlaylistRetryOrSwitchAction(e,t){var i;let s=this.hls,n=vg(s.config.playlistLoadPolicy,e),a=this.playlistError++,o=(i=e.response)==null?void 0:i.code;if(pl(n,a,ml(e),o))return{action:Ut.RetryRequest,flags:pi.None,retryConfig:n,retryCount:a};let d=this.getLevelSwitchAction(e,t);return n&&(d.retryConfig=n,d.retryCount=a),d}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=vg(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,h)=>u+h.fragmentError,0);if(s){var d;e.details!==B.FRAG_GAP&&s.fragmentError++;let u=(d=e.response)==null?void 0:d.code;if(pl(o,l,ml(e),u))return{action:Ut.RetryRequest,flags:pi.None,retryConfig:o,retryCount:l}}let c=this.getLevelSwitchAction(e,i);return o&&(c.retryConfig=o,c.retryCount=l),c}getLevelSwitchAction(e,t){let i=this.hls;t==null&&(t=i.loadLevel);let s=this.hls.levels[t];if(s&&(s.loadError++,i.autoLevelEnabled)){var n,a;let o=-1,{levels:l,loadLevel:d,minAutoLevel:c,maxAutoLevel:u}=i,h=(n=e.frag)==null?void 0:n.type,{type:f,groupId:g}=(a=e.context)!=null?a:{};for(let E=l.length;E--;){let T=(E+d)%l.length;if(T!==d&&T>=c&&T<=u&&l[T].loadError===0){let S=l[T];if(e.details===B.FRAG_GAP&&e.frag){let R=l[T].details;if(R){let x=Kn(e.frag,R.fragments,e.frag.start);if(x!=null&&x.gap)continue}}else{if(f===Ue.AUDIO_TRACK&&g===S.audioGroupId||f===Ue.SUBTITLE_TRACK&&g===S.textGroupId)continue;if(h===ge.AUDIO&&s.audioGroupId===S.audioGroupId||h===ge.SUBTITLE&&s.textGroupId===S.textGroupId)continue}o=T;break}}if(o>-1&&i.loadLevel!==o)return e.levelRetry=!0,this.playlistError=0,{action:Ut.SendAlternateToPenaltyBox,flags:pi.None,nextAutoLevel:o}}return{action:Ut.SendAlternateToPenaltyBox,flags:pi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var i;switch((i=t.errorAction)==null?void 0:i.action){case Ut.DoNothing:break;case Ut.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==B.FRAG_GAP&&(t.fatal=!0);break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=i;switch(s){case pi.None:this.switchLevel(e,a);break;case pi.MoveAllAlternatesMatchingHost:i.resolved||(i.resolved=this.redundantFailover(e));break;case pi.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=wu[wu.indexOf(n)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}i.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}redundantFailover(e){let{hls:t,penalizedRenditions:i}=this,s=e.parent===ge.MAIN?e.level:t.loadLevel,n=t.levels[s],a=n.url.length,o=e.frag?e.frag.urlId:n.urlId;n.urlId===o&&(!e.frag||n.details)&&this.penalizeRendition(n,e);for(let l=1;l<a;l++){let d=(o+l)%a,c=i[d];if(!c||a_(c,e,i[o]))return this.warn(`Switching to Redundant Stream ${d+1}/${a}: "${n.url[d]}" after ${e.details}`),this.playlistError=0,t.levels.forEach(u=>{u.urlId=d}),t.nextLoadLevel=s,!0}return!1}penalizeRendition(e,t){let{penalizedRenditions:i}=this,s=i[e.urlId]||{lastErrorPerfMs:0,errors:[],details:void 0};s.lastErrorPerfMs=performance.now(),s.errors.push(t),s.details=e.details,i[e.urlId]=s}};function a_(r,e,t){if(performance.now()-r.lastErrorPerfMs>n_)return!0;let i=r.details;if(e.details===B.FRAG_GAP&&i&&e.frag){let s=e.frag.start,n=Kn(null,i.fragments,s);if(n&&!n.gap)return!0}if(t&&r.errors.length<t.errors.length){let s=r.errors[r.errors.length-1];if(i&&s.frag&&e.frag&&Math.abs(s.frag.start-e.frag.start)>i.targetduration*3)return!0}return!1}var Wn=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=M.log.bind(M,`${t}:`),this.warn=M.warn.bind(M,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){clearTimeout(this.timer),this.timer=-1}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t){let i=t==null?void 0:t.renditionReports;if(i){let s=-1;for(let n=0;n<i.length;n++){let a=i[n],o;try{o=new self.URL(a.URI,t.url).href}catch(l){M.warn(`Could not construct new URL for Rendition Report: ${l}`),o=a.URI||""}if(o===e){s=n;break}else o===e.substring(0,o.length)&&(s=n)}if(s!==-1){let n=i[s],a=parseInt(n["LAST-MSN"])||(t==null?void 0:t.lastPartSn),o=parseInt(n["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let l=Math.min(t.age-t.partTarget,t.targetduration);o>=0&&l>t.partTarget&&(o+=1)}return new fl(a,o>=0?o:void 0,Gn.No)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,i){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||i!=null&&i.live){if(s.reloaded(i),i&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:"MISSED"}`),i&&s.fragments.length>0&&zT(i,s),!this.canLoad||!s.live)return;let l,d,c;if(s.canBlockReload&&s.endSN&&s.advanced){let T=this.hls.config.lowLatencyMode,S=s.lastPartSn,R=s.endSN,x=s.lastPartIndex,N=x!==-1,D=S===R,$=T?0:x;N?(d=D?R+1:S,c=D?$:x+1):d=R+1;let O=s.age,H=O+s.ageHeader,q=Math.min(H-s.partTarget,s.targetduration*1.5);if(q>0){if(i&&q>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${q} with playlist age: ${s.age}`),q=0;else{let P=Math.floor(q/s.targetduration);if(d+=P,c!==void 0){let X=Math.round(q%s.targetduration/s.partTarget);c+=X}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${O.toFixed(2)}s goal: ${q} skip sn ${P} to part ${c}`)}s.tuneInGoal=q}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c),T||!D){this.loadPlaylist(l);return}}else s.canBlockReload&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c));let u=this.hls.mainForwardBufferInfo,h=u?u.end-u.len:0,f=(s.edge-h)*1e3,g=JT(s,f);s.updated&&a>this.requestScheduled+g&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+g-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+g<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=g);let E=this.requestScheduled-a;E=Math.max(0,E),this.log(`reload live playlist ${e} in ${Math.round(E)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),E)}else this.clearTimer()}getDeliveryDirectives(e,t,i,s){let n=jT(e,i);return t!=null&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,n=Gn.No),new fl(i,s,n)}checkRetry(e){let t=e.details,i=ml(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===Ut.RetryRequest||!s.resolved&&n===Ut.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(i&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let c=Ah(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),c),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${c}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},ou,Ou=class extends Wn{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}startLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.startLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[]}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let i=[],s={},n;t.levels.forEach(a=>{var o;let l=a.attrs;((o=a.audioCodec)==null?void 0:o.indexOf("mp4a.40.34"))!==-1&&(ou||(ou=/chrome|firefox/i.test(navigator.userAgent)),ou&&(a.audioCodec=void 0));let{AUDIO:d,CODECS:c,"FRAME-RATE":u,"PATHWAY-ID":h,RESOLUTION:f,SUBTITLES:g}=l,T=`${`${h||"."}-`}${a.bitrate}-${f}-${u}-${c}`;n=s[T],n?n.addFallback(a):(n=new Kr(a),s[T]=n,i.push(n)),gl(n,"audio",d),gl(n,"text",g)}),this.filterAndSortMediaOptions(i,t)}filterAndSortMediaOptions(e,t){let i=[],s=[],n=!1,a=!1,o=!1,l=e.filter(({audioCodec:f,videoCodec:g,width:E,height:T,unknownCodecs:S})=>(n||(n=!!(E&&T)),a||(a=!!g),o||(o=!!f),!(S!=null&&S.length)&&(!f||ru(f,"audio"))&&(!g||ru(g,"video"))));if((n||a)&&o&&(l=l.filter(({videoCodec:f,width:g,height:E})=>!!f||!!(g&&E))),l.length===0){Promise.resolve().then(()=>{if(this.hls){let f=new Error("no level with compatible codecs found in manifest");this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:f,reason:f.message})}});return}t.audioTracks&&(i=t.audioTracks.filter(f=>!f.audioCodec||ru(f.audioCodec,"audio")),yg(i)),t.subtitles&&(s=t.subtitles,yg(s));let d=l.slice(0);l.sort((f,g)=>f.attrs["HDCP-LEVEL"]!==g.attrs["HDCP-LEVEL"]?(f.attrs["HDCP-LEVEL"]||"")>(g.attrs["HDCP-LEVEL"]||"")?1:-1:f.bitrate!==g.bitrate?f.bitrate-g.bitrate:f.attrs["FRAME-RATE"]!==g.attrs["FRAME-RATE"]?f.attrs.decimalFloatingPoint("FRAME-RATE")-g.attrs.decimalFloatingPoint("FRAME-RATE"):f.attrs.SCORE!==g.attrs.SCORE?f.attrs.decimalFloatingPoint("SCORE")-g.attrs.decimalFloatingPoint("SCORE"):n&&f.height!==g.height?f.height-g.height:0);let c=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let f=0;f<d.length;f++)if(d[f].pathwayId===l[0].pathwayId){c=d[f];break}}this._levels=l;for(let f=0;f<l.length;f++)if(l[f]===c){this._firstLevel=f,this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${c.bitrate}`);break}let u=o&&!a,h={levels:l,audioTracks:i,subtitleTracks:s,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:o,video:a,altAudio:!u&&i.some(f=>!!f.url)};this.hls.trigger(y.MANIFEST_PARSED,h),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let c=new Error("invalid level idx"),u=e<0;if(this.hls.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.LEVEL_SWITCH_ERROR,level:e,fatal:u,error:c,reason:c.message}),u)return;e=Math.min(e,t.length-1)}let i=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,i===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e}${o?" with Pathway "+o:""} from level ${i}${n?" with Pathway "+n:""}`);let l=gt({},a,{level:e,maxBitrate:a.maxBitrate,attrs:a.attrs,uri:a.uri,urlId:a.urlId});delete l._attrs,delete l._urlId,this.hls.trigger(y.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let c=this.switchParams(a.uri,s==null?void 0:s.details);this.loadPlaylist(c)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this._firstLevel}else return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===Ue.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragLoaded(e,{frag:t}){if(t!==void 0&&t.type===ge.MAIN){let i=this._levels[t.level];i!==void 0&&(i.loadError=0)}}onLevelLoaded(e,t){var i;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(i=t.deliveryDirectives)!=null&&i.skip&&(n.deltaUpdateFailed=!0)}onAudioTrackSwitched(e,t){let i=this.currentLevel;if(!i)return;let s=this.hls.audioTracks[t.id].groupId;if(i.audioGroupIds&&i.audioGroupId!==s){let n=-1;for(let a=0;a<i.audioGroupIds.length;a++)if(i.audioGroupIds[a]===s){n=a;break}n!==-1&&n!==i.urlId&&(i.urlId=n,this.canLoad&&this.startLoad())}}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){let s=i.urlId,n=i.uri;if(e)try{n=e.addDirectives(n)}catch(o){this.warn(`Could not construct new URL with HLS Delivery Directives: ${o}`)}let a=i.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${a?" Pathway "+a:""} URI ${s+1}/${i.url.length} ${n}`),this.clearTimer(),this.hls.trigger(y.LEVEL_LOADING,{url:n,level:t,id:s,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e,t){let i=(n,a)=>a!==t,s=this._levels.filter((n,a)=>a!==e?!0:n.url.length>1&&t!==void 0?(n.url=n.url.filter(i),n.audioGroupIds&&(n.audioGroupIds=n.audioGroupIds.filter(i)),n.textGroupIds&&(n.textGroupIds=n.textGroupIds.filter(i)),n.urlId=0,!0):(this.steering&&this.steering.removeLevel(n),!1));this.hls.trigger(y.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(e,{levels:t}){t.forEach((i,s)=>{let{details:n}=i;n!=null&&n.fragments&&n.fragments.forEach(a=>{a.level=s})}),this._levels=t}};function gl(r,e,t){!t||(e==="audio"?(r.audioGroupIds||(r.audioGroupIds=[]),r.audioGroupIds[r.url.length-1]=t):e==="text"&&(r.textGroupIds||(r.textGroupIds=[]),r.textGroupIds[r.url.length-1]=t))}function yg(r){let e={};r.forEach(t=>{let i=t.groupId||"";t.id=e[i]=e[i]||0,e[i]++})}var _t={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Pu=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let s=i.length;s--;){let n=i[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:i}=this,s=Object.keys(i);for(let n=s.length;n--;){let a=i[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,i,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===i&&this.removeFragment(o.body);return}let l=o.range[e];!l||l.time.some(d=>{let c=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return c&&this.removeFragment(o.body),c})})}detectPartialFragments(e){let t=this.timeRanges,{frag:i,part:s}=e;if(!t||i.sn==="initSegment")return;let n=$s(i),a=this.fragments[n];if(!a)return;let o=!i.relurl;Object.keys(t).forEach(l=>{let d=i.elementaryStreams[l];if(!d)return;let c=t[l],u=o||d.partial===!0;a.range[l]=this.getBufferedTimes(i,s,u,c)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,a.body.endList&&(this.endListFragments[a.body.type]=a),tl(a)||this.removeParts(i.sn-1,i.type)):this.removeFragment(a.body)}removeParts(e,t){let i=this.activePartLists[t];!i||(this.activePartLists[t]=i.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let i=$s(e),s=this.fragments[i];!s&&t&&(s=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,i,s){let n={time:[],partial:i},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let c=0;c<s.length;c++){let u=s.start(c)-this.bufferPadding,h=s.end(c)+this.bufferPadding;if(d>=u&&l<=h){n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});break}else if(a<h&&o>u)n.partial=!0,n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});else if(o<=u)break}return n}getPartialFragment(e){let t=null,i,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let c=l[d];!c||tl(c)&&(s=c.body.start-o,n=c.body.end+o,e>=s&&e<=n&&(i=Math.min(e-s,n-e),a<=i&&(t=c.body,a=i)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||tl(t))}getState(e){let t=$s(e),i=this.fragments[t];return i?i.buffered?tl(i)?_t.PARTIAL:_t.OK:_t.APPENDING:_t.NOT_LOADED}isTimeBuffered(e,t,i){let s,n;for(let a=0;a<i.length;a++){if(s=i.start(a)-this.bufferPadding,n=i.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:i,part:s}=t;if(i.sn==="initSegment"||i.bitrateTest)return;let n=s?null:t,a=$s(i);this.fragments[a]={body:i,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:s,timeRanges:n}=t;if(i.sn==="initSegment")return;let a=i.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=$s(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,i,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==i||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=$s(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let s=e.sn;this.activePartLists[e.type]=i.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function tl(r){var e,t,i;return r.buffered&&(r.body.gap||((e=r.range.video)==null?void 0:e.partial)||((t=r.range.audio)==null?void 0:t.partial)||((i=r.range.audiovideo)==null?void 0:i.partial))}function $s(r){return`${r.type}_${r.level}_${r.urlId}_${r.sn}`}var bg=Math.pow(2,17),Nu=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let i=e.url;if(!i)return Promise.reject(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap){l(_g(e));return}let d=this.loader=e.loader=n?new n(s):new a(s),c=Tg(e),u=Eg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:bg};e.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d);let S=f.data;E.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(S.slice(0,16)),S=S.slice(16)),o({frag:e,part:null,payload:S,networkDetails:T})},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:zt({url:i,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))},onProgress:(f,g,E,T)=>{t&&t({frag:e,part:null,payload:E,networkDetails:T})}})})}loadPart(e,t,i){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(_g(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),c=Tg(e,t),u=Eg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:bg};t.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let S={frag:e,part:t,payload:f.data,networkDetails:T};i(S),o(S)},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:zt({url:c.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))}})})}updateStatsFromPart(e,t){let i=e.stats,s=t.stats,n=s.total;if(i.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(i.loaded/n),l),u=(l-d)*Math.round(i.loaded/d);i.total=i.loaded+u}else i.total=Math.max(i.loaded,i.total);let a=i.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function Tg(r,e=null){let t=e||r,i={frag:r,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(ce(s)&&ce(n)){var a;let o=s,l=n;if(r.sn==="initSegment"&&((a=r.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(i.resetIV=!0,o=s-16)}i.rangeStart=o,i.rangeEnd=l}return i}function _g(r,e){let t=new Error(`GAP ${r.gap?"tag":"attribute"} found`),i={type:pe.MEDIA_ERROR,details:B.FRAG_GAP,fatal:!1,frag:r,error:t,networkDetails:null};return e&&(i.part=e),(e||r).stats.aborted=!0,new vi(i)}var vi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},Uu=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let t in this.keyUriToKeyInfo){let i=this.keyUriToKeyInfo[t].loader;if(i){if(e&&e!==i.context.frag.type)return;i.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=B.KEY_LOAD_ERROR,i,s,n){return new vi({type:pe.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:i,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:i,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(i==="initSegment"||a.sn==="initSegment"||i<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var i,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((i=o)!=null&&i.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(i);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,i))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,s=i.loader,n=new s(i);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=i.keyLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{let{frag:T,keyInfo:S,url:R}=g;if(!T.decryptdata||S!==this.keyUriToKeyInfo[R])return o(this.createKeyLoadError(T,B.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),E));S.decryptdata.key=T.decryptdata.key=new Uint8Array(h.data),T.keyLoader=null,S.loader=null,a({frag:T,keyInfo:S})},onError:(h,f,g,E)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),g,zt({url:l.url,data:void 0},h)))},onTimeout:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),g))},onAbort:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.INTERNAL_ABORTED,new Error("key loading aborted"),g))}};n.load(l,c,u)})}resetLoader(e){let{frag:t,keyInfo:i,url:s}=e,n=i.loader;t.keyLoader===n&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}},Fu=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},o_={length:0,start:()=>0,end:()=>0},je=class{static isBuffered(e,t){try{if(e){let i=je.getBuffered(e);for(let s=0;s<i.length;s++)if(t>=i.start(s)&&t<=i.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,i){try{if(e){let s=je.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,i)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,i){t=Math.max(0,t),e.sort(function(d,c){let u=d.start-c.start;return u||c.end-d.end});let s=[];if(i)for(let d=0;d<e.length;d++){let c=s.length;if(c){let u=s[c-1].end;e[d].start-u<i?e[d].end>u&&(s[c-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let c=s[d].start,u=s[d].end;if(t+i>=c&&t<u)o=c,l=u,n=l-t;else if(t+i<c){a=c;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return M.log("failed to get media.buffered",t),o_}}},qn=class{constructor(e,t,i,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=il(),this.buffering={audio:il(),video:il(),audiovideo:il()},this.level=e,this.sn=t,this.id=i,this.size=s,this.part=n,this.partial=a}};function il(){return{start:0,executeStart:0,executeEnd:0,end:0}}function n0(r,e){let t=null;for(let i=0,s=r.length;i<s;i++){let n=r[i];if(n&&n.cc===e){t=n;break}}return t}function l_(r,e,t){return!!(e.details&&(t.endCC>t.startCC||r&&r.cc<t.startCC))}function d_(r,e,t=0){let i=r.fragments,s=e.fragments;if(!s.length||!i.length){M.log("No fragments to align");return}let n=n0(i,s[0].cc);if(!n||n&&!n.startPTS){M.log("No frag in previous level to align on");return}return n}function Ag(r,e){if(r){let t=r.start+e;r.start=r.startPTS=t,r.endPTS=t+r.duration}}function Sh(r,e){let t=e.fragments;for(let i=0,s=t.length;i<s;i++)Ag(t[i],r);e.fragmentHint&&Ag(e.fragmentHint,r),e.alignedSliding=!0}function c_(r,e,t){!e||(u_(r,t,e),!t.alignedSliding&&e.details&&h_(t,e.details),!t.alignedSliding&&e.details&&!t.skippedSegments&&i0(e.details,t))}function u_(r,e,t){if(l_(r,t,e)){let i=d_(t.details,e);i&&ce(i.start)&&(M.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),Sh(i.start,e))}}function h_(r,e){if(!e.fragments.length||!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=e.fragments[0].programDateTime,i=r.fragments[0].programDateTime,s=(i-t)/1e3+e.fragments[0].start;s&&ce(s)&&(M.log(`Adjusting PTS using programDateTime delta ${i-t}ms, sliding:${s.toFixed(3)} ${r.url} `),Sh(s,r))}function a0(r,e){if(!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=r.fragments,i=e.fragments;if(!t.length||!i.length)return;let s=Math.round(i.length/2)-1,n=i[s],a=n0(t,n.cc)||t[Math.round(t.length/2)-1],o=n.programDateTime,l=a.programDateTime;if(o===null||l===null)return;let d=(l-o)/1e3-(a.start-n.start);Sh(d,r)}var Bu=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},$u=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function f_(r){let e=r.byteLength,t=e&&new DataView(r.buffer).getUint8(e-1);return t?Gr(r,0,e-t):r}var Gu=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),i=new Uint32Array(4);for(let s=0;s<4;s++)i[s]=t.getUint32(s*4);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],n=i[1],a=i[2],o=i[3],l=this.invSubMix,d=l[0],c=l[1],u=l[2],h=l[3],f=new Uint32Array(256),g=0,E=0,T=0;for(T=0;T<256;T++)T<128?f[T]=T<<1:f[T]=T<<1^283;for(T=0;T<256;T++){let S=E^E<<1^E<<2^E<<3^E<<4;S=S>>>8^S&255^99,e[g]=S,t[S]=g;let R=f[g],x=f[R],N=f[x],D=f[S]*257^S*16843008;s[g]=D<<24|D>>>8,n[g]=D<<16|D>>>16,a[g]=D<<8|D>>>24,o[g]=D,D=N*16843009^x*65537^R*257^g*16843008,d[S]=D<<24|D>>>8,c[S]=D<<16|D>>>16,u[S]=D<<8|D>>>24,h[S]=D,g?(g=R^f[f[f[N^R]]],E^=f[f[E]]):g=E=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),i=!0,s=0;for(;s<t.length&&i;)i=t[s]===this.key[s],s++;if(i)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),c=this.invKeySchedule=new Uint32Array(a),u=this.sBox,h=this.rcon,f=this.invSubMix,g=f[0],E=f[1],T=f[2],S=f[3],R,x;for(o=0;o<a;o++){if(o<n){R=d[o]=t[o];continue}x=R,o%n===0?(x=x<<8|x>>>24,x=u[x>>>24]<<24|u[x>>>16&255]<<16|u[x>>>8&255]<<8|u[x&255],x^=h[o/n|0]<<24):n>6&&o%n===4&&(x=u[x>>>24]<<24|u[x>>>16&255]<<16|u[x>>>8&255]<<8|u[x&255]),d[o]=R=(d[o-n]^x)>>>0}for(l=0;l<a;l++)o=a-l,l&3?x=d[o]:x=d[o-4],l<4||o<=4?c[l]=x:c[l]=g[u[x>>>24]]^E[u[x>>>16&255]]^T[u[x>>>8&255]]^S[u[x&255]],c[l]=c[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,i){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],c=o[2],u=o[3],h=this.uint8ArrayToUint32Array_(i),f=h[0],g=h[1],E=h[2],T=h[3],S=new Int32Array(e),R=new Int32Array(S.length),x,N,D,$,O,H,q,P,X,z,Ae,Ee,ye,we,Se=this.networkToHostOrderSwap;for(;t<S.length;){for(X=Se(S[t]),z=Se(S[t+1]),Ae=Se(S[t+2]),Ee=Se(S[t+3]),O=X^n[0],H=Ee^n[1],q=Ae^n[2],P=z^n[3],ye=4,we=1;we<s;we++)x=l[O>>>24]^d[H>>16&255]^c[q>>8&255]^u[P&255]^n[ye],N=l[H>>>24]^d[q>>16&255]^c[P>>8&255]^u[O&255]^n[ye+1],D=l[q>>>24]^d[P>>16&255]^c[O>>8&255]^u[H&255]^n[ye+2],$=l[P>>>24]^d[O>>16&255]^c[H>>8&255]^u[q&255]^n[ye+3],O=x,H=N,q=D,P=$,ye=ye+4;x=a[O>>>24]<<24^a[H>>16&255]<<16^a[q>>8&255]<<8^a[P&255]^n[ye],N=a[H>>>24]<<24^a[q>>16&255]<<16^a[P>>8&255]<<8^a[O&255]^n[ye+1],D=a[q>>>24]<<24^a[P>>16&255]<<16^a[O>>8&255]<<8^a[H&255]^n[ye+2],$=a[P>>>24]<<24^a[O>>16&255]<<16^a[H>>8&255]<<8^a[q&255]^n[ye+3],R[t]=Se(x^f),R[t+1]=Se($^g),R[t+2]=Se(D^E),R[t+3]=Se(N^T),f=X,g=z,E=Ae,T=Ee,t=t+4}return R.buffer}},m_=16,Yn=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle)}catch{}this.subtle===null&&(this.useSoftware=!0)}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?f_(i):i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,i);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i)}softwareDecrypt(e,t,i){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Hr(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(i=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new Gu),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,i),this.currentIV=Gr(o,-16).buffer,d||null}webCryptoDecrypt(e,t,i){let s=this.subtle;return(this.key!==t||!this.fastAesKey)&&(this.key=t,this.fastAesKey=new $u(s,t)),this.fastAesKey.expandKey().then(n=>s?(this.logOnce("WebCrypto AES decrypt"),new Bu(s,new Uint8Array(i)).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(M.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,i)))}onWebCryptoError(e,t,i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%m_;return i!==e.length&&(t=Gr(e,0,i),this.remainderData=Gr(e,i)),t}logOnce(e){!this.logEnabled||(M.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},p_={toString:function(r){let e="",t=r.length;for(let i=0;i<t;i++)e+=`[${r.start(i).toFixed(3)}-${r.end(i).toFixed(3)}]`;return e}},W={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},jn=class extends Fu{constructor(e,t,i,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=W.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=M.log.bind(M,`${s}:`),this.warn=M.warn.bind(M,`${s}:`),this.hls=e,this.fragmentLoader=new Nu(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Yn(e.config),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=W.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let i=t.partList;if(i!=null&&i.length){let n=i[i.length-1];return je.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levels[this.levelLastLoaded])==null?void 0:e.details}}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===W.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:i,mediaBuffer:s,state:n}=this,a=i?i.currentTime:0,o=je.bufferInfo(s||i,a,e.maxBufferHole);if(this.log(`media seeking to ${ce(a)?a.toFixed(3):a}, state: ${n}`),this.state===W.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,c=t.start+t.duration+l;if(!o.len||c<o.start||d>o.end){let u=a>c;(a<d||u)&&(u&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}i&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.stopLoad(),super.onHandlerDestroying()}onHandlerDestroyed(){this.state=W.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,i){this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,i,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===W.FRAG_LOADING||!this.fragCurrent&&a===W.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=W.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(y.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===_t.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength);this.reduceMaxBufferLength(o)&&i.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===_t.PARTIAL&&i.removeFragment(e))}flushMainBuffer(e,t,i=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:i};this.hls.trigger(y.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(i=>{if(!i||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return i}).then(i=>{let{hls:s}=this,{payload:n}=i,a=e.decryptdata;if(n&&n.byteLength>0&&a&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(y.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),i.payload=l,i})}return i}).then(i=>{let{fragCurrent:s,hls:n,levels:a}=this;if(!a)throw new Error("init load aborted, missing levels");let o=e.stats;this.state=W.IDLE,t.fragmentError=0,e.data=new Uint8Array(i.payload),o.parsing.start=o.buffering.start=self.performance.now(),o.parsing.end=o.buffering.end=self.performance.now(),i.frag===s&&n.trigger(y.FRAG_BUFFERED,{stats:o,frag:s,part:null,id:e.type}),this.tick()}).catch(i=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(i),this.resetFragmentLoading(e))})}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.level!==t.level||e.sn!==t.sn||e.urlId!==t.urlId}fragBufferedComplete(e,t){var i,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===ge.MAIN?"level":"track"} ${e.level} (frag:[${((i=e.startPTS)!=null?i:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?p_.toString(je.getBuffered(o)):"(detached)"})`),this.state=W.IDLE,o&&(!this.loadedmetadata&&e.type==ge.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new qn(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=W.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(c=>{if(!this.fragContextChanged(c.frag))return this.hls.trigger(y.KEY_LOADED,c),this.state===W.KEY_LOADING&&(this.state=W.IDLE),c}),this.hls.trigger(y.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),i=Math.max(e.start,i||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let c=a.partList;if(c&&s){i>e.end&&a.fragmentHint&&(e=a.fragmentHint);let u=this.getNextPart(c,e,i);if(u>-1){let h=c[u];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${u}-${c.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=W.FRAG_LOADING;let f;return o?f=o.then(g=>!g||this.fragContextChanged(g.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(g=>this.handleFragLoadError(g)):f=this.doFragPartsLoad(e,h,t,s).catch(g=>this.handleFragLoadError(g)),this.hls.trigger(y.FRAG_LOADING,{frag:e,part:h,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(c,i))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),ce(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=W.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(c=>!c||this.fragContextChanged(c==null?void 0:c.frag)?null:this.fragmentLoader.load(e,s)).catch(c=>this.handleFragLoadError(c)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([c])=>(!l&&c&&s&&s(c),c)).catch(c=>this.handleFragLoadError(c)),this.hls.trigger(y.FRAG_LOADING,{frag:e,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,i,s){return new Promise((n,a)=>{var o;let l=[],d=(o=i.details)==null?void 0:o.partList,c=u=>{this.fragmentLoader.loadPart(e,u,s).then(h=>{l[u.index]=h;let f=h.part;this.hls.trigger(y.FRAG_LOADED,h);let g=gg(i,e.sn,u.index+1)||r0(d,e.sn,u.index+1);if(g)c(g);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};c(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===B.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(y.ERROR,t)}else this.hls.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==W.PARSING){!this.fragCurrent&&this.state!==W.STOPPED&&this.state!==W.ERROR&&(this.state=W.IDLE);return}let{frag:i,part:s,level:n}=t,a=self.performance.now();i.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(i,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?gg(o,n,a):null,d=l?l.fragment:e_(o,n,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,i,s){var n;if(!e||this.state!==W.PARSING)return;let{data1:a,data2:o}=e,l=a;if(a&&o&&(l=Hr(a,o)),!((n=l)!=null&&n.length))return;let d={type:e.type,frag:t,part:i,chunkMeta:s,parent:t.type,data:l};this.hls.trigger(y.BUFFER_APPENDING,d),e.dropped&&e.independent&&!i&&this.flushBufferGap(t)}flushBufferGap(e){let t=this.media;if(!t)return;if(!je.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let i=t.currentTime,s=je.bufferInfo(t,i,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),i+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let i=this.getLoadPosition();return ce(i)?this.getFwdBufferInfoAtPos(e,i,t):null}getFwdBufferInfoAtPos(e,t,i){let{config:{maxBufferHole:s}}=this,n=je.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,i);if(a&&n.nextStart<a.end)return je.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,i;return e?i=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):i=t.maxBufferLength,Math.min(i,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,i=e||t.maxBufferLength;return t.maxMaxBufferLength>=i?(t.maxMaxBufferLength/=2,this.warn(`Reduce max buffer length to ${t.maxMaxBufferLength}s`),!0):!1}getAppendedFrag(e,t=ge.MAIN){let i=this.fragmentTracker.getAppendedFrag(e,ge.MAIN);return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,s=i.length;if(!s)return null;let{config:n}=this,a=i[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1&&(o=this.getInitialLiveFragment(t,i),this.startPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=i[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return(i===_t.OK||i===_t.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&i.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s);if(l!==null&&i.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,i){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&i<d.start)break;let c=d.loaded;c?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=c}return s}loadedEndOfParts(e,t){let i=e[e.length-1];return i&&t>i.start&&i.loaded}getInitialLiveFragment(e,t){let i=this.fragPrevious,s=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),s=i_(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=i.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];i.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=s_(t,i.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,i){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=i,{fragmentHint:l}=i,d=s.maxFragLookUpTolerance,c=i.partList,u=!!(s.lowLatencyMode&&c!=null&&c.length&&l);u&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Kn(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-i.startSN,g=this.fragmentTracker.getState(h);if((g===_t.OK||g===_t.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!u||c[0].fragment.sn>h.sn)&&n&&h.level===n.level){let T=a[f+1];h.sn<o&&this.fragmentTracker.getState(T)!==_t.OK?h=T:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let s=this.hls.liveSyncPosition,n=i.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&i.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&i.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),i.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),i.currentTime=s))}}alignPlaylists(e,t){let{levels:i,levelLastLoaded:s,fragPrevious:n}=this,a=s!==null?i[s]:null,o=e.fragments.length;if(!o)return this.warn("No fragments in live playlist"),0;let l=e.fragments[0].start,d=!t,c=e.alignedSliding&&ce(l);if(d||!c&&!l){c_(n,a,e);let u=e.fragments[0].start;return this.log(`Live playlist sliding: ${u.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${n?n.sn:"na"} fragments: ${o}`),u}return l}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let i=this.startPosition;if(i<t&&(i=-1),i===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&ce(n)?(i=t+n,n<0&&(i+=e.totalduration),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${i}`),this.startPosition=i):e.live?i=this.hls.liveSyncPosition||t:this.startPosition=i=0,this.lastCurrentTime=i}this.nextLoadPosition=i}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==W.FRAG_LOADING_WAITING_RETRY)&&(this.state=W.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let i=t.frag;if(!i||i.type!==e||!this.levels)return;if(this.fragContextChanged(i)){var s;this.warn(`Frag load error must match current frag to retry ${i.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===B.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(i,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===Ut.RetryRequest&&d){var c;this.resetStartWhenNotLoaded((c=this.levelLastLoaded)!=null?c:i.level);let u=Ah(d,l);this.warn(`Fragment ${i.sn} of ${e} ${i.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=W.FRAG_LOADING_WAITING_RETRY}else d&&a?(this.resetFragmentErrors(e),l<d.maxNumRetry?n||(a.resolved=!0):M.warn(`${t.details} reached or exceeded max retry (${l})`)):(a==null?void 0:a.action)===Ut.SendAlternateToPenaltyBox?this.state=W.WAITING_LEVEL:this.state=W.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===W.PARSING||this.state===W.PARSED){let t=e.parent,i=this.getFwdBufferInfo(this.mediaBuffer,t),s=i&&i.len>.5;s&&this.reduceMaxBufferLength(i.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===ge.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==W.STOPPED&&(this.state=W.IDLE)}afterBufferFlushed(e,t,i){if(!e)return;let s=je.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===W.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=W.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=this.levels?this.levels[e].details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){var t;this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded((t=this.levelLastLoaded)!=null?t:e.level),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,s){var n;let a=i.details;if(!a){this.warn("level.details undefined");return}if(Object.keys(e.elementaryStreams).reduce((l,d)=>{let c=e.elementaryStreams[d];if(c){let u=c.endPTS-c.startPTS;if(u<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${u})`),l||!1;let h=s?0:t0(a,e,c.startPTS,c.endPTS,c.startDTS,c.endDTS);return this.hls.trigger(y.LEVEL_PTS_UPDATED,{details:a,level:i,drift:h,type:d,frag:e,start:c.startPTS,end:c.endPTS}),!0}return l},!1))i.fragmentError=0;else if(((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${i.id} resetting transmuxer to fallback to playlist timing`);if(this.warn(l.message),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=W.PARSED,this.hls.trigger(y.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){if(e.event==="demuxerWorker"){var t,i,s;this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded((t=(i=this.levelLastLoaded)!=null?i:(s=this.fragCurrent)==null?void 0:s.level)!=null?t:0),this.resetLoadingState()}}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}};function o0(){return self.SourceBuffer||self.WebKitSourceBuffer}function g_(){let r=Dl();if(!r)return!1;let e=o0(),t=r&&typeof r.isTypeSupported=="function"&&r.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),i=!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function";return!!t&&!!i}function v_(){var r;let e=o0();return typeof(e==null||(r=e.prototype)==null?void 0:r.changeType)=="function"}function E_(){return typeof __HLS_WORKER_BUNDLE__=="function"}function y_(){let r=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(r);return{worker:new self.Worker(e),objectURL:e}}function b_(r){let e=new self.URL(r,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Ui(r="",e=9e4){return{type:r,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var vl=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,i,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){this.cachedData&&(e=Hr(this.cachedData,e),this.cachedData=null);let i=ul(e,0),s=i?i.length:0,n,a=this._audioTrack,o=this._id3Track,l=i?mT(i):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&ce(l))&&(this.basePTS=T_(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let c=this.appendFrame(a,e,s);c?(this.frameIndex++,this.lastPTS=c.sample.pts,s+=c.length,n=s):s=d}else fT(e,s)?(i=ul(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY}),s+=i.length,n=s):s++;if(s===d&&n!==d){let c=Gr(e,n);this.cachedData?this.cachedData=Hr(this.cachedData,c):this.cachedData=c}}return{audioTrack:a,videoTrack:Ui(),id3Track:o,textTrack:Ui()}}demuxSampleAes(e,t,i){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ui(),id3Track:this._id3Track,textTrack:Ui()}}destroy(){}},T_=(r,e,t)=>{if(ce(r))return r*90;let i=t?t.baseTime*9e4/t.timescale:0;return e*9e4+i};function __(r,e,t,i){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=i,c=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let u=(e[t+2]&60)>>>2;if(u>c.length-1){r.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!0,reason:`invalid ADTS sampling index:${u}`});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,M.log(`manifest codec:${i}, ADTS type:${s}, samplingIndex:${u}`),/firefox/i.test(l)?u>=6?(s=5,o=new Array(4),n=u-3):(s=2,o=new Array(2),n=u):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=u):(s=5,o=new Array(4),i&&(i.indexOf("mp4a.40.29")!==-1||i.indexOf("mp4a.40.5")!==-1)||!i&&u>=6?n=u-3:((i&&i.indexOf("mp4a.40.2")!==-1&&(u>=6&&a===1||/vivaldi/i.test(l))||!i&&a===1)&&(s=2,o=new Array(2)),n=u)),o[0]=s<<3,o[0]|=(u&14)>>1,o[1]|=(u&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=2<<2,o[3]=0),{config:o,samplerate:c[u],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function l0(r,e){return r[e]===255&&(r[e+1]&246)===240}function d0(r,e){return r[e+1]&1?7:9}function xh(r,e){return(r[e+3]&3)<<11|r[e+4]<<3|(r[e+5]&224)>>>5}function A_(r,e){return e+5<r.length}function El(r,e){return e+1<r.length&&l0(r,e)}function S_(r,e){return A_(r,e)&&l0(r,e)&&xh(r,e)<=r.length-e}function x_(r,e){if(El(r,e)){let t=d0(r,e);if(e+t>=r.length)return!1;let i=xh(r,e);if(i<=t)return!1;let s=e+i;return s===r.length||El(r,s)}return!1}function c0(r,e,t,i,s){if(!r.samplerate){let n=__(e,t,i,s);if(!n)return;r.config=n.config,r.samplerate=n.samplerate,r.channelCount=n.channelCount,r.codec=n.codec,r.manifestCodec=n.manifestCodec,M.log(`parsed codec:${r.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function u0(r){return 1024*9e4/r}function I_(r,e){let t=d0(r,e);if(e+t<=r.length){let i=xh(r,e)-t;if(i>0)return{headerLength:t,frameLength:i}}}function h0(r,e,t,i,s){let n=u0(r.samplerate),a=i+s*n,o=I_(e,t),l;if(o){let{frameLength:u,headerLength:h}=o,f=h+u,g=Math.max(0,t+f-e.length);g?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let E={unit:l,pts:a};return g||r.samples.push(E),{sample:E,length:f,missing:g}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var Hu=class extends vl{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let i=(ul(e,0)||[]).length;for(let s=e.length;i<s;i++)if(x_(e,i))return M.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return S_(e,t)}appendFrame(e,t,i){c0(e,this.observer,t,i,e.manifestCodec);let s=h0(e,t,i,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},L_=/\/emsg[-/]ID3/i,Vu=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,s){let n=this.videoTrack=Ui("video",1),a=this.audioTrack=Ui("audio",1),o=this.txtTrack=Ui("text",1);if(this.id3Track=Ui("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=jg(e);if(l.video){let{id:d,timescale:c,codec:u}=l.video;n.id=d,n.timescale=o.timescale=c,n.codec=u}if(l.audio){let{id:d,timescale:c,codec:u}=l.audio;a.id=d,a.timescale=c,a.codec=u}o.id=Wg.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return e=e.length>16384?e.subarray(0,16384):e,Pe(e,["moof"]).length>0}demux(e,t){this.timeOffset=t;let i=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=Hr(this.remainderData,e));let o=kT(i);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=i;let a=this.extractID3Track(s,t);return n.samples=ig(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return i.samples=ig(e,t),{videoTrack:t,audioTrack:Ui(),id3Track:s,textTrack:Ui()}}extractID3Track(e,t){let i=this.id3Track;if(e.samples.length){let s=Pe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=CT(n);if(L_.test(a.schemeIdUri)){let o=ce(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;i.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:Ei.emsg,duration:l})}})}return i}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},rl=null,R_=[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],k_=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],w_=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],D_=[0,1,1,4];function f0(r,e,t,i,s){if(t+24>e.length)return;let n=m0(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=i+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return r.config=[],r.channelCount=n.channelCount,r.samplerate=n.sampleRate,r.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function m0(r,e){let t=r[e+1]>>3&3,i=r[e+1]>>1&3,s=r[e+2]>>4&15,n=r[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=r[e+2]>>1&1,o=r[e+3]>>6,l=t===3?3-i:i===3?3:4,d=R_[l*14+s-1]*1e3,u=k_[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=w_[t][i],g=D_[i],E=f*8*g,T=Math.floor(f*d/u+a)*g;if(rl===null){let x=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);rl=x?parseInt(x[1]):0}return!!rl&&rl<=87&&i===2&&d>=224e3&&o===0&&(r[e+3]=r[e+3]|128),{sampleRate:u,channelCount:h,frameLength:T,samplesPerFrame:E}}}function Ih(r,e){return r[e]===255&&(r[e+1]&224)===224&&(r[e+1]&6)!==0}function p0(r,e){return e+1<r.length&&Ih(r,e)}function C_(r,e){return Ih(r,e)&&4<=r.length-e}function M_(r,e){if(e+1<r.length&&Ih(r,e)){let i=m0(r,e),s=4;i!=null&&i.frameLength&&(s=i.frameLength);let n=e+s;return n===r.length||p0(r,n)}return!1}var yl=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,i=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(i,i+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),i=this.word>>>32-t;if(e>32&&M.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,i=8,s;for(let n=0;n<e;n++)i!==0&&(s=this.readEG(),i=(t+s+256)%256),t=i===0?t:i}readSPS(){let e=0,t=0,i=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),c=this.readUEG.bind(this),u=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),g=this.skipUEG.bind(this),E=this.skipScalingList.bind(this);l();let T=l();if(d(5),h(3),l(),g(),T===100||T===110||T===122||T===244||T===44||T===83||T===86||T===118||T===128){let $=c();if($===3&&h(1),g(),g(),h(1),u())for(a=$!==3?8:12,o=0;o<a;o++)u()&&(o<6?E(16):E(64))}g();let S=c();if(S===0)c();else if(S===1)for(h(1),f(),f(),n=c(),o=0;o<n;o++)f();g(),h(1);let R=c(),x=c(),N=d(1);N===0&&h(1),h(1),u()&&(e=c(),t=c(),i=c(),s=c());let D=[1,1];if(u()&&u())switch(l()){case 1:D=[1,1];break;case 2:D=[12,11];break;case 3:D=[10,11];break;case 4:D=[16,11];break;case 5:D=[40,33];break;case 6:D=[24,11];break;case 7:D=[20,11];break;case 8:D=[32,11];break;case 9:D=[80,33];break;case 10:D=[18,11];break;case 11:D=[15,11];break;case 12:D=[64,33];break;case 13:D=[160,99];break;case 14:D=[4,3];break;case 15:D=[3,2];break;case 16:D=[2,1];break;case 255:{D=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((R+1)*16-e*2-t*2),height:(2-N)*(x+1)*16-(N?2:4)*(i+s),pixelRatio:D}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},Ku=class{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Yn(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,i){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)})}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length){i();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,i=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)i.set(e.subarray(n,n+16),s);return i}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(i.subarray(s,s+16),n);return e}decryptAvcSample(e,t,i,s,n){let a=Qg(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s)})}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(i>=n.length);i++){let a=n[i];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,i,s,a),!this.decrypter.isSync()))return}}}},Ot=188,Fi=class{constructor(e,t,i){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._avcTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.observer=e,this.config=t,this.typeSupported=i}static probe(e){let t=Fi.syncOffset(e);return t>0&&M.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,i=Math.min(Ot*5,e.length-Ot)+1,s=0;for(;s<i;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=Ot)if(e[l]===71){if(o++,a===-1&&(a=l,a!==0&&(i=Math.min(a+Ot*99,e.length-Ot)+1)),n||(n=Wu(e,l)===0),n&&o>1&&(a===0&&o>2||l+Ot>i))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:Wg[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,i,s){this.pmtParsed=!1,this._pmtId=-1,this._avcTrack=Fi.createTrack("video"),this._audioTrack=Fi.createTrack("audio",s),this._id3Track=Fi.createTrack("id3"),this._txtTrack=Fi.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_avcTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.avcSample=null,this.remainderData=null}demux(e,t,i=!1,s=!1){i||(this.sampleAes=null);let n,a=this._avcTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,c=a.pid,u=a.pesData,h=o.pid,f=l.pid,g=o.pesData,E=l.pesData,T=null,S=this.pmtParsed,R=this._pmtId,x=e.length;if(this.remainderData&&(e=Hr(this.remainderData,e),x=e.length,this.remainderData=null),x<Ot&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let N=Math.max(0,Fi.syncOffset(e));x-=(x-N)%Ot,x<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,x,e.buffer.byteLength-x));let D=0;for(let O=N;O<x;O+=Ot)if(e[O]===71){let H=!!(e[O+1]&64),q=Wu(e,O),P=(e[O+3]&48)>>4,X;if(P>1){if(X=O+5+e[O+4],X===O+Ot)continue}else X=O+4;switch(q){case c:H&&(u&&(n=Gs(u))&&this.parseAVCPES(a,d,n,!1),u={data:[],size:0}),u&&(u.data.push(e.subarray(X,O+Ot)),u.size+=O+Ot-X);break;case h:if(H){if(g&&(n=Gs(g)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break}g={data:[],size:0}}g&&(g.data.push(e.subarray(X,O+Ot)),g.size+=O+Ot-X);break;case f:H&&(E&&(n=Gs(E))&&this.parseID3PES(l,n),E={data:[],size:0}),E&&(E.data.push(e.subarray(X,O+Ot)),E.size+=O+Ot-X);break;case 0:H&&(X+=e[X]+1),R=this._pmtId=O_(e,X);break;case R:{H&&(X+=e[X]+1);let z=P_(e,X,this.typeSupported,i);c=z.avc,c>0&&(a.pid=c),h=z.audio,h>0&&(o.pid=h,o.segmentCodec=z.segmentCodec),f=z.id3,f>0&&(l.pid=f),T!==null&&!S&&(M.warn(`MPEG-TS PMT found at ${O} after unknown PID '${T}'. Backtracking to sync byte @${N} to parse all TS packets.`),T=null,O=N-188),S=this.pmtParsed=!0;break}case 17:case 8191:break;default:T=q;break}}else D++;if(D>0){let O=new Error(`Found ${D} TS packet/s that do not start with 0x47`);this.observer.emit(y.ERROR,y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:O,reason:O.message})}a.pesData=u,o.pesData=g,l.pesData=E;let $={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples($),$}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._avcTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:i,id3Track:s,textTrack:n}=e,a=i.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=Gs(a))?(this.parseAVCPES(i,n,d,!0),i.pesData=null):i.pesData=a,o&&(d=Gs(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break}t.pesData=null}else o!=null&&o.size&&M.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=Gs(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,i){let s=this.demux(e,i,!0,!this.config.progressive),n=this.sampleAes=new Ku(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(i=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{i(e)}):i(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{i(e)})})}destroy(){this._duration=0}parseAVCPES(e,t,i,s){let n=this.parseAVCNALu(e,i.data),a=this.avcSample,o,l=!1;i.data=null,a&&n.length&&!e.audFound&&(lu(a,e),a=this.avcSample=sl(!1,i.pts,i.dts,"")),n.forEach(d=>{switch(d.type){case 1:{o=!0,a||(a=this.avcSample=sl(!0,i.pts,i.dts,"")),a.frame=!0;let c=d.data;if(l&&c.length>4){let u=new yl(c).readSliceType();(u===2||u===4||u===7||u===9)&&(a.key=!0)}break}case 5:o=!0,a||(a=this.avcSample=sl(!0,i.pts,i.dts,"")),a.key=!0,a.frame=!0;break;case 6:{o=!0,Xg(d.data,1,i.pts,t.samples);break}case 7:if(o=!0,l=!0,!e.sps){let c=d.data,h=new yl(c).readSPS();e.width=h.width,e.height=h.height,e.pixelRatio=h.pixelRatio,e.sps=[c],e.duration=this._duration;let f=c.subarray(1,4),g="avc1.";for(let E=0;E<3;E++){let T=f[E].toString(16);T.length<2&&(T="0"+T),g+=T}e.codec=g}break;case 8:o=!0,e.pps||(e.pps=[d.data]);break;case 9:o=!1,e.audFound=!0,a&&lu(a,e),a=this.avcSample=sl(!1,i.pts,i.dts,"");break;case 12:o=!0;break;default:o=!1,a&&(a.debug+="unknown NAL "+d.type+" ");break}a&&o&&a.units.push(d)}),s&&a&&(lu(a,e),this.avcSample=null)}getLastNalUnit(e){var t;let i=this.avcSample,s;if((!i||i.units.length===0)&&(i=e[e.length-1]),(t=i)!=null&&t.units){let n=i.units;s=n[n.length-1]}return s}parseAVCNALu(e,t){let i=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,c,u=-1,h=0;for(s===-1&&(u=0,h=t[0]&31,s=0,o=1);o<i;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(u>=0){let f={data:t.subarray(u,o-s-1),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);if(f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d=o-s-1,d>0)){let g=new Uint8Array(f.data.byteLength+d);g.set(f.data,0),g.set(t.subarray(0,d),f.data.byteLength),f.data=g,f.state=0}}o<i?(c=t[o]&31,u=o,h=c,s=0):s=-1}else s=0}if(u>=0&&s>=0){let f={data:t.subarray(u,i),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);if(f){let g=new Uint8Array(f.data.byteLength+t.byteLength);g.set(f.data,0),g.set(t,f.data.byteLength),f.data=g}}return e.naluState=s,a}parseAACPES(e,t){let i=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let u=s.missing,h=s.sample.unit.byteLength;if(u===-1){let f=new Uint8Array(h+n.byteLength);f.set(s.sample.unit,0),f.set(n,h),n=f}else{let f=h-u;s.sample.unit.set(n.subarray(0,u),f),e.samples.push(s.sample),i=s.missing}}let a,o;for(a=i,o=n.length;a<o-1&&!El(n,a);a++);if(a!==i){let u,h=a<o-1;h?u=`AAC PES did not start with ADTS header,offset:${a}`:u="No ADTS header found in AAC PES";let f=new Error(u);if(M.warn(`parsing error: ${u}`),this.observer.emit(y.ERROR,y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,levelRetry:h,error:f,reason:u}),!h)return}c0(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let u=u0(e.samplerate);l=s.sample.pts+u}else{M.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,c;for(;a<o;)if(c=h0(e,n,a,l,d),a+=c.length,c.missing){this.aacOverFlow=c;break}else for(d++;a<o-1&&!El(n,a);a++);}parseMPEGPES(e,t){let i=t.data,s=i.length,n=0,a=0,o=t.pts;if(o===void 0){M.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(p0(i,a)){let l=f0(e,i,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseID3PES(e,t){if(t.pts===void 0){M.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let i=gt({},t,{type:this._avcTrack?Ei.emsg:Ei.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(i)}};function sl(r,e,t,i){return{key:r,frame:!1,pts:e,dts:t,units:[],debug:i,length:0}}function Wu(r,e){return((r[e+1]&31)<<8)+r[e+2]}function O_(r,e){return(r[e+10]&31)<<8|r[e+11]}function P_(r,e,t,i){let s={audio:-1,avc:-1,id3:-1,segmentCodec:"aac"},n=(r[e+1]&15)<<8|r[e+2],a=e+3+n-4,o=(r[e+10]&15)<<8|r[e+11];for(e+=12+o;e<a;){let l=Wu(r,e);switch(r[e]){case 207:if(!i){M.log("ADTS AAC with AES-128-CBC frame encryption found in unencrypted stream");break}case 15:s.audio===-1&&(s.audio=l);break;case 21:s.id3===-1&&(s.id3=l);break;case 219:if(!i){M.log("H.264 with AES-128-CBC slice encryption found in unencrypted stream");break}case 27:s.avc===-1&&(s.avc=l);break;case 3:case 4:t.mpeg!==!0&&t.mp3!==!0?M.log("MPEG audio found, not supported in this browser"):s.audio===-1&&(s.audio=l,s.segmentCodec="mp3");break;case 36:M.warn("Unsupported HEVC stream type found");break}e+=((r[e+3]&15)<<8|r[e+4])+5}return s}function Gs(r){let e=0,t,i,s,n,a,o=r.data;if(!r||r.size===0)return null;for(;o[0].length<19&&o.length>1;){let d=new Uint8Array(o[0].length+o[1].length);d.set(o[0]),d.set(o[1],o[0].length),o[0]=d,o.splice(1,1)}if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(i=(t[4]<<8)+t[5],i&&i>r.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(M.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let c=s+9;if(r.size<=c)return null;r.size-=c;let u=new Uint8Array(r.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let g=t.byteLength;if(c)if(c>g){c-=g;continue}else t=t.subarray(c),g-=c,c=0;u.set(t,e),e+=g}return i&&(i-=s+3),{data:u,pts:n,dts:a,len:i}}return null}function lu(r,e){if(r.units.length&&r.frame){if(r.pts===void 0){let t=e.samples,i=t.length;if(i){let s=t[i-1];r.pts=s.pts,r.dts=s.dts}else{e.dropped++;return}}e.samples.push(r)}r.debug.length&&M.log(r.pts+"/"+r.dts+":"+r.debug)}var qu=class extends vl{resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let i=(ul(e,0)||[]).length;for(let s=e.length;i<s;i++)if(M_(e,i))return M.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return C_(e,t)}appendFrame(e,t,i){if(this.basePTS!==null)return f0(e,t,i,this.basePTS,this.frameIndex)}},bl=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},pr=Math.pow(2,32)-1,U=class{static init(){U.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in U.types)U.types.hasOwnProperty(e)&&(U.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),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]);U.HDLR_TYPES={video:t,audio:i};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);U.STTS=U.STSC=U.STCO=n,U.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),U.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),U.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),U.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);U.FTYP=U.box(U.types.ftyp,a,l,a,o),U.DINF=U.box(U.types.dinf,U.box(U.types.dref,s))}static box(e,...t){let i=8,s=t.length,n=s;for(;s--;)i+=t[s].byteLength;let a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=i&255,a.set(e,4),s=0,i=8;s<n;s++)a.set(t[s],i),i+=t[s].byteLength;return a}static hdlr(e){return U.box(U.types.hdlr,U.HDLR_TYPES[e])}static mdat(e){return U.box(U.types.mdat,e)}static mdhd(e,t){t*=e;let i=Math.floor(t/(pr+1)),s=Math.floor(t%(pr+1));return U.box(U.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,i>>24,i>>16&255,i>>8&255,i&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return U.box(U.types.mdia,U.mdhd(e.timescale,e.duration),U.hdlr(e.type),U.minf(e))}static mfhd(e){return U.box(U.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?U.box(U.types.minf,U.box(U.types.smhd,U.SMHD),U.DINF,U.stbl(e)):U.box(U.types.minf,U.box(U.types.vmhd,U.VMHD),U.DINF,U.stbl(e))}static moof(e,t,i){return U.box(U.types.moof,U.mfhd(e),U.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=U.trak(e[t]);return U.box.apply(null,[U.types.moov,U.mvhd(e[0].timescale,e[0].duration)].concat(i).concat(U.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=U.trex(e[t]);return U.box.apply(null,[U.types.mvex,...i])}static mvhd(e,t){t*=e;let i=Math.floor(t/(pr+1)),s=Math.floor(t%(pr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,i>>24,i>>16&255,i>>8&255,i&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return U.box(U.types.mvhd,n)}static sdtp(e){let t=e.samples||[],i=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,i[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return U.box(U.types.sdtp,i)}static stbl(e){return U.box(U.types.stbl,U.stsd(e),U.box(U.types.stts,U.STTS),U.box(U.types.stsc,U.STSC),U.box(U.types.stsz,U.STSZ),U.box(U.types.stco,U.STCO))}static avc1(e){let t=[],i=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,i.push(a>>>8&255),i.push(a&255),i=i.concat(Array.prototype.slice.call(n));let o=U.box(U.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(i))),l=e.width,d=e.height,c=e.pixelRatio[0],u=e.pixelRatio[1];return U.box(U.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,U.box(U.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),U.box(U.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,c&255,u>>24,u>>16&255,u>>8&255,u&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static mp4a(e){let t=e.samplerate;return U.box(U.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0]),U.box(U.types.esds,U.esds(e)))}static mp3(e){let t=e.samplerate;return U.box(U.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0]))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?U.box(U.types.stsd,U.STSD,U.mp3(e)):U.box(U.types.stsd,U.STSD,U.mp4a(e)):U.box(U.types.stsd,U.STSD,U.avc1(e))}static tkhd(e){let t=e.id,i=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(i/(pr+1)),o=Math.floor(i%(pr+1));return U.box(U.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let i=U.sdtp(e),s=e.id,n=Math.floor(t/(pr+1)),a=Math.floor(t%(pr+1));return U.box(U.types.traf,U.box(U.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),U.box(U.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),U.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,U.box(U.types.trak,U.tkhd(e),U.mdia(e))}static trex(e){let t=e.id;return U.box(U.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let i=e.samples||[],s=i.length,n=12+16*s,a=new Uint8Array(n),o,l,d,c,u,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=i[o],d=l.duration,c=l.size,u=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,c>>>24&255,c>>>16&255,c>>>8&255,c&255,u.isLeading<<2|u.dependsOn,u.isDependedOn<<6|u.hasRedundancy<<4|u.paddingValue<<1|u.isNonSync,u.degradPrio&240<<8,u.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return U.box(U.types.trun,a)}static initSegment(e){U.types||U.init();let t=U.moov(e),i=new Uint8Array(U.FTYP.byteLength+t.byteLength);return i.set(U.FTYP),i.set(t,U.FTYP.byteLength),i}};U.types=void 0;U.HDLR_TYPES=void 0;U.STTS=void 0;U.STSC=void 0;U.STCO=void 0;U.STSZ=void 0;U.VMHD=void 0;U.SMHD=void 0;U.STSD=void 0;U.FTYP=void 0;U.DINF=void 0;var g0=9e4;function Lh(r,e,t=1,i=!1){let s=r*e*t;return i?Math.round(s):s}function N_(r,e,t=1,i=!1){return Lh(r,e,1/t,i)}function Fn(r,e=!1){return Lh(r,1e3,1/g0,e)}function U_(r,e=1){return Lh(r,g0,1/e)}var F_=10*1e3,Sg=1024,B_=1152,nl=null,du=null,Hn=class{constructor(e,t,i,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,nl===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);nl=a?parseInt(a[1]):0}if(du===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);du=n?parseInt(n[1]):0}}destroy(){}resetTimeStamp(e){M.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){M.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){M.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1}getVideoStartPts(e){let t=!1,i=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,li(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&M.debug("PTS rollover detected"),i}remux(e,t,i,s,n,a,o,l){let d,c,u,h,f,g,E=n,T=n,S=e.pid>-1,R=t.pid>-1,x=t.samples.length,N=e.samples.length>0,D=o&&x>0||x>1;if((!S||N)&&(!R||D)||this.ISGenerated||o){this.ISGenerated||(u=this.generateIS(e,t,n,a));let O=this.isVideoContiguous,H=-1,q;if(D&&(H=$_(t.samples),!O&&this.config.forceKeyFrameOnDiscontinuity))if(g=!0,H>0){M.warn(`[mp4-remuxer]: Dropped ${H} out of ${x} video samples due to a missing keyframe`);let P=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(H),t.dropped+=H,T+=(t.samples[0].pts-P)/t.inputTimeScale,q=T}else H===-1&&(M.warn(`[mp4-remuxer]: No keyframe found out of ${x} video samples`),g=!1);if(this.ISGenerated){if(N&&D){let P=this.getVideoStartPts(t.samples),z=(li(e.samples[0].pts,P)-P)/t.inputTimeScale;E+=Math.max(0,z),T+=Math.max(0,-z)}if(N){if(e.samplerate||(M.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),u=this.generateIS(e,t,n,a)),c=this.remuxAudio(e,E,this.isAudioContiguous,a,R||D||l===ge.AUDIO?T:void 0),D){let P=c?c.endPTS-c.startPTS:0;t.inputTimeScale||(M.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),u=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,T,O,P)}}else D&&(d=this.remuxVideo(t,T,O,0));d&&(d.firstKeyFrame=H,d.independent=H!==-1,d.firstKeyFramePTS=q)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(f=v0(i,n,this._initPTS,this._initDTS)),s.samples.length&&(h=E0(s,n,this._initPTS))),{audio:c,video:d,initSegment:u,independent:g,text:h,id3:f}}generateIS(e,t,i,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,c=!d||s,u="audio/mp4",h,f,g;if(c&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(u="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break}l.audio={id:"audio",container:u,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):U.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(g=e.inputTimeScale,!d||g!==d.timescale?h=f=n[0].pts-Math.round(g*i):c=!1)}if(t.sps&&t.pps&&a.length&&(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:U.initSegment([t]),metadata:{width:t.width,height:t.height}},c))if(g=t.inputTimeScale,!d||g!==d.timescale){let E=this.getVideoStartPts(a),T=Math.round(g*i);f=Math.min(f,li(a[0].dts,E)-T),h=Math.min(h,E-T)}else c=!1;if(Object.keys(l).length)return this.ISGenerated=!0,c?(this._initPTS={baseTime:h,timescale:g},this._initDTS={baseTime:f,timescale:g}):h=g=void 0,{tracks:l,initPTS:h,timescale:g}}remuxVideo(e,t,i,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,c=this.nextAvcDts,u=8,h=this.videoSampleDuration,f,g,E=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,S=!1;if(!i||c===null){let Z=t*n,ae=a[0].pts-li(a[0].dts,a[0].pts);c=Z-ae}let R=d.baseTime*n/d.timescale;for(let Z=0;Z<l;Z++){let ae=a[Z];ae.pts=li(ae.pts-R,c),ae.dts=li(ae.dts-R,c),ae.dts<a[Z>0?Z-1:Z].dts&&(S=!0)}S&&a.sort(function(Z,ae){let ne=Z.dts-ae.dts,xe=Z.pts-ae.pts;return ne||xe}),f=a[0].dts,g=a[a.length-1].dts;let x=g-f,N=x?Math.round(x/(l-1)):h||e.inputTimeScale/30;if(i){let Z=f-c,ae=Z>N,ne=Z<-1;if((ae||ne)&&(ae?M.warn(`AVC: ${Fn(Z,!0)} ms (${Z}dts) hole between fragments detected, filling it`):M.warn(`AVC: ${Fn(-Z,!0)} ms (${Z}dts) overlapping between fragments detected`),!ne||c>=a[0].pts)){f=c;let xe=a[0].pts-Z;a[0].dts=f,a[0].pts=xe,M.log(`Video: First PTS/DTS adjusted: ${Fn(xe,!0)}/${Fn(f,!0)}, delta: ${Fn(Z,!0)} ms`)}}f=Math.max(0,f);let D=0,$=0;for(let Z=0;Z<l;Z++){let ae=a[Z],ne=ae.units,xe=ne.length,Ie=0;for(let Ve=0;Ve<xe;Ve++)Ie+=ne[Ve].data.length;$+=Ie,D+=xe,ae.length=Ie,ae.dts=Math.max(ae.dts,f),E=Math.min(ae.pts,E),T=Math.max(ae.pts,T)}g=a[l-1].dts;let O=$+4*D+8,H;try{H=new Uint8Array(O)}catch(Z){this.observer.emit(y.ERROR,y.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Z,bytes:O,reason:`fail allocating video mdat ${O}`});return}let q=new DataView(H.buffer);q.setUint32(0,O),H.set(U.types.mdat,4);let P=!1,X=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,Ae=Number.NEGATIVE_INFINITY,Ee=Number.NEGATIVE_INFINITY;for(let Z=0;Z<l;Z++){let ae=a[Z],ne=ae.units,xe=0;for(let ft=0,V=ne.length;ft<V;ft++){let J=ne[ft],Re=J.data,et=J.data.byteLength;q.setUint32(u,et),u+=4,H.set(Re,u),u+=et,xe+=4+et}let Ie;if(Z<l-1)h=a[Z+1].dts-ae.dts,Ie=a[Z+1].pts-ae.pts;else{let ft=this.config,V=Z>0?ae.dts-a[Z-1].dts:N;if(Ie=Z>0?ae.pts-a[Z-1].pts:N,ft.stretchShortVideoTrack&&this.nextAudioPts!==null){let J=Math.floor(ft.maxBufferHole*n),Re=(s?E+s*n:this.nextAudioPts)-ae.pts;Re>J?(h=Re-V,h<0?h=V:P=!0,M.log(`[mp4-remuxer]: It is approximately ${Re/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=V}else h=V}let Ve=Math.round(ae.pts-ae.dts);X=Math.min(X,h),Ae=Math.max(Ae,h),z=Math.min(z,Ie),Ee=Math.max(Ee,Ie),o.push(new Tl(ae.key,h,xe,Ve))}if(o.length){if(nl){if(nl<70){let Z=o[0].flags;Z.dependsOn=2,Z.isNonSync=0}}else if(du&&Ee-z<Ae-X&&N/Ae<.025&&o[0].cts===0){M.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Z=f;for(let ae=0,ne=o.length;ae<ne;ae++){let xe=Z+o[ae].duration,Ie=Z+o[ae].cts;if(ae<ne-1){let Ve=xe+o[ae+1].cts;o[ae].duration=Ve-Ie}else o[ae].duration=ae?o[ae-1].duration:N;o[ae].cts=0,Z=xe}}}h=P||!h?N:h,this.nextAvcDts=c=g+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let ye=U.moof(e.sequenceNumber++,f,gt({},e,{samples:o})),we="video",Se={data1:ye,data2:H,startPTS:E/n,endPTS:(T+h)/n,startDTS:f/n,endDTS:c/n,type:we,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Se}remuxAudio(e,t,i,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=e.segmentCodec==="aac"?Sg:B_,c=d*l,u=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],g=n!==void 0,E=e.samples,T=h?0:8,S=this.nextAudioPts||-1,R=t*a,x=u.baseTime*a/u.timescale;if(this.isAudioContiguous=i=i||E.length&&S>0&&(s&&Math.abs(R-S)<9e3||Math.abs(li(E[0].pts-x,R)-S)<20*c),E.forEach(function(we){we.pts=li(we.pts-x,R)}),!i||S<0){if(E=E.filter(we=>we.pts>=0),!E.length)return;n===0?S=0:s&&!g?S=Math.max(0,R):S=E[0].pts}if(e.segmentCodec==="aac"){let we=this.config.maxAudioFramesDrift;for(let Se=0,Z=S;Se<E.length;Se++){let ae=E[Se],ne=ae.pts,xe=ne-Z,Ie=Math.abs(1e3*xe/a);if(xe<=-we*c&&g)Se===0&&(M.warn(`Audio frame @ ${(ne/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*xe/a)} ms.`),this.nextAudioPts=S=Z=ne);else if(xe>=we*c&&Ie<F_&&g){let Ve=Math.round(xe/c);Z=ne-Ve*c,Z<0&&(Ve--,Z+=c),Se===0&&(this.nextAudioPts=S=Z),M.warn(`[mp4-remuxer]: Injecting ${Ve} audio frame @ ${(Z/a).toFixed(3)}s due to ${Math.round(1e3*xe/a)} ms gap.`);for(let ft=0;ft<Ve;ft++){let V=Math.max(Z,0),J=bl.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);J||(M.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),J=ae.unit.subarray()),E.splice(Se,0,{unit:J,pts:V}),Z+=c,Se++}}ae.pts=Z,Z+=c}}let N=null,D=null,$,O=0,H=E.length;for(;H--;)O+=E[H].unit.byteLength;for(let we=0,Se=E.length;we<Se;we++){let Z=E[we],ae=Z.unit,ne=Z.pts;if(D!==null){let Ie=f[we-1];Ie.duration=Math.round((ne-D)/l)}else if(i&&e.segmentCodec==="aac"&&(ne=S),N=ne,O>0){O+=T;try{$=new Uint8Array(O)}catch(Ie){this.observer.emit(y.ERROR,y.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Ie,bytes:O,reason:`fail allocating audio mdat ${O}`});return}h||(new DataView($.buffer).setUint32(0,O),$.set(U.types.mdat,4))}else return;$.set(ae,T);let xe=ae.byteLength;T+=xe,f.push(new Tl(!0,d,xe,0)),D=ne}let q=f.length;if(!q)return;let P=f[f.length-1];this.nextAudioPts=S=D+l*P.duration;let X=h?new Uint8Array(0):U.moof(e.sequenceNumber++,N/l,gt({},e,{samples:f}));e.samples=[];let z=N/a,Ae=S/a,ye={data1:X,data2:$,startPTS:z,endPTS:Ae,startDTS:z,endDTS:Ae,type:"audio",hasAudio:!0,hasVideo:!1,nb:q};return this.isAudioContiguous=!0,ye}remuxEmptyAudio(e,t,i,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,c=d.baseTime*9e4/d.timescale,u=(l!==null?l:s.startDTS*n)+c,h=s.endDTS*n+c,f=o*Sg,g=Math.ceil((h-u)/f),E=bl.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(M.warn("[mp4-remuxer]: remux empty Audio"),!E){M.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let T=[];for(let S=0;S<g;S++){let R=u+S*f;T.push({unit:E,pts:R,dts:R})}return e.samples=T,this.remuxAudio(e,t,i,!1)}};function li(r,e){let t;if(e===null)return r;for(e<r?t=-8589934592:t=8589934592;Math.abs(r-e)>4294967296;)r+=t;return r}function $_(r){for(let e=0;e<r.length;e++)if(r[e].key)return e;return-1}function v0(r,e,t,i){let s=r.samples.length;if(!s)return;let n=r.inputTimeScale;for(let o=0;o<s;o++){let l=r.samples[o];l.pts=li(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=li(l.dts-i.baseTime*n/i.timescale,e*n)/n}let a=r.samples;return r.samples=[],{samples:a}}function E0(r,e,t){let i=r.samples.length;if(!i)return;let s=r.inputTimeScale;for(let a=0;a<i;a++){let o=r.samples[a];o.pts=li(o.pts-t.baseTime*9e4/t.timescale,e*s)/s}r.samples.sort((a,o)=>a.pts-o.pts);let n=r.samples;return r.samples=[],{samples:n}}var Tl=class{constructor(e,t,i,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=i,this.cts=s,this.flags=new Yu(e)}},Yu=class{constructor(e){this.isLeading=0,this.isDependedOn=0,this.hasRedundancy=0,this.degradPrio=0,this.dependsOn=1,this.isNonSync=1,this.dependsOn=e?2:1,this.isNonSync=e?0:1}},ju=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(ST(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=jg(e);t||(t=xg(s.audio,qe.AUDIO)),i||(i=xg(s.video,qe.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+i,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:i,initSegment:e,id:"main"}:M.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,s,n,a){var o,l;let{initPTS:d,lastEndTime:c}=this,u={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};ce(c)||(c=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return u;let f={initPTS:void 0,timescale:1},g=this.initData;if((o=g)!=null&&o.length||(this.generateInitSegment(h),g=this.initData),!((l=g)!=null&&l.length))return M.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),u;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let E=IT(h,g),T=xT(g,h),S=T===null?n:T;(G_(d,S,n,E)||f.timescale!==d.timescale&&a)&&(f.initPTS=S-n,d&&d.timescale===1&&M.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let R=e?S-d.baseTime/d.timescale:c,x=R+E;RT(g,h,d.baseTime/d.timescale),E>0?this.lastEndTime=x:(M.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let N=!!g.audio,D=!!g.video,$="";N&&($+="audio"),D&&($+="video");let O={data1:h,startPTS:R,startDTS:R,endPTS:x,endDTS:x,type:$,hasAudio:N,hasVideo:D,nb:1,dropped:0};return u.audio=O.type==="audio"?O:void 0,u.video=O.type!=="audio"?O:void 0,u.initSegment=f,u.id3=v0(i,n,d,d),s.samples.length&&(u.text=E0(s,n,d)),u}};function G_(r,e,t,i){if(r===null)return!0;let s=Math.max(i,1),n=e-r.baseTime/r.timescale;return Math.abs(n-t)>s}function xg(r,e){let t=r==null?void 0:r.codec;return t&&t.length>4?t:t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":t==="avc1"||e===qe.VIDEO?"avc1.42e01e":"mp4a.40.5"}var Xi;try{Xi=self.performance.now.bind(self.performance)}catch{M.debug("Unable to use Performance API on this environment"),Xi=typeof self!="undefined"&&self.Date.now}var cu=[{demux:Vu,remux:ju},{demux:Fi,remux:Hn},{demux:Hu,remux:Hn},{demux:qu,remux:Hn}],_l=class{constructor(e,t,i,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=i,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,i,s){let n=i.transmuxing;n.executeStart=Xi();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:c,trackSwitch:u,accurateTimeOffset:h,timeOffset:f,initSegmentChange:g}=s||o,{audioCodec:E,videoCodec:T,defaultInitPts:S,duration:R,initSegmentData:x}=l,N=H_(a,t);if(N&&N.method==="AES-128"){let H=this.getDecrypter();if(H.isSync()){let q=H.softwareDecrypt(a,N.key.buffer,N.iv.buffer);if(i.part>-1&&(q=H.flush()),!q)return n.executeEnd=Xi(),uu(i);a=new Uint8Array(q)}else return this.decryptionPromise=H.webCryptoDecrypt(a,N.key.buffer,N.iv.buffer).then(q=>{let P=this.push(q,null,i);return this.decryptionPromise=null,P}),this.decryptionPromise}let D=this.needsProbing(c,u);if(D){let H=this.configureTransmuxer(a);if(H)return M.warn(`[transmuxer] ${H.message}`),this.observer.emit(y.ERROR,y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:H,reason:H.message}),n.executeEnd=Xi(),uu(i)}(c||u||g||D)&&this.resetInitSegment(x,E,T,R,t),(c||g||D)&&this.resetInitialTimestamp(S),d||this.resetContiguity();let $=this.transmux(a,N,f,h,i),O=this.currentTransmuxState;return O.contiguous=!0,O.discontinuity=!1,O.trackSwitch=!1,n.executeEnd=Xi(),$}flush(e){let t=e.transmuxing;t.executeStart=Xi();let{decrypter:i,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(i){let u=i.flush();u&&a.push(this.push(u,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=Xi(),[uu(e)];let c=l.flush(o);return ll(c)?c.then(u=>(this.flushRemux(a,u,e),a)):(this.flushRemux(a,c,e),a)}flushRemux(e,t,i){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;M.log(`[transmuxer.ts]: Flushed fragment ${i.sn}${i.part>-1?" p: "+i.part:""} of level ${i.level}`);let c=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:c,chunkMeta:i}),i.transmuxing.executeEnd=Xi()}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;!t||!i||(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,i,s),o.resetInitSegment(e,t,i,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,i,s,n):a=this.transmuxUnencrypted(e,i,s,n),a}transmuxUnencrypted(e,t,i,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,i,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,i,s,n){return this.demuxer.demuxSampleAes(e,t,i).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,i,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:i,typeSupported:s,vendor:n}=this,a;for(let u=0,h=cu.length;u<h;u++)if(cu[u].demux.probe(e)){a=cu[u];break}if(!a)return new Error("Failed to find demuxer by probing fragment data");let o=this.demuxer,l=this.remuxer,d=a.remux,c=a.demux;(!l||!(l instanceof d))&&(this.remuxer=new d(i,t,s,n)),(!o||!(o instanceof c))&&(this.demuxer=new c(i,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Yn(this.config)),e}};function H_(r,e){let t=null;return r.byteLength>0&&e!=null&&e.key!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var uu=r=>({remuxResult:{},chunkMeta:r});function ll(r){return"then"in r&&r.then instanceof Function}var zu=class{constructor(e,t,i,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=s,this.defaultInitPts=n||null}},Xu=class{constructor(e,t,i,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},y0={exports:{}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function s(l,d,c){this.fn=l,this.context=d,this.once=c||!1}function n(l,d,c,u,h){if(typeof c!="function")throw new TypeError("The listener must be a function");var f=new s(c,u||l,h),g=t?t+d:d;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new i:delete l._events[d]}function o(){this._events=new i,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],c,u;if(this._eventsCount===0)return d;for(u in c=this._events)e.call(c,u)&&d.push(t?u.slice(1):u);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(c)):d},o.prototype.listeners=function(d){var c=t?t+d:d,u=this._events[c];if(!u)return[];if(u.fn)return[u.fn];for(var h=0,f=u.length,g=new Array(f);h<f;h++)g[h]=u[h].fn;return g},o.prototype.listenerCount=function(d){var c=t?t+d:d,u=this._events[c];return u?u.fn?1:u.length:0},o.prototype.emit=function(d,c,u,h,f,g){var E=t?t+d:d;if(!this._events[E])return!1;var T=this._events[E],S=arguments.length,R,x;if(T.fn){switch(T.once&&this.removeListener(d,T.fn,void 0,!0),S){case 1:return T.fn.call(T.context),!0;case 2:return T.fn.call(T.context,c),!0;case 3:return T.fn.call(T.context,c,u),!0;case 4:return T.fn.call(T.context,c,u,h),!0;case 5:return T.fn.call(T.context,c,u,h,f),!0;case 6:return T.fn.call(T.context,c,u,h,f,g),!0}for(x=1,R=new Array(S-1);x<S;x++)R[x-1]=arguments[x];T.fn.apply(T.context,R)}else{var N=T.length,D;for(x=0;x<N;x++)switch(T[x].once&&this.removeListener(d,T[x].fn,void 0,!0),S){case 1:T[x].fn.call(T[x].context);break;case 2:T[x].fn.call(T[x].context,c);break;case 3:T[x].fn.call(T[x].context,c,u);break;case 4:T[x].fn.call(T[x].context,c,u,h);break;default:if(!R)for(D=1,R=new Array(S-1);D<S;D++)R[D-1]=arguments[D];T[x].fn.apply(T[x].context,R)}}return!0},o.prototype.on=function(d,c,u){return n(this,d,c,u,!1)},o.prototype.once=function(d,c,u){return n(this,d,c,u,!0)},o.prototype.removeListener=function(d,c,u,h){var f=t?t+d:d;if(!this._events[f])return this;if(!c)return a(this,f),this;var g=this._events[f];if(g.fn)g.fn===c&&(!h||g.once)&&(!u||g.context===u)&&a(this,f);else{for(var E=0,T=[],S=g.length;E<S;E++)(g[E].fn!==c||h&&!g[E].once||u&&g[E].context!==u)&&T.push(g[E]);T.length?this._events[f]=T.length===1?T[0]:T:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var c;return d?(c=t?t+d:d,this._events[c]&&a(this,c)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,r.exports=o})(y0);var V_=y0.exports,Rh=Xb(V_),hu=Dl()||{isTypeSupported:()=>!1},Al=class{constructor(e,t,i,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=i,this.onFlush=s;let a=(d,c)=>{c=c||{},c.frag=this.frag,c.id=this.id,d===y.ERROR&&(this.error=c.error),this.hls.trigger(d,c)};this.observer=new Rh,this.observer.on(y.FRAG_DECRYPTED,a),this.observer.on(y.ERROR,a);let o={mp4:hu.isTypeSupported("video/mp4"),mpeg:hu.isTypeSupported("audio/mpeg"),mp3:hu.isTypeSupported('audio/mp4; codecs="mp3"')},l=navigator.vendor;if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||E_())){try{n.workerPath?(M.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=b_(n.workerPath)):(M.log(`injecting Web Worker for "${t}"`),this.workerContext=y_()),this.onwmsg=u=>this.onWorkerMessage(u);let{worker:c}=this.workerContext;c.addEventListener("message",this.onwmsg),c.onerror=u=>{let h=new Error(`${u.message} (${u.filename}:${u.lineno})`);n.enableWorker=!1,M.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},c.postMessage({cmd:"init",typeSupported:o,vendor:l,id:t,config:JSON.stringify(n)})}catch(c){M.warn(`Error setting up "${t}" Web Worker, fallback to inline`,c),this.resetWorker(),this.error=null,this.transmuxer=new _l(this.observer,o,n,l,t)}return}this.transmuxer=new _l(this.observer,o,n,l,t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,i,s,n,a,o,l,d,c){var u,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,g=a?a.start:n.start,E=n.decryptdata,T=this.frag,S=!(T&&n.cc===T.cc),R=!(T&&d.level===T.level),x=T?d.sn-T.sn:-1,N=this.part?d.part-this.part.index:-1,D=x===0&&d.id>1&&d.id===(T==null?void 0:T.stats.chunkCount),$=!R&&(x===1||x===0&&(N===1||D&&N<=0)),O=self.performance.now();(R||x||n.stats.parsing.start===0)&&(n.stats.parsing.start=O),a&&(N||!$)&&(a.stats.parsing.start=O);let H=!(T&&((u=n.initSegment)==null?void 0:u.url)===((h=T.initSegment)==null?void 0:h.url)),q=new Xu(S,$,l,R,g,H);if(!$||S||H){M.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
945
- discontinuity: ${S}
946
- trackSwitch: ${R}
943
+ <slot name="icon">${Xb}</slot>
944
+ `;var Jc=class extends $e{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AUDIO_TRACK_ENABLED,S.MEDIA_AUDIO_TRACK_UNAVAILABLE]}constructor(){super({slotTemplate:Xp})}get mediaAudioTrackEnabled(){return We(this,S.MEDIA_AUDIO_TRACK_ENABLED)}set mediaAudioTrackEnabled(e){Be(this,S.MEDIA_AUDIO_TRACK_ENABLED,e)}};w.customElements.get("media-audio-track-button")||w.customElements.define("media-audio-track-button",Jc);var Zo=class extends oi{static get observedAttributes(){return[...super.observedAttributes,S.MEDIA_AUDIO_TRACK_ENABLED,S.MEDIA_AUDIO_TRACK_UNAVAILABLE]}init(){let e=Y.createElement("media-audio-track-button");e.part.add("button"),e.preventClick=!0;let t=Y.createElement("media-audio-track-listbox");t.part.add("listbox"),t.setAttribute("exportparts","option, option-selected, indicator");let i=this.shadowRoot.querySelector("slot[name=button]"),s=this.shadowRoot.querySelector("slot[name=listbox]");i.textContent="",s.textContent="",i.append(e),s.append(t)}};w.customElements.get("media-audio-track-selectmenu")||w.customElements.define("media-audio-track-selectmenu",Zo);var Ml=vy(Qp(),1);function Qb(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Fg={exports:{}};(function(r,e){(function(t){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,n=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,d,c){if(c=c||{},l=l.trim(),d=d.trim(),!d){if(!c.alwaysNormalize)return l;var u=o.parseURL(l);if(!u)throw new Error("Error trying to parse base URL.");return u.path=o.normalizePath(u.path),o.buildURLFromParts(u)}var h=o.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return c.alwaysNormalize?(h.path=o.normalizePath(h.path),o.buildURLFromParts(h)):d;var f=o.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var g=s.exec(f.path);f.netLoc=g[1],f.path=g[2]}f.netLoc&&!f.path&&(f.path="/");var E={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(E.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)E.path=f.path,h.params||(E.params=f.params,h.query||(E.query=f.query));else{var T=f.path,A=T.substring(0,T.lastIndexOf("/")+1)+h.path;E.path=o.normalizePath(A)}return E.path===null&&(E.path=c.alwaysNormalize?o.normalizePath(h.path):h.path),o.buildURLFromParts(E)},parseURL:function(l){var d=i.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(n,"");l.length!==(l=l.replace(a,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};r.exports=o})()})(Fg);var bh=Fg.exports;function Zp(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function zt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Zp(Object(t),!0).forEach(function(i){Zb(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Zp(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function Zb(r,e,t){return e=eT(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function gt(){return gt=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},gt.apply(this,arguments)}function Jb(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var i=t.call(r,e||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function eT(r){var e=Jb(r,"string");return typeof e=="symbol"?e:String(e)}var ce=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},y=function(r){return r.MEDIA_ATTACHING="hlsMediaAttaching",r.MEDIA_ATTACHED="hlsMediaAttached",r.MEDIA_DETACHING="hlsMediaDetaching",r.MEDIA_DETACHED="hlsMediaDetached",r.BUFFER_RESET="hlsBufferReset",r.BUFFER_CODECS="hlsBufferCodecs",r.BUFFER_CREATED="hlsBufferCreated",r.BUFFER_APPENDING="hlsBufferAppending",r.BUFFER_APPENDED="hlsBufferAppended",r.BUFFER_EOS="hlsBufferEos",r.BUFFER_FLUSHING="hlsBufferFlushing",r.BUFFER_FLUSHED="hlsBufferFlushed",r.MANIFEST_LOADING="hlsManifestLoading",r.MANIFEST_LOADED="hlsManifestLoaded",r.MANIFEST_PARSED="hlsManifestParsed",r.LEVEL_SWITCHING="hlsLevelSwitching",r.LEVEL_SWITCHED="hlsLevelSwitched",r.LEVEL_LOADING="hlsLevelLoading",r.LEVEL_LOADED="hlsLevelLoaded",r.LEVEL_UPDATED="hlsLevelUpdated",r.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",r.LEVELS_UPDATED="hlsLevelsUpdated",r.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",r.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",r.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",r.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",r.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",r.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",r.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",r.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",r.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",r.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",r.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",r.CUES_PARSED="hlsCuesParsed",r.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",r.INIT_PTS_FOUND="hlsInitPtsFound",r.FRAG_LOADING="hlsFragLoading",r.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",r.FRAG_LOADED="hlsFragLoaded",r.FRAG_DECRYPTED="hlsFragDecrypted",r.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",r.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",r.FRAG_PARSING_METADATA="hlsFragParsingMetadata",r.FRAG_PARSED="hlsFragParsed",r.FRAG_BUFFERED="hlsFragBuffered",r.FRAG_CHANGED="hlsFragChanged",r.FPS_DROP="hlsFpsDrop",r.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",r.ERROR="hlsError",r.DESTROYING="hlsDestroying",r.KEY_LOADING="hlsKeyLoading",r.KEY_LOADED="hlsKeyLoaded",r.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",r.BACK_BUFFER_REACHED="hlsBackBufferReached",r}({}),pe=function(r){return r.NETWORK_ERROR="networkError",r.MEDIA_ERROR="mediaError",r.KEY_SYSTEM_ERROR="keySystemError",r.MUX_ERROR="muxError",r.OTHER_ERROR="otherError",r}({}),B=function(r){return r.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",r.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",r.KEY_SYSTEM_NO_SESSION="keySystemNoSession",r.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",r.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",r.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",r.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",r.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",r.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",r.MANIFEST_LOAD_ERROR="manifestLoadError",r.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",r.MANIFEST_PARSING_ERROR="manifestParsingError",r.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",r.LEVEL_EMPTY_ERROR="levelEmptyError",r.LEVEL_LOAD_ERROR="levelLoadError",r.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",r.LEVEL_PARSING_ERROR="levelParsingError",r.LEVEL_SWITCH_ERROR="levelSwitchError",r.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",r.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",r.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",r.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",r.FRAG_LOAD_ERROR="fragLoadError",r.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",r.FRAG_DECRYPT_ERROR="fragDecryptError",r.FRAG_PARSING_ERROR="fragParsingError",r.FRAG_GAP="fragGap",r.REMUX_ALLOC_ERROR="remuxAllocError",r.KEY_LOAD_ERROR="keyLoadError",r.KEY_LOAD_TIMEOUT="keyLoadTimeOut",r.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",r.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",r.BUFFER_APPEND_ERROR="bufferAppendError",r.BUFFER_APPENDING_ERROR="bufferAppendingError",r.BUFFER_STALLED_ERROR="bufferStalledError",r.BUFFER_FULL_ERROR="bufferFullError",r.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",r.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",r.INTERNAL_EXCEPTION="internalException",r.INTERNAL_ABORTED="aborted",r.UNKNOWN="unknown",r}({}),$r=function(){},Tu={trace:$r,debug:$r,log:$r,warn:$r,info:$r,error:$r},$n=Tu;function tT(r){let e=self.console[r];return e?e.bind(self.console,`[${r}] >`):$r}function iT(r,...e){e.forEach(function(t){$n[t]=r[t]?r[t].bind(r):tT(t)})}function rT(r,e){if(self.console&&r===!0||typeof r=="object"){iT(r,"debug","log","info","warn","error");try{$n.log(`Debug logs enabled for "${e}" in hls.js version 1.4.10`)}catch{$n=Tu}}else $n=Tu}var M=$n,sT=/^(\d+)x(\d+)$/,Jp=/(.+?)=(".*?"|.*?)(?:,|$)/g,Ze=class{constructor(e){typeof e=="string"&&(e=Ze.parseAttrList(e));for(let t in e)e.hasOwnProperty(t)&&(t.substring(0,2)==="X-"&&(this.clientAttrs=this.clientAttrs||[],this.clientAttrs.push(t)),this[t]=e[t])}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let i=new Uint8Array(t.length/2);for(let s=0;s<t.length/2;s++)i[s]=parseInt(t.slice(s*2,s*2+2),16);return i}else return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}bool(e){return this[e]==="YES"}decimalResolution(e){let t=sT.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t,i={},s='"';for(Jp.lastIndex=0;(t=Jp.exec(e))!==null;){let n=t[2];n.indexOf(s)===0&&n.lastIndexOf(s)===n.length-1&&(n=n.slice(1,-1));let a=t[1].trim();i[a]=n}return i}};function nT(r){return r!=="ID"&&r!=="CLASS"&&r!=="START-DATE"&&r!=="DURATION"&&r!=="END-DATE"&&r!=="END-ON-NEXT"}function aT(r){return r==="SCTE35-OUT"||r==="SCTE35-IN"}var cl=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let i=t.attr;for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==i[s]){M.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=gt(new Ze({}),i,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let i=new Date(this.attr["END-DATE"]);ce(i.getTime())&&(this._endDate=i)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(ce(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&ce(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)}},Ws=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},qe={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},ul=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[qe.AUDIO]:null,[qe.VIDEO]:null,[qe.AUDIOVIDEO]:null},this.baseurl=e}setByteRange(e,t){let i=e.split("@",2),s=[];i.length===1?s[0]=t?t.byteRangeEndOffset:0:s[0]=parseInt(i[1]),s[1]=parseInt(i[0])+s[0],this._byteRange=s}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=bh.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}},Gn=class extends ul{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Ws,this.urlId=0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.type=e}get decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let i=Object.keys(this.levelkeys);if(i.length===1)return this._decryptdata=this.levelkeys[i[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null||!ce(this.programDateTime))return null;let e=ce(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){let t=Object.keys(this.levelkeys),i=t.length;if(i>1||i===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,i,s,n,a=!1){let{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:n,partial:a};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,i),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n)}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[qe.AUDIO]=null,e[qe.VIDEO]=null,e[qe.AUDIOVIDEO]=null}},_u=class extends ul{constructor(e,t,i,s,n){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Ws,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,n),n&&(this.fragOffset=n.fragOffset+n.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}},oT=10,Au=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t,this.advanced=this.endSN>e.endSN||t>0||t===0&&i>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return this.fragments.length?ce(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||oT}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}};function Th(r){return Uint8Array.from(atob(r),e=>e.charCodeAt(0))}function lT(r){let e=Bg(r).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function dT(r){let e=function(i,s,n){let a=i[s];i[s]=i[n],i[n]=a};e(r,0,3),e(r,1,2),e(r,4,5),e(r,6,7)}function cT(r){let e=r.split(":"),t=null;if(e[0]==="data"&&e.length===2){let i=e[1].split(";"),s=i[i.length-1].split(",");if(s.length===2){let n=s[0]==="base64",a=s[1];n?(i.splice(-1,1),t=Th(a)):t=lT(a)}}return t}function Bg(r){return Uint8Array.from(unescape(encodeURIComponent(r)),e=>e.charCodeAt(0))}var st={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},jt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function eg(r){switch(r){case jt.FAIRPLAY:return st.FAIRPLAY;case jt.PLAYREADY:return st.PLAYREADY;case jt.WIDEVINE:return st.WIDEVINE;case jt.CLEARKEY:return st.CLEARKEY}}var $g={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function uT(r){if(r===$g.WIDEVINE)return st.WIDEVINE}function tg(r){switch(r){case st.FAIRPLAY:return jt.FAIRPLAY;case st.PLAYREADY:return jt.PLAYREADY;case st.WIDEVINE:return jt.WIDEVINE;case st.CLEARKEY:return jt.CLEARKEY}}function tu(r){let{drmSystems:e,widevineLicenseUrl:t}=r,i=e?[st.FAIRPLAY,st.WIDEVINE,st.PLAYREADY,st.CLEARKEY].filter(s=>!!e[s]):[];return!i[st.WIDEVINE]&&t&&i.push(st.WIDEVINE),i}var Gg=function(){return typeof self!="undefined"&&self.navigator&&self.navigator.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function hT(r,e,t,i){let s;switch(r){case st.FAIRPLAY:s=["cenc","sinf"];break;case st.WIDEVINE:case st.PLAYREADY:s=["cenc"];break;case st.CLEARKEY:s=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${r}`)}return fT(s,e,t,i)}function fT(r,e,t,i){return[{initDataTypes:r,persistentState:i.persistentState||"not-allowed",distinctiveIdentifier:i.distinctiveIdentifier||"not-allowed",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map(n=>({contentType:`audio/mp4; codecs="${n}"`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:t.map(n=>({contentType:`video/mp4; codecs="${n}"`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function Gr(r,e,t){return Uint8Array.prototype.slice?r.slice(e,t):new Uint8Array(Array.prototype.slice.call(r,e,t))}var _h=(r,e)=>e+10<=r.length&&r[e]===73&&r[e+1]===68&&r[e+2]===51&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,Hg=(r,e)=>e+10<=r.length&&r[e]===51&&r[e+1]===68&&r[e+2]===73&&r[e+3]<255&&r[e+4]<255&&r[e+6]<128&&r[e+7]<128&&r[e+8]<128&&r[e+9]<128,hl=(r,e)=>{let t=e,i=0;for(;_h(r,e);){i+=10;let s=Dl(r,e+6);i+=s,Hg(r,e+10)&&(i+=10),e+=i}if(i>0)return r.subarray(t,t+i)},Dl=(r,e)=>{let t=0;return t=(r[e]&127)<<21,t|=(r[e+1]&127)<<14,t|=(r[e+2]&127)<<7,t|=r[e+3]&127,t},mT=(r,e)=>_h(r,e)&&Dl(r,e+6)+10<=r.length-e,pT=r=>{let e=Kg(r);for(let t=0;t<e.length;t++){let i=e[t];if(Vg(i))return TT(i)}},Vg=r=>r&&r.key==="PRIV"&&r.info==="com.apple.streaming.transportStreamTimestamp",gT=r=>{let e=String.fromCharCode(r[0],r[1],r[2],r[3]),t=Dl(r,4),i=10;return{type:e,size:t,data:r.subarray(i,i+t)}},Kg=r=>{let e=0,t=[];for(;_h(r,e);){let i=Dl(r,e+6);e+=10;let s=e+i;for(;e+8<s;){let n=gT(r.subarray(e)),a=vT(n);a&&t.push(a),e+=n.size+10}Hg(r,e)&&(e+=10)}return t},vT=r=>r.type==="PRIV"?ET(r):r.type[0]==="W"?bT(r):yT(r),ET=r=>{if(r.size<2)return;let e=Gi(r.data,!0),t=new Uint8Array(r.data.subarray(e.length+1));return{key:r.type,info:e,data:t.buffer}},yT=r=>{if(r.size<2)return;if(r.type==="TXXX"){let t=1,i=Gi(r.data.subarray(t),!0);t+=i.length+1;let s=Gi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Gi(r.data.subarray(1));return{key:r.type,data:e}},bT=r=>{if(r.type==="WXXX"){if(r.size<2)return;let t=1,i=Gi(r.data.subarray(t),!0);t+=i.length+1;let s=Gi(r.data.subarray(t));return{key:r.type,info:i,data:s}}let e=Gi(r.data);return{key:r.type,data:e}},TT=r=>{if(r.data.byteLength===8){let e=new Uint8Array(r.data),t=e[3]&1,i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,t&&(i+=4772185884e-2),Math.round(i)}},Gi=(r,e=!1)=>{let t=_T();if(t){let d=t.decode(r);if(e){let c=d.indexOf("\0");return c!==-1?d.substring(0,c):d}return d.replace(/\0/g,"")}let i=r.length,s,n,a,o="",l=0;for(;l<i;){if(s=r[l++],s===0&&e)return o;if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(s);break;case 12:case 13:n=r[l++],o+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=r[l++],a=r[l++],o+=String.fromCharCode((s&15)<<12|(n&63)<<6|(a&63)<<0);break}}return o},iu;function _T(){return!iu&&typeof self.TextDecoder!="undefined"&&(iu=new self.TextDecoder("utf-8")),iu}var Ni={hexDump:function(r){let e="";for(let t=0;t<r.length;t++){let i=r[t].toString(16);i.length<2&&(i="0"+i),e+=i}return e}},fl=Math.pow(2,32)-1,AT=[].push,Wg={video:1,audio:2,id3:3,text:4};function Rt(r){return String.fromCharCode.apply(null,r)}function qg(r,e){let t=r[e]<<8|r[e+1];return t<0?65536+t:t}function be(r,e){let t=Yg(r,e);return t<0?4294967296+t:t}function Yg(r,e){return r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}function ru(r,e,t){r[e]=t>>24,r[e+1]=t>>16&255,r[e+2]=t>>8&255,r[e+3]=t&255}function Pe(r,e){let t=[];if(!e.length)return t;let i=r.byteLength;for(let s=0;s<i;){let n=be(r,s),a=Rt(r.subarray(s+4,s+8)),o=n>1?s+n:i;if(a===e[0])if(e.length===1)t.push(r.subarray(s+8,o));else{let l=Pe(r.subarray(s+8,o),e.slice(1));l.length&&AT.apply(t,l)}s=o}return t}function ST(r){let e=[],t=r[0],i=8,s=be(r,i);i+=4;let n=0,a=0;t===0?i+=8:i+=16,i+=2;let o=r.length+a,l=qg(r,i);i+=2;for(let d=0;d<l;d++){let c=i,u=be(r,c);c+=4;let h=u&2147483647;if((u&2147483648)>>>31===1)return M.warn("SIDX has hierarchical references (not supported)"),null;let g=be(r,c);c+=4,e.push({referenceSize:h,subsegmentDuration:g,info:{duration:g/s,start:o,end:o+h-1}}),o+=h,c+=4,i=c}return{earliestPresentationTime:n,timescale:s,version:t,referencesCount:l,references:e}}function jg(r){let e=[],t=Pe(r,["moov","trak"]);for(let s=0;s<t.length;s++){let n=t[s],a=Pe(n,["tkhd"])[0];if(a){let o=a[0],l=o===0?12:20,d=be(a,l),c=Pe(n,["mdia","mdhd"])[0];if(c){o=c[0],l=o===0?12:20;let u=be(c,l),h=Pe(n,["mdia","hdlr"])[0];if(h){let f=Rt(h.subarray(8,12)),g={soun:qe.AUDIO,vide:qe.VIDEO}[f];if(g){let E=Pe(n,["mdia","minf","stbl","stsd"])[0],T;E&&(T=Rt(E.subarray(12,16))),e[d]={timescale:u,type:g},e[g]={timescale:u,id:d,codec:T}}}}}}return Pe(r,["moov","mvex","trex"]).forEach(s=>{let n=be(s,4),a=e[n];a&&(a.default={duration:be(s,12),flags:be(s,20)})}),e}function xT(r,e){if(!r||!e)return r;let t=e.keyId;return t&&e.isCommonEncryption&&Pe(r,["moov","trak"]).forEach(s=>{let a=Pe(s,["mdia","minf","stbl","stsd"])[0].subarray(8),o=Pe(a,["enca"]),l=o.length>0;l||(o=Pe(a,["encv"])),o.forEach(d=>{let c=l?d.subarray(28):d.subarray(78);Pe(c,["sinf"]).forEach(h=>{let f=zg(h);if(f){let g=f.subarray(8,24);g.some(E=>E!==0)||(M.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${Ni.hexDump(g)} -> ${Ni.hexDump(t)}`),f.set(t,8))}})})}),r}function zg(r){let e=Pe(r,["schm"])[0];if(e){let t=Rt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return Pe(r,["schi","tenc"])[0]}return M.error("[eme] missing 'schm' box"),null}function IT(r,e){return Pe(e,["moof","traf"]).reduce((t,i)=>{let s=Pe(i,["tfdt"])[0],n=s[0],a=Pe(i,["tfhd"]).reduce((o,l)=>{let d=be(l,4),c=r[d];if(c){let u=be(s,4);if(n===1){if(u===fl)return M.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),o;u*=fl+1,u+=be(s,8)}let h=c.timescale||9e4,f=u/h;if(isFinite(f)&&(o===null||f<o))return f}return o},null);return a!==null&&isFinite(a)&&(t===null||a<t)?a:t},null)}function LT(r,e){let t=0,i=0,s=0,n=Pe(r,["moof","traf"]);for(let a=0;a<n.length;a++){let o=n[a],l=Pe(o,["tfhd"])[0],d=be(l,4),c=e[d];if(!c)continue;let u=c.default,h=be(l,0)|(u==null?void 0:u.flags),f=u==null?void 0:u.duration;h&8&&(h&2?f=be(l,12):f=be(l,8));let g=c.timescale||9e4,E=Pe(o,["trun"]);for(let T=0;T<E.length;T++){if(t=kT(E[T]),!t&&f){let A=be(E[T],4);t=f*A}c.type===qe.VIDEO?i+=t/g:c.type===qe.AUDIO&&(s+=t/g)}}if(i===0&&s===0){let a=0,o=Pe(r,["sidx"]);for(let l=0;l<o.length;l++){let d=ST(o[l]);d!=null&&d.references&&(a+=d.references.reduce((c,u)=>c+u.info.duration||0,0))}return a}return i||s}function kT(r){let e=be(r,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let i=0,s=be(r,4);for(let n=0;n<s;n++){if(e&256){let a=be(r,t);i+=a,t+=4}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4)}return i}function RT(r,e,t){Pe(e,["moof","traf"]).forEach(i=>{Pe(i,["tfhd"]).forEach(s=>{let n=be(s,4),a=r[n];if(!a)return;let o=a.timescale||9e4;Pe(i,["tfdt"]).forEach(l=>{let d=l[0],c=be(l,4);if(d===0)c-=t*o,c=Math.max(c,0),ru(l,4,c);else{c*=Math.pow(2,32),c+=be(l,8),c-=t*o,c=Math.max(c,0);let u=Math.floor(c/(fl+1)),h=Math.floor(c%(fl+1));ru(l,4,u),ru(l,8,h)}})})})}function wT(r){let e={valid:null,remainder:null},t=Pe(r,["moof"]);if(t){if(t.length<2)return e.remainder=r,e}else return e;let i=t[t.length-1];return e.valid=Gr(r,0,i.byteOffset-8),e.remainder=Gr(r,i.byteOffset-8),e}function Hr(r,e){let t=new Uint8Array(r.length+e.length);return t.set(r),t.set(e,r.length),t}function ig(r,e){let t=[],i=e.samples,s=e.timescale,n=e.id,a=!1;return Pe(i,["moof"]).map(l=>{let d=l.byteOffset-8;Pe(l,["traf"]).map(u=>{let h=Pe(u,["tfdt"]).map(f=>{let g=f[0],E=be(f,4);return g===1&&(E*=Math.pow(2,32),E+=be(f,8)),E/s})[0];return h!==void 0&&(r=h),Pe(u,["tfhd"]).map(f=>{let g=be(f,4),E=be(f,0)&16777215,T=(E&1)!==0,A=(E&2)!==0,k=(E&8)!==0,L=0,N=(E&16)!==0,D=0,$=(E&32)!==0,O=8;g===n&&(T&&(O+=8),A&&(O+=4),k&&(L=be(f,O),O+=4),N&&(D=be(f,O),O+=4),$&&(O+=4),e.type==="video"&&(a=DT(e.codec)),Pe(u,["trun"]).map(G=>{let q=G[0],P=be(G,0)&16777215,X=(P&1)!==0,z=0,Ae=(P&4)!==0,Ee=(P&256)!==0,ye=0,we=(P&512)!==0,Se=0,Z=(P&1024)!==0,ae=(P&2048)!==0,ne=0,xe=be(G,4),Ie=8;X&&(z=be(G,Ie),Ie+=4),Ae&&(Ie+=4);let Ve=z+d;for(let ft=0;ft<xe;ft++){if(Ee?(ye=be(G,Ie),Ie+=4):ye=L,we?(Se=be(G,Ie),Ie+=4):Se=D,Z&&(Ie+=4),ae&&(q===0?ne=be(G,Ie):ne=Yg(G,Ie),Ie+=4),e.type===qe.VIDEO){let V=0;for(;V<Se;){let J=be(i,Ve);if(Ve+=4,CT(a,i[Ve])){let ke=i.subarray(Ve,Ve+J);Xg(ke,a?2:1,r+ne/s,t)}Ve+=J,V+=J+4}}r+=ye/s}}))})})}),t}function DT(r){if(!r)return!1;let e=r.indexOf("."),t=e<0?r:r.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe"}function CT(r,e){if(r){let t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Xg(r,e,t,i){let s=Qg(r),n=0;n+=e;let a=0,o=0,l=!1,d=0;for(;n<s.length;){a=0;do{if(n>=s.length)break;d=s[n++],a+=d}while(d===255);o=0;do{if(n>=s.length)break;d=s[n++],o+=d}while(d===255);let c=s.length-n;if(!l&&a===4&&n<s.length){if(l=!0,s[n++]===181){let h=qg(s,n);if(n+=2,h===49){let f=be(s,n);if(n+=4,f===1195456820){let g=s[n++];if(g===3){let E=s[n++],T=31&E,A=64&E,k=A?2+T*3:0,L=new Uint8Array(k);if(A){L[0]=E;for(let N=1;N<k;N++)L[N]=s[n++]}i.push({type:g,payloadType:a,pts:t,bytes:L})}}}}}else if(a===5&&o<c){if(l=!0,o>16){let u=[];for(let g=0;g<16;g++){let E=s[n++].toString(16);u.push(E.length==1?"0"+E:E),(g===3||g===5||g===7||g===9)&&u.push("-")}let h=o-16,f=new Uint8Array(h);for(let g=0;g<h;g++)f[g]=s[n++];i.push({payloadType:a,pts:t,uuid:u.join(""),userData:Gi(f),userDataBytes:f})}}else if(o<c)n+=o;else if(o>c)break}}function Qg(r){let e=r.byteLength,t=[],i=1;for(;i<e-2;)r[i]===0&&r[i+1]===0&&r[i+2]===3?(t.push(i+2),i+=2):i++;if(t.length===0)return r;let s=e-t.length,n=new Uint8Array(s),a=0;for(i=0;i<s;a++,i++)a===t[0]&&(a++,t.shift()),n[i]=r[a];return n}function MT(r){let e=r[0],t="",i="",s=0,n=0,a=0,o=0,l=0,d=0;if(e===0){for(;Rt(r.subarray(d,d+1))!=="\0";)t+=Rt(r.subarray(d,d+1)),d+=1;for(t+=Rt(r.subarray(d,d+1)),d+=1;Rt(r.subarray(d,d+1))!=="\0";)i+=Rt(r.subarray(d,d+1)),d+=1;i+=Rt(r.subarray(d,d+1)),d+=1,s=be(r,12),n=be(r,16),o=be(r,20),l=be(r,24),d=28}else if(e===1){d+=4,s=be(r,d),d+=4;let u=be(r,d);d+=4;let h=be(r,d);for(d+=4,a=2**32*u+h,Number.isSafeInteger(a)||(a=Number.MAX_SAFE_INTEGER,M.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=be(r,d),d+=4,l=be(r,d),d+=4;Rt(r.subarray(d,d+1))!=="\0";)t+=Rt(r.subarray(d,d+1)),d+=1;for(t+=Rt(r.subarray(d,d+1)),d+=1;Rt(r.subarray(d,d+1))!=="\0";)i+=Rt(r.subarray(d,d+1)),d+=1;i+=Rt(r.subarray(d,d+1)),d+=1}let c=r.subarray(d,r.byteLength);return{schemeIdUri:t,value:i,timeScale:s,presentationTime:a,presentationTimeDelta:n,eventDuration:o,id:l,payload:c}}function OT(r,...e){let t=e.length,i=8,s=t;for(;s--;)i+=e[s].byteLength;let n=new Uint8Array(i);for(n[0]=i>>24&255,n[1]=i>>16&255,n[2]=i>>8&255,n[3]=i&255,n.set(r,4),s=0,i=8;s<t;s++)n.set(e[s],i),i+=e[s].byteLength;return n}function PT(r,e,t){if(r.byteLength!==16)throw new RangeError("Invalid system id");let i,s;if(e){i=1,s=new Uint8Array(e.length*16);for(let o=0;o<e.length;o++){let l=e[o];if(l.byteLength!==16)throw new RangeError("Invalid key");s.set(l,o*16)}}else i=0,s=new Uint8Array;let n;i>0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;let a=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),OT([112,115,115,104],new Uint8Array([i,0,0,0]),r,n,s,a,t||new Uint8Array)}function NT(r){if(!(r instanceof ArrayBuffer)||r.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(r),i=t.getUint32(0);if(r.byteLength!==i&&i>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=Ni.hexDump(new Uint8Array(r,12,16));let n=t.getUint32(28);if(e.version===0){if(i-32<n)return null;e.data=new Uint8Array(r,32,n)}else if(e.version===1){e.kids=[];for(let a=0;a<n;a++)e.kids.push(new Uint8Array(r,32+a*16,16))}return e}var el={},Vr=class{static clearKeyUriToKeyIdMap(){el={}}constructor(e,t,i,s=[1],n=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=s,this.iv=n,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128"}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case jt.FAIRPLAY:case jt.WIDEVINE:case jt.PLAYREADY:case jt.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&M.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let i=UT(e);return new Vr(this.method,this.uri,"identity",this.keyFormatVersions,i)}let t=cT(this.uri);if(t)switch(this.keyFormat){case jt.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case jt.PLAYREADY:{let i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=PT(i,null,t);let s=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),n=String.fromCharCode.apply(null,Array.from(s)),a=n.substring(n.indexOf("<"),n.length),d=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("KID")[0];if(d){let c=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(c){let u=Th(c).subarray(0,16);dT(u),this.keyId=u}}break}default:{let i=t.subarray(0,16);if(i.length!==16){let s=new Uint8Array(16);s.set(i,16-i.length),i=s}this.keyId=i;break}}if(!this.keyId||this.keyId.byteLength!==16){let i=el[this.uri];if(!i){let s=Object.keys(el).length%Number.MAX_SAFE_INTEGER;i=new Uint8Array(16),new DataView(i.buffer,12,4).setUint32(0,s),el[this.uri]=i}this.keyId=i}return this}};function UT(r){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=r>>8*(15-t)&255;return e}var Zg=/\{\$([a-zA-Z0-9-_]+)\}/g;function rg(r){return Zg.test(r)}function qt(r,e,t){if(r.variableList!==null||r.hasVariableRefs)for(let i=t.length;i--;){let s=t[i],n=e[s];n&&(e[s]=Su(r,n))}}function Su(r,e){if(r.variableList!==null||r.hasVariableRefs){let t=r.variableList;return e.replace(Zg,i=>{let s=i.substring(2,i.length-1),n=t==null?void 0:t[s];return n===void 0?(r.playlistParsingError||(r.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),i):n})}return e}function sg(r,e,t){let i=r.variableList;i||(r.variableList=i={});let s,n;if("QUERYPARAM"in e){s=e.QUERYPARAM;try{let a=new self.URL(t).searchParams;if(a.has(s))n=a.get(s);else throw new Error(`"${s}" does not match any query parameter in URI: "${t}"`)}catch(a){r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`))}}else s=e.NAME,n=e.VALUE;s in i?r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):i[s]=n||""}function FT(r,e,t){let i=e.IMPORT;if(t&&i in t){let s=r.variableList;s||(r.variableList=s={}),s[i]=t[i]}else r.playlistParsingError||(r.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}function Cl(){if(typeof self!="undefined")return self.MediaSource||self.WebKitMediaSource}var BT={audio:{a3ds:!0,"ac-3":!0,"ac-4":!0,alac:!0,alaw:!0,dra1:!0,"dts+":!0,"dts-":!0,dtsc:!0,dtse:!0,dtsh:!0,"ec-3":!0,enca:!0,g719:!0,g726:!0,m4ae:!0,mha1:!0,mha2:!0,mhm1:!0,mhm2:!0,mlpa:!0,mp4a:!0,"raw ":!0,Opus:!0,opus:!0,samr:!0,sawb:!0,sawp:!0,sevc:!0,sqcp:!0,ssmv:!0,twos:!0,ulaw:!0},video:{avc1:!0,avc2:!0,avc3:!0,avc4:!0,avcp:!0,av01:!0,drac:!0,dva1:!0,dvav:!0,dvh1:!0,dvhe:!0,encv:!0,hev1:!0,hvc1:!0,mjp2:!0,mp4v:!0,mvc1:!0,mvc2:!0,mvc3:!0,mvc4:!0,resv:!0,rv60:!0,s263:!0,svc1:!0,svc2:!0,"vc-1":!0,vp08:!0,vp09:!0},text:{stpp:!0,wvtt:!0}},ng=Cl();function $T(r,e){let t=BT[e];return!!t&&t[r.slice(0,4)]===!0}function su(r,e){var t;return(t=ng==null?void 0:ng.isTypeSupported(`${e||"video"}/mp4;codecs="${r}"`))!=null?t:!1}var ag=/#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,og=/#EXT-X-MEDIA:(.*)/g,GT=/^#EXT(?:INF|-X-TARGETDURATION):/m,lg=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),HT=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Jt=class{static findGroup(e,t){for(let i=0;i<e.length;i++){let s=e[i];if(s.id===t)return s}}static convertAVC1ToAVCOTI(e){let t=e.split(".");if(t.length>2){let i=t.shift()+".";return i+=parseInt(t.shift()).toString(16),i+=("000"+parseInt(t.shift()).toString(16)).slice(-4),i}return e}static resolve(e,t){return bh.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return GT.test(e)}static parseMasterPlaylist(e,t){let i=rg(e),s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:i},n=[];ag.lastIndex=0;let a;for(;(a=ag.exec(e))!=null;)if(a[1]){var o;let d=new Ze(a[1]);qt(s,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let c=Su(s,a[2]),u={attrs:d,bitrate:d.decimalInteger("AVERAGE-BANDWIDTH")||d.decimalInteger("BANDWIDTH"),name:d.NAME,url:Jt.resolve(c,t)},h=d.decimalResolution("RESOLUTION");h&&(u.width=h.width,u.height=h.height),VT((d.CODECS||"").split(/[ ,]+/).filter(f=>f),u),u.videoCodec&&u.videoCodec.indexOf("avc1")!==-1&&(u.videoCodec=Jt.convertAVC1ToAVCOTI(u.videoCodec)),(o=u.unknownCodecs)!=null&&o.length||n.push(u),s.levels.push(u)}else if(a[3]){let d=a[3],c=a[4];switch(d){case"SESSION-DATA":{let u=new Ze(c);qt(s,u,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=u["DATA-ID"];h&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[h]=u);break}case"SESSION-KEY":{let u=dg(c,t,s);u.encrypted&&u.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(u)):M.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${c}"`);break}case"DEFINE":{{let u=new Ze(c);qt(s,u,["NAME","VALUE","QUERYPARAM"]),sg(s,u,t)}break}case"CONTENT-STEERING":{let u=new Ze(c);qt(s,u,["SERVER-URI","PATHWAY-ID"]),s.contentSteering={uri:Jt.resolve(u["SERVER-URI"],t),pathwayId:u["PATHWAY-ID"]||"."};break}case"START":{s.startTimeOffset=cg(c);break}}}let l=n.length>0&&n.length<s.levels.length;return s.levels=l?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s}static parseMasterPlaylistMedia(e,t,i){let s,n={},a=i.levels,o={AUDIO:a.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:a.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(og.lastIndex=0;(s=og.exec(e))!==null;){let d=new Ze(s[1]),c=d.TYPE;if(c){let u=o[c],h=n[c]||[];n[c]=h,qt(i,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",instreamId:d["INSTREAM-ID"],name:d.NAME||d.LANGUAGE||"",type:c,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:d.LANGUAGE,url:d.URI?Jt.resolve(d.URI,t):""};if(u!=null&&u.length){let g=Jt.findGroup(u,f.groupId)||u[0];ug(f,g,"audioCodec"),ug(f,g,"textCodec")}h.push(f)}}return n}static parseLevelPlaylist(e,t,i,s,n,a){let o=new Au(t),l=o.fragments,d=null,c=0,u=0,h=0,f=0,g=null,E=new Gn(s,t),T,A,k,L=-1,N=!1;for(lg.lastIndex=0,o.m3u8=e,o.hasVariableRefs=rg(e);(T=lg.exec(e))!==null;){N&&(N=!1,E=new Gn(s,t),E.start=h,E.sn=c,E.cc=f,E.level=i,d&&(E.initSegment=d,E.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null));let G=T[1];if(G){E.duration=parseFloat(G);let q=(" "+T[2]).slice(1);E.title=q||null,E.tagList.push(q?["INF",G,q]:["INF",G])}else if(T[3]){if(ce(E.duration)){E.start=h,k&&mg(E,k,o),E.sn=c,E.level=i,E.cc=f,E.urlId=n,l.push(E);let q=(" "+T[3]).slice(1);E.relurl=Su(o,q),hg(E,g),g=E,h+=E.duration,c++,u=0,N=!0}}else if(T[4]){let q=(" "+T[4]).slice(1);g?E.setByteRange(q,g):E.setByteRange(q)}else if(T[5])E.rawProgramDateTime=(" "+T[5]).slice(1),E.tagList.push(["PROGRAM-DATE-TIME",E.rawProgramDateTime]),L===-1&&(L=l.length);else{if(T=T[0].match(HT),!T){M.warn("No matches on slow regex match for level playlist!");continue}for(A=1;A<T.length&&typeof T[A]=="undefined";A++);let q=(" "+T[A]).slice(1),P=(" "+T[A+1]).slice(1),X=T[A+2]?(" "+T[A+2]).slice(1):"";switch(q){case"PLAYLIST-TYPE":o.type=P.toUpperCase();break;case"MEDIA-SEQUENCE":c=o.startSN=parseInt(P);break;case"SKIP":{let z=new Ze(P);qt(o,z,["RECENTLY-REMOVED-DATERANGES"]);let Ae=z.decimalInteger("SKIPPED-SEGMENTS");if(ce(Ae)){o.skippedSegments=Ae;for(let ye=Ae;ye--;)l.unshift(null);c+=Ae}let Ee=z.enumeratedString("RECENTLY-REMOVED-DATERANGES");Ee&&(o.recentlyRemovedDateranges=Ee.split(" "));break}case"TARGETDURATION":o.targetduration=Math.max(parseInt(P),1);break;case"VERSION":o.version=parseInt(P);break;case"EXTM3U":break;case"ENDLIST":o.live=!1;break;case"#":(P||X)&&E.tagList.push(X?[P,X]:[P]);break;case"DISCONTINUITY":f++,E.tagList.push(["DIS"]);break;case"GAP":E.gap=!0,E.tagList.push([q]);break;case"BITRATE":E.tagList.push([q,P]);break;case"DATERANGE":{let z=new Ze(P);qt(o,z,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),qt(o,z,z.clientAttrs);let Ae=new cl(z,o.dateRanges[z.ID]);Ae.isValid||o.skippedSegments?o.dateRanges[Ae.id]=Ae:M.warn(`Ignoring invalid DATERANGE tag: "${P}"`),E.tagList.push(["EXT-X-DATERANGE",P]);break}case"DEFINE":{{let z=new Ze(P);qt(o,z,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in z?FT(o,z,a):sg(o,z,t)}break}case"DISCONTINUITY-SEQUENCE":f=parseInt(P);break;case"KEY":{let z=dg(P,t,o);if(z.isSupported()){if(z.method==="NONE"){k=void 0;break}k||(k={}),k[z.keyFormat]&&(k=gt({},k)),k[z.keyFormat]=z}else M.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${P}"`);break}case"START":o.startTimeOffset=cg(P);break;case"MAP":{let z=new Ze(P);if(qt(o,z,["BYTERANGE","URI"]),E.duration){let Ae=new Gn(s,t);fg(Ae,z,i,k),d=Ae,E.initSegment=d,d.rawProgramDateTime&&!E.rawProgramDateTime&&(E.rawProgramDateTime=d.rawProgramDateTime)}else fg(E,z,i,k),d=E,N=!0;break}case"SERVER-CONTROL":{let z=new Ze(P);o.canBlockReload=z.bool("CAN-BLOCK-RELOAD"),o.canSkipUntil=z.optionalFloat("CAN-SKIP-UNTIL",0),o.canSkipDateRanges=o.canSkipUntil>0&&z.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=z.optionalFloat("PART-HOLD-BACK",0),o.holdBack=z.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{let z=new Ze(P);o.partTarget=z.decimalFloatingPoint("PART-TARGET");break}case"PART":{let z=o.partList;z||(z=o.partList=[]);let Ae=u>0?z[z.length-1]:void 0,Ee=u++,ye=new Ze(P);qt(o,ye,["BYTERANGE","URI"]);let we=new _u(ye,E,t,Ee,Ae);z.push(we),E.duration+=we.duration;break}case"PRELOAD-HINT":{let z=new Ze(P);qt(o,z,["URI"]),o.preloadHint=z;break}case"RENDITION-REPORT":{let z=new Ze(P);qt(o,z,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(z);break}default:M.warn(`line parsed but not handled: ${T}`);break}}}g&&!g.relurl?(l.pop(),h-=g.duration,o.partList&&(o.fragmentHint=g)):o.partList&&(hg(E,g),E.cc=f,o.fragmentHint=E,k&&mg(E,k,o));let D=l.length,$=l[0],O=l[D-1];if(h+=o.skippedSegments*o.targetduration,h>0&&D&&O){o.averagetargetduration=h/D;let G=O.sn;o.endSN=G!=="initSegment"?G:0,o.live||(O.endList=!0),$&&(o.startCC=$.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(h+=o.fragmentHint.duration),o.totalduration=h,o.endCC=f,L>0&&KT(l,L),o}};function dg(r,e,t){var i,s;let n=new Ze(r);qt(t,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let a=(i=n.METHOD)!=null?i:"",o=n.URI,l=n.hexadecimalInteger("IV"),d=n.KEYFORMATVERSIONS,c=(s=n.KEYFORMAT)!=null?s:"identity";o&&n.IV&&!l&&M.error(`Invalid IV: ${n.IV}`);let u=o?Jt.resolve(o,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Vr(a,u,c,h,l)}function cg(r){let t=new Ze(r).decimalFloatingPoint("TIME-OFFSET");return ce(t)?t:null}function VT(r,e){["video","audio","text"].forEach(t=>{let i=r.filter(s=>$T(s,t));if(i.length){let s=i.filter(n=>n.lastIndexOf("avc1",0)===0||n.lastIndexOf("mp4a",0)===0);e[`${t}Codec`]=s.length>0?s[0]:i[0],r=r.filter(n=>i.indexOf(n)===-1)}}),e.unknownCodecs=r}function ug(r,e,t){let i=e[t];i&&(r[t]=i)}function KT(r,e){let t=r[e];for(let i=e;i--;){let s=r[i];if(!s)return;s.programDateTime=t.programDateTime-s.duration*1e3,t=s}}function hg(r,e){r.rawProgramDateTime?r.programDateTime=Date.parse(r.rawProgramDateTime):e!=null&&e.programDateTime&&(r.programDateTime=e.endProgramDateTime),ce(r.programDateTime)||(r.programDateTime=null,r.rawProgramDateTime=null)}function fg(r,e,t,i){r.relurl=e.URI,e.BYTERANGE&&r.setByteRange(e.BYTERANGE),r.level=t,r.sn="initSegment",i&&(r.levelkeys=i),r.initSegment=null}function mg(r,e,t){r.levelkeys=e;let{encryptedFragments:i}=t;(!i.length||i[i.length-1].levelkeys!==e)&&Object.keys(e).some(s=>e[s].isCommonEncryption)&&i.push(r)}var Ue={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},ge={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function pg(r){let{type:e}=r;switch(e){case Ue.AUDIO_TRACK:return ge.AUDIO;case Ue.SUBTITLE_TRACK:return ge.SUBTITLE;default:return ge.MAIN}}function nu(r,e){let t=r.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}var xu=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,s=t.loader,n=i||s,a=new n(t);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Ue.MANIFEST,url:i,deliveryDirectives:null})}onLevelLoading(e,t){let{id:i,level:s,url:n,deliveryDirectives:a}=t;this.load({id:i,level:s,responseType:"text",type:Ue.LEVEL,url:n,deliveryDirectives:a})}onAudioTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.AUDIO_TRACK,url:n,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Ue.SUBTITLE_TRACK,url:n,deliveryDirectives:a})}load(e){var t;let i=this.hls.config,s=this.getInternalLoader(e);if(s){let d=s.context;if(d&&d.url===e.url){M.trace("[playlist-loader]: playlist request ongoing");return}M.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort()}let n;if(e.type===Ue.MANIFEST?n=i.manifestLoadPolicy.default:n=gt({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),(t=e.deliveryDirectives)!=null&&t.part){let d;if(e.type===Ue.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===Ue.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===Ue.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let c=d.partTarget,u=d.targetduration;if(c&&u){let h=Math.max(c*3,u*.8)*1e3;n=gt({},n,{maxTimeToFirstByteMs:Math.min(h,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,n.maxTimeToFirstByteMs)})}}}let a=n.errorRetry||n.timeoutRetry||{},o={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},l={onSuccess:(d,c,u,h)=>{let f=this.getInternalLoader(u);this.resetInternalLoader(u.type);let g=d.data;if(g.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,u,new Error("no EXTM3U delimiter"),h||null,c);return}c.parsing.start=performance.now(),Jt.isMediaPlaylist(g)?this.handleTrackOrLevelPlaylist(d,c,u,h||null,f):this.handleMasterPlaylist(d,c,u,h)},onError:(d,c,u,h)=>{this.handleNetworkError(c,u,!1,d,h)},onTimeout:(d,c,u)=>{this.handleNetworkError(c,u,!0,void 0,d)}};s.load(e,o,l)}handleMasterPlaylist(e,t,i,s){let n=this.hls,a=e.data,o=nu(e,i),l=Jt.parseMasterPlaylist(a,o);if(l.playlistParsingError){this.handleManifestParsingError(e,i,l.playlistParsingError,s,t);return}let{contentSteering:d,levels:c,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g}=l;this.variableList=g;let{AUDIO:E=[],SUBTITLES:T,"CLOSED-CAPTIONS":A}=Jt.parseMasterPlaylistMedia(a,o,l);E.length&&!E.some(L=>!L.url)&&c[0].audioCodec&&!c[0].attrs.AUDIO&&(M.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),E.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Ze({}),bitrate:0,url:""})),n.trigger(y.MANIFEST_LOADED,{levels:c,audioTracks:E,subtitles:T,captions:A,contentSteering:d,url:o,stats:t,networkDetails:s,sessionData:u,sessionKeys:h,startTimeOffset:f,variableList:g})}handleTrackOrLevelPlaylist(e,t,i,s,n){let a=this.hls,{id:o,level:l,type:d}=i,c=nu(e,i),u=ce(o)?o:0,h=ce(l)?l:u,f=pg(i),g=Jt.parseLevelPlaylist(e.data,c,h,f,u,this.variableList);if(d===Ue.MANIFEST){let E={attrs:new Ze({}),bitrate:0,details:g,name:"",url:c};a.trigger(y.MANIFEST_LOADED,{levels:[E],audioTracks:[],url:c,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=g,this.handlePlaylistLoaded(g,e,t,i,s,n)}handleManifestParsingError(e,t,i,s,n){this.hls.trigger(y.ERROR,{type:pe.NETWORK_ERROR,details:B.MANIFEST_PARSING_ERROR,fatal:t.type===Ue.MANIFEST,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:n})}handleNetworkError(e,t,i=!1,s,n){let a=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===Ue.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===Ue.AUDIO_TRACK||e.type===Ue.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=new Error(a);M.warn(`[playlist-loader]: ${a}`);let l=B.UNKNOWN,d=!1,c=this.getInternalLoader(e);switch(e.type){case Ue.MANIFEST:l=i?B.MANIFEST_LOAD_TIMEOUT:B.MANIFEST_LOAD_ERROR,d=!0;break;case Ue.LEVEL:l=i?B.LEVEL_LOAD_TIMEOUT:B.LEVEL_LOAD_ERROR,d=!1;break;case Ue.AUDIO_TRACK:l=i?B.AUDIO_TRACK_LOAD_TIMEOUT:B.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case Ue.SUBTITLE_TRACK:l=i?B.SUBTITLE_TRACK_LOAD_TIMEOUT:B.SUBTITLE_LOAD_ERROR,d=!1;break}c&&this.resetInternalLoader(e.type);let u={type:pe.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:c,context:e,error:o,networkDetails:t,stats:n};if(s){let h=(t==null?void 0:t.url)||e.url;u.response=zt({url:h,data:void 0},s)}this.hls.trigger(y.ERROR,u)}handlePlaylistLoaded(e,t,i,s,n,a){let o=this.hls,{type:l,level:d,id:c,groupId:u,deliveryDirectives:h}=s,f=nu(t,s),g=pg(s),E=typeof s.level=="number"&&g===ge.MAIN?d:void 0;if(!e.fragments.length){let A=new Error("No Segments found in Playlist");o.trigger(y.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:A,reason:A.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let T=e.playlistParsingError;if(T){o.trigger(y.ERROR,{type:pe.NETWORK_ERROR,details:B.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:T,reason:T.message,response:t,context:s,level:E,parent:g,networkDetails:n,stats:i});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case Ue.MANIFEST:case Ue.LEVEL:o.trigger(y.LEVEL_LOADED,{details:e,level:E||0,id:c||0,stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.AUDIO_TRACK:o.trigger(y.AUDIO_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break;case Ue.SUBTITLE_TRACK:o.trigger(y.SUBTITLE_TRACK_LOADED,{details:e,id:c||0,groupId:u||"",stats:i,networkDetails:n,deliveryDirectives:h});break}}};function Jg(r,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=r,e.dispatchEvent(t)}function e0(r,e){let t=r.mode;if(t==="disabled"&&(r.mode="hidden"),r.cues&&!r.cues.getCueById(e.id))try{if(r.addCue(e),!r.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(i){M.debug(`[texttrack-utils]: ${i}`);try{let s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,r.addCue(s)}catch(s){M.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${s}`)}}t==="disabled"&&(r.mode=t)}function Vs(r){let e=r.mode;if(e==="disabled"&&(r.mode="hidden"),r.cues)for(let t=r.cues.length;t--;)r.removeCue(r.cues[t]);e==="disabled"&&(r.mode=e)}function Iu(r,e,t,i){let s=r.mode;if(s==="disabled"&&(r.mode="hidden"),r.cues&&r.cues.length>0){let n=qT(r.cues,e,t);for(let a=0;a<n.length;a++)(!i||i(n[a]))&&r.removeCue(n[a])}s==="disabled"&&(r.mode=s)}function WT(r,e){if(e<r[0].startTime)return 0;let t=r.length-1;if(e>r[t].endTime)return-1;let i=0,s=t;for(;i<=s;){let n=Math.floor((s+i)/2);if(e<r[n].startTime)s=n-1;else if(e>r[n].startTime&&i<t)i=n+1;else return n}return r[i].startTime-e<e-r[s].startTime?i:s}function qT(r,e,t){let i=[],s=WT(r,e);if(s>-1)for(let n=s,a=r.length;n<a;n++){let o=r[n];if(o.startTime>=e&&o.endTime<=t)i.push(o);else if(o.startTime>t)return i}return i}var Ei={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},YT=.25;function Lu(){if(typeof self!="undefined")return self.WebKitDataCue||self.VTTCue||self.TextTrackCue}var tl=(()=>{let r=Lu();try{new r(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function au(r,e){return r.getTime()/1e3-e}function jT(r){return Uint8Array.from(r.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var ku=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){!this.id3Track||(Vs(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(!!this.media){for(let t=0;t<e.length;t++){let i=e[t];if(i.kind==="metadata"&&i.label==="id3")return Jg(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:i,enableID3MetadataCues:s}}}=this;if(!i&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let a=Lu();for(let o=0;o<n.length;o++){let l=n[o].type;if(l===Ei.emsg&&!i||!s)continue;let d=Kg(n[o].data);if(d){let c=n[o].pts,u=c+n[o].duration;u>tl&&(u=tl),u-c<=0&&(u=c+YT);for(let f=0;f<d.length;f++){let g=d[f];if(!Vg(g)){this.updateId3CueEnds(c,l);let E=new a(c,u,"");E.value=g,l&&(E.type=l),this.id3Track.addCue(E)}}}}}updateId3CueEnds(e,t){var i;let s=(i=this.id3Track)==null?void 0:i.cues;if(s)for(let n=s.length;n--;){let a=s[n];a.type===t&&a.startTime<e&&a.endTime===tl&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:s}){let{id3Track:n,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=a;if(n&&(o||l)){let d;s==="audio"?d=c=>c.type===Ei.audioId3&&l:s==="video"?d=c=>c.type===Ei.emsg&&o:d=c=>c.type===Ei.audioId3&&l||c.type===Ei.emsg&&o,Iu(n,t,i,d)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:i,id3Track:s}=this,{dateRanges:n}=t,a=Object.keys(n);if(s){let c=Object.keys(i).filter(u=>!a.includes(u));for(let u=c.length;u--;){let h=c[u];Object.keys(i[h].cues).forEach(f=>{s.removeCue(i[h].cues[f])}),delete i[h]}}let o=t.fragments[t.fragments.length-1];if(a.length===0||!ce(o==null?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=o.programDateTime/1e3-o.start,d=Lu();for(let c=0;c<a.length;c++){let u=a[c],h=n[u],f=i[u],g=(f==null?void 0:f.cues)||{},E=(f==null?void 0:f.durationKnown)||!1,T=au(h.startDate,l),A=tl,k=h.endDate;if(k)A=au(k,l),E=!0;else if(h.endOnNext&&!E){let N=a.reduce((D,$)=>{let O=n[$];return O.class===h.class&&O.id!==$&&O.startDate>h.startDate&&D.push(O),D},[]).sort((D,$)=>D.startDate.getTime()-$.startDate.getTime())[0];N&&(A=au(N.startDate,l),E=!0)}let L=Object.keys(h.attr);for(let N=0;N<L.length;N++){let D=L[N];if(!nT(D))continue;let $=g[D];if($)E&&!f.durationKnown&&($.endTime=A);else{let O=h.attr[D];$=new d(T,A,""),aT(D)&&(O=jT(O)),$.value={key:D,data:O},$.type=Ei.dateRange,$.id=u,this.id3Track.addCue($),g[D]=$}}i[u]={cues:g,dateRange:h,durationKnown:E}}}},Ru=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:i,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,l=this.hls.userConfig,d=o&&i||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=n!==void 0?n:a*s);let c=s,u=1;return d+Math.min(this.stallCount*u,c)}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,i=this.levelDetails;if(e===null||t===null||i===null)return null;let s=i.edge,n=e-t-this.edgeStalled,a=s-i.totalduration,o=s-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(a,n),o)}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(y.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(y.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var i;t.details===B.BUFFER_STALLED_ERROR&&(this.stallCount++,(i=this.levelDetails)!=null&&i.live&&M.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let i=this.computeLatency();if(i===null)return;this._latency=i;let{lowLatencyMode:s,maxLiveSyncPlaybackRate:n}=this.config;if(!s||n===1)return;let a=this.targetLatency;if(a===null)return;let o=i-a,l=Math.min(this.maxLatency,a+t.targetduration),d=o<l;if(t.live&&d&&o>.05&&this.forwardBufferLength>1){let c=Math.min(2,Math.max(1,n)),u=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(c,Math.max(1,u))}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1)}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},wu=["NONE","TYPE-0","TYPE-1",null],Hn={No:"",Yes:"YES",v2:"v2"};function zT(r,e){let{canSkipUntil:t,canSkipDateRanges:i,endSN:s}=r,n=e!==void 0?e-s:0;return t&&n<t?i?Hn.v2:Hn.Yes:Hn.No}var ml=class{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}},Kr=class{constructor(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.unknownCodecs=void 0,this.audioGroupIds=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.textGroupIds=void 0,this.url=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.unknownCodecs=e.unknownCodecs,this.codecSet=[e.videoCodec,e.audioCodec].filter(t=>t).join(",").replace(/\.[^.,]+/g,"")}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get attrs(){return this._attrs[this._urlId]}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get uri(){return this.url[this._urlId]||""}get urlId(){return this._urlId}set urlId(e){let t=e%this.url.length;this._urlId!==t&&(this.fragmentError=0,this.loadError=0,this.details=void 0,this._urlId=t)}get audioGroupId(){var e;return(e=this.audioGroupIds)==null?void 0:e[this.urlId]}get textGroupId(){var e;return(e=this.textGroupIds)==null?void 0:e[this.urlId]}addFallback(e){this.url.push(e.url),this._attrs.push(e.attrs)}};function ou(r,e){let t=e.startPTS;if(ce(t)){let i=0,s;e.sn>r.sn?(i=t-r.start,s=r):(i=r.start-t,s=e),s.duration!==i&&(s.duration=i)}else e.sn>r.sn?r.cc===e.cc&&r.minEndPTS?e.start=r.start+(r.minEndPTS-r.start):e.start=r.start+r.duration:e.start=Math.max(r.start-e.duration,0)}function t0(r,e,t,i,s,n){i-t<=0&&(M.warn("Fragment should have a positive duration",e),i=t+e.duration,n=s+e.duration);let o=t,l=i,d=e.startPTS,c=e.endPTS;if(ce(d)){let T=Math.abs(d-t);ce(e.deltaPTS)?e.deltaPTS=Math.max(T,e.deltaPTS):e.deltaPTS=T,o=Math.max(t,d),t=Math.min(t,d),s=Math.min(s,e.startDTS),l=Math.min(i,c),i=Math.max(i,c),n=Math.max(n,e.endDTS)}let u=t-e.start;e.start!==0&&(e.start=t),e.duration=i-e.start,e.startPTS=t,e.maxStartPTS=o,e.startDTS=s,e.endPTS=i,e.minEndPTS=l,e.endDTS=n;let h=e.sn;if(!r||h<r.startSN||h>r.endSN)return 0;let f,g=h-r.startSN,E=r.fragments;for(E[g]=e,f=g;f>0;f--)ou(E[f],E[f-1]);for(f=g;f<E.length-1;f++)ou(E[f],E[f+1]);return r.fragmentHint&&ou(E[E.length-1],r.fragmentHint),r.PTSKnown=r.alignedSliding=!0,u}function XT(r,e){let t=null,i=r.fragments;for(let l=i.length-1;l>=0;l--){let d=i[l].initSegment;if(d){t=d;break}}r.fragmentHint&&delete r.fragmentHint.endPTS;let s=0,n;if(JT(r,e,(l,d)=>{l.relurl&&(s=l.cc-d.cc),ce(l.startPTS)&&ce(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(n=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,d.urlId=l.urlId,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment)}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach(d=>{var c;(!d.initSegment||d.initSegment.relurl===((c=t)==null?void 0:c.relurl))&&(d.initSegment=t)}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){M.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=QT(r.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let a=e.fragments;if(s){M.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<a.length;l++)a[l].cc+=s}e.skippedSegments&&(e.startCC=e.fragments[0].cc),ZT(r.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats}),n?t0(e,n,n.startPTS,n.endPTS,n.startDTS,n.endDTS):i0(r,e),a.length&&(e.totalduration=e.edge-a[0].start),e.driftStartTime=r.driftStartTime,e.driftStart=r.driftStart;let o=e.advancedDateTime;if(e.advanced&&o){let l=e.edge;e.driftStart||(e.driftStartTime=o,e.driftStart=l),e.driftEndTime=o,e.driftEnd=l}else e.driftEndTime=r.driftEndTime,e.driftEnd=r.driftEnd,e.advancedDateTime=r.advancedDateTime}function QT(r,e,t){let i=gt({},r);return t&&t.forEach(s=>{delete i[s]}),Object.keys(e).forEach(s=>{let n=new cl(e[s].attr,i[s]);n.isValid?i[s]=n:M.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[s].attr)}"`)}),i}function ZT(r,e,t){if(r&&e){let i=0;for(let s=0,n=r.length;s<=n;s++){let a=r[s],o=e[s+i];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?t(a,o):i--}}}function JT(r,e,t){let i=e.skippedSegments,s=Math.max(r.startSN,e.startSN)-e.startSN,n=(r.fragmentHint?1:0)+(i?e.endSN:Math.min(r.endSN,e.endSN))-e.startSN,a=e.startSN-r.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=r.fragmentHint?r.fragments.concat(r.fragmentHint):r.fragments;for(let d=s;d<=n;d++){let c=l[a+d],u=o[d];i&&!u&&d<i&&(u=e.fragments[d]=c),c&&u&&t(c,u)}}function i0(r,e){let t=e.startSN+e.skippedSegments-r.startSN,i=r.fragments;t<0||t>=i.length||Du(e,i[t].start)}function Du(r,e){if(e){let t=r.fragments;for(let i=r.skippedSegments;i<t.length;i++)t[i].start+=e;r.fragmentHint&&(r.fragmentHint.start+=e)}}function e_(r,e=1/0){let t=1e3*r.targetduration;if(r.updated){let i=r.fragments,s=4;if(i.length&&t*s>e){let n=i[i.length-1].duration*1e3;n<t&&(t=n)}}else t/=2;return Math.round(t)}function t_(r,e,t){if(!(r!=null&&r.details))return null;let i=r.details,s=i.fragments[e-i.startSN];return s||(s=i.fragmentHint,s&&s.sn===e)?s:e<i.startSN&&t&&t.sn===e?t:null}function gg(r,e,t){var i;return r!=null&&r.details?r0((i=r.details)==null?void 0:i.partList,e,t):null}function r0(r,e,t){if(r)for(let i=r.length;i--;){let s=r[i];if(s.index===t&&s.fragment.sn===e)return s}return null}function pl(r){switch(r.details){case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_TIMEOUT:case B.LEVEL_LOAD_TIMEOUT:case B.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function vg(r,e){let t=pl(e);return r.default[`${t?"timeout":"error"}Retry`]}function Ah(r,e){let t=r.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*r.retryDelayMs,r.maxRetryDelayMs)}function Eg(r){return zt(zt({},r),{errorRetry:null,timeoutRetry:null})}function gl(r,e,t,i){return!!r&&e<r.maxNumRetry&&(i_(i)||!!t)}function i_(r){return r===0&&navigator.onLine===!1||!!r&&(r<400||r>499)}var s0={search:function(r,e){let t=0,i=r.length-1,s=null,n=null;for(;t<=i;){s=(t+i)/2|0,n=r[s];let a=e(n);if(a>0)t=s+1;else if(a<0)i=s-1;else return n}return null}};function r_(r,e,t){if(e===null||!Array.isArray(r)||!r.length||!ce(e))return null;let i=r[0].programDateTime;if(e<(i||0))return null;let s=r[r.length-1].endProgramDateTime;if(e>=(s||0))return null;t=t||0;for(let n=0;n<r.length;++n){let a=r[n];if(s_(e,t,a))return a}return null}function Wn(r,e,t=0,i=0){let s=null;if(r?s=e[r.sn-e[0].sn+1]||null:t===0&&e[0].start===0&&(s=e[0]),s&&Cu(t,i,s)===0)return s;let n=s0.search(e,Cu.bind(null,t,i));return n&&(n!==r||!s)?n:s}function Cu(r=0,e=0,t){if(t.start<=r&&t.start+t.duration>r)return 0;let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-i<=r?1:t.start-i>r&&t.start?-1:0}function s_(r,e,t){let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-i>r}function n_(r,e){return s0.search(r,t=>t.cc<e?1:t.cc>e?-1:0)}var a_=3e5,Pt={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},li={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Mu=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=M.log.bind(M,"[info]:"),this.warn=M.warn.bind(M,"[warning]:"),this.error=M.error.bind(M,"[error]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(y.ERROR,this.onError,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;!e||(e.off(y.ERROR,this.onError,this),e.off(y.ERROR,this.onErrorOut,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){this.playlistError=0}stopLoad(){}getVariantLevelIndex(e){return(e==null?void 0:e.type)===ge.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,s;if(t.fatal)return;let n=this.hls,a=t.context;switch(t.details){case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case B.FRAG_PARSING_ERROR:if((i=t.frag)!=null&&i.gap){t.errorAction={action:Pt.DoNothing,flags:li.None};return}case B.FRAG_GAP:case B.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=Pt.SendAlternateToPenaltyBox;return}case B.LEVEL_EMPTY_ERROR:case B.LEVEL_PARSING_ERROR:{var o,l;let d=t.parent===ge.MAIN?t.level:n.loadLevel;t.details===B.LEVEL_EMPTY_ERROR&&!!((o=t.context)!=null&&(l=o.levelDetails)!=null&&l.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d))}return;case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:typeof(a==null?void 0:a.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level));return;case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.SUBTITLE_LOAD_ERROR:case B.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){let d=n.levels[n.loadLevel];if(d&&(a.type===Ue.AUDIO_TRACK&&a.groupId===d.audioGroupId||a.type===Ue.SUBTITLE_TRACK&&a.groupId===d.textGroupId)){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.loadLevel),t.errorAction.action=Pt.SendAlternateToPenaltyBox,t.errorAction.flags=li.MoveAllAlternatesMatchingHost;return}}return;case B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=n.levels[n.loadLevel],c=d==null?void 0:d.attrs["HDCP-LEVEL"];c&&(t.errorAction={action:Pt.SendAlternateToPenaltyBox,flags:li.MoveAllAlternatesMatchingHDCP,hdcpLevel:c})}return;case B.BUFFER_ADD_CODEC_ERROR:case B.REMUX_ALLOC_ERROR:t.errorAction=this.getLevelSwitchAction(t,(s=t.level)!=null?s:n.loadLevel);return;case B.INTERNAL_EXCEPTION:case B.BUFFER_APPENDING_ERROR:case B.BUFFER_APPEND_ERROR:case B.BUFFER_FULL_ERROR:case B.LEVEL_SWITCH_ERROR:case B.BUFFER_STALLED_ERROR:case B.BUFFER_SEEK_OVER_HOLE:case B.BUFFER_NUDGE_ON_STALL:t.errorAction={action:Pt.DoNothing,flags:li.None};return}if(t.type===pe.KEY_SYSTEM_ERROR){let d=this.getVariantLevelIndex(t.frag);t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d);return}}getPlaylistRetryOrSwitchAction(e,t){var i;let s=this.hls,n=vg(s.config.playlistLoadPolicy,e),a=this.playlistError++,o=(i=e.response)==null?void 0:i.code;if(gl(n,a,pl(e),o))return{action:Pt.RetryRequest,flags:li.None,retryConfig:n,retryCount:a};let d=this.getLevelSwitchAction(e,t);return n&&(d.retryConfig=n,d.retryCount=a),d}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:n,keyLoadPolicy:a}=t.config,o=vg(e.details.startsWith("key")?a:n,e),l=t.levels.reduce((u,h)=>u+h.fragmentError,0);if(s){var d;e.details!==B.FRAG_GAP&&s.fragmentError++;let u=(d=e.response)==null?void 0:d.code;if(gl(o,l,pl(e),u))return{action:Pt.RetryRequest,flags:li.None,retryConfig:o,retryCount:l}}let c=this.getLevelSwitchAction(e,i);return o&&(c.retryConfig=o,c.retryCount=l),c}getLevelSwitchAction(e,t){let i=this.hls;t==null&&(t=i.loadLevel);let s=this.hls.levels[t];if(s&&(s.loadError++,i.autoLevelEnabled)){var n,a;let o=-1,{levels:l,loadLevel:d,minAutoLevel:c,maxAutoLevel:u}=i,h=(n=e.frag)==null?void 0:n.type,{type:f,groupId:g}=(a=e.context)!=null?a:{};for(let E=l.length;E--;){let T=(E+d)%l.length;if(T!==d&&T>=c&&T<=u&&l[T].loadError===0){let A=l[T];if(e.details===B.FRAG_GAP&&e.frag){let k=l[T].details;if(k){let L=Wn(e.frag,k.fragments,e.frag.start);if(L!=null&&L.gap)continue}}else{if(f===Ue.AUDIO_TRACK&&g===A.audioGroupId||f===Ue.SUBTITLE_TRACK&&g===A.textGroupId)continue;if(h===ge.AUDIO&&s.audioGroupId===A.audioGroupId||h===ge.SUBTITLE&&s.textGroupId===A.textGroupId)continue}o=T;break}}if(o>-1&&i.loadLevel!==o)return e.levelRetry=!0,this.playlistError=0,{action:Pt.SendAlternateToPenaltyBox,flags:li.None,nextAutoLevel:o}}return{action:Pt.SendAlternateToPenaltyBox,flags:li.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var i;switch((i=t.errorAction)==null?void 0:i.action){case Pt.DoNothing:break;case Pt.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==B.FRAG_GAP&&(t.fatal=!0);break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:s,hdcpLevel:n,nextAutoLevel:a}=i;switch(s){case li.None:this.switchLevel(e,a);break;case li.MoveAllAlternatesMatchingHost:i.resolved||(i.resolved=this.redundantFailover(e));break;case li.MoveAllAlternatesMatchingHDCP:n&&(t.maxHdcpLevel=wu[wu.indexOf(n)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}i.resolved||this.switchLevel(e,a)}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}redundantFailover(e){let{hls:t,penalizedRenditions:i}=this,s=e.parent===ge.MAIN?e.level:t.loadLevel,n=t.levels[s],a=n.url.length,o=e.frag?e.frag.urlId:n.urlId;n.urlId===o&&(!e.frag||n.details)&&this.penalizeRendition(n,e);for(let l=1;l<a;l++){let d=(o+l)%a,c=i[d];if(!c||o_(c,e,i[o]))return this.warn(`Switching to Redundant Stream ${d+1}/${a}: "${n.url[d]}" after ${e.details}`),this.playlistError=0,t.levels.forEach(u=>{u.urlId=d}),t.nextLoadLevel=s,!0}return!1}penalizeRendition(e,t){let{penalizedRenditions:i}=this,s=i[e.urlId]||{lastErrorPerfMs:0,errors:[],details:void 0};s.lastErrorPerfMs=performance.now(),s.errors.push(t),s.details=e.details,i[e.urlId]=s}};function o_(r,e,t){if(performance.now()-r.lastErrorPerfMs>a_)return!0;let i=r.details;if(e.details===B.FRAG_GAP&&i&&e.frag){let s=e.frag.start,n=Wn(null,i.fragments,s);if(n&&!n.gap)return!0}if(t&&r.errors.length<t.errors.length){let s=r.errors[r.errors.length-1];if(i&&s.frag&&e.frag&&Math.abs(s.frag.start-e.frag.start)>i.targetduration*3)return!0}return!1}var qn=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=M.log.bind(M,`${t}:`),this.warn=M.warn.bind(M,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){clearTimeout(this.timer),this.timer=-1}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t){let i=t==null?void 0:t.renditionReports;if(i){let s=-1;for(let n=0;n<i.length;n++){let a=i[n],o;try{o=new self.URL(a.URI,t.url).href}catch(l){M.warn(`Could not construct new URL for Rendition Report: ${l}`),o=a.URI||""}if(o===e){s=n;break}else o===e.substring(0,o.length)&&(s=n)}if(s!==-1){let n=i[s],a=parseInt(n["LAST-MSN"])||(t==null?void 0:t.lastPartSn),o=parseInt(n["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let l=Math.min(t.age-t.partTarget,t.targetduration);o>=0&&l>t.partTarget&&(o+=1)}return new ml(a,o>=0?o:void 0,Hn.No)}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,i){let{details:s,stats:n}=t,a=self.performance.now(),o=n.loading.first?Math.max(0,a-n.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||i!=null&&i.live){if(s.reloaded(i),i&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:"MISSED"}`),i&&s.fragments.length>0&&XT(i,s),!this.canLoad||!s.live)return;let l,d,c;if(s.canBlockReload&&s.endSN&&s.advanced){let T=this.hls.config.lowLatencyMode,A=s.lastPartSn,k=s.endSN,L=s.lastPartIndex,N=L!==-1,D=A===k,$=T?0:L;N?(d=D?k+1:A,c=D?$:L+1):d=k+1;let O=s.age,G=O+s.ageHeader,q=Math.min(G-s.partTarget,s.targetduration*1.5);if(q>0){if(i&&q>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${q} with playlist age: ${s.age}`),q=0;else{let P=Math.floor(q/s.targetduration);if(d+=P,c!==void 0){let X=Math.round(q%s.targetduration/s.partTarget);c+=X}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${O.toFixed(2)}s goal: ${q} skip sn ${P} to part ${c}`)}s.tuneInGoal=q}if(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c),T||!D){this.loadPlaylist(l);return}}else s.canBlockReload&&(l=this.getDeliveryDirectives(s,t.deliveryDirectives,d,c));let u=this.hls.mainForwardBufferInfo,h=u?u.end-u.len:0,f=(s.edge-h)*1e3,g=e_(s,f);s.updated&&a>this.requestScheduled+g&&(this.requestScheduled=n.loading.start),d!==void 0&&s.canBlockReload?this.requestScheduled=n.loading.first+g-(s.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+g<a?this.requestScheduled=a:this.requestScheduled-a<=0&&(this.requestScheduled+=g);let E=this.requestScheduled-a;E=Math.max(0,E),this.log(`reload live playlist ${e} in ${Math.round(E)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),E)}else this.clearTimer()}getDeliveryDirectives(e,t,i,s){let n=zT(e,i);return t!=null&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,n=Hn.No),new ml(i,s,n)}checkRetry(e){let t=e.details,i=pl(e),s=e.errorAction,{action:n,retryCount:a=0,retryConfig:o}=s||{},l=!!s&&!!o&&(n===Pt.RetryRequest||!s.resolved&&n===Pt.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(i&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let c=Ah(o,a);this.timer=self.setTimeout(()=>this.loadPlaylist(),c),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${c}ms`)}e.levelRetry=!0,s.resolved=!0}return l}},lu,Ou=class extends qn{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}startLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.startLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[]}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let i=[],s={},n;t.levels.forEach(a=>{var o;let l=a.attrs;((o=a.audioCodec)==null?void 0:o.indexOf("mp4a.40.34"))!==-1&&(lu||(lu=/chrome|firefox/i.test(navigator.userAgent)),lu&&(a.audioCodec=void 0));let{AUDIO:d,CODECS:c,"FRAME-RATE":u,"PATHWAY-ID":h,RESOLUTION:f,SUBTITLES:g}=l,T=`${`${h||"."}-`}${a.bitrate}-${f}-${u}-${c}`;n=s[T],n?n.addFallback(a):(n=new Kr(a),s[T]=n,i.push(n)),vl(n,"audio",d),vl(n,"text",g)}),this.filterAndSortMediaOptions(i,t)}filterAndSortMediaOptions(e,t){let i=[],s=[],n=!1,a=!1,o=!1,l=e.filter(({audioCodec:f,videoCodec:g,width:E,height:T,unknownCodecs:A})=>(n||(n=!!(E&&T)),a||(a=!!g),o||(o=!!f),!(A!=null&&A.length)&&(!f||su(f,"audio"))&&(!g||su(g,"video"))));if((n||a)&&o&&(l=l.filter(({videoCodec:f,width:g,height:E})=>!!f||!!(g&&E))),l.length===0){Promise.resolve().then(()=>{if(this.hls){let f=new Error("no level with compatible codecs found in manifest");this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:f,reason:f.message})}});return}t.audioTracks&&(i=t.audioTracks.filter(f=>!f.audioCodec||su(f.audioCodec,"audio")),yg(i)),t.subtitles&&(s=t.subtitles,yg(s));let d=l.slice(0);l.sort((f,g)=>f.attrs["HDCP-LEVEL"]!==g.attrs["HDCP-LEVEL"]?(f.attrs["HDCP-LEVEL"]||"")>(g.attrs["HDCP-LEVEL"]||"")?1:-1:f.bitrate!==g.bitrate?f.bitrate-g.bitrate:f.attrs["FRAME-RATE"]!==g.attrs["FRAME-RATE"]?f.attrs.decimalFloatingPoint("FRAME-RATE")-g.attrs.decimalFloatingPoint("FRAME-RATE"):f.attrs.SCORE!==g.attrs.SCORE?f.attrs.decimalFloatingPoint("SCORE")-g.attrs.decimalFloatingPoint("SCORE"):n&&f.height!==g.height?f.height-g.height:0);let c=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let f=0;f<d.length;f++)if(d[f].pathwayId===l[0].pathwayId){c=d[f];break}}this._levels=l;for(let f=0;f<l.length;f++)if(l[f]===c){this._firstLevel=f,this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${c.bitrate}`);break}let u=o&&!a,h={levels:l,audioTracks:i,subtitleTracks:s,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:o,video:a,altAudio:!u&&i.some(f=>!!f.url)};this.hls.trigger(y.MANIFEST_PARSED,h),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return this._levels.length===0?null:this._levels}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let c=new Error("invalid level idx"),u=e<0;if(this.hls.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.LEVEL_SWITCH_ERROR,level:e,fatal:u,error:c,reason:c.message}),u)return;e=Math.min(e,t.length-1)}let i=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,i===e&&a.details&&s&&n===o)return;this.log(`Switching to level ${e}${o?" with Pathway "+o:""} from level ${i}${n?" with Pathway "+n:""}`);let l=gt({},a,{level:e,maxBitrate:a.maxBitrate,attrs:a.attrs,uri:a.uri,urlId:a.urlId});delete l._attrs,delete l._urlId,this.hls.trigger(y.LEVEL_SWITCHING,l);let d=a.details;if(!d||d.live){let c=this.switchParams(a.uri,s==null?void 0:s.details);this.loadPlaylist(c)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this._firstLevel}else return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){t.fatal||!t.context||t.context.type===Ue.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragLoaded(e,{frag:t}){if(t!==void 0&&t.type===ge.MAIN){let i=this._levels[t.level];i!==void 0&&(i.loadError=0)}}onLevelLoaded(e,t){var i;let{level:s,details:n}=t,a=this._levels[s];if(!a){var o;this.warn(`Invalid level index ${s}`),(o=t.deliveryDirectives)!=null&&o.skip&&(n.deltaUpdateFailed=!0);return}s===this.currentLevelIndex?(a.fragmentError===0&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):(i=t.deliveryDirectives)!=null&&i.skip&&(n.deltaUpdateFailed=!0)}onAudioTrackSwitched(e,t){let i=this.currentLevel;if(!i)return;let s=this.hls.audioTracks[t.id].groupId;if(i.audioGroupIds&&i.audioGroupId!==s){let n=-1;for(let a=0;a<i.audioGroupIds.length;a++)if(i.audioGroupIds[a]===s){n=a;break}n!==-1&&n!==i.urlId&&(i.urlId=n,this.canLoad&&this.startLoad())}}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){let s=i.urlId,n=i.uri;if(e)try{n=e.addDirectives(n)}catch(o){this.warn(`Could not construct new URL with HLS Delivery Directives: ${o}`)}let a=i.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${a?" Pathway "+a:""} URI ${s+1}/${i.url.length} ${n}`),this.clearTimer(),this.hls.trigger(y.LEVEL_LOADING,{url:n,level:t,id:s,deliveryDirectives:e||null})}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e,t){let i=(n,a)=>a!==t,s=this._levels.filter((n,a)=>a!==e?!0:n.url.length>1&&t!==void 0?(n.url=n.url.filter(i),n.audioGroupIds&&(n.audioGroupIds=n.audioGroupIds.filter(i)),n.textGroupIds&&(n.textGroupIds=n.textGroupIds.filter(i)),n.urlId=0,!0):(this.steering&&this.steering.removeLevel(n),!1));this.hls.trigger(y.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(e,{levels:t}){t.forEach((i,s)=>{let{details:n}=i;n!=null&&n.fragments&&n.fragments.forEach(a=>{a.level=s})}),this._levels=t}};function vl(r,e,t){!t||(e==="audio"?(r.audioGroupIds||(r.audioGroupIds=[]),r.audioGroupIds[r.url.length-1]=t):e==="text"&&(r.textGroupIds||(r.textGroupIds=[]),r.textGroupIds[r.url.length-1]=t))}function yg(r){let e={};r.forEach(t=>{let i=t.groupId||"";t.id=e[i]=e[i]||0,e[i]++})}var _t={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Pu=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let s=i.length;s--;){let n=i[s];if(!n)break;let a=n.end;if(n.start<=e&&a!==null&&e<=a)return n}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){let{fragments:i}=this,s=Object.keys(i);for(let n=s.length;n--;){let a=i[s[n]];if((a==null?void 0:a.body.type)===t&&a.buffered){let o=a.body;if(o.start<=e&&e<=o.end)return o}}return null}detectEvictedFragments(e,t,i,s){this.timeRanges&&(this.timeRanges[e]=t);let n=(s==null?void 0:s.fragment.sn)||-1;Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o||n>=o.body.sn)return;if(!o.buffered&&!o.loaded){o.body.type===i&&this.removeFragment(o.body);return}let l=o.range[e];!l||l.time.some(d=>{let c=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return c&&this.removeFragment(o.body),c})})}detectPartialFragments(e){let t=this.timeRanges,{frag:i,part:s}=e;if(!t||i.sn==="initSegment")return;let n=$s(i),a=this.fragments[n];if(!a||a.buffered&&i.gap)return;let o=!i.relurl;Object.keys(t).forEach(l=>{let d=i.elementaryStreams[l];if(!d)return;let c=t[l],u=o||d.partial===!0;a.range[l]=this.getBufferedTimes(i,s,u,c)}),a.loaded=null,Object.keys(a.range).length?(a.buffered=!0,a.body.endList&&(this.endListFragments[a.body.type]=a),il(a)||this.removeParts(i.sn-1,i.type)):this.removeFragment(a.body)}removeParts(e,t){let i=this.activePartLists[t];!i||(this.activePartLists[t]=i.filter(s=>s.fragment.sn>=e))}fragBuffered(e,t){let i=$s(e),s=this.fragments[i];!s&&t&&(s=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,i,s){let n={time:[],partial:i},a=e.start,o=e.end,l=e.minEndPTS||o,d=e.maxStartPTS||a;for(let c=0;c<s.length;c++){let u=s.start(c)-this.bufferPadding,h=s.end(c)+this.bufferPadding;if(d>=u&&l<=h){n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});break}else if(a<h&&o>u)n.partial=!0,n.time.push({startPTS:Math.max(a,s.start(c)),endPTS:Math.min(o,s.end(c))});else if(o<=u)break}return n}getPartialFragment(e){let t=null,i,s,n,a=0,{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(d=>{let c=l[d];!c||il(c)&&(s=c.body.start-o,n=c.body.end+o,e>=s&&e<=n&&(i=Math.min(e-s,n-e),a<=i&&(t=c.body,a=i)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||il(t))}getState(e){let t=$s(e),i=this.fragments[t];return i?i.buffered?il(i)?_t.PARTIAL:_t.OK:_t.APPENDING:_t.NOT_LOADED}isTimeBuffered(e,t,i){let s,n;for(let a=0;a<i.length;a++){if(s=i.start(a)-this.bufferPadding,n=i.end(a)+this.bufferPadding,e>=s&&t<=n)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){let{frag:i,part:s}=t;if(i.sn==="initSegment"||i.bitrateTest)return;let n=s?null:t,a=$s(i);this.fragments[a]={body:i,appendedPTS:null,loaded:n,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:s,timeRanges:n}=t;if(i.sn==="initSegment")return;let a=i.type;if(s){let o=this.activePartLists[a];o||(this.activePartLists[a]=o=[]),o.push(s)}this.timeRanges=n,Object.keys(n).forEach(o=>{let l=n[o];this.detectEvictedFragments(o,l,a,s)})}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=$s(e);return!!this.fragments[t]}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,i,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let l=o.body;l.type!==i||s&&!l.gap||l.start<t&&l.end>e&&(o.buffered||n)&&this.removeFragment(l)})}removeFragment(e){let t=$s(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let s=e.sn;this.activePartLists[e.type]=i.filter(n=>n.fragment.sn!==s)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}};function il(r){var e,t,i;return r.buffered&&(r.body.gap||((e=r.range.video)==null?void 0:e.partial)||((t=r.range.audio)==null?void 0:t.partial)||((i=r.range.audiovideo)==null?void 0:i.partial))}function $s(r){return`${r.type}_${r.level}_${r.urlId}_${r.sn}`}var bg=Math.pow(2,17),Nu=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){let i=e.url;if(!i)return Promise.reject(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(_g(e));return}else e.gap=!1;let d=this.loader=e.loader=n?new n(s):new a(s),c=Tg(e),u=Eg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:bg};e.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d);let A=f.data;E.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(A.slice(0,16)),A=A.slice(16)),o({frag:e,part:null,payload:A,networkDetails:T})},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:zt({url:i,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))},onProgress:(f,g,E,T)=>{t&&t({frag:e,part:null,payload:E,networkDetails:T})}})})}loadPart(e,t,i){this.abort();let s=this.config,n=s.fLoader,a=s.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(_g(e,t));return}let d=this.loader=e.loader=n?new n(s):new a(s),c=Tg(e,t),u=Eg(s.fragLoadPolicy.default),h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:bg};t.stats=d.stats,d.load(c,h,{onSuccess:(f,g,E,T)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let A={frag:e,part:t,payload:f.data,networkDetails:T};i(A),o(A)},onError:(f,g,E,T)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:zt({url:c.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:E,stats:T}))},onAbort:(f,g,E)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:E,stats:f}))},onTimeout:(f,g,E)=>{this.resetLoader(e,d),l(new vi({type:pe.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:E,stats:f}))}})})}updateStatsFromPart(e,t){let i=e.stats,s=t.stats,n=s.total;if(i.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(i.loaded/n),l),u=(l-d)*Math.round(i.loaded/d);i.total=i.loaded+u}else i.total=Math.max(i.loaded,i.total);let a=i.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function Tg(r,e=null){let t=e||r,i={frag:r,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},s=t.byteRangeStartOffset,n=t.byteRangeEndOffset;if(ce(s)&&ce(n)){var a;let o=s,l=n;if(r.sn==="initSegment"&&((a=r.decryptdata)==null?void 0:a.method)==="AES-128"){let d=n-s;d%16&&(l=n+(16-d%16)),s!==0&&(i.resetIV=!0,o=s-16)}i.rangeStart=o,i.rangeEnd=l}return i}function _g(r,e){let t=new Error(`GAP ${r.gap?"tag":"attribute"} found`),i={type:pe.MEDIA_ERROR,details:B.FRAG_GAP,fatal:!1,frag:r,error:t,networkDetails:null};return e&&(i.part=e),(e||r).stats.aborted=!0,new vi(i)}var vi=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},Uu=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let t in this.keyUriToKeyInfo){let i=this.keyUriToKeyInfo[t].loader;if(i){if(e&&e!==i.context.frag.type)return;i.abort()}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=B.KEY_LOAD_ERROR,i,s,n){return new vi({type:pe.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:i,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:i,cc:s}=e;for(let n=0;n<t.length;n++){let a=t[n];if(s<=a.cc&&(i==="initSegment"||a.sn==="initSegment"||i<a.sn)){this.emeController.selectKeySystemFormat(a).then(o=>{a.setKeyFormat(o)});break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var i,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,d))}let a=n.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if((i=o)!=null&&i.decryptdata.key)return n.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if((s=o)!=null&&s.keyLoadPromise){var l;switch((l=o.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then(d=>(n.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:o}))}}switch(o=this.keyUriToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let s=this.emeController.loadKey(i);if(s)return(e.keyLoadPromise=s.then(n=>(e.mediaKeySessionContext=n,i))).catch(n=>{throw e.keyLoadPromise=null,n})}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,s=i.loader,n=new s(i);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((a,o)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=i.keyLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{let{frag:T,keyInfo:A,url:k}=g;if(!T.decryptdata||A!==this.keyUriToKeyInfo[k])return o(this.createKeyLoadError(T,B.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),E));A.decryptdata.key=T.decryptdata.key=new Uint8Array(h.data),T.keyLoader=null,A.loader=null,a({frag:T,keyInfo:A})},onError:(h,f,g,E)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),g,zt({url:l.url,data:void 0},h)))},onTimeout:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),g))},onAbort:(h,f,g)=>{this.resetLoader(f),o(this.createKeyLoadError(t,B.INTERNAL_ABORTED,new Error("key loading aborted"),g))}};n.load(l,c,u)})}resetLoader(e){let{frag:t,keyInfo:i,url:s}=e,n=i.loader;t.keyLoader===n&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[s],n&&n.destroy()}},Fu=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},l_={length:0,start:()=>0,end:()=>0},je=class{static isBuffered(e,t){try{if(e){let i=je.getBuffered(e);for(let s=0;s<i.length;s++)if(t>=i.start(s)&&t<=i.end(s))return!0}}catch{}return!1}static bufferInfo(e,t,i){try{if(e){let s=je.getBuffered(e),n=[],a;for(a=0;a<s.length;a++)n.push({start:s.start(a),end:s.end(a)});return this.bufferedInfo(n,t,i)}}catch{}return{len:0,start:t,end:t,nextStart:void 0}}static bufferedInfo(e,t,i){t=Math.max(0,t),e.sort(function(d,c){let u=d.start-c.start;return u||c.end-d.end});let s=[];if(i)for(let d=0;d<e.length;d++){let c=s.length;if(c){let u=s[c-1].end;e[d].start-u<i?e[d].end>u&&(s[c-1].end=e[d].end):s.push(e[d])}else s.push(e[d])}else s=e;let n=0,a,o=t,l=t;for(let d=0;d<s.length;d++){let c=s[d].start,u=s[d].end;if(t+i>=c&&t<u)o=c,l=u,n=l-t;else if(t+i<c){a=c;break}}return{len:n,start:o||0,end:l||0,nextStart:a}}static getBuffered(e){try{return e.buffered}catch(t){return M.log("failed to get media.buffered",t),l_}}},Yn=class{constructor(e,t,i,s=0,n=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=rl(),this.buffering={audio:rl(),video:rl(),audiovideo:rl()},this.level=e,this.sn=t,this.id=i,this.size=s,this.part=n,this.partial=a}};function rl(){return{start:0,executeStart:0,executeEnd:0,end:0}}function n0(r,e){let t=null;for(let i=0,s=r.length;i<s;i++){let n=r[i];if(n&&n.cc===e){t=n;break}}return t}function d_(r,e,t){return!!(e.details&&(t.endCC>t.startCC||r&&r.cc<t.startCC))}function c_(r,e,t=0){let i=r.fragments,s=e.fragments;if(!s.length||!i.length){M.log("No fragments to align");return}let n=n0(i,s[0].cc);if(!n||n&&!n.startPTS){M.log("No frag in previous level to align on");return}return n}function Ag(r,e){if(r){let t=r.start+e;r.start=r.startPTS=t,r.endPTS=t+r.duration}}function Sh(r,e){let t=e.fragments;for(let i=0,s=t.length;i<s;i++)Ag(t[i],r);e.fragmentHint&&Ag(e.fragmentHint,r),e.alignedSliding=!0}function u_(r,e,t){!e||(h_(r,t,e),!t.alignedSliding&&e.details&&f_(t,e.details),!t.alignedSliding&&e.details&&!t.skippedSegments&&i0(e.details,t))}function h_(r,e,t){if(d_(r,t,e)){let i=c_(t.details,e);i&&ce(i.start)&&(M.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),Sh(i.start,e))}}function f_(r,e){if(!e.fragments.length||!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=e.fragments[0].programDateTime,i=r.fragments[0].programDateTime,s=(i-t)/1e3+e.fragments[0].start;s&&ce(s)&&(M.log(`Adjusting PTS using programDateTime delta ${i-t}ms, sliding:${s.toFixed(3)} ${r.url} `),Sh(s,r))}function a0(r,e){if(!r.hasProgramDateTime||!e.hasProgramDateTime)return;let t=r.fragments,i=e.fragments;if(!t.length||!i.length)return;let s=Math.round(i.length/2)-1,n=i[s],a=n0(t,n.cc)||t[Math.round(t.length/2)-1],o=n.programDateTime,l=a.programDateTime;if(o===null||l===null)return;let d=(l-o)/1e3-(a.start-n.start);Sh(d,r)}var Bu=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}},$u=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}};function m_(r){let e=r.byteLength,t=e&&new DataView(r.buffer).getUint8(e-1);return t?Gr(r,0,e-t):r}var Gu=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),i=new Uint32Array(4);for(let s=0;s<4;s++)i[s]=t.getUint32(s*4);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],n=i[1],a=i[2],o=i[3],l=this.invSubMix,d=l[0],c=l[1],u=l[2],h=l[3],f=new Uint32Array(256),g=0,E=0,T=0;for(T=0;T<256;T++)T<128?f[T]=T<<1:f[T]=T<<1^283;for(T=0;T<256;T++){let A=E^E<<1^E<<2^E<<3^E<<4;A=A>>>8^A&255^99,e[g]=A,t[A]=g;let k=f[g],L=f[k],N=f[L],D=f[A]*257^A*16843008;s[g]=D<<24|D>>>8,n[g]=D<<16|D>>>16,a[g]=D<<8|D>>>24,o[g]=D,D=N*16843009^L*65537^k*257^g*16843008,d[A]=D<<24|D>>>8,c[A]=D<<16|D>>>16,u[A]=D<<8|D>>>24,h[A]=D,g?(g=k^f[f[f[N^k]]],E^=f[f[E]]):g=E=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),i=!0,s=0;for(;s<t.length&&i;)i=t[s]===this.key[s],s++;if(i)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let a=this.ksRows=(n+6+1)*4,o,l,d=this.keySchedule=new Uint32Array(a),c=this.invKeySchedule=new Uint32Array(a),u=this.sBox,h=this.rcon,f=this.invSubMix,g=f[0],E=f[1],T=f[2],A=f[3],k,L;for(o=0;o<a;o++){if(o<n){k=d[o]=t[o];continue}L=k,o%n===0?(L=L<<8|L>>>24,L=u[L>>>24]<<24|u[L>>>16&255]<<16|u[L>>>8&255]<<8|u[L&255],L^=h[o/n|0]<<24):n>6&&o%n===4&&(L=u[L>>>24]<<24|u[L>>>16&255]<<16|u[L>>>8&255]<<8|u[L&255]),d[o]=k=(d[o-n]^L)>>>0}for(l=0;l<a;l++)o=a-l,l&3?L=d[o]:L=d[o-4],l<4||o<=4?c[l]=L:c[l]=g[u[L>>>24]]^E[u[L>>>16&255]]^T[u[L>>>8&255]]^A[u[L&255]],c[l]=c[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,i){let s=this.keySize+6,n=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,l=o[0],d=o[1],c=o[2],u=o[3],h=this.uint8ArrayToUint32Array_(i),f=h[0],g=h[1],E=h[2],T=h[3],A=new Int32Array(e),k=new Int32Array(A.length),L,N,D,$,O,G,q,P,X,z,Ae,Ee,ye,we,Se=this.networkToHostOrderSwap;for(;t<A.length;){for(X=Se(A[t]),z=Se(A[t+1]),Ae=Se(A[t+2]),Ee=Se(A[t+3]),O=X^n[0],G=Ee^n[1],q=Ae^n[2],P=z^n[3],ye=4,we=1;we<s;we++)L=l[O>>>24]^d[G>>16&255]^c[q>>8&255]^u[P&255]^n[ye],N=l[G>>>24]^d[q>>16&255]^c[P>>8&255]^u[O&255]^n[ye+1],D=l[q>>>24]^d[P>>16&255]^c[O>>8&255]^u[G&255]^n[ye+2],$=l[P>>>24]^d[O>>16&255]^c[G>>8&255]^u[q&255]^n[ye+3],O=L,G=N,q=D,P=$,ye=ye+4;L=a[O>>>24]<<24^a[G>>16&255]<<16^a[q>>8&255]<<8^a[P&255]^n[ye],N=a[G>>>24]<<24^a[q>>16&255]<<16^a[P>>8&255]<<8^a[O&255]^n[ye+1],D=a[q>>>24]<<24^a[P>>16&255]<<16^a[O>>8&255]<<8^a[G&255]^n[ye+2],$=a[P>>>24]<<24^a[O>>16&255]<<16^a[G>>8&255]<<8^a[q&255]^n[ye+3],k[t]=Se(L^f),k[t+1]=Se($^g),k[t+2]=Se(D^E),k[t+3]=Se(N^T),f=X,g=z,E=Ae,T=Ee,t=t+4}return k.buffer}},p_=16,jn=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle)}catch{}this.subtle===null&&(this.useSoftware=!0)}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?m_(i):i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i){return this.useSoftware?new Promise((s,n)=>{this.softwareDecrypt(new Uint8Array(e),t,i);let a=this.flush();a?s(a.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i)}softwareDecrypt(e,t,i){let{currentIV:s,currentResult:n,remainderData:a}=this;this.logOnce("JS AES decrypt"),a&&(e=Hr(a,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;s&&(i=s);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new Gu),l.expandKey(t);let d=n;return this.currentResult=l.decrypt(o.buffer,0,i),this.currentIV=Gr(o,-16).buffer,d||null}webCryptoDecrypt(e,t,i){let s=this.subtle;return(this.key!==t||!this.fastAesKey)&&(this.key=t,this.fastAesKey=new $u(s,t)),this.fastAesKey.expandKey().then(n=>s?(this.logOnce("WebCrypto AES decrypt"),new Bu(s,new Uint8Array(i)).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(M.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,i)))}onWebCryptoError(e,t,i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i);let s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%p_;return i!==e.length&&(t=Gr(e,0,i),this.remainderData=Gr(e,i)),t}logOnce(e){!this.logEnabled||(M.log(`[decrypter]: ${e}`),this.logEnabled=!1)}},g_={toString:function(r){let e="",t=r.length;for(let i=0;i<t;i++)e+=`[${r.start(i).toFixed(3)}-${r.end(i).toFixed(3)}]`;return e}},W={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},zn=class extends Fu{constructor(e,t,i,s,n){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=W.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=n,this.logPrefix=s,this.log=M.log.bind(M,`${s}:`),this.warn=M.warn.bind(M,`${s}:`),this.hls=e,this.fragmentLoader=new Nu(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new jn(e.config),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=W.STOPPED}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let i=t.partList;if(i!=null&&i.length){let n=i[i.length-1];return je.isBuffered(this.media,n.start+n.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levels[this.levelLastLoaded])==null?void 0:e.details}}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);let s=this.config;this.levels&&s.autoStartLoad&&this.state===W.STOPPED&&this.startLoad(s.startPosition)}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){let{config:e,fragCurrent:t,media:i,mediaBuffer:s,state:n}=this,a=i?i.currentTime:0,o=je.bufferInfo(s||i,a,e.maxBufferHole);if(this.log(`media seeking to ${ce(a)?a.toFixed(3):a}, state: ${n}`),this.state===W.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,c=t.start+t.duration+l;if(!o.len||c<o.start||d>o.end){let u=a>c;(a<d||u)&&(u&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}i&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),this.lastCurrentTime=a),!this.loadedmetadata&&!o.len&&(this.nextLoadPosition=this.startPosition=a),this.tickImmediate()}onMediaEnded(){this.startPosition=this.lastCurrentTime=0}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]}onHandlerDestroying(){this.stopLoad(),super.onHandlerDestroying()}onHandlerDestroyed(){this.state=W.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,i){this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let s=n=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${n.part?" p: "+n.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return}e.stats.chunkCount++,this._handleFragmentLoadProgress(n)};this._doFragLoad(e,t,i,s).then(n=>{if(!n)return;let a=this.state;if(this.fragContextChanged(e)){(a===W.FRAG_LOADING||!this.fragCurrent&&a===W.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=W.IDLE);return}"payload"in n&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(y.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n)}).catch(n=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===_t.APPENDING){let n=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,n),o=Math.max(e.duration,a?a.len:this.config.maxBufferLength);this.reduceMaxBufferLength(o)&&i.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===_t.PARTIAL&&i.removeFragment(e))}flushMainBuffer(e,t,i=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:i};this.hls.trigger(y.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(i=>{if(!i||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return i}).then(i=>{let{hls:s}=this,{payload:n}=i,a=e.decryptdata;if(n&&n.byteLength>0&&a&&a.key&&a.iv&&a.method==="AES-128"){let o=self.performance.now();return this.decrypter.decrypt(new Uint8Array(n),a.key.buffer,a.iv.buffer).catch(l=>{throw s.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l}).then(l=>{let d=self.performance.now();return s.trigger(y.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:o,tdecrypt:d}}),i.payload=l,i})}return i}).then(i=>{let{fragCurrent:s,hls:n,levels:a}=this;if(!a)throw new Error("init load aborted, missing levels");let o=e.stats;this.state=W.IDLE,t.fragmentError=0,e.data=new Uint8Array(i.payload),o.parsing.start=o.buffering.start=self.performance.now(),o.parsing.end=o.buffering.end=self.performance.now(),i.frag===s&&n.trigger(y.FRAG_BUFFERED,{stats:o,frag:s,part:null,id:e.type}),this.tick()}).catch(i=>{this.state===W.STOPPED||this.state===W.ERROR||(this.warn(i),this.resetFragmentLoading(e))})}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.level!==t.level||e.sn!==t.sn||e.urlId!==t.urlId}fragBufferedComplete(e,t){var i,s,n,a;let o=this.mediaBuffer?this.mediaBuffer:this.media;this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===ge.MAIN?"level":"track"} ${e.level} (frag:[${((i=e.startPTS)!=null?i:NaN).toFixed(3)}-${((s=e.endPTS)!=null?s:NaN).toFixed(3)}] > buffer:${o?g_.toString(je.getBuffered(o)):"(detached)"})`),this.state=W.IDLE,o&&(!this.loadedmetadata&&e.type==ge.MAIN&&o.buffered.length&&((n=this.fragCurrent)==null?void 0:n.sn)===((a=this.fragPrevious)==null?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:s,partsLoaded:n}=e,a=!n||n.length===0||n.some(l=>!l),o=new Yn(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,s){var n;let a=t==null?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)?(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=W.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(c=>{if(!this.fragContextChanged(c.frag))return this.hls.trigger(y.KEY_LOADED,c),this.state===W.KEY_LOADING&&(this.state=W.IDLE),c}),this.hls.trigger(y.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments),i=Math.max(e.start,i||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let c=a.partList;if(c&&s){i>e.end&&a.fragmentHint&&(e=a.fragmentHint);let u=this.getNextPart(c,e,i);if(u>-1){let h=c[u];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${u}-${c.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=W.FRAG_LOADING;let f;return o?f=o.then(g=>!g||this.fragContextChanged(g.frag)?null:this.doFragPartsLoad(e,h,t,s)).catch(g=>this.handleFragLoadError(g)):f=this.doFragPartsLoad(e,h,t,s).catch(g=>this.handleFragLoadError(g)),this.hls.trigger(y.FRAG_LOADING,{frag:e,part:h,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f}else if(!e.url||this.loadedEndOfParts(c,i))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),ce(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=W.FRAG_LOADING;let l=this.config.progressive,d;return l&&o?d=o.then(c=>!c||this.fragContextChanged(c==null?void 0:c.frag)?null:this.fragmentLoader.load(e,s)).catch(c=>this.handleFragLoadError(c)):d=Promise.all([this.fragmentLoader.load(e,l?s:void 0),o]).then(([c])=>(!l&&c&&s&&s(c),c)).catch(c=>this.handleFragLoadError(c)),this.hls.trigger(y.FRAG_LOADING,{frag:e,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,i,s){return new Promise((n,a)=>{var o;let l=[],d=(o=i.details)==null?void 0:o.partList,c=u=>{this.fragmentLoader.loadPart(e,u,s).then(h=>{l[u.index]=h;let f=h.part;this.hls.trigger(y.FRAG_LOADED,h);let g=gg(i,e.sn,u.index+1)||r0(d,e.sn,u.index+1);if(g)c(g);else return n({frag:e,part:f,partsLoaded:l})}).catch(a)};c(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===B.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(y.ERROR,t)}else this.hls.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==W.PARSING){!this.fragCurrent&&this.state!==W.STOPPED&&this.state!==W.ERROR&&(this.state=W.IDLE);return}let{frag:i,part:s,level:n}=t,a=self.performance.now();i.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(i,s,n,e.partial)}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:s,sn:n,part:a}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of level ${s}. The current chunk will not be buffered.`),null;let o=t[s],l=a>-1?gg(o,n,a):null,d=l?l.fragment:t_(o,n,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:o}):null}bufferFragmentData(e,t,i,s,n){var a;if(!e||this.state!==W.PARSING)return;let{data1:o,data2:l}=e,d=o;if(o&&l&&(d=Hr(o,l)),!((a=d)!=null&&a.length))return;let c={type:e.type,frag:t,part:i,chunkMeta:s,parent:t.type,data:d};if(this.hls.trigger(y.BUFFER_APPENDING,c),e.dropped&&e.independent&&!i){if(n)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!je.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let i=t.currentTime,s=je.bufferInfo(t,i,0),n=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),o=Math.max(Math.min(e.start-a,s.end-a),i+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){let i=this.getLoadPosition();return ce(i)?this.getFwdBufferInfoAtPos(e,i,t):null}getFwdBufferInfoAtPos(e,t,i){let{config:{maxBufferHole:s}}=this,n=je.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,i);if(a&&n.nextStart<a.end)return je.bufferInfo(e,t,Math.max(n.nextStart,s))}return n}getMaxBufferLength(e){let{config:t}=this,i;return e?i=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):i=t.maxBufferLength,Math.min(i,t.maxMaxBufferLength)}reduceMaxBufferLength(e){let t=this.config,i=e||t.maxBufferLength;return t.maxMaxBufferLength>=i?(t.maxMaxBufferLength/=2,this.warn(`Reduce max buffer length to ${t.maxMaxBufferLength}s`),!0):!1}getAppendedFrag(e,t=ge.MAIN){let i=this.fragmentTracker.getAppendedFrag(e,ge.MAIN);return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,s=i.length;if(!s)return null;let{config:n}=this,a=i[0].start,o;if(t.live){let l=n.initialLiveManifestSize;if(s<l)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${l})`),null;!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1&&(o=this.getInitialLiveFragment(t,i),this.startPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=a&&(o=i[0]);if(!o){let l=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,l,t)}return this.mapToInitFragWhenRequired(o)}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return(i===_t.OK||i===_t.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,s,n){let a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(o===null)return o;if(e=o,a&&e&&!e.gap&&i.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s);if(l!==null&&i.len+l.len>=n)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,i){let s=-1,n=!1,a=!0;for(let o=0,l=e.length;o<l;o++){let d=e[o];if(a=a&&!d.independent,s>-1&&i<d.start)break;let c=d.loaded;c?s=-1:(n||d.independent||a)&&d.fragment===t&&(s=o),n=c}return s}loadedEndOfParts(e,t){let i=e[e.length-1];return i&&t>i.start&&i.loaded}getInitialLiveFragment(e,t){let i=this.fragPrevious,s=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),s=r_(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!s){let n=i.sn+1;if(n>=e.startSN&&n<=e.endSN){let a=t[n-e.startSN];i.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=n_(t,i.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,i){let{config:s}=this,{fragPrevious:n}=this,{fragments:a,endSN:o}=i,{fragmentHint:l}=i,d=s.maxFragLookUpTolerance,c=i.partList,u=!!(s.lowLatencyMode&&c!=null&&c.length&&l);u&&l&&!this.bitrateTest&&(a=a.concat(l),o=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=Wn(n,a,e,f)}else h=a[a.length-1];if(h){let f=h.sn-i.startSN,g=this.fragmentTracker.getState(h);if((g===_t.OK||g===_t.PARTIAL&&h.gap)&&(n=h),n&&h.sn===n.sn&&(!u||c[0].fragment.sn>h.sn)&&n&&h.level===n.level){let T=a[f+1];h.sn<o&&this.fragmentTracker.getState(T)!==_t.OK?h=T:h=null}}return h}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let s=this.hls.liveSyncPosition,n=i.currentTime,a=e.fragments[0].start,o=e.edge,l=n>=a-t.maxFragLookUpTolerance&&n<=o;if(s!==null&&i.duration>s&&(n<s||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&i.readyState<4||n<o-d)&&(this.loadedmetadata||(this.nextLoadPosition=s),i.readyState&&(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${s.toFixed(3)}`),i.currentTime=s))}}alignPlaylists(e,t){let{levels:i,levelLastLoaded:s,fragPrevious:n}=this,a=s!==null?i[s]:null,o=e.fragments.length;if(!o)return this.warn("No fragments in live playlist"),0;let l=e.fragments[0].start,d=!t,c=e.alignedSliding&&ce(l);if(d||!c&&!l){u_(n,a,e);let u=e.fragments[0].start;return this.log(`Live playlist sliding: ${u.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${n?n.sn:"na"} fragments: ${o}`),u}return l}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let i=this.startPosition;if(i<t&&(i=-1),i===-1||this.lastCurrentTime===-1){let s=this.startTimeOffset!==null,n=s?this.startTimeOffset:e.startTimeOffset;n!==null&&ce(n)?(i=t+n,n<0&&(i+=e.totalduration),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Start time offset ${n} found in ${s?"multivariant":"media"} playlist, adjust startPosition to ${i}`),this.startPosition=i):e.live?i=this.hls.liveSyncPosition||t:this.startPosition=i=0,this.lastCurrentTime=i}this.nextLoadPosition=i}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==W.FRAG_LOADING_WAITING_RETRY)&&(this.state=W.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag)}let i=t.frag;if(!i||i.type!==e||!this.levels)return;if(this.fragContextChanged(i)){var s;this.warn(`Frag load error must match current frag to retry ${i.url} > ${(s=this.fragCurrent)==null?void 0:s.url}`);return}let n=t.details===B.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(i,!0);let a=t.errorAction,{action:o,retryCount:l=0,retryConfig:d}=a||{};if(a&&o===Pt.RetryRequest&&d){var c;this.resetStartWhenNotLoaded((c=this.levelLastLoaded)!=null?c:i.level);let u=Ah(d,l);this.warn(`Fragment ${i.sn} of ${e} ${i.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),a.resolved=!0,this.retryDate=self.performance.now()+u,this.state=W.FRAG_LOADING_WAITING_RETRY}else d&&a?(this.resetFragmentErrors(e),l<d.maxNumRetry?n||(a.resolved=!0):M.warn(`${t.details} reached or exceeded max retry (${l})`)):(a==null?void 0:a.action)===Pt.SendAlternateToPenaltyBox?this.state=W.WAITING_LEVEL:this.state=W.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===W.PARSING||this.state===W.PARSED){let t=e.parent,i=this.getFwdBufferInfo(this.mediaBuffer,t),s=i&&i.len>.5;s&&this.reduceMaxBufferLength(i.len);let n=!s;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${t} buffer`),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(e){e===ge.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==W.STOPPED&&(this.state=W.IDLE)}afterBufferFlushed(e,t,i){if(!e)return;let s=je.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===W.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=W.IDLE}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=this.levels?this.levels[e].details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){var t;this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded((t=this.levelLastLoaded)!=null?t:e.level),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,s){var n;let a=i.details;if(!a){this.warn("level.details undefined");return}if(Object.keys(e.elementaryStreams).reduce((l,d)=>{let c=e.elementaryStreams[d];if(c){let u=c.endPTS-c.startPTS;if(u<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${u})`),l||!1;let h=s?0:t0(a,e,c.startPTS,c.endPTS,c.startDTS,c.endDTS);return this.hls.trigger(y.LEVEL_PTS_UPDATED,{details:a,level:i,drift:h,type:d,frag:e,start:c.startPTS,end:c.endPTS}),!0}return l},!1))i.fragmentError=0;else if(((n=this.transmuxer)==null?void 0:n.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(i.fragmentError===0&&(i.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=W.PARSED,this.hls.trigger(y.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){if(e.event==="demuxerWorker"){var t,i,s;this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded((t=(i=this.levelLastLoaded)!=null?i:(s=this.fragCurrent)==null?void 0:s.level)!=null?t:0),this.resetLoadingState()}}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}};function o0(){return self.SourceBuffer||self.WebKitSourceBuffer}function v_(){let r=Cl();if(!r)return!1;let e=o0(),t=r&&typeof r.isTypeSupported=="function"&&r.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),i=!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function";return!!t&&!!i}function E_(){var r;let e=o0();return typeof(e==null||(r=e.prototype)==null?void 0:r.changeType)=="function"}function y_(){return typeof __HLS_WORKER_BUNDLE__=="function"}function b_(){let r=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(r);return{worker:new self.Worker(e),objectURL:e}}function T_(r){let e=new self.URL(r,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}function Ui(r="",e=9e4){return{type:r,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}var El=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,i,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){this.cachedData&&(e=Hr(this.cachedData,e),this.cachedData=null);let i=hl(e,0),s=i?i.length:0,n,a=this._audioTrack,o=this._id3Track,l=i?pT(i):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&ce(l))&&(this.basePTS=__(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY});s<d;){if(this.canParse(e,s)){let c=this.appendFrame(a,e,s);c?(this.frameIndex++,this.lastPTS=c.sample.pts,s+=c.length,n=s):s=d}else mT(e,s)?(i=hl(e,s),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ei.audioId3,duration:Number.POSITIVE_INFINITY}),s+=i.length,n=s):s++;if(s===d&&n!==d){let c=Gr(e,n);this.cachedData?this.cachedData=Hr(this.cachedData,c):this.cachedData=c}}return{audioTrack:a,videoTrack:Ui(),id3Track:o,textTrack:Ui()}}demuxSampleAes(e,t,i){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ui(),id3Track:this._id3Track,textTrack:Ui()}}destroy(){}},__=(r,e,t)=>{if(ce(r))return r*90;let i=t?t.baseTime*9e4/t.timescale:0;return e*9e4+i};function A_(r,e,t,i){let s,n,a,o,l=navigator.userAgent.toLowerCase(),d=i,c=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];s=((e[t+2]&192)>>>6)+1;let u=(e[t+2]&60)>>>2;if(u>c.length-1){r.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!0,reason:`invalid ADTS sampling index:${u}`});return}return a=(e[t+2]&1)<<2,a|=(e[t+3]&192)>>>6,M.log(`manifest codec:${i}, ADTS type:${s}, samplingIndex:${u}`),/firefox/i.test(l)?u>=6?(s=5,o=new Array(4),n=u-3):(s=2,o=new Array(2),n=u):l.indexOf("android")!==-1?(s=2,o=new Array(2),n=u):(s=5,o=new Array(4),i&&(i.indexOf("mp4a.40.29")!==-1||i.indexOf("mp4a.40.5")!==-1)||!i&&u>=6?n=u-3:((i&&i.indexOf("mp4a.40.2")!==-1&&(u>=6&&a===1||/vivaldi/i.test(l))||!i&&a===1)&&(s=2,o=new Array(2)),n=u)),o[0]=s<<3,o[0]|=(u&14)>>1,o[1]|=(u&1)<<7,o[1]|=a<<3,s===5&&(o[1]|=(n&14)>>1,o[2]=(n&1)<<7,o[2]|=2<<2,o[3]=0),{config:o,samplerate:c[u],channelCount:a,codec:"mp4a.40."+s,manifestCodec:d}}function l0(r,e){return r[e]===255&&(r[e+1]&246)===240}function d0(r,e){return r[e+1]&1?7:9}function xh(r,e){return(r[e+3]&3)<<11|r[e+4]<<3|(r[e+5]&224)>>>5}function S_(r,e){return e+5<r.length}function yl(r,e){return e+1<r.length&&l0(r,e)}function x_(r,e){return S_(r,e)&&l0(r,e)&&xh(r,e)<=r.length-e}function I_(r,e){if(yl(r,e)){let t=d0(r,e);if(e+t>=r.length)return!1;let i=xh(r,e);if(i<=t)return!1;let s=e+i;return s===r.length||yl(r,s)}return!1}function c0(r,e,t,i,s){if(!r.samplerate){let n=A_(e,t,i,s);if(!n)return;r.config=n.config,r.samplerate=n.samplerate,r.channelCount=n.channelCount,r.codec=n.codec,r.manifestCodec=n.manifestCodec,M.log(`parsed codec:${r.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function u0(r){return 1024*9e4/r}function L_(r,e){let t=d0(r,e);if(e+t<=r.length){let i=xh(r,e)-t;if(i>0)return{headerLength:t,frameLength:i}}}function h0(r,e,t,i,s){let n=u0(r.samplerate),a=i+s*n,o=L_(e,t),l;if(o){let{frameLength:u,headerLength:h}=o,f=h+u,g=Math.max(0,t+f-e.length);g?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let E={unit:l,pts:a};return g||r.samples.push(E),{sample:E,length:f,missing:g}}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:a},length:d,missing:-1}}var Hu=class extends El{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let i=(hl(e,0)||[]).length;for(let s=e.length;i<s;i++)if(I_(e,i))return M.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return x_(e,t)}appendFrame(e,t,i){c0(e,this.observer,t,i,e.manifestCodec);let s=h0(e,t,i,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s}},k_=/\/emsg[-/]ID3/i,Vu=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,s){let n=this.videoTrack=Ui("video",1),a=this.audioTrack=Ui("audio",1),o=this.txtTrack=Ui("text",1);if(this.id3Track=Ui("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=jg(e);if(l.video){let{id:d,timescale:c,codec:u}=l.video;n.id=d,n.timescale=o.timescale=c,n.codec=u}if(l.audio){let{id:d,timescale:c,codec:u}=l.audio;a.id=d,a.timescale=c,a.codec=u}o.id=Wg.text,n.sampleDuration=0,n.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return e=e.length>16384?e.subarray(0,16384):e,Pe(e,["moof"]).length>0}demux(e,t){this.timeOffset=t;let i=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=Hr(this.remainderData,e));let o=wT(i);this.remainderData=o.remainder,s.samples=o.valid||new Uint8Array}else s.samples=i;let a=this.extractID3Track(s,t);return n.samples=ig(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return i.samples=ig(e,t),{videoTrack:t,audioTrack:Ui(),id3Track:s,textTrack:Ui()}}extractID3Track(e,t){let i=this.id3Track;if(e.samples.length){let s=Pe(e.samples,["emsg"]);s&&s.forEach(n=>{let a=MT(n);if(k_.test(a.schemeIdUri)){let o=ce(a.presentationTime)?a.presentationTime/a.timeScale:t+a.presentationTimeDelta/a.timeScale,l=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=a.payload;i.samples.push({data:d,len:d.byteLength,dts:o,pts:o,type:Ei.emsg,duration:l})}})}return i}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},sl=null,R_=[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],w_=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],D_=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],C_=[0,1,1,4];function f0(r,e,t,i,s){if(t+24>e.length)return;let n=m0(e,t);if(n&&t+n.frameLength<=e.length){let a=n.samplesPerFrame*9e4/n.sampleRate,o=i+s*a,l={unit:e.subarray(t,t+n.frameLength),pts:o,dts:o};return r.config=[],r.channelCount=n.channelCount,r.samplerate=n.sampleRate,r.samples.push(l),{sample:l,length:n.frameLength,missing:0}}}function m0(r,e){let t=r[e+1]>>3&3,i=r[e+1]>>1&3,s=r[e+2]>>4&15,n=r[e+2]>>2&3;if(t!==1&&s!==0&&s!==15&&n!==3){let a=r[e+2]>>1&1,o=r[e+3]>>6,l=t===3?3-i:i===3?3:4,d=R_[l*14+s-1]*1e3,u=w_[(t===3?0:t===2?1:2)*3+n],h=o===3?1:2,f=D_[t][i],g=C_[i],E=f*8*g,T=Math.floor(f*d/u+a)*g;if(sl===null){let L=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);sl=L?parseInt(L[1]):0}return!!sl&&sl<=87&&i===2&&d>=224e3&&o===0&&(r[e+3]=r[e+3]|128),{sampleRate:u,channelCount:h,frameLength:T,samplesPerFrame:E}}}function Ih(r,e){return r[e]===255&&(r[e+1]&224)===224&&(r[e+1]&6)!==0}function p0(r,e){return e+1<r.length&&Ih(r,e)}function M_(r,e){return Ih(r,e)&&4<=r.length-e}function O_(r,e){if(e+1<r.length&&Ih(r,e)){let i=m0(r,e),s=4;i!=null&&i.frameLength&&(s=i.frameLength);let n=e+s;return n===r.length||p0(r,n)}return!1}var bl=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,i=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(i,i+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),i=this.word>>>32-t;if(e>32&&M.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t=8,i=8,s;for(let n=0;n<e;n++)i!==0&&(s=this.readEG(),i=(t+s+256)%256),t=i===0?t:i}readSPS(){let e=0,t=0,i=0,s=0,n,a,o,l=this.readUByte.bind(this),d=this.readBits.bind(this),c=this.readUEG.bind(this),u=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),g=this.skipUEG.bind(this),E=this.skipScalingList.bind(this);l();let T=l();if(d(5),h(3),l(),g(),T===100||T===110||T===122||T===244||T===44||T===83||T===86||T===118||T===128){let $=c();if($===3&&h(1),g(),g(),h(1),u())for(a=$!==3?8:12,o=0;o<a;o++)u()&&(o<6?E(16):E(64))}g();let A=c();if(A===0)c();else if(A===1)for(h(1),f(),f(),n=c(),o=0;o<n;o++)f();g(),h(1);let k=c(),L=c(),N=d(1);N===0&&h(1),h(1),u()&&(e=c(),t=c(),i=c(),s=c());let D=[1,1];if(u()&&u())switch(l()){case 1:D=[1,1];break;case 2:D=[12,11];break;case 3:D=[10,11];break;case 4:D=[16,11];break;case 5:D=[40,33];break;case 6:D=[24,11];break;case 7:D=[20,11];break;case 8:D=[32,11];break;case 9:D=[80,33];break;case 10:D=[18,11];break;case 11:D=[15,11];break;case 12:D=[64,33];break;case 13:D=[160,99];break;case 14:D=[4,3];break;case 15:D=[3,2];break;case 16:D=[2,1];break;case 255:{D=[l()<<8|l(),l()<<8|l()];break}}return{width:Math.ceil((k+1)*16-e*2-t*2),height:(2-N)*(L+1)*16-(N?2:4)*(i+s),pixelRatio:D}}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG()}},Ku=class{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new jn(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,i){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),a=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(a).then(o=>{let l=new Uint8Array(o);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)})}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length){i();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,i=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)i.set(e.subarray(n,n+16),s);return i}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(i.subarray(s,s+16),n);return e}decryptAvcSample(e,t,i,s,n){let a=Qg(n.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(a,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s)})}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length){s();return}let n=e[t].units;for(;!(i>=n.length);i++){let a=n[i];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,i,s,a),!this.decrypter.isSync()))return}}}},Ot=188,Fi=class{constructor(e,t,i){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._avcTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.observer=e,this.config=t,this.typeSupported=i}static probe(e){let t=Fi.syncOffset(e);return t>0&&M.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1}static syncOffset(e){let t=e.length,i=Math.min(Ot*5,e.length-Ot)+1,s=0;for(;s<i;){let n=!1,a=-1,o=0;for(let l=s;l<t;l+=Ot)if(e[l]===71){if(o++,a===-1&&(a=l,a!==0&&(i=Math.min(a+Ot*99,e.length-Ot)+1)),n||(n=Wu(e,l)===0),n&&o>1&&(a===0&&o>2||l+Ot>i))return a}else{if(o)return-1;break}s++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:Wg[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,i,s){this.pmtParsed=!1,this._pmtId=-1,this._avcTrack=Fi.createTrack("video"),this._audioTrack=Fi.createTrack("audio",s),this._id3Track=Fi.createTrack("id3"),this._txtTrack=Fi.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.avcSample=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i,this._duration=s}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_avcTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.avcSample=null,this.remainderData=null}demux(e,t,i=!1,s=!1){i||(this.sampleAes=null);let n,a=this._avcTrack,o=this._audioTrack,l=this._id3Track,d=this._txtTrack,c=a.pid,u=a.pesData,h=o.pid,f=l.pid,g=o.pesData,E=l.pesData,T=null,A=this.pmtParsed,k=this._pmtId,L=e.length;if(this.remainderData&&(e=Hr(this.remainderData,e),L=e.length,this.remainderData=null),L<Ot&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};let N=Math.max(0,Fi.syncOffset(e));L-=(L-N)%Ot,L<e.byteLength&&!s&&(this.remainderData=new Uint8Array(e.buffer,L,e.buffer.byteLength-L));let D=0;for(let O=N;O<L;O+=Ot)if(e[O]===71){let G=!!(e[O+1]&64),q=Wu(e,O),P=(e[O+3]&48)>>4,X;if(P>1){if(X=O+5+e[O+4],X===O+Ot)continue}else X=O+4;switch(q){case c:G&&(u&&(n=Gs(u))&&this.parseAVCPES(a,d,n,!1),u={data:[],size:0}),u&&(u.data.push(e.subarray(X,O+Ot)),u.size+=O+Ot-X);break;case h:if(G){if(g&&(n=Gs(g)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,n);break;case"mp3":this.parseMPEGPES(o,n);break}g={data:[],size:0}}g&&(g.data.push(e.subarray(X,O+Ot)),g.size+=O+Ot-X);break;case f:G&&(E&&(n=Gs(E))&&this.parseID3PES(l,n),E={data:[],size:0}),E&&(E.data.push(e.subarray(X,O+Ot)),E.size+=O+Ot-X);break;case 0:G&&(X+=e[X]+1),k=this._pmtId=P_(e,X);break;case k:{G&&(X+=e[X]+1);let z=N_(e,X,this.typeSupported,i);c=z.avc,c>0&&(a.pid=c),h=z.audio,h>0&&(o.pid=h,o.segmentCodec=z.segmentCodec),f=z.id3,f>0&&(l.pid=f),T!==null&&!A&&(M.warn(`MPEG-TS PMT found at ${O} after unknown PID '${T}'. Backtracking to sync byte @${N} to parse all TS packets.`),T=null,O=N-188),A=this.pmtParsed=!0;break}case 17:case 8191:break;default:T=q;break}}else D++;if(D>0){let O=new Error(`Found ${D} TS packet/s that do not start with 0x47`);this.observer.emit(y.ERROR,y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:O,reason:O.message})}a.pesData=u,o.pesData=g,l.pesData=E;let $={audioTrack:o,videoTrack:a,id3Track:l,textTrack:d};return s&&this.extractRemainingSamples($),$}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._avcTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:i,id3Track:s,textTrack:n}=e,a=i.pesData,o=t.pesData,l=s.pesData,d;if(a&&(d=Gs(a))?(this.parseAVCPES(i,n,d,!0),i.pesData=null):i.pesData=a,o&&(d=Gs(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break}t.pesData=null}else o!=null&&o.size&&M.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(d=Gs(l))?(this.parseID3PES(s,d),s.pesData=null):s.pesData=l}demuxSampleAes(e,t,i){let s=this.demux(e,i,!0,!this.config.progressive),n=this.sampleAes=new Ku(this.observer,this.config,t);return this.decrypt(s,n)}decrypt(e,t){return new Promise(i=>{let{audioTrack:s,videoTrack:n}=e;s.samples&&s.segmentCodec==="aac"?t.decryptAacSamples(s.samples,0,()=>{n.samples?t.decryptAvcSamples(n.samples,0,0,()=>{i(e)}):i(e)}):n.samples&&t.decryptAvcSamples(n.samples,0,0,()=>{i(e)})})}destroy(){this._duration=0}parseAVCPES(e,t,i,s){let n=this.parseAVCNALu(e,i.data),a=this.avcSample,o,l=!1;i.data=null,a&&n.length&&!e.audFound&&(Fn(a,e),a=this.avcSample=nl(!1,i.pts,i.dts,"")),n.forEach(d=>{var c;switch(d.type){case 1:{let h=!1;o=!0;let f=d.data;if(l&&f.length>4){let g=new bl(f).readSliceType();(g===2||g===4||g===7||g===9)&&(h=!0)}if(h){var u;(u=a)!=null&&u.frame&&!a.key&&(Fn(a,e),a=this.avcSample=null)}a||(a=this.avcSample=nl(!0,i.pts,i.dts,"")),a.frame=!0,a.key=h;break}case 5:o=!0,(c=a)!=null&&c.frame&&!a.key&&(Fn(a,e),a=this.avcSample=null),a||(a=this.avcSample=nl(!0,i.pts,i.dts,"")),a.key=!0,a.frame=!0;break;case 6:{o=!0,Xg(d.data,1,i.pts,t.samples);break}case 7:if(o=!0,l=!0,!e.sps){let h=d.data,g=new bl(h).readSPS();e.width=g.width,e.height=g.height,e.pixelRatio=g.pixelRatio,e.sps=[h],e.duration=this._duration;let E=h.subarray(1,4),T="avc1.";for(let A=0;A<3;A++){let k=E[A].toString(16);k.length<2&&(k="0"+k),T+=k}e.codec=T}break;case 8:o=!0,e.pps||(e.pps=[d.data]);break;case 9:o=!1,e.audFound=!0,a&&Fn(a,e),a=this.avcSample=nl(!1,i.pts,i.dts,"");break;case 12:o=!0;break;default:o=!1,a&&(a.debug+="unknown NAL "+d.type+" ");break}a&&o&&a.units.push(d)}),s&&a&&(Fn(a,e),this.avcSample=null)}getLastNalUnit(e){var t;let i=this.avcSample,s;if((!i||i.units.length===0)&&(i=e[e.length-1]),(t=i)!=null&&t.units){let n=i.units;s=n[n.length-1]}return s}parseAVCNALu(e,t){let i=t.byteLength,s=e.naluState||0,n=s,a=[],o=0,l,d,c,u=-1,h=0;for(s===-1&&(u=0,h=t[0]&31,s=0,o=1);o<i;){if(l=t[o++],!s){s=l?0:1;continue}if(s===1){s=l?0:2;continue}if(!l)s=3;else if(l===1){if(u>=0){let f={data:t.subarray(u,o-s-1),type:h};a.push(f)}else{let f=this.getLastNalUnit(e.samples);if(f&&(n&&o<=4-n&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-n)),d=o-s-1,d>0)){let g=new Uint8Array(f.data.byteLength+d);g.set(f.data,0),g.set(t.subarray(0,d),f.data.byteLength),f.data=g,f.state=0}}o<i?(c=t[o]&31,u=o,h=c,s=0):s=-1}else s=0}if(u>=0&&s>=0){let f={data:t.subarray(u,i),type:h,state:s};a.push(f)}if(a.length===0){let f=this.getLastNalUnit(e.samples);if(f){let g=new Uint8Array(f.data.byteLength+t.byteLength);g.set(f.data,0),g.set(t,f.data.byteLength),f.data=g}}return e.naluState=s,a}parseAACPES(e,t){let i=0,s=this.aacOverFlow,n=t.data;if(s){this.aacOverFlow=null;let u=s.missing,h=s.sample.unit.byteLength;if(u===-1){let f=new Uint8Array(h+n.byteLength);f.set(s.sample.unit,0),f.set(n,h),n=f}else{let f=h-u;s.sample.unit.set(n.subarray(0,u),f),e.samples.push(s.sample),i=s.missing}}let a,o;for(a=i,o=n.length;a<o-1&&!yl(n,a);a++);if(a!==i){let u,h=a<o-1;h?u=`AAC PES did not start with ADTS header,offset:${a}`:u="No ADTS header found in AAC PES";let f=new Error(u);if(M.warn(`parsing error: ${u}`),this.observer.emit(y.ERROR,y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,levelRetry:h,error:f,reason:u}),!h)return}c0(e,this.observer,n,a,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(s){let u=u0(e.samplerate);l=s.sample.pts+u}else{M.warn("[tsdemuxer]: AAC PES unknown PTS");return}let d=0,c;for(;a<o;)if(c=h0(e,n,a,l,d),a+=c.length,c.missing){this.aacOverFlow=c;break}else for(d++;a<o-1&&!yl(n,a);a++);}parseMPEGPES(e,t){let i=t.data,s=i.length,n=0,a=0,o=t.pts;if(o===void 0){M.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;a<s;)if(p0(i,a)){let l=f0(e,i,a,o,n);if(l)a+=l.length,n++;else break}else a++}parseID3PES(e,t){if(t.pts===void 0){M.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let i=gt({},t,{type:this._avcTrack?Ei.emsg:Ei.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(i)}};function nl(r,e,t,i){return{key:r,frame:!1,pts:e,dts:t,units:[],debug:i,length:0}}function Wu(r,e){return((r[e+1]&31)<<8)+r[e+2]}function P_(r,e){return(r[e+10]&31)<<8|r[e+11]}function N_(r,e,t,i){let s={audio:-1,avc:-1,id3:-1,segmentCodec:"aac"},n=(r[e+1]&15)<<8|r[e+2],a=e+3+n-4,o=(r[e+10]&15)<<8|r[e+11];for(e+=12+o;e<a;){let l=Wu(r,e);switch(r[e]){case 207:if(!i){M.log("ADTS AAC with AES-128-CBC frame encryption found in unencrypted stream");break}case 15:s.audio===-1&&(s.audio=l);break;case 21:s.id3===-1&&(s.id3=l);break;case 219:if(!i){M.log("H.264 with AES-128-CBC slice encryption found in unencrypted stream");break}case 27:s.avc===-1&&(s.avc=l);break;case 3:case 4:t.mpeg!==!0&&t.mp3!==!0?M.log("MPEG audio found, not supported in this browser"):s.audio===-1&&(s.audio=l,s.segmentCodec="mp3");break;case 36:M.warn("Unsupported HEVC stream type found");break}e+=((r[e+3]&15)<<8|r[e+4])+5}return s}function Gs(r){let e=0,t,i,s,n,a,o=r.data;if(!r||r.size===0)return null;for(;o[0].length<19&&o.length>1;){let d=new Uint8Array(o[0].length+o[1].length);d.set(o[0]),d.set(o[1],o[0].length),o[0]=d,o.splice(1,1)}if(t=o[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(i=(t[4]<<8)+t[5],i&&i>r.size-6)return null;let d=t[7];d&192&&(n=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(a=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,n-a>60*9e4&&(M.warn(`${Math.round((n-a)/9e4)}s delta between PTS and DTS, align them`),n=a)):a=n),s=t[8];let c=s+9;if(r.size<=c)return null;r.size-=c;let u=new Uint8Array(r.size);for(let h=0,f=o.length;h<f;h++){t=o[h];let g=t.byteLength;if(c)if(c>g){c-=g;continue}else t=t.subarray(c),g-=c,c=0;u.set(t,e),e+=g}return i&&(i-=s+3),{data:u,pts:n,dts:a,len:i}}return null}function Fn(r,e){if(r.units.length&&r.frame){if(r.pts===void 0){let t=e.samples,i=t.length;if(i){let s=t[i-1];r.pts=s.pts,r.dts=s.dts}else{e.dropped++;return}}e.samples.push(r)}r.debug.length&&M.log(r.pts+"/"+r.dts+":"+r.debug)}var qu=class extends El{resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let i=(hl(e,0)||[]).length;for(let s=e.length;i<s;i++)if(O_(e,i))return M.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return M_(e,t)}appendFrame(e,t,i){if(this.basePTS!==null)return f0(e,t,i,this.basePTS,this.frameIndex)}},Tl=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}}},pr=Math.pow(2,32)-1,F=class{static init(){F.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in F.types)F.types.hasOwnProperty(e)&&(F.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),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]);F.HDLR_TYPES={video:t,audio:i};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);F.STTS=F.STSC=F.STCO=n,F.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),F.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),F.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),F.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);F.FTYP=F.box(F.types.ftyp,a,l,a,o),F.DINF=F.box(F.types.dinf,F.box(F.types.dref,s))}static box(e,...t){let i=8,s=t.length,n=s;for(;s--;)i+=t[s].byteLength;let a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=i&255,a.set(e,4),s=0,i=8;s<n;s++)a.set(t[s],i),i+=t[s].byteLength;return a}static hdlr(e){return F.box(F.types.hdlr,F.HDLR_TYPES[e])}static mdat(e){return F.box(F.types.mdat,e)}static mdhd(e,t){t*=e;let i=Math.floor(t/(pr+1)),s=Math.floor(t%(pr+1));return F.box(F.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,i>>24,i>>16&255,i>>8&255,i&255,s>>24,s>>16&255,s>>8&255,s&255,85,196,0,0]))}static mdia(e){return F.box(F.types.mdia,F.mdhd(e.timescale,e.duration),F.hdlr(e.type),F.minf(e))}static mfhd(e){return F.box(F.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?F.box(F.types.minf,F.box(F.types.smhd,F.SMHD),F.DINF,F.stbl(e)):F.box(F.types.minf,F.box(F.types.vmhd,F.VMHD),F.DINF,F.stbl(e))}static moof(e,t,i){return F.box(F.types.moof,F.mfhd(e),F.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=F.trak(e[t]);return F.box.apply(null,[F.types.moov,F.mvhd(e[0].timescale,e[0].duration)].concat(i).concat(F.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=F.trex(e[t]);return F.box.apply(null,[F.types.mvex,...i])}static mvhd(e,t){t*=e;let i=Math.floor(t/(pr+1)),s=Math.floor(t%(pr+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,i>>24,i>>16&255,i>>8&255,i&255,s>>24,s>>16&255,s>>8&255,s&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return F.box(F.types.mvhd,n)}static sdtp(e){let t=e.samples||[],i=new Uint8Array(4+t.length),s,n;for(s=0;s<t.length;s++)n=t[s].flags,i[s+4]=n.dependsOn<<4|n.isDependedOn<<2|n.hasRedundancy;return F.box(F.types.sdtp,i)}static stbl(e){return F.box(F.types.stbl,F.stsd(e),F.box(F.types.stts,F.STTS),F.box(F.types.stsc,F.STSC),F.box(F.types.stsz,F.STSZ),F.box(F.types.stco,F.STCO))}static avc1(e){let t=[],i=[],s,n,a;for(s=0;s<e.sps.length;s++)n=e.sps[s],a=n.byteLength,t.push(a>>>8&255),t.push(a&255),t=t.concat(Array.prototype.slice.call(n));for(s=0;s<e.pps.length;s++)n=e.pps[s],a=n.byteLength,i.push(a>>>8&255),i.push(a&255),i=i.concat(Array.prototype.slice.call(n));let o=F.box(F.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(i))),l=e.width,d=e.height,c=e.pixelRatio[0],u=e.pixelRatio[1];return F.box(F.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,d>>8&255,d&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,F.box(F.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),F.box(F.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,c&255,u>>24,u>>16&255,u>>8&255,u&255])))}static esds(e){let t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static mp4a(e){let t=e.samplerate;return F.box(F.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0]),F.box(F.types.esds,F.esds(e)))}static mp3(e){let t=e.samplerate;return F.box(F.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,t&255,0,0]))}static stsd(e){return e.type==="audio"?e.segmentCodec==="mp3"&&e.codec==="mp3"?F.box(F.types.stsd,F.STSD,F.mp3(e)):F.box(F.types.stsd,F.STSD,F.mp4a(e)):F.box(F.types.stsd,F.STSD,F.avc1(e))}static tkhd(e){let t=e.id,i=e.duration*e.timescale,s=e.width,n=e.height,a=Math.floor(i/(pr+1)),o=Math.floor(i%(pr+1));return F.box(F.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,s&255,0,0,n>>8&255,n&255,0,0]))}static traf(e,t){let i=F.sdtp(e),s=e.id,n=Math.floor(t/(pr+1)),a=Math.floor(t%(pr+1));return F.box(F.types.traf,F.box(F.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255])),F.box(F.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,a>>24,a>>16&255,a>>8&255,a&255])),F.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,F.box(F.types.trak,F.tkhd(e),F.mdia(e))}static trex(e){let t=e.id;return F.box(F.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let i=e.samples||[],s=i.length,n=12+16*s,a=new Uint8Array(n),o,l,d,c,u,h;for(t+=8+n,a.set([e.type==="video"?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,s&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<s;o++)l=i[o],d=l.duration,c=l.size,u=l.flags,h=l.cts,a.set([d>>>24&255,d>>>16&255,d>>>8&255,d&255,c>>>24&255,c>>>16&255,c>>>8&255,c&255,u.isLeading<<2|u.dependsOn,u.isDependedOn<<6|u.hasRedundancy<<4|u.paddingValue<<1|u.isNonSync,u.degradPrio&240<<8,u.degradPrio&15,h>>>24&255,h>>>16&255,h>>>8&255,h&255],12+16*o);return F.box(F.types.trun,a)}static initSegment(e){F.types||F.init();let t=F.moov(e),i=new Uint8Array(F.FTYP.byteLength+t.byteLength);return i.set(F.FTYP),i.set(t,F.FTYP.byteLength),i}};F.types=void 0;F.HDLR_TYPES=void 0;F.STTS=void 0;F.STSC=void 0;F.STCO=void 0;F.STSZ=void 0;F.VMHD=void 0;F.SMHD=void 0;F.STSD=void 0;F.FTYP=void 0;F.DINF=void 0;var g0=9e4;function Lh(r,e,t=1,i=!1){let s=r*e*t;return i?Math.round(s):s}function U_(r,e,t=1,i=!1){return Lh(r,e,1/t,i)}function Bn(r,e=!1){return Lh(r,1e3,1/g0,e)}function F_(r,e=1){return Lh(r,g0,1/e)}var B_=10*1e3,Sg=1024,$_=1152,al=null,du=null,Vn=class{constructor(e,t,i,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,al===null){let a=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);al=a?parseInt(a[1]):0}if(du===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);du=n?parseInt(n[1]):0}}destroy(){}resetTimeStamp(e){M.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){M.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){M.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1}getVideoStartPts(e){let t=!1,i=e.reduce((s,n)=>{let a=n.pts-s;return a<-4294967296?(t=!0,di(s,n.pts)):a>0?s:n.pts},e[0].pts);return t&&M.debug("PTS rollover detected"),i}remux(e,t,i,s,n,a,o,l){let d,c,u,h,f,g,E=n,T=n,A=e.pid>-1,k=t.pid>-1,L=t.samples.length,N=e.samples.length>0,D=o&&L>0||L>1;if((!A||N)&&(!k||D)||this.ISGenerated||o){this.ISGenerated||(u=this.generateIS(e,t,n,a));let O=this.isVideoContiguous,G=-1,q;if(D&&(G=G_(t.samples),!O&&this.config.forceKeyFrameOnDiscontinuity))if(g=!0,G>0){M.warn(`[mp4-remuxer]: Dropped ${G} out of ${L} video samples due to a missing keyframe`);let P=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(G),t.dropped+=G,T+=(t.samples[0].pts-P)/t.inputTimeScale,q=T}else G===-1&&(M.warn(`[mp4-remuxer]: No keyframe found out of ${L} video samples`),g=!1);if(this.ISGenerated){if(N&&D){let P=this.getVideoStartPts(t.samples),z=(di(e.samples[0].pts,P)-P)/t.inputTimeScale;E+=Math.max(0,z),T+=Math.max(0,-z)}if(N){if(e.samplerate||(M.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),u=this.generateIS(e,t,n,a)),c=this.remuxAudio(e,E,this.isAudioContiguous,a,k||D||l===ge.AUDIO?T:void 0),D){let P=c?c.endPTS-c.startPTS:0;t.inputTimeScale||(M.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),u=this.generateIS(e,t,n,a)),d=this.remuxVideo(t,T,O,P)}}else D&&(d=this.remuxVideo(t,T,O,0));d&&(d.firstKeyFrame=G,d.independent=G!==-1,d.firstKeyFramePTS=q)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(f=v0(i,n,this._initPTS,this._initDTS)),s.samples.length&&(h=E0(s,n,this._initPTS))),{audio:c,video:d,initSegment:u,independent:g,text:h,id3:f}}generateIS(e,t,i,s){let n=e.samples,a=t.samples,o=this.typeSupported,l={},d=this._initPTS,c=!d||s,u="audio/mp4",h,f,g;if(c&&(h=f=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(u="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break}l.audio={id:"audio",container:u,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):F.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(g=e.inputTimeScale,!d||g!==d.timescale?h=f=n[0].pts-Math.round(g*i):c=!1)}if(t.sps&&t.pps&&a.length&&(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:F.initSegment([t]),metadata:{width:t.width,height:t.height}},c))if(g=t.inputTimeScale,!d||g!==d.timescale){let E=this.getVideoStartPts(a),T=Math.round(g*i);f=Math.min(f,di(a[0].dts,E)-T),h=Math.min(h,E-T)}else c=!1;if(Object.keys(l).length)return this.ISGenerated=!0,c?(this._initPTS={baseTime:h,timescale:g},this._initDTS={baseTime:f,timescale:g}):h=g=void 0,{tracks:l,initPTS:h,timescale:g}}remuxVideo(e,t,i,s){let n=e.inputTimeScale,a=e.samples,o=[],l=a.length,d=this._initPTS,c=this.nextAvcDts,u=8,h=this.videoSampleDuration,f,g,E=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,A=!1;if(!i||c===null){let Z=t*n,ae=a[0].pts-di(a[0].dts,a[0].pts);c=Z-ae}let k=d.baseTime*n/d.timescale;for(let Z=0;Z<l;Z++){let ae=a[Z];ae.pts=di(ae.pts-k,c),ae.dts=di(ae.dts-k,c),ae.dts<a[Z>0?Z-1:Z].dts&&(A=!0)}A&&a.sort(function(Z,ae){let ne=Z.dts-ae.dts,xe=Z.pts-ae.pts;return ne||xe}),f=a[0].dts,g=a[a.length-1].dts;let L=g-f,N=L?Math.round(L/(l-1)):h||e.inputTimeScale/30;if(i){let Z=f-c,ae=Z>N,ne=Z<-1;if((ae||ne)&&(ae?M.warn(`AVC: ${Bn(Z,!0)} ms (${Z}dts) hole between fragments detected, filling it`):M.warn(`AVC: ${Bn(-Z,!0)} ms (${Z}dts) overlapping between fragments detected`),!ne||c>=a[0].pts)){f=c;let xe=a[0].pts-Z;a[0].dts=f,a[0].pts=xe,M.log(`Video: First PTS/DTS adjusted: ${Bn(xe,!0)}/${Bn(f,!0)}, delta: ${Bn(Z,!0)} ms`)}}f=Math.max(0,f);let D=0,$=0;for(let Z=0;Z<l;Z++){let ae=a[Z],ne=ae.units,xe=ne.length,Ie=0;for(let Ve=0;Ve<xe;Ve++)Ie+=ne[Ve].data.length;$+=Ie,D+=xe,ae.length=Ie,ae.dts=Math.max(ae.dts,f),E=Math.min(ae.pts,E),T=Math.max(ae.pts,T)}g=a[l-1].dts;let O=$+4*D+8,G;try{G=new Uint8Array(O)}catch(Z){this.observer.emit(y.ERROR,y.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Z,bytes:O,reason:`fail allocating video mdat ${O}`});return}let q=new DataView(G.buffer);q.setUint32(0,O),G.set(F.types.mdat,4);let P=!1,X=Number.POSITIVE_INFINITY,z=Number.POSITIVE_INFINITY,Ae=Number.NEGATIVE_INFINITY,Ee=Number.NEGATIVE_INFINITY;for(let Z=0;Z<l;Z++){let ae=a[Z],ne=ae.units,xe=0;for(let ft=0,V=ne.length;ft<V;ft++){let J=ne[ft],ke=J.data,et=J.data.byteLength;q.setUint32(u,et),u+=4,G.set(ke,u),u+=et,xe+=4+et}let Ie;if(Z<l-1)h=a[Z+1].dts-ae.dts,Ie=a[Z+1].pts-ae.pts;else{let ft=this.config,V=Z>0?ae.dts-a[Z-1].dts:N;if(Ie=Z>0?ae.pts-a[Z-1].pts:N,ft.stretchShortVideoTrack&&this.nextAudioPts!==null){let J=Math.floor(ft.maxBufferHole*n),ke=(s?E+s*n:this.nextAudioPts)-ae.pts;ke>J?(h=ke-V,h<0?h=V:P=!0,M.log(`[mp4-remuxer]: It is approximately ${ke/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=V}else h=V}let Ve=Math.round(ae.pts-ae.dts);X=Math.min(X,h),Ae=Math.max(Ae,h),z=Math.min(z,Ie),Ee=Math.max(Ee,Ie),o.push(new _l(ae.key,h,xe,Ve))}if(o.length){if(al){if(al<70){let Z=o[0].flags;Z.dependsOn=2,Z.isNonSync=0}}else if(du&&Ee-z<Ae-X&&N/Ae<.025&&o[0].cts===0){M.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Z=f;for(let ae=0,ne=o.length;ae<ne;ae++){let xe=Z+o[ae].duration,Ie=Z+o[ae].cts;if(ae<ne-1){let Ve=xe+o[ae+1].cts;o[ae].duration=Ve-Ie}else o[ae].duration=ae?o[ae-1].duration:N;o[ae].cts=0,Z=xe}}}h=P||!h?N:h,this.nextAvcDts=c=g+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let ye=F.moof(e.sequenceNumber++,f,gt({},e,{samples:o})),we="video",Se={data1:ye,data2:G,startPTS:E/n,endPTS:(T+h)/n,startDTS:f/n,endDTS:c/n,type:we,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Se}remuxAudio(e,t,i,s,n){let a=e.inputTimeScale,o=e.samplerate?e.samplerate:a,l=a/o,d=e.segmentCodec==="aac"?Sg:$_,c=d*l,u=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],g=n!==void 0,E=e.samples,T=h?0:8,A=this.nextAudioPts||-1,k=t*a,L=u.baseTime*a/u.timescale;if(this.isAudioContiguous=i=i||E.length&&A>0&&(s&&Math.abs(k-A)<9e3||Math.abs(di(E[0].pts-L,k)-A)<20*c),E.forEach(function(we){we.pts=di(we.pts-L,k)}),!i||A<0){if(E=E.filter(we=>we.pts>=0),!E.length)return;n===0?A=0:s&&!g?A=Math.max(0,k):A=E[0].pts}if(e.segmentCodec==="aac"){let we=this.config.maxAudioFramesDrift;for(let Se=0,Z=A;Se<E.length;Se++){let ae=E[Se],ne=ae.pts,xe=ne-Z,Ie=Math.abs(1e3*xe/a);if(xe<=-we*c&&g)Se===0&&(M.warn(`Audio frame @ ${(ne/a).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*xe/a)} ms.`),this.nextAudioPts=A=Z=ne);else if(xe>=we*c&&Ie<B_&&g){let Ve=Math.round(xe/c);Z=ne-Ve*c,Z<0&&(Ve--,Z+=c),Se===0&&(this.nextAudioPts=A=Z),M.warn(`[mp4-remuxer]: Injecting ${Ve} audio frame @ ${(Z/a).toFixed(3)}s due to ${Math.round(1e3*xe/a)} ms gap.`);for(let ft=0;ft<Ve;ft++){let V=Math.max(Z,0),J=Tl.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);J||(M.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),J=ae.unit.subarray()),E.splice(Se,0,{unit:J,pts:V}),Z+=c,Se++}}ae.pts=Z,Z+=c}}let N=null,D=null,$,O=0,G=E.length;for(;G--;)O+=E[G].unit.byteLength;for(let we=0,Se=E.length;we<Se;we++){let Z=E[we],ae=Z.unit,ne=Z.pts;if(D!==null){let Ie=f[we-1];Ie.duration=Math.round((ne-D)/l)}else if(i&&e.segmentCodec==="aac"&&(ne=A),N=ne,O>0){O+=T;try{$=new Uint8Array(O)}catch(Ie){this.observer.emit(y.ERROR,y.ERROR,{type:pe.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:Ie,bytes:O,reason:`fail allocating audio mdat ${O}`});return}h||(new DataView($.buffer).setUint32(0,O),$.set(F.types.mdat,4))}else return;$.set(ae,T);let xe=ae.byteLength;T+=xe,f.push(new _l(!0,d,xe,0)),D=ne}let q=f.length;if(!q)return;let P=f[f.length-1];this.nextAudioPts=A=D+l*P.duration;let X=h?new Uint8Array(0):F.moof(e.sequenceNumber++,N/l,gt({},e,{samples:f}));e.samples=[];let z=N/a,Ae=A/a,ye={data1:X,data2:$,startPTS:z,endPTS:Ae,startDTS:z,endDTS:Ae,type:"audio",hasAudio:!0,hasVideo:!1,nb:q};return this.isAudioContiguous=!0,ye}remuxEmptyAudio(e,t,i,s){let n=e.inputTimeScale,a=e.samplerate?e.samplerate:n,o=n/a,l=this.nextAudioPts,d=this._initDTS,c=d.baseTime*9e4/d.timescale,u=(l!==null?l:s.startDTS*n)+c,h=s.endDTS*n+c,f=o*Sg,g=Math.ceil((h-u)/f),E=Tl.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(M.warn("[mp4-remuxer]: remux empty Audio"),!E){M.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return}let T=[];for(let A=0;A<g;A++){let k=u+A*f;T.push({unit:E,pts:k,dts:k})}return e.samples=T,this.remuxAudio(e,t,i,!1)}};function di(r,e){let t;if(e===null)return r;for(e<r?t=-8589934592:t=8589934592;Math.abs(r-e)>4294967296;)r+=t;return r}function G_(r){for(let e=0;e<r.length;e++)if(r[e].key)return e;return-1}function v0(r,e,t,i){let s=r.samples.length;if(!s)return;let n=r.inputTimeScale;for(let o=0;o<s;o++){let l=r.samples[o];l.pts=di(l.pts-t.baseTime*n/t.timescale,e*n)/n,l.dts=di(l.dts-i.baseTime*n/i.timescale,e*n)/n}let a=r.samples;return r.samples=[],{samples:a}}function E0(r,e,t){let i=r.samples.length;if(!i)return;let s=r.inputTimeScale;for(let a=0;a<i;a++){let o=r.samples[a];o.pts=di(o.pts-t.baseTime*s/t.timescale,e*s)/s}r.samples.sort((a,o)=>a.pts-o.pts);let n=r.samples;return r.samples=[],{samples:n}}var _l=class{constructor(e,t,i,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=i,this.cts=s,this.flags=new Yu(e)}},Yu=class{constructor(e){this.isLeading=0,this.isDependedOn=0,this.hasRedundancy=0,this.degradPrio=0,this.dependsOn=1,this.isNonSync=1,this.dependsOn=e?2:1,this.isNonSync=e?0:1}},ju=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(xT(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let s=this.initData=jg(e);t||(t=xg(s.audio,qe.AUDIO)),i||(i=xg(s.video,qe.VIDEO));let n={};s.audio&&s.video?n.audiovideo={container:"video/mp4",codec:t+","+i,initSegment:e,id:"main"}:s.audio?n.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?n.video={container:"video/mp4",codec:i,initSegment:e,id:"main"}:M.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,s,n,a){var o,l;let{initPTS:d,lastEndTime:c}=this,u={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};ce(c)||(c=this.lastEndTime=n||0);let h=t.samples;if(!(h!=null&&h.length))return u;let f={initPTS:void 0,timescale:1},g=this.initData;if((o=g)!=null&&o.length||(this.generateInitSegment(h),g=this.initData),!((l=g)!=null&&l.length))return M.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),u;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let E=LT(h,g),T=IT(g,h),A=T===null?n:T;(H_(d,A,n,E)||f.timescale!==d.timescale&&a)&&(f.initPTS=A-n,d&&d.timescale===1&&M.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let k=e?A-d.baseTime/d.timescale:c,L=k+E;RT(g,h,d.baseTime/d.timescale),E>0?this.lastEndTime=L:(M.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let N=!!g.audio,D=!!g.video,$="";N&&($+="audio"),D&&($+="video");let O={data1:h,startPTS:k,startDTS:k,endPTS:L,endDTS:L,type:$,hasAudio:N,hasVideo:D,nb:1,dropped:0};return u.audio=O.type==="audio"?O:void 0,u.video=O.type!=="audio"?O:void 0,u.initSegment=f,u.id3=v0(i,n,d,d),s.samples.length&&(u.text=E0(s,n,d)),u}};function H_(r,e,t,i){if(r===null)return!0;let s=Math.max(i,1),n=e-r.baseTime/r.timescale;return Math.abs(n-t)>s}function xg(r,e){let t=r==null?void 0:r.codec;return t&&t.length>4?t:t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":t==="avc1"||e===qe.VIDEO?"avc1.42e01e":"mp4a.40.5"}var Xi;try{Xi=self.performance.now.bind(self.performance)}catch{M.debug("Unable to use Performance API on this environment"),Xi=typeof self!="undefined"&&self.Date.now}var cu=[{demux:Vu,remux:ju},{demux:Fi,remux:Vn},{demux:Hu,remux:Vn},{demux:qu,remux:Vn}],Al=class{constructor(e,t,i,s,n){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=i,this.vendor=s,this.id=n}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,i,s){let n=i.transmuxing;n.executeStart=Xi();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:d,discontinuity:c,trackSwitch:u,accurateTimeOffset:h,timeOffset:f,initSegmentChange:g}=s||o,{audioCodec:E,videoCodec:T,defaultInitPts:A,duration:k,initSegmentData:L}=l,N=V_(a,t);if(N&&N.method==="AES-128"){let G=this.getDecrypter();if(G.isSync()){let q=G.softwareDecrypt(a,N.key.buffer,N.iv.buffer);if(i.part>-1&&(q=G.flush()),!q)return n.executeEnd=Xi(),uu(i);a=new Uint8Array(q)}else return this.decryptionPromise=G.webCryptoDecrypt(a,N.key.buffer,N.iv.buffer).then(q=>{let P=this.push(q,null,i);return this.decryptionPromise=null,P}),this.decryptionPromise}let D=this.needsProbing(c,u);if(D){let G=this.configureTransmuxer(a);if(G)return M.warn(`[transmuxer] ${G.message}`),this.observer.emit(y.ERROR,y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:G,reason:G.message}),n.executeEnd=Xi(),uu(i)}(c||u||g||D)&&this.resetInitSegment(L,E,T,k,t),(c||g||D)&&this.resetInitialTimestamp(A),d||this.resetContiguity();let $=this.transmux(a,N,f,h,i),O=this.currentTransmuxState;return O.contiguous=!0,O.discontinuity=!1,O.trackSwitch=!1,n.executeEnd=Xi(),$}flush(e){let t=e.transmuxing;t.executeStart=Xi();let{decrypter:i,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return n.then(()=>this.flush(e));let a=[],{timeOffset:o}=s;if(i){let u=i.flush();u&&a.push(this.push(u,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=Xi(),[uu(e)];let c=l.flush(o);return dl(c)?c.then(u=>(this.flushRemux(a,u,e),a)):(this.flushRemux(a,c,e),a)}flushRemux(e,t,i){let{audioTrack:s,videoTrack:n,id3Track:a,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;M.log(`[transmuxer.ts]: Flushed fragment ${i.sn}${i.part>-1?" p: "+i.part:""} of level ${i.level}`);let c=this.remuxer.remux(s,n,a,o,d,l,!0,this.id);e.push({remuxResult:c,chunkMeta:i}),i.transmuxing.executeEnd=Xi()}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;!t||!i||(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,s,n){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,i,s),o.resetInitSegment(e,t,i,n))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,s,n){let a;return t&&t.method==="SAMPLE-AES"?a=this.transmuxSampleAes(e,t,i,s,n):a=this.transmuxUnencrypted(e,i,s,n),a}transmuxUnencrypted(e,t,i,s){let{audioTrack:n,videoTrack:a,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,a,o,l,t,i,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,i,s,n){return this.demuxer.demuxSampleAes(e,t,i).then(a=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,i,s,!1,this.id),chunkMeta:n}))}configureTransmuxer(e){let{config:t,observer:i,typeSupported:s,vendor:n}=this,a;for(let u=0,h=cu.length;u<h;u++)if(cu[u].demux.probe(e)){a=cu[u];break}if(!a)return new Error("Failed to find demuxer by probing fragment data");let o=this.demuxer,l=this.remuxer,d=a.remux,c=a.demux;(!l||!(l instanceof d))&&(this.remuxer=new d(i,t,s,n)),(!o||!(o instanceof c))&&(this.demuxer=new c(i,t,s),this.probe=c.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new jn(this.config)),e}};function V_(r,e){let t=null;return r.byteLength>0&&e!=null&&e.key!=null&&e.iv!==null&&e.method!=null&&(t=e),t}var uu=r=>({remuxResult:{},chunkMeta:r});function dl(r){return"then"in r&&r.then instanceof Function}var zu=class{constructor(e,t,i,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=s,this.defaultInitPts=n||null}},Xu=class{constructor(e,t,i,s,n,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=a}},y0={exports:{}};(function(r){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function s(l,d,c){this.fn=l,this.context=d,this.once=c||!1}function n(l,d,c,u,h){if(typeof c!="function")throw new TypeError("The listener must be a function");var f=new s(c,u||l,h),g=t?t+d:d;return l._events[g]?l._events[g].fn?l._events[g]=[l._events[g],f]:l._events[g].push(f):(l._events[g]=f,l._eventsCount++),l}function a(l,d){--l._eventsCount===0?l._events=new i:delete l._events[d]}function o(){this._events=new i,this._eventsCount=0}o.prototype.eventNames=function(){var d=[],c,u;if(this._eventsCount===0)return d;for(u in c=this._events)e.call(c,u)&&d.push(t?u.slice(1):u);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(c)):d},o.prototype.listeners=function(d){var c=t?t+d:d,u=this._events[c];if(!u)return[];if(u.fn)return[u.fn];for(var h=0,f=u.length,g=new Array(f);h<f;h++)g[h]=u[h].fn;return g},o.prototype.listenerCount=function(d){var c=t?t+d:d,u=this._events[c];return u?u.fn?1:u.length:0},o.prototype.emit=function(d,c,u,h,f,g){var E=t?t+d:d;if(!this._events[E])return!1;var T=this._events[E],A=arguments.length,k,L;if(T.fn){switch(T.once&&this.removeListener(d,T.fn,void 0,!0),A){case 1:return T.fn.call(T.context),!0;case 2:return T.fn.call(T.context,c),!0;case 3:return T.fn.call(T.context,c,u),!0;case 4:return T.fn.call(T.context,c,u,h),!0;case 5:return T.fn.call(T.context,c,u,h,f),!0;case 6:return T.fn.call(T.context,c,u,h,f,g),!0}for(L=1,k=new Array(A-1);L<A;L++)k[L-1]=arguments[L];T.fn.apply(T.context,k)}else{var N=T.length,D;for(L=0;L<N;L++)switch(T[L].once&&this.removeListener(d,T[L].fn,void 0,!0),A){case 1:T[L].fn.call(T[L].context);break;case 2:T[L].fn.call(T[L].context,c);break;case 3:T[L].fn.call(T[L].context,c,u);break;case 4:T[L].fn.call(T[L].context,c,u,h);break;default:if(!k)for(D=1,k=new Array(A-1);D<A;D++)k[D-1]=arguments[D];T[L].fn.apply(T[L].context,k)}}return!0},o.prototype.on=function(d,c,u){return n(this,d,c,u,!1)},o.prototype.once=function(d,c,u){return n(this,d,c,u,!0)},o.prototype.removeListener=function(d,c,u,h){var f=t?t+d:d;if(!this._events[f])return this;if(!c)return a(this,f),this;var g=this._events[f];if(g.fn)g.fn===c&&(!h||g.once)&&(!u||g.context===u)&&a(this,f);else{for(var E=0,T=[],A=g.length;E<A;E++)(g[E].fn!==c||h&&!g[E].once||u&&g[E].context!==u)&&T.push(g[E]);T.length?this._events[f]=T.length===1?T[0]:T:a(this,f)}return this},o.prototype.removeAllListeners=function(d){var c;return d?(c=t?t+d:d,this._events[c]&&a(this,c)):(this._events=new i,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,r.exports=o})(y0);var K_=y0.exports,kh=Qb(K_),hu=Cl()||{isTypeSupported:()=>!1},Sl=class{constructor(e,t,i,s){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=i,this.onFlush=s;let a=(d,c)=>{c=c||{},c.frag=this.frag,c.id=this.id,d===y.ERROR&&(this.error=c.error),this.hls.trigger(d,c)};this.observer=new kh,this.observer.on(y.FRAG_DECRYPTED,a),this.observer.on(y.ERROR,a);let o={mp4:hu.isTypeSupported("video/mp4"),mpeg:hu.isTypeSupported("audio/mpeg"),mp3:hu.isTypeSupported('audio/mp4; codecs="mp3"')},l=navigator.vendor;if(this.useWorker&&typeof Worker!="undefined"&&(n.workerPath||y_())){try{n.workerPath?(M.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=T_(n.workerPath)):(M.log(`injecting Web Worker for "${t}"`),this.workerContext=b_()),this.onwmsg=u=>this.onWorkerMessage(u);let{worker:c}=this.workerContext;c.addEventListener("message",this.onwmsg),c.onerror=u=>{let h=new Error(`${u.message} (${u.filename}:${u.lineno})`);n.enableWorker=!1,M.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h})},c.postMessage({cmd:"init",typeSupported:o,vendor:l,id:t,config:JSON.stringify(n)})}catch(c){M.warn(`Error setting up "${t}" Web Worker, fallback to inline`,c),this.resetWorker(),this.error=null,this.transmuxer=new Al(this.observer,o,n,l,t)}return}this.transmuxer=new Al(this.observer,o,n,l,t)}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,i,s,n,a,o,l,d,c){var u,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,g=a?a.start:n.start,E=n.decryptdata,T=this.frag,A=!(T&&n.cc===T.cc),k=!(T&&d.level===T.level),L=T?d.sn-T.sn:-1,N=this.part?d.part-this.part.index:-1,D=L===0&&d.id>1&&d.id===(T==null?void 0:T.stats.chunkCount),$=!k&&(L===1||L===0&&(N===1||D&&N<=0)),O=self.performance.now();(k||L||n.stats.parsing.start===0)&&(n.stats.parsing.start=O),a&&(N||!$)&&(a.stats.parsing.start=O);let G=!(T&&((u=n.initSegment)==null?void 0:u.url)===((h=T.initSegment)==null?void 0:h.url)),q=new Xu(A,$,l,k,g,G);if(!$||A||G){M.log(`[transmuxer-interface, ${n.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id}
945
+ discontinuity: ${A}
946
+ trackSwitch: ${k}
947
947
  contiguous: ${$}
948
948
  accurateTimeOffset: ${l}
949
949
  timeOffset: ${g}
950
- initSegmentChange: ${H}`);let P=new zu(i,s,t,o,c);this.configureTransmuxer(P)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:E,chunkMeta:d,state:q},e instanceof ArrayBuffer?[e]:[]);else if(f){let P=f.push(e,E,d,q);ll(P)?(f.async=!0,P.then(X=>{this.handleTransmuxComplete(X)}).catch(X=>{this.transmuxerError(X,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(P))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let i=t.flush(e);ll(i)||t.async?(ll(i)||(i=Promise.resolve(i)),i.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(i,e)}}transmuxerError(e,t,i){!this.hls||(this.error=e,this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(i=>{this.handleTransmuxComplete(i)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data,i=this.hls;switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":M[t.data.logType]&&M[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,i.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}},K_=250,fu=2,W_=.1,q_=.05,Qu=class{constructor(e,t,i,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=i,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:i,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,n!==null){if(this.stallReported){let S=self.performance.now()-n;M.warn(`playback not stuck anymore @${a}, after ${Math.round(S)}ms`),this.stallReported=!1}this.stalled=null,this.nudgeRetry=0}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!je.getBuffered(s).length)return;let c=je.bufferInfo(s,a,0),u=c.len>0,h=c.nextStart||0;if(!u&&!h)return;if(o){let S=c.len>fu,R=!h||t&&t.start<=a||h-a>fu&&!this.fragmentTracker.getPartialFragment(a);if(S||R)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var f;let S=Math.max(h,c.start||0)-a,R=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,N=(R==null||(f=R.details)==null?void 0:f.live)?R.details.targetduration*2:fu,D=this.fragmentTracker.getPartialFragment(a);if(S>0&&(S<=N||D)){this._trySkipBufferHole(D);return}}let g=self.performance.now();if(n===null){this.stalled=g;return}let E=g-n;if(!o&&E>=K_&&(this._reportStall(c),!this.media))return;let T=je.bufferInfo(s,a,i.maxBufferHole);this._tryFixBufferStall(T,E)}_tryFixBufferStall(e,t){let{config:i,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>i.maxBufferHole||e.nextStart&&e.nextStart-a<i.maxBufferHole)&&t>i.highBufferWatchdogPeriod*1e3&&(M.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:i,stallReported:s}=this;if(!s&&i){this.stallReported=!0;let n=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${JSON.stringify(e)})`);M.warn(n.message),t.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:i,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=je.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,c=o-n;if(c>0&&(l||d)){if(c>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let g=h.getAppendedFrag(0,ge.MAIN);g&&o<g.end&&(f=!0)}if(!f){let g=e||h.getAppendedFrag(n,ge.MAIN);if(g){let E=!1,T=g.end;for(;T<o;){let S=h.getPartialFragment(T);if(S)T+=S.duration;else{E=!0;break}}if(E)return 0}}}let u=Math.max(o+q_,n+W_);if(M.warn(`skipping hole, adjusting currentTime from ${n} to ${u}`),this.moved=!0,this.stalled=null,s.currentTime=u,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${u}`);i.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return u}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:i,nudgeRetry:s}=this;if(i===null)return;let n=i.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);M.warn(o.message),i.currentTime=a,t.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);M.error(a.message),t.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},Y_=100,Zu=class extends jn{constructor(e,t,i){super(e,t,i,"[stream-controller]",ge.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(y.ERROR,this.onError,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(y.ERROR,this.onError,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),this.onMediaDetaching()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:i}=this;if(this.stopLoad(),this.setInterval(Y_),this.level=-1,!this.startFragRequested){let s=i.startLevel;s===-1&&(i.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=i.nextAutoLevel),this.level=i.nextLoadLevel=s,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=W.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=W.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case W.WAITING_LEVEL:{var e;let{levels:i,level:s}=this,n=i==null||(e=i[s])==null?void 0:e.details;if(n&&(!n.live||this.levelLastLoaded===this.level)){if(this.waitForCdnTuneIn(n))break;this.state=W.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=W.IDLE;break}break}case W.FRAG_LOADING_WAITING_RETRY:{var t;let i=self.performance.now(),s=this.retryDate;(!s||i>=s||(t=this.media)!=null&&t.seeking)&&(this.resetStartWhenNotLoaded(this.level),this.state=W.IDLE)}break}this.state===W.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:s}=this,{config:n,nextLoadLevel:a}=e;if(t===null||!s&&(this.startFragRequested||!n.startFragPrefetch)||this.altAudio&&this.audioOnly||!(i!=null&&i[a]))return;let o=i[a],l=this.getMainFwdBufferInfo();if(l===null)return;let d=this.getLevelDetails();if(d&&this._streamEnded(l,d)){let T={};this.altAudio&&(T.type="video"),this.hls.trigger(y.BUFFER_EOS,T),this.state=W.ENDED;return}e.loadLevel!==a&&e.manualLevel===-1&&this.log(`Adapting to level ${a} from level ${this.level}`),this.level=e.nextLoadLevel=a;let c=o.details;if(!c||this.state===W.WAITING_LEVEL||c.live&&this.levelLastLoaded!==a){this.level=a,this.state=W.WAITING_LEVEL;return}let u=l.len,h=this.getMaxBufferLength(o.maxBitrate);if(u>=h)return;this.backtrackFragment&&this.backtrackFragment.start>l.end&&(this.backtrackFragment=null);let f=this.backtrackFragment?this.backtrackFragment.start:l.end,g=this.getNextFragment(f,c);if(this.couldBacktrack&&!this.fragPrevious&&g&&g.sn!=="initSegment"&&this.fragmentTracker.getState(g)!==_t.OK){var E;let S=((E=this.backtrackFragment)!=null?E:g).sn-c.startSN,R=c.fragments[S-1];R&&g.cc===R.cc&&(g=R,this.fragmentTracker.removeFragment(R))}else this.backtrackFragment&&l.len&&(this.backtrackFragment=null);if(g&&this.isLoopLoading(g,f)){if(!g.gap){let S=this.audioOnly&&!this.altAudio?qe.AUDIO:qe.VIDEO,R=(S===qe.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;R&&this.afterBufferFlushed(R,S,ge.MAIN)}g=this.getNextFragmentLoopLoading(g,c,l,ge.MAIN,h)}!g||(g.initSegment&&!g.initSegment.data&&!this.bitrateTest&&(g=g.initSegment),this.loadFragment(g,o,f))}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===_t.NOT_LOADED||s===_t.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,i)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,ge.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let i,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?i=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:i=0}else i=0;let a=this.getBufferedFrag(t.currentTime+i);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,c=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*.5),d*.75));this.flushMainBuffer(c,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case W.KEY_LOADING:case W.FRAG_LOADING:case W.FRAG_LOADING_WAITING_RETRY:case W.PARSING:case W.PARSED:this.state=W.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new Qu(this.config,i,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;ce(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let i=this.getMainFwdBufferInfo();if(i===null||i.len===0){this.warn(`Main forward buffer length on "seeked" event ${i?i.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(y.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=0,this.levels=this.fragPlaying=this.backtrackFragment=null,this.altAudio=this.audioOnly=!1}onManifestParsed(e,t){let i=!1,s=!1,n;t.levels.forEach(a=>{n=a.audioCodec,n&&(n.indexOf("mp4a.40.2")!==-1&&(i=!0),n.indexOf("mp4a.40.5")!==-1&&(s=!0))}),this.audioCodecSwitch=i&&s&&!v_(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:i}=this;if(!i||this.state!==W.IDLE)return;let s=i[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==t.level||this.waitForCdnTuneIn(s.details))&&(this.state=W.WAITING_LEVEL)}onLevelLoaded(e,t){var i;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===W.FRAG_LOADING||this.state===W.FRAG_LOADING_WAITING_RETRY)&&(d.level!==t.level||d.urlId!==l.urlId)&&d.loader&&this.abortCurrentFrag();let c=0;if(a.live||(i=l.details)!=null&&i.live){if(a.fragments[0]||(a.deltaUpdateFailed=!0),a.deltaUpdateFailed)return;c=this.alignPlaylists(a,l.details)}if(l.details=a,this.levelLastLoaded=n,this.hls.trigger(y.LEVEL_UPDATED,{details:a,level:n}),this.state===W.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=W.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,c),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:i,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return}let o=a[i.level],l=o.details;if(!l){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return}let d=o.videoCodec,c=l.PTSKnown||!l.live,u=(t=i.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new Al(this.hls,ge.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),g=s?s.index:-1,E=g!==-1,T=new qn(i.level,i.sn,i.stats.chunkCount,n.byteLength,g,E),S=this.initPTS[i.cc];f.push(n,u,h,d,i,s,l.totalduration,c,T,S)}onAudioTrackSwitching(e,t){let i=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;i&&(n.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(y.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let i=t.id,s=!!this.hls.audioTracks[i].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let i=t.tracks,s,n,a=!1;for(let o in i){let l=i[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=i[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:i,part:s}=t;if(i&&i.type!==ge.MAIN)return;if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===W.PARSED&&(this.state=W.IDLE);return}let n=s?s.stats:i.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),i.sn!=="initSegment"&&(this.fragPrevious=i),this.fragBufferedComplete(i,s)}onError(e,t){var i;if(t.fatal){this.state=W.ERROR;return}switch(t.details){case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ge.MAIN,t);break;case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:case B.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===W.WAITING_LEVEL&&((i=t.context)==null?void 0:i.type)===Ue.LEVEL&&(this.state=W.IDLE);break;case B.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case B.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!je.getBuffered(e).length){let i=this.state!==W.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,i)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=W.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==qe.AUDIO||this.audioOnly&&!this.altAudio){let i=(t===qe.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(i,t,ge.MAIN)}}onLevelsUpdated(e,t){this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,i=this.startPosition;if(i>=0&&t<i){if(e.seeking){this.log(`could not seek to ${i}, already seeking at ${t}`);return}let s=je.getBuffered(e),a=(s.length?s.start(0):0)-i;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),i+=a,this.startPosition=i),this.log(`seek to target start position ${i} from current time ${t}`),e.currentTime=i}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(i=>{let{hls:s}=this;if(!i||this.fragContextChanged(e))return;t.fragmentError=0,this.state=W.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(y.FRAG_LOADED,i),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let i="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:c}=o,{video:u,text:h,id3:f,initSegment:g}=n,{details:E}=c,T=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=W.PARSING,g){if(g!=null&&g.tracks){let N=l.initSegment||l;this._bufferInitSegment(c,g.tracks,N,a),s.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:N,id:i,tracks:g.tracks})}let R=g.initPTS,x=g.timescale;ce(R)&&(this.initPTS[l.cc]={baseTime:R,timescale:x},s.trigger(y.INIT_PTS_FOUND,{frag:l,id:i,initPTS:R,timescale:x}))}let S=l.sn!==(E==null?void 0:E.startSN);if(u&&n.independent!==!1){if(E){let{startPTS:R,endPTS:x,startDTS:N,endDTS:D}=u;if(d)d.elementaryStreams[u.type]={startPTS:R,endPTS:x,startDTS:N,endDTS:D};else if(u.firstKeyFrame&&u.independent&&a.id===1&&(this.couldBacktrack=!0),u.dropped&&u.independent){let $=this.getMainFwdBufferInfo(),O=($?$.end:this.getLoadPosition())+this.config.maxBufferHole,H=u.firstKeyFramePTS?u.firstKeyFramePTS:R;if(S&&O<H-this.config.maxBufferHole){this.backtrack(l);return}l.setElementaryStreamInfo(u.type,l.start,x,l.start,D,!0)}l.setElementaryStreamInfo(u.type,R,x,N,D),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(u,l,d,a)}}else if(S&&n.independent===!1){this.backtrack(l);return}if(T){let{startPTS:R,endPTS:x,startDTS:N,endDTS:D}=T;d&&(d.elementaryStreams[qe.AUDIO]={startPTS:R,endPTS:x,startDTS:N,endDTS:D}),l.setElementaryStreamInfo(qe.AUDIO,R,x,N,D),this.bufferFragmentData(T,l,d,a)}if(E&&f!=null&&(t=f.samples)!=null&&t.length){let R={id:i,frag:l,details:E,samples:f.samples};s.trigger(y.FRAG_PARSING_METADATA,R)}if(E&&h){let R={id:i,frag:l,details:E,samples:h.samples};s.trigger(y.FRAG_PARSING_USERDATA,R)}}_bufferInitSegment(e,t,i,s){if(this.state!==W.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5"),n.metadata.channelCount!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")),d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.attrs.CODECS||""}/${o.codec}]`),this.hls.trigger(y.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let c=t[l].initSegment;c!=null&&c.byteLength&&this.hls.trigger(y.BUFFER_APPENDING,{type:l,data:c,frag:i,part:null,chunkMeta:s,parent:i.type})}),this.tick()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,ge.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=W.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let i=e.currentTime;if(je.isBuffered(e,i)?t=this.getAppendedFrag(i):je.isBuffered(e,i+.1)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n||t.urlId!==s.urlId)&&(this.fragPlaying=t,this.hls.trigger(y.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(y.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,i=this.currentFrag;if(i&&ce(t)&&ce(i.programDateTime)){let s=i.programDateTime+(t-i.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},gr=class{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){let 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_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},Ju=class{constructor(e,t,i,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new gr(e),this.fast_=new gr(t),this.defaultTTFB_=s,this.ttfb_=new gr(e)}update(e,t){let{slow_:i,fast_:s,ttfb_:n}=this;i.halfLife!==e&&(this.slow_=new gr(e,i.getEstimate(),i.getTotalWeight())),s.halfLife!==t&&(this.fast_=new gr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new gr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let i=8*t,s=e/1e3,n=i/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,i=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(i,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},eh=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=0,this._nextAutoLevel=-1,this.timer=-1,this.onCheck=this._abandonRulesCheck.bind(this),this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this.hls=e;let t=e.config;this.bwEstimator=new Ju(t.abrEwmaSlowVoD,t.abrEwmaFastVoD,t.abrEwmaDefaultEstimate),this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this)}unregisterListeners(){let{hls:e}=this;e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this)}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this.onCheck=null,this.fragCurrent=this.partCurrent=null}onFragLoading(e,t){var i;let s=t.frag;this.ignoreFragment(s)||(this.fragCurrent=s,this.partCurrent=(i=t.part)!=null?i:null,this.clearTimer(),this.timer=self.setInterval(this.onCheck,100))}onLevelSwitching(e,t){this.clearTimer()}getTimeToLoadFrag(e,t,i,s){let n=e+i/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let i=this.hls.config,{total:s,bwEstimate:n}=t.stats;ce(s)&&ce(n)&&(this.lastLevelLoadSec=8*s/n),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}_abandonRulesCheck(){let{fragCurrent:e,partCurrent:t,hls:i}=this,{autoLevelEnabled:s,media:n}=i;if(!e||!n)return;let a=performance.now(),o=t?t.stats:e.stats,l=t?t.duration:e.duration,d=a-o.loading.start;if(o.aborted||o.loaded&&o.loaded===o.total||e.level===0){this.clearTimer(),this._nextAutoLevel=-1;return}if(!s||n.paused||!n.playbackRate||!n.readyState)return;let c=i.mainForwardBufferInfo;if(c===null)return;let u=this.bwEstimator.getEstimateTTFB(),h=Math.abs(n.playbackRate);if(d<=Math.max(u,1e3*(l/(h*2))))return;let f=c.len/h;if(f>=2*l/h)return;let g=o.loading.first?o.loading.first-o.loading.start:-1,E=o.loaded&&g>-1,T=this.bwEstimator.getEstimate(),{levels:S,minAutoLevel:R}=i,x=S[e.level],N=o.total||Math.max(o.loaded,Math.round(l*x.maxBitrate/8)),D=d-g;D<1&&E&&(D=Math.min(d,o.loaded*8/T));let $=E?o.loaded*1e3/D:0,O=$?(N-o.loaded)/$:N*8/T+u/1e3;if(O<=f)return;let H=$?$*8:T,q=Number.POSITIVE_INFINITY,P;for(P=e.level-1;P>R;P--){let X=S[P].maxBitrate;if(q=this.getTimeToLoadFrag(u/1e3,H,l*X,!S[P].details),q<f)break}q>=O||q>l*10||(i.nextLoadLevel=P,E?this.bwEstimator.sample(d-Math.min(u,g),o.loaded):this.bwEstimator.sampleTTFB(d),this.clearTimer(),M.warn(`[abr] Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} is loading too slowly;
950
+ initSegmentChange: ${G}`);let P=new zu(i,s,t,o,c);this.configureTransmuxer(P)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:E,chunkMeta:d,state:q},e instanceof ArrayBuffer?[e]:[]);else if(f){let P=f.push(e,E,d,q);dl(P)?(f.async=!0,P.then(X=>{this.handleTransmuxComplete(X)}).catch(X=>{this.transmuxerError(X,d,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(P))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let i=t.flush(e);dl(i)||t.async?(dl(i)||(i=Promise.resolve(i)),i.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(i,e)}}transmuxerError(e,t,i){!this.hls||(this.error=e,this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(i=>{this.handleTransmuxComplete(i)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data,i=this.hls;switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":M[t.data.logType]&&M[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,i.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}},W_=250,fu=2,q_=.1,Y_=.05,Qu=class{constructor(e,t,i,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=i,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){let{config:i,media:s,stalled:n}=this;if(s===null)return;let{currentTime:a,seeking:o}=s,l=this.seeking&&!o,d=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,n!==null){if(this.stallReported){let A=self.performance.now()-n;M.warn(`playback not stuck anymore @${a}, after ${Math.round(A)}ms`),this.stallReported=!1}this.stalled=null,this.nudgeRetry=0}return}if(d||l){this.stalled=null;return}if(s.paused&&!o||s.ended||s.playbackRate===0||!je.getBuffered(s).length)return;let c=je.bufferInfo(s,a,0),u=c.len>0,h=c.nextStart||0;if(!u&&!h)return;if(o){let A=c.len>fu,k=!h||t&&t.start<=a||h-a>fu&&!this.fragmentTracker.getPartialFragment(a);if(A||k)return;this.moved=!1}if(!this.moved&&this.stalled!==null){var f;let A=Math.max(h,c.start||0)-a,k=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,N=(k==null||(f=k.details)==null?void 0:f.live)?k.details.targetduration*2:fu,D=this.fragmentTracker.getPartialFragment(a);if(A>0&&(A<=N||D)){this._trySkipBufferHole(D);return}}let g=self.performance.now();if(n===null){this.stalled=g;return}let E=g-n;if(!o&&E>=W_&&(this._reportStall(c),!this.media))return;let T=je.bufferInfo(s,a,i.maxBufferHole);this._tryFixBufferStall(T,E)}_tryFixBufferStall(e,t){let{config:i,fragmentTracker:s,media:n}=this;if(n===null)return;let a=n.currentTime,o=s.getPartialFragment(a);o&&(this._trySkipBufferHole(o)||!this.media)||(e.len>i.maxBufferHole||e.nextStart&&e.nextStart-a<i.maxBufferHole)&&t>i.highBufferWatchdogPeriod*1e3&&(M.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){let{hls:t,media:i,stallReported:s}=this;if(!s&&i){this.stallReported=!0;let n=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${JSON.stringify(e)})`);M.warn(n.message),t.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_STALLED_ERROR,fatal:!1,error:n,buffer:e.len})}}_trySkipBufferHole(e){let{config:t,hls:i,media:s}=this;if(s===null)return 0;let n=s.currentTime,a=je.bufferInfo(s,n,0),o=n<a.start?a.start:a.nextStart;if(o){let l=a.len<=t.maxBufferHole,d=a.len>0&&a.len<1&&s.readyState<3,c=o-n;if(c>0&&(l||d)){if(c>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(n===0){let g=h.getAppendedFrag(0,ge.MAIN);g&&o<g.end&&(f=!0)}if(!f){let g=e||h.getAppendedFrag(n,ge.MAIN);if(g){let E=!1,T=g.end;for(;T<o;){let A=h.getPartialFragment(T);if(A)T+=A.duration;else{E=!0;break}}if(E)return 0}}}let u=Math.max(o+Y_,n+q_);if(M.warn(`skipping hole, adjusting currentTime from ${n} to ${u}`),this.moved=!0,this.stalled=null,s.currentTime=u,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${n} to ${u}`);i.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e})}return u}}return 0}_tryNudgeBuffer(){let{config:e,hls:t,media:i,nudgeRetry:s}=this;if(i===null)return;let n=i.currentTime;if(this.nudgeRetry++,s<e.nudgeMaxRetry){let a=n+(s+1)*e.nudgeOffset,o=new Error(`Nudging 'currentTime' from ${n} to ${a}`);M.warn(o.message),i.currentTime=a,t.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1})}else{let a=new Error(`Playhead still not moving while enough data buffered @${n} after ${e.nudgeMaxRetry} nudges`);M.error(a.message),t.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_STALLED_ERROR,error:a,fatal:!0})}}},j_=100,Zu=class extends zn{constructor(e,t,i){super(e,t,i,"[stream-controller]",ge.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(y.ERROR,this.onError,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(y.ERROR,this.onError,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this._unregisterListeners(),this.onMediaDetaching()}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:i}=this;if(this.stopLoad(),this.setInterval(j_),this.level=-1,!this.startFragRequested){let s=i.startLevel;s===-1&&(i.config.testBandwidth&&this.levels.length>1?(s=0,this.bitrateTest=!0):s=i.nextAutoLevel),this.level=i.nextLoadLevel=s,this.loadedmetadata=!1}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=W.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=W.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case W.WAITING_LEVEL:{var e;let{levels:i,level:s}=this,n=i==null||(e=i[s])==null?void 0:e.details;if(n&&(!n.live||this.levelLastLoaded===this.level)){if(this.waitForCdnTuneIn(n))break;this.state=W.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=W.IDLE;break}break}case W.FRAG_LOADING_WAITING_RETRY:{var t;let i=self.performance.now(),s=this.retryDate;(!s||i>=s||(t=this.media)!=null&&t.seeking)&&(this.resetStartWhenNotLoaded(this.level),this.state=W.IDLE)}break}this.state===W.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:s}=this,{config:n,nextLoadLevel:a}=e;if(t===null||!s&&(this.startFragRequested||!n.startFragPrefetch)||this.altAudio&&this.audioOnly||!(i!=null&&i[a]))return;let o=i[a],l=this.getMainFwdBufferInfo();if(l===null)return;let d=this.getLevelDetails();if(d&&this._streamEnded(l,d)){let T={};this.altAudio&&(T.type="video"),this.hls.trigger(y.BUFFER_EOS,T),this.state=W.ENDED;return}e.loadLevel!==a&&e.manualLevel===-1&&this.log(`Adapting to level ${a} from level ${this.level}`),this.level=e.nextLoadLevel=a;let c=o.details;if(!c||this.state===W.WAITING_LEVEL||c.live&&this.levelLastLoaded!==a){this.level=a,this.state=W.WAITING_LEVEL;return}let u=l.len,h=this.getMaxBufferLength(o.maxBitrate);if(u>=h)return;this.backtrackFragment&&this.backtrackFragment.start>l.end&&(this.backtrackFragment=null);let f=this.backtrackFragment?this.backtrackFragment.start:l.end,g=this.getNextFragment(f,c);if(this.couldBacktrack&&!this.fragPrevious&&g&&g.sn!=="initSegment"&&this.fragmentTracker.getState(g)!==_t.OK){var E;let A=((E=this.backtrackFragment)!=null?E:g).sn-c.startSN,k=c.fragments[A-1];k&&g.cc===k.cc&&(g=k,this.fragmentTracker.removeFragment(k))}else this.backtrackFragment&&l.len&&(this.backtrackFragment=null);if(g&&this.isLoopLoading(g,f)){if(!g.gap){let A=this.audioOnly&&!this.altAudio?qe.AUDIO:qe.VIDEO,k=(A===qe.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;k&&this.afterBufferFlushed(k,A,ge.MAIN)}g=this.getNextFragmentLoopLoading(g,c,l,ge.MAIN,h)}!g||(g.initSegment&&!g.initSegment.data&&!this.bitrateTest&&(g=g.initSegment),this.loadFragment(g,o,f))}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===_t.NOT_LOADED||s===_t.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,i)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,ge.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let i,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let o=this.getMainFwdBufferInfo();if(!o||o.len<n.targetduration*2)return}if(!t.paused&&e){let o=this.hls.nextLoadLevel,l=e[o],d=this.fragLastKbps;d&&this.fragCurrent?i=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:i=0}else i=0;let a=this.getBufferedFrag(t.currentTime+i);if(a){let o=this.followingBufferedFrag(a);if(o){this.abortCurrentFrag();let l=o.maxStartPTS?o.maxStartPTS:o.start,d=o.duration,c=Math.max(a.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*.5),d*.75));this.flushMainBuffer(c,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case W.KEY_LOADING:case W.FRAG_LOADING:case W.FRAG_LOADING_WAITING_RETRY:case W.PARSING:case W.PARSED:this.state=W.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new Qu(this.config,i,this.fragmentTracker,this.hls)}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;ce(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let i=this.getMainFwdBufferInfo();if(i===null||i.len===0){this.warn(`Main forward buffer length on "seeked" event ${i?i.len:"empty"})`);return}this.tick()}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(y.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=0,this.levels=this.fragPlaying=this.backtrackFragment=null,this.altAudio=this.audioOnly=!1}onManifestParsed(e,t){let i=!1,s=!1,n;t.levels.forEach(a=>{n=a.audioCodec,n&&(n.indexOf("mp4a.40.2")!==-1&&(i=!0),n.indexOf("mp4a.40.5")!==-1&&(s=!0))}),this.audioCodecSwitch=i&&s&&!E_(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:i}=this;if(!i||this.state!==W.IDLE)return;let s=i[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==t.level||this.waitForCdnTuneIn(s.details))&&(this.state=W.WAITING_LEVEL)}onLevelLoaded(e,t){var i;let{levels:s}=this,n=t.level,a=t.details,o=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${n}`);return}this.log(`Level ${n} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);let l=s[n],d=this.fragCurrent;d&&(this.state===W.FRAG_LOADING||this.state===W.FRAG_LOADING_WAITING_RETRY)&&(d.level!==t.level||d.urlId!==l.urlId)&&d.loader&&this.abortCurrentFrag();let c=0;if(a.live||(i=l.details)!=null&&i.live){if(a.fragments[0]||(a.deltaUpdateFailed=!0),a.deltaUpdateFailed)return;c=this.alignPlaylists(a,l.details)}if(l.details=a,this.levelLastLoaded=n,this.hls.trigger(y.LEVEL_UPDATED,{details:a,level:n}),this.state===W.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=W.IDLE}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,c),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:i,part:s,payload:n}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return}let o=a[i.level],l=o.details;if(!l){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return}let d=o.videoCodec,c=l.PTSKnown||!l.live,u=(t=i.initSegment)==null?void 0:t.data,h=this._getAudioCodec(o),f=this.transmuxer=this.transmuxer||new Sl(this.hls,ge.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),g=s?s.index:-1,E=g!==-1,T=new Yn(i.level,i.sn,i.stats.chunkCount,n.byteLength,g,E),A=this.initPTS[i.cc];f.push(n,u,h,d,i,s,l.totalduration,c,T,A)}onAudioTrackSwitching(e,t){let i=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;a&&(this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();let n=this.hls;i&&(n.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),n.trigger(y.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let i=t.id,s=!!this.hls.audioTracks[i].url;if(s){let n=this.videoBuffer;n&&this.mediaBuffer!==n&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=n)}this.altAudio=s,this.tick()}onBufferCreated(e,t){let i=t.tracks,s,n,a=!1;for(let o in i){let l=i[o];if(l.id==="main"){if(n=o,s=l,o==="video"){let d=i[o];d&&(this.videoBuffer=d.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:i,part:s}=t;if(i&&i.type!==ge.MAIN)return;if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===W.PARSED&&(this.state=W.IDLE);return}let n=s?s.stats:i.stats;this.fragLastKbps=Math.round(8*n.total/(n.buffering.end-n.loading.first)),i.sn!=="initSegment"&&(this.fragPrevious=i),this.fragBufferedComplete(i,s)}onError(e,t){var i;if(t.fatal){this.state=W.ERROR;return}switch(t.details){case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ge.MAIN,t);break;case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:case B.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===W.WAITING_LEVEL&&((i=t.context)==null?void 0:i.type)===Ue.LEVEL&&(this.state=W.IDLE);break;case B.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case B.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!je.getBuffered(e).length){let i=this.state!==W.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,i)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=W.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==qe.AUDIO||this.audioOnly&&!this.altAudio){let i=(t===qe.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(i,t,ge.MAIN)}}onLevelsUpdated(e,t){this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,i=this.startPosition;if(i>=0&&t<i){if(e.seeking){this.log(`could not seek to ${i}, already seeking at ${t}`);return}let s=je.getBuffered(e),a=(s.length?s.start(0):0)-i;a>0&&(a<this.config.maxBufferHole||a<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${a} to match buffer start`),i+=a,this.startPosition=i),this.log(`seek to target start position ${i} from current time ${t}`),e.currentTime=i}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(i=>{let{hls:s}=this;if(!i||this.fragContextChanged(e))return;t.fragmentError=0,this.state=W.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),s.trigger(y.FRAG_LOADED,i),e.bitrateTest=!1})}_handleTransmuxComplete(e){var t;let i="main",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:c}=o,{video:u,text:h,id3:f,initSegment:g}=n,{details:E}=c,T=this.altAudio?void 0:n.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=W.PARSING,g){if(g!=null&&g.tracks){let L=l.initSegment||l;this._bufferInitSegment(c,g.tracks,L,a),s.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:L,id:i,tracks:g.tracks})}let A=g.initPTS,k=g.timescale;ce(A)&&(this.initPTS[l.cc]={baseTime:A,timescale:k},s.trigger(y.INIT_PTS_FOUND,{frag:l,id:i,initPTS:A,timescale:k}))}if(u&&E&&l.sn!=="initSegment"){let A=E.fragments[l.sn-1-E.startSN],k=l.sn===E.startSN,L=!A||l.cc>A.cc;if(n.independent!==!1){let{startPTS:N,endPTS:D,startDTS:$,endDTS:O}=u;if(d)d.elementaryStreams[u.type]={startPTS:N,endPTS:D,startDTS:$,endDTS:O};else if(u.firstKeyFrame&&u.independent&&a.id===1&&!L&&(this.couldBacktrack=!0),u.dropped&&u.independent){let G=this.getMainFwdBufferInfo(),q=(G?G.end:this.getLoadPosition())+this.config.maxBufferHole,P=u.firstKeyFramePTS?u.firstKeyFramePTS:N;if(!k&&q<P-this.config.maxBufferHole&&!L){this.backtrack(l);return}else L&&(l.gap=!0);l.setElementaryStreamInfo(u.type,l.start,D,l.start,O,!0)}l.setElementaryStreamInfo(u.type,N,D,$,O),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(u,l,d,a,k||L)}else if(k||L)l.gap=!0;else{this.backtrack(l);return}}if(T){let{startPTS:A,endPTS:k,startDTS:L,endDTS:N}=T;d&&(d.elementaryStreams[qe.AUDIO]={startPTS:A,endPTS:k,startDTS:L,endDTS:N}),l.setElementaryStreamInfo(qe.AUDIO,A,k,L,N),this.bufferFragmentData(T,l,d,a)}if(E&&f!=null&&(t=f.samples)!=null&&t.length){let A={id:i,frag:l,details:E,samples:f.samples};s.trigger(y.FRAG_PARSING_METADATA,A)}if(E&&h){let A={id:i,frag:l,details:E,samples:h.samples};s.trigger(y.FRAG_PARSING_USERDATA,A)}}_bufferInitSegment(e,t,i,s){if(this.state!==W.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:n,video:a,audiovideo:o}=t;if(n){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5"),n.metadata.channelCount!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5")),d.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),n.levelCodec=l,n.id="main",this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${n.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.attrs.CODECS||""}/${o.codec}]`),this.hls.trigger(y.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let c=t[l].initSegment;c!=null&&c.byteLength&&this.hls.trigger(y.BUFFER_APPENDING,{type:l,data:c,frag:i,part:null,chunkMeta:s,parent:i.type})}),this.tick()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,ge.MAIN)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=W.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let i=e.currentTime;if(je.isBuffered(e,i)?t=this.getAppendedFrag(i):je.isBuffered(e,i+.1)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n||t.urlId!==s.urlId)&&(this.fragPlaying=t,this.hls.trigger(y.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(y.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,i=this.currentFrag;if(i&&ce(t)&&ce(i.programDateTime)){let s=i.programDateTime+(t-i.start)*1e3;return new Date(s)}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},gr=class{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){let 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_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}},Ju=class{constructor(e,t,i,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new gr(e),this.fast_=new gr(t),this.defaultTTFB_=s,this.ttfb_=new gr(e)}update(e,t){let{slow_:i,fast_:s,ttfb_:n}=this;i.halfLife!==e&&(this.slow_=new gr(e,i.getEstimate(),i.getTotalWeight())),s.halfLife!==t&&(this.fast_=new gr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new gr(e,n.getEstimate(),n.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let i=8*t,s=e/1e3,n=i/s;this.fast_.sample(s,n),this.slow_.sample(s,n)}sampleTTFB(e){let t=e/1e3,i=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(i,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}},eh=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=0,this._nextAutoLevel=-1,this.timer=-1,this.onCheck=this._abandonRulesCheck.bind(this),this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this.hls=e;let t=e.config;this.bwEstimator=new Ju(t.abrEwmaSlowVoD,t.abrEwmaFastVoD,t.abrEwmaDefaultEstimate),this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this)}unregisterListeners(){let{hls:e}=this;e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this)}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this.onCheck=null,this.fragCurrent=this.partCurrent=null}onFragLoading(e,t){var i;let s=t.frag;this.ignoreFragment(s)||(this.fragCurrent=s,this.partCurrent=(i=t.part)!=null?i:null,this.clearTimer(),this.timer=self.setInterval(this.onCheck,100))}onLevelSwitching(e,t){this.clearTimer()}getTimeToLoadFrag(e,t,i,s){let n=e+i/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let i=this.hls.config,{total:s,bwEstimate:n}=t.stats;ce(s)&&ce(n)&&(this.lastLevelLoadSec=8*s/n),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}_abandonRulesCheck(){let{fragCurrent:e,partCurrent:t,hls:i}=this,{autoLevelEnabled:s,media:n}=i;if(!e||!n)return;let a=performance.now(),o=t?t.stats:e.stats,l=t?t.duration:e.duration,d=a-o.loading.start;if(o.aborted||o.loaded&&o.loaded===o.total||e.level===0){this.clearTimer(),this._nextAutoLevel=-1;return}if(!s||n.paused||!n.playbackRate||!n.readyState)return;let c=i.mainForwardBufferInfo;if(c===null)return;let u=this.bwEstimator.getEstimateTTFB(),h=Math.abs(n.playbackRate);if(d<=Math.max(u,1e3*(l/(h*2))))return;let f=c.len/h;if(f>=2*l/h)return;let g=o.loading.first?o.loading.first-o.loading.start:-1,E=o.loaded&&g>-1,T=this.bwEstimator.getEstimate(),{levels:A,minAutoLevel:k}=i,L=A[e.level],N=o.total||Math.max(o.loaded,Math.round(l*L.maxBitrate/8)),D=d-g;D<1&&E&&(D=Math.min(d,o.loaded*8/T));let $=E?o.loaded*1e3/D:0,O=$?(N-o.loaded)/$:N*8/T+u/1e3;if(O<=f)return;let G=$?$*8:T,q=Number.POSITIVE_INFINITY,P;for(P=e.level-1;P>k;P--){let X=A[P].maxBitrate;if(q=this.getTimeToLoadFrag(u/1e3,G,l*X,!A[P].details),q<f)break}q>=O||q>l*10||(i.nextLoadLevel=P,E?this.bwEstimator.sample(d-Math.min(u,g),o.loaded):this.bwEstimator.sampleTTFB(d),this.clearTimer(),M.warn(`[abr] Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} is loading too slowly;
951
951
  Time to underbuffer: ${f.toFixed(3)} s
952
952
  Estimated load time for current fragment: ${O.toFixed(3)} s
953
953
  Estimated load time for down switch fragment: ${q.toFixed(3)} s
954
954
  TTFB estimate: ${g}
955
955
  Current BW estimate: ${ce(T)?(T/1024).toFixed(3):"Unknown"} Kb/s
956
956
  New BW estimate: ${(this.bwEstimator.getEstimate()/1024).toFixed(3)} Kb/s
957
- Aborting and switching to level ${P}`),e.loader&&(this.fragCurrent=this.partCurrent=null,e.abortRequests()),i.trigger(y.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:t,stats:o}))}onFragLoaded(e,{frag:t,part:i}){let s=i?i.stats:t.stats;if(t.type===ge.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),this.lastLoadedFragLevel=t.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){let n=i?i.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(y.FRAG_BUFFERED,n),t.bitrateTest=!1}}}onFragBuffered(e,t){let{frag:i,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:i.stats;if(n.aborted||this.ignoreFragment(i))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.bwEstimator.getEstimate(),i.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==ge.MAIN||e.sn==="initSegment"}clearTimer(){self.clearInterval(this.timer)}get nextAutoLevel(){let e=this._nextAutoLevel,t=this.bwEstimator;if(e!==-1&&!t.canEstimate())return e;let i=this.getNextABRAutoLevel();if(e!==-1){let s=this.hls.levels;if(s.length>Math.max(e,i)&&s[e].loadError<=s[i].loadError)return e}return e!==-1&&(i=Math.min(e,i)),i}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this,{maxAutoLevel:s,config:n,minAutoLevel:a,media:o}=i,l=t?t.duration:e?e.duration:0,d=o&&o.playbackRate!==0?Math.abs(o.playbackRate):1,c=this.bwEstimator?this.bwEstimator.getEstimate():n.abrEwmaDefaultEstimate,u=i.mainForwardBufferInfo,h=(u?u.len:0)/d,f=this.findBestLevel(c,a,s,h,n.abrBandWidthFactor,n.abrBandWidthUpFactor);if(f>=0)return f;M.trace(`[abr] ${h?"rebuffering expected":"buffer is empty"}, finding optimal quality level`);let g=l?Math.min(l,n.maxStarvationDelay):n.maxStarvationDelay,E=n.abrBandWidthFactor,T=n.abrBandWidthUpFactor;if(!h){let S=this.bitrateTestDelay;S&&(g=(l?Math.min(l,n.maxLoadingDelay):n.maxLoadingDelay)-S,M.trace(`[abr] bitrate test took ${Math.round(1e3*S)}ms, set first fragment max fetchDuration to ${Math.round(1e3*g)} ms`),E=T=1)}return f=this.findBestLevel(c,a,s,h+g,E,T),Math.max(f,0)}findBestLevel(e,t,i,s,n,a){var o;let{fragCurrent:l,partCurrent:d,lastLoadedFragLevel:c}=this,{levels:u}=this.hls,h=u[c],f=!!(h!=null&&(o=h.details)!=null&&o.live),g=h==null?void 0:h.codecSet,E=d?d.duration:l?l.duration:0,T=this.bwEstimator.getEstimateTTFB()/1e3,S=t,R=-1;for(let x=i;x>=t;x--){let N=u[x];if(!N||g&&N.codecSet!==g){N&&(S=Math.min(x,S),R=Math.max(x,R));continue}R!==-1&&M.trace(`[abr] Skipped level(s) ${S}-${R} with CODECS:"${u[R].attrs.CODECS}"; not compatible with "${h.attrs.CODECS}"`);let D=N.details,$=(d?D==null?void 0:D.partTarget:D==null?void 0:D.averagetargetduration)||E,O;x<=c?O=n*e:O=a*e;let H=u[x].maxBitrate,q=this.getTimeToLoadFrag(T,O,H*$,D===void 0);if(M.trace(`[abr] level:${x} adjustedbw-bitrate:${Math.round(O-H)} avgDuration:${$.toFixed(1)} maxFetchDuration:${s.toFixed(1)} fetchDuration:${q.toFixed(1)}`),O>H&&(q===0||!ce(q)||f&&!this.bitrateTestDelay||q<s))return x}return-1}set nextAutoLevel(e){this._nextAutoLevel=e}},Sl=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,i;if(e.length)e.length===1?i=e[0]:i=j_(e,t);else return new Uint8Array(0);return this.reset(),i}reset(){this.chunks.length=0,this.dataLength=0}};function j_(r,e){let t=new Uint8Array(e),i=0;for(let s=0;s<r.length;s++){let n=r[s];t.set(n,i),i+=n.length}return t}var Ig=100,th=class extends jn{constructor(e,t,i){super(e,t,i,"[audio-stream-controller]",ge.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.ERROR,this.onError,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){if(i==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===W.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=W.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(Ig),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=W.IDLE):(this.loadedmetadata=!1,this.state=W.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case W.IDLE:this.doTickIdle();break;case W.WAITING_TRACK:{var e;let{levels:i,trackId:s}=this,n=i==null||(e=i[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=W.WAITING_INIT_PTS}break}case W.FRAG_LOADING_WAITING_RETRY:{var t;let i=performance.now(),s=this.retryDate;(!s||i>=s||(t=this.media)!=null&&t.seeking)&&(this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded(this.trackId),this.state=W.IDLE);break}case W.WAITING_INIT_PTS:{let i=this.waitingData;if(i){let{frag:s,part:n,cache:a,complete:o}=i;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=W.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=je.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Cu(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=W.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=W.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;!(e!=null&&e.readyState)||(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:i,trackId:s}=this,n=e.config;if(!(t!=null&&t[s])||!i&&(this.startFragRequested||!n.startFragPrefetch))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(o)){this.state=W.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,qe.AUDIO,ge.AUDIO));let d=this.getFwdBufferInfo(l,ge.AUDIO);if(d===null)return;let{bufferedTrack:c,switchingTrack:u}=this;if(!u&&this._streamEnded(d,o)){e.trigger(y.BUFFER_EOS,{type:"audio"}),this.state=W.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,ge.MAIN),f=d.len,g=this.getMaxBufferLength(h==null?void 0:h.len);if(f>=g&&!u)return;let T=o.fragments[0].start,S=d.end;if(u&&i){let D=this.getLoadPosition();c&&u.attrs!==c.attrs&&(S=D),o.PTSKnown&&D<T&&(d.end>T||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=T+.05)}let R=this.getNextFragment(S,o),x=!1;if(R&&this.isLoopLoading(R,S)&&(x=!!R.gap,R=this.getNextFragmentLoopLoading(R,o,d,ge.MAIN,g)),!R){this.bufferFlushed=!0;return}let N=h&&R.start>h.end+o.targetduration;if(N||!(h!=null&&h.len)&&d.len){let D=this.getAppendedFrag(R.start,ge.MAIN);if(D===null||(x||(x=!!D.gap||!!N&&h.len===0),N&&!x||x&&d.nextStart&&d.nextStart<D.end))return}this.loadFragment(R,a,S)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(i=>new Kr(i))}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),i?this.setInterval(Ig):this.resetTransmuxer(),i?(this.switchingTrack=t,this.state=W.IDLE):(this.switchingTrack=null,this.bufferedTrack=t,this.state=W.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(y.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var i;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(i=o.details)!=null&&i.live){let d=this.mainDetails;if(n.fragments[0]||(n.deltaUpdateFailed=!0),n.deltaUpdateFailed||!d)return;!o.details&&n.hasProgramDateTime&&d.hasProgramDateTime?(a0(n,d),l=n.fragments[0].start):l=this.alignPlaylists(n,o.details)}o.details=n,this.levelLastLoaded=a,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(o.details,l),this.state===W.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=W.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:i,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let c=d.details;if(!c){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return}let u=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new Al(this.hls,ge.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[i.cc],g=(t=i.initSegment)==null?void 0:t.data;if(f!==void 0){let T=s?s.index:-1,S=T!==-1,R=new qn(i.level,i.sn,i.stats.chunkCount,n.byteLength,T,S);h.push(n,g,u,"",i,s,c.totalduration,!1,R,f)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${c.startSN} ,${c.endSN}],track ${o}`);let{cache:E}=this.waitingData=this.waitingData||{frag:i,part:s,cache:new Sl,complete:!1};E.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=W.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:i,part:s}=t;if(i.type!==ge.AUDIO){if(!this.loadedmetadata&&i.type===ge.MAIN){let n=this.videoBuffer||this.media;n&&je.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(i.sn!=="initSegment"){this.fragPrevious=i;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(y.AUDIO_TRACK_SWITCHED,zt({},n)))}this.fragBufferedComplete(i,s)}onError(e,t){var i;if(t.fatal){this.state=W.ERROR;return}switch(t.details){case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ge.AUDIO,t);break;case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===W.WAITING_TRACK&&((i=t.context)==null?void 0:i.type)===Ue.AUDIO_TRACK&&(this.state=W.IDLE);break;case B.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case B.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushed(e,{type:t}){t===qe.AUDIO&&(this.bufferFlushed=!0,this.state===W.ENDED&&(this.state=W.IDLE))}_handleTransmuxComplete(e){var t;let i="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:c}=o,{details:u}=c,{audio:h,text:f,id3:g,initSegment:E}=n;if(this.fragContextChanged(l)||!u){this.fragmentTracker.removeFragment(l);return}if(this.state=W.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),E!=null&&E.tracks){let T=l.initSegment||l;this._bufferInitSegment(E.tracks,T,a),s.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:i,tracks:E.tracks})}if(h){let{startPTS:T,endPTS:S,startDTS:R,endDTS:x}=h;d&&(d.elementaryStreams[qe.AUDIO]={startPTS:T,endPTS:S,startDTS:R,endDTS:x}),l.setElementaryStreamInfo(qe.AUDIO,T,S,R,x),this.bufferFragmentData(h,l,d,a)}if(g!=null&&(t=g.samples)!=null&&t.length){let T=gt({id:i,frag:l,details:u},g);s.trigger(y.FRAG_PARSING_METADATA,T)}if(f){let T=gt({id:i,frag:l,details:u},f);s.trigger(y.FRAG_PARSING_USERDATA,T)}}_bufferInitSegment(e,t,i){if(this.state!==W.PARSING)return;e.video&&delete e.video;let s=e.audio;if(!s)return;s.levelCodec=s.codec,s.id="audio",this.log(`Init audio buffer, container:${s.container}, codecs[parsed]=[${s.codec}]`),this.hls.trigger(y.BUFFER_CODECS,e);let n=s.initSegment;if(n!=null&&n.byteLength){let a={type:"audio",frag:t,part:null,chunkMeta:i,parent:t.type,data:n};this.hls.trigger(y.BUFFER_APPENDING,a)}this.tick()}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===_t.NOT_LOADED||s===_t.PARTIAL){var n;e.sn==="initSegment"?this._loadInitSegment(e,t):(n=t.details)!=null&&n.live&&!this.initPTS[e.cc]?(this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=W.WAITING_INIT_PTS):(this.startFragRequested=!0,super.loadFragment(e,t,i))}else this.clearTrackerIfNeeded(e)}completeAudioSwitch(e){let{hls:t,media:i,bufferedTrack:s}=this,n=s==null?void 0:s.attrs,a=e.attrs;i&&n&&(n.CHANNELS!==a.CHANNELS||n.NAME!==a.NAME||n.LANGUAGE!==a.LANGUAGE)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio")),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(y.AUDIO_TRACK_SWITCHED,zt({},e))}},ih=class extends Wn{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:i,groupId:s,details:n}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s){this.warn(`Track with id:${i} and group:${s} not found in active group ${a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`audio-track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!(t!=null&&t.audioGroupIds))return;let i=t.audioGroupIds[t.urlId];if(this.groupId!==i){this.groupId=i||null;let s=this.tracks.filter(a=>!i||a.groupId===i);this.selectDefaultTrack&&!s.some(a=>a.default)&&(this.selectDefaultTrack=!1),this.tracksInGroup=s;let n={audioTracks:s};this.log(`Updating audio tracks, ${s.length} track(s) found in group:${i}`),this.hls.trigger(y.AUDIO_TRACKS_UPDATED,n),this.selectInitialTrack()}else this.shouldReloadPlaylist(this.currentTrack)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===Ue.AUDIO_TRACK&&t.context.id===this.trackId&&t.context.groupId===this.groupId&&(this.requestScheduled=-1,this.checkRetry(t))}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn("Invalid id passed to audio-track controller");return}this.clearTimer();let i=this.currentTrack;t[this.trackId];let s=t[e],{groupId:n,name:a}=s;if(this.log(`Switching to audio-track ${e} "${a}" lang:${s.lang} group:${n}`),this.trackId=e,this.currentTrack=s,this.selectDefaultTrack=!1,this.hls.trigger(y.AUDIO_TRACK_SWITCHING,zt({},s)),s.details&&!s.details.live)return;let o=this.switchParams(s.url,i==null?void 0:i.details);this.loadPlaylist(o)}selectInitialTrack(){let e=this.tracksInGroup,t=this.findTrackId(this.currentTrack)|this.findTrackId(null);if(t!==-1)this.setAudioTrack(t);else{let i=new Error(`No track found for running audio group-ID: ${this.groupId} track count: ${e.length}`);this.warn(i.message),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:i})}}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let s=t[i];if((!this.selectDefaultTrack||s.default)&&(!e||e.attrs["STABLE-RENDITION-ID"]!==void 0&&e.attrs["STABLE-RENDITION-ID"]===s.attrs["STABLE-RENDITION-ID"]||e.name===s.name&&e.lang===s.lang))return s.id}return-1}loadPlaylist(e){super.loadPlaylist();let t=this.tracksInGroup[this.trackId];if(this.shouldLoadPlaylist(t)){let i=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${i} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(y.AUDIO_TRACK_LOADING,{url:n,id:i,groupId:s,deliveryDirectives:e||null})}}};function b0(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(!z_(r[t].attrs,e[t].attrs))return!1;return!0}function z_(r,e){let t=r["STABLE-RENDITION-ID"];return t?t===e["STABLE-RENDITION-ID"]:!["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED"].some(i=>r[i]!==e[i])}var Lg=500,rh=class extends jn{constructor(e,t,i){super(e,t,i,"[subtitle-stream-controller]",ge.SUBTITLE),this.levels=[],this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.ERROR,this.onError,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.ERROR,this.onError,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=W.IDLE,this.setInterval(Lg),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:i,success:s}=t;if(this.fragPrevious=i,this.state=W.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=i.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=i.start+i.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(i)}onBufferFlushing(e,t){let{startOffset:i,endOffset:s}=t;if(i===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(i,n,ge.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===ge.MAIN){var i;(i=this.media)!=null&&i.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let i=t.frag;(i==null?void 0:i.type)===ge.SUBTITLE&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==W.STOPPED&&(this.state=W.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(b0(this.levels,t)){this.levels=t.map(i=>new Kr(i));return}this.tracksBuffered=[],this.levels=t.map(i=>{let s=new Kr(i);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,ge.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){if(this.currentTrackId=t.id,!this.levels.length||this.currentTrackId===-1){this.clearInterval();return}let i=this.levels[this.currentTrackId];i!=null&&i.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,i&&this.setInterval(Lg)}onSubtitleTrackLoaded(e,t){var i;let{details:s,id:n}=t,{currentTrackId:a,levels:o}=this;if(!o.length)return;let l=o[a];if(n>=o.length||n!==a||!l)return;this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(s.live||(i=l.details)!=null&&i.live){let c=this.mainDetails;if(s.deltaUpdateFailed||!c)return;let u=c.fragments[0];l.details?(d=this.alignPlaylists(s,l.details),d===0&&u&&(d=u.start,Du(s,d))):s.hasProgramDateTime&&c.hasProgramDateTime?(a0(s,c),d=s.fragments[0].start):u&&(d=u.start,Du(s,d))}l.details=s,this.levelLastLoaded=n,!this.startFragRequested&&(this.mainDetails||!s.live)&&this.setStartPosition(l.details,d),this.tick(),s.live&&!this.fragCurrent&&this.media&&this.state===W.IDLE&&(Kn(null,s.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0))}_handleFragmentLoadComplete(e){let{frag:t,payload:i}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&s&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(i),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(y.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=W.IDLE})}}doTick(){if(!this.media){this.state=W.IDLE;return}if(this.state===W.IDLE){let{currentTrackId:e,levels:t}=this,i=t[e];if(!t.length||!i||!i.details)return;let{config:s}=this,n=this.getLoadPosition(),a=je.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,ge.MAIN),c=i.details,u=this.getMaxBufferLength(d==null?void 0:d.len)+c.levelTargetDuration;if(l>u)return;let h=c.fragments,f=h.length,g=c.edge,E=null,T=this.fragPrevious;if(o<g){let S=s.maxFragLookUpTolerance,R=o>g-S?0:S;E=Kn(T,h,Math.max(h[0].start,o),R),!E&&T&&T.start<h[0].start&&(E=h[0])}else E=h[f-1];if(!E)return;if(E=this.mapToInitFragWhenRequired(E),E.sn!=="initSegment"){let S=E.sn-c.startSN,R=h[S-1];R&&R.cc===E.cc&&this.fragmentTracker.getState(R)===_t.NOT_LOADED&&(E=R)}this.fragmentTracker.getState(E)===_t.NOT_LOADED&&this.loadFragment(E,i,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,i){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,i))}get mediaBufferTimeRanges(){return new sh(this.tracksBuffered[this.currentTrackId]||[])}},sh=class{constructor(e){this.buffered=void 0;let t=(i,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${i}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][i]};this.buffered={get length(){return e.length},end(i){return t("end",i,e.length)},start(i){return t("start",i,e.length)}}}},nh=class extends Wn{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.trackChangeListener=()=>this.onTextTracksChanged(),this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.trackChangeListener=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes(this.trackId)}registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.trackChangeListener,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),mu(this.media.textTracks).forEach(t=>{Vs(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:i,details:s}=t,{trackId:n}=this,a=this.tracksInGroup[n];if(!a){this.warn(`Invalid subtitle track id ${i}`);return}let o=a.details;a.details=t.details,this.log(`subtitle track ${i} loaded [${s.startSN}-${s.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!(t!=null&&t.textGroupIds))return;let i=t.textGroupIds[t.urlId],s=this.tracksInGroup?this.tracksInGroup[this.trackId]:void 0;if(this.groupId!==i){let n=this.tracks.filter(l=>!i||l.groupId===i);this.tracksInGroup=n;let a=this.findTrackId(s==null?void 0:s.name)||this.findTrackId();this.groupId=i||null;let o={subtitleTracks:n};this.log(`Updating subtitle tracks, ${n.length} track(s) found in "${i}" group-id`),this.hls.trigger(y.SUBTITLE_TRACKS_UPDATED,o),a!==-1&&this.setSubtitleTrack(a,s)}else this.shouldReloadPlaylist(s)&&this.setSubtitleTrack(this.trackId,s)}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let s=t[i];if((!this.selectDefaultTrack||s.default)&&(!e||e===s.name))return s.id}return-1}onError(e,t){t.fatal||!t.context||t.context.type===Ue.SUBTITLE_TRACK&&t.context.id===this.trackId&&t.context.groupId===this.groupId&&this.checkRetry(t)}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1;let t=this.tracksInGroup?this.tracksInGroup[this.trackId]:void 0;this.setSubtitleTrack(e,t)}loadPlaylist(e){super.loadPlaylist();let t=this.tracksInGroup[this.trackId];if(this.shouldLoadPlaylist(t)){let i=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${i}`),this.hls.trigger(y.SUBTITLE_TRACK_LOADING,{url:n,id:i,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(e){let{media:t,trackId:i}=this;if(!t)return;let s=mu(t.textTracks),n=s.filter(o=>o.groupId===this.groupId);if(e===-1)[].slice.call(s).forEach(o=>{o.mode="disabled"});else{let o=n[i];o&&(o.mode="disabled")}let a=n[e];a&&(a.mode=this.subtitleDisplay?"showing":"hidden")}setSubtitleTrack(e,t){var i;let s=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(this.trackId!==e&&this.toggleTrackModes(e),this.trackId===e&&(e===-1||(i=s[e])!=null&&i.details)||e<-1||e>=s.length)return;this.clearTimer();let n=s[e];if(this.log(`Switching to subtitle-track ${e}`+(n?` "${n.name}" lang:${n.lang} group:${n.groupId}`:"")),this.trackId=e,n){let{id:a,groupId:o="",name:l,type:d,url:c}=n;this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:c});let u=this.switchParams(n.url,t==null?void 0:t.details);this.loadPlaylist(u)}else this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:e})}onTextTracksChanged(){if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=-1,t=mu(this.media.textTracks);for(let i=0;i<t.length;i++)if(t[i].mode==="hidden")e=i;else if(t[i].mode==="showing"){e=i;break}this.subtitleTrack!==e&&(this.subtitleTrack=e)}};function mu(r){let e=[];for(let t=0;t<r.length;t++){let i=r[t];(i.kind==="subtitles"||i.kind==="captions")&&i.label&&e.push(r[t])}return e}var ah=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t){let i=this.queues[t];i.push(e),i.length===1&&this.buffers[t]&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,i=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),i}executeNext(e){let{buffers:t,queues:i}=this,s=t[e],n=i[e];if(n.length){let a=n[0];try{a.execute()}catch(o){M.warn("[buffer-operation-queue]: Unhandled exception executing the current operation"),a.onError(o),s!=null&&s.updating||(n.shift(),this.executeNext(e))}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},Rg=Dl(),kg=/([ha]vc.)(?:\.[^.,]+)+/,oh=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendError=0,this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this._onMediaSourceOpen=()=>{let{media:t,mediaSource:i}=this;M.log("[buffer-controller]: Media source opened"),t&&(t.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(y.MEDIA_ATTACHED,{media:t})),i&&i.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{M.log("[buffer-controller]: Media source closed")},this._onMediaSourceEnded=()=>{M.log("[buffer-controller]: Media source ended")},this._onMediaEmptied=()=>{let{media:t,_objectUrl:i}=this;t&&t.src!==i&&M.error(`Media element src was set while attaching MediaSource (${i} > ${t.src})`)},this.hls=e,this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null}registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_APPENDING,this.onBufferAppending,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.BUFFER_EOS,this.onBufferEos,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.FRAG_PARSED,this.onFragParsed,this),e.on(y.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_APPENDING,this.onBufferAppending,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.BUFFER_EOS,this.onBufferEos,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.FRAG_PARSED,this.onFragParsed,this),e.off(y.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new ah(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let i=2;(t.audio&&!t.video||!t.altAudio)&&(i=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=i,M.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let i=this.media=t.media;if(i&&Rg){let s=this.mediaSource=new Rg;s.addEventListener("sourceopen",this._onMediaSourceOpen),s.addEventListener("sourceended",this._onMediaSourceEnded),s.addEventListener("sourceclose",this._onMediaSourceClose),i.src=self.URL.createObjectURL(s),this._objectUrl=i.src,i.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:i}=this;if(t){if(M.log("[buffer-controller]: media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){M.warn(`[buffer-controller]: onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),e&&(e.removeEventListener("emptied",this._onMediaEmptied),i&&self.URL.revokeObjectURL(i),e.src===i?(e.removeAttribute("src"),e.load()):M.warn("[buffer-controller]: media.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(y.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{let t=this.sourceBuffer[e];try{t&&(this.removeBufferListeners(e),this.mediaSource&&this.mediaSource.removeSourceBuffer(t),this.sourceBuffer[e]=void 0)}catch(i){M.warn(`[buffer-controller]: Failed to reset the ${e} buffer`,i)}}),this._initSourceBuffer()}onBufferCodecs(e,t){let i=this.getSourceBufferTypes().length;Object.keys(t).forEach(s=>{if(i){let n=this.tracks[s];if(n&&typeof n.buffer.changeType=="function"){let{id:a,codec:o,levelCodec:l,container:d,metadata:c}=t[s],u=(n.levelCodec||n.codec).replace(kg,"$1"),h=(l||o).replace(kg,"$1");if(u!==h){let f=`${d};codecs=${l||o}`;this.appendChangeType(s,f),M.log(`[buffer-controller]: switching codec ${u} to ${h}`),this.tracks[s]={buffer:n.buffer,codec:o,container:d,levelCodec:l,metadata:c,id:a}}}}else this.pendingTracks[s]=t[s]}),!i&&(this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks())}appendChangeType(e,t){let{operationQueue:i}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(M.log(`[buffer-controller]: changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),i.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{M.warn(`[buffer-controller]: Failed to change ${e} SourceBuffer type`,n)}};i.append(s,e)}onBufferAppending(e,t){let{hls:i,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:c}=t,u=c.buffering[o],h=self.performance.now();u.start=h;let f=l.stats.buffering,g=d?d.stats.buffering:null;f.start===0&&(f.start=h),g&&g.start===0&&(g.start=h);let E=n.audio,T=!1;o==="audio"&&(E==null?void 0:E.container)==="audio/mpeg"&&(T=!this.lastMpegAudioChunk||c.id===1||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);let S=l.start,R={execute:()=>{if(u.executeStart=self.performance.now(),T){let x=this.sourceBuffer[o];if(x){let N=S-x.timestampOffset;Math.abs(N)>=.1&&(M.log(`[buffer-controller]: Updating audio SourceBuffer timestampOffset to ${S} (delta: ${N}) sn: ${l.sn})`),x.timestampOffset=S)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let x=self.performance.now();u.executeEnd=u.end=x,f.first===0&&(f.first=x),g&&g.first===0&&(g.first=x);let{sourceBuffer:N}=this,D={};for(let $ in N)D[$]=je.getBuffered(N[$]);this.appendError=0,this.hls.trigger(y.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:c,parent:l.type,timeRanges:D})},onError:x=>{M.error(`[buffer-controller]: Error encountered while trying to append to the ${o} SourceBuffer`,x);let N={type:pe.MEDIA_ERROR,parent:l.type,details:B.BUFFER_APPEND_ERROR,frag:l,part:d,chunkMeta:c,error:x,err:x,fatal:!1};x.code===DOMException.QUOTA_EXCEEDED_ERR?N.details=B.BUFFER_FULL_ERROR:(this.appendError++,N.details=B.BUFFER_APPEND_ERROR,this.appendError>i.config.appendErrorMaxRetry&&(M.error(`[buffer-controller]: Failed ${i.config.appendErrorMaxRetry} times to append segment in sourceBuffer`),N.fatal=!0)),i.trigger(y.ERROR,N)}};s.append(R,o)}onBufferFlushing(e,t){let{operationQueue:i}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(y.BUFFER_FLUSHED,{type:n})},onError:a=>{M.warn(`[buffer-controller]: Failed to remove from ${n} SourceBuffer`,a)}});t.type?i.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{i.append(s(n),n)})}onFragParsed(e,t){let{frag:i,part:s}=t,n=[],a=s?s.elementaryStreams:i.elementaryStreams;a[qe.AUDIOVIDEO]?n.push("audiovideo"):(a[qe.AUDIO]&&n.push("audio"),a[qe.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();i.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:i.stats;this.hls.trigger(y.FRAG_BUFFERED,{frag:i,part:s,stats:d,id:i.type})};n.length===0&&M.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.flushBackBuffer()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,M.log(`[buffer-controller]: ${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(M.log("[buffer-controller]: Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&M.info(`[buffer-controller]: Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}M.log("[buffer-controller]: Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){!t.fragments.length||(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}flushBackBuffer(){let{hls:e,details:t,media:i,sourceBuffer:s}=this;if(!i||t===null)return;let n=this.getSourceBufferTypes();if(!n.length)return;let a=t.live&&e.config.liveBackBufferLength!==null?e.config.liveBackBufferLength:e.config.backBufferLength;if(!ce(a)||a<0)return;let o=i.currentTime,l=t.levelTargetDuration,d=Math.max(a,l),c=Math.floor(o/l)*l-d;n.forEach(u=>{let h=s[u];if(h){let f=je.getBuffered(h);if(f.length>0&&c>f.start(0)){if(e.trigger(y.BACK_BUFFER_REACHED,{bufferEnd:c}),t.live)e.trigger(y.LIVE_BACK_BUFFER_REACHED,{bufferEnd:c});else if(h.ended&&f.end(f.length-1)-o<l*2){M.info(`[buffer-controller]: Cannot flush ${u} back buffer while SourceBuffer is in ended state`);return}e.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:c,type:u})}}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:i,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=i.duration,o=ce(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(M.log("[buffer-controller]: Media Source duration is set to Infinity"),s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!ce(a))&&(M.log(`[buffer-controller]: Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,i=e.fragments;if(i.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,i[0].start),a=Math.max(n,n+e.totalduration);t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:i}=this,s=Object.keys(i).length;if(s&&!e||s===2){this.createSourceBuffers(i),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(y.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(let s in e)if(!t[s]){let n=e[s];if(!n)throw Error(`source buffer exists for track ${s}, however track does not`);let a=n.levelCodec||n.codec,o=`${n.container};codecs=${a}`;M.log(`[buffer-controller]: creating sourceBuffer(${o})`);try{let l=t[s]=i.addSourceBuffer(o),d=s;this.addBufferListener(d,"updatestart",this._onSBUpdateStart),this.addBufferListener(d,"updateend",this._onSBUpdateEnd),this.addBufferListener(d,"error",this._onSBUpdateError),this.tracks[s]={buffer:l,codec:a,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(l){M.error(`[buffer-controller]: error while trying to add sourceBuffer: ${l.message}`),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:l,mimeType:o})}}}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){let{operationQueue:t}=this;t.current(e).onComplete(),t.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){let i=new Error(`${e} SourceBuffer error`);M.error(`[buffer-controller]: ${i}`,t),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_APPENDING_ERROR,error:i,fatal:!1});let s=this.operationQueue.current(e);s&&s.onError(t)}removeExecutor(e,t,i){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){M.warn(`[buffer-controller]: Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=ce(s.duration)?s.duration:1/0,c=ce(n.duration)?n.duration:1/0,u=Math.max(0,t),h=Math.min(i,d,c);h>u&&!l.ending?(l.ended=!1,M.log(`[buffer-controller]: Removing [${u},${h}] from the ${e} SourceBuffer`),l.remove(u,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let{operationQueue:i,sourceBuffer:s}=this,n=s[t];if(!n){M.warn(`[buffer-controller]: Attempting to append to the ${t} SourceBuffer, but it does not exist`),i.shiftAndExecuteNext(t);return}n.ended=!1,n.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){M.log("[buffer-controller]: Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:i}=this,s=t.map(n=>i.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||i.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,i){let s=this.sourceBuffer[e];if(!s)return;let n=i.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];!t||this.listeners[e].forEach(i=>{t.removeEventListener(i.event,i.listener)})}},wg={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},T0=function(e){let t=e;return wg.hasOwnProperty(e)&&(t=wg[e]),String.fromCharCode(t)},gi=15,zi=100,X_={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Q_={17:2,18:4,21:6,22:8,23:10,19:13,20:15},Z_={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},J_={25:2,26:4,29:6,30:8,31:10,27:13,28:15},eA=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],lh=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let i=typeof t=="function"?t():t;M.log(`${this.time} [${e}] ${i}`)}}},Br=function(e){let t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t},xl=class{constructor(e,t,i,s,n){this.foreground=void 0,this.underline=void 0,this.italics=void 0,this.background=void 0,this.flash=void 0,this.foreground=e||"white",this.underline=t||!1,this.italics=i||!1,this.background=s||"black",this.flash=n||!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let i=0;i<t.length;i++){let s=t[i];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},dh=class{constructor(e,t,i,s,n,a){this.uchar=void 0,this.penState=void 0,this.uchar=e||" ",this.penState=new xl(t,i,s,n,a)}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},ch=class{constructor(e){this.chars=void 0,this.pos=void 0,this.currPenState=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chars=[];for(let t=0;t<zi;t++)this.chars.push(new dh);this.logger=e,this.pos=0,this.currPenState=new xl}equals(e){let t=!0;for(let i=0;i<zi;i++)if(!this.chars[i].equals(e.chars[i])){t=!1;break}return t}copy(e){for(let t=0;t<zi;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<zi;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>zi&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=zi)}moveCursor(e){let t=this.pos+e;if(e>1)for(let i=this.pos+1;i<t+1;i++)this.chars[i].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=T0(e);if(this.pos>=zi){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<zi;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let i=0;i<zi;i++){let s=this.chars[i].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},Vn=class{constructor(e){this.rows=void 0,this.currRow=void 0,this.nrRollUpRows=void 0,this.lastOutputScreen=void 0,this.logger=void 0,this.rows=[];for(let t=0;t<gi;t++)this.rows.push(new ch(e));this.logger=e,this.currRow=gi-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.reset()}reset(){for(let e=0;e<gi;e++)this.rows[e].clear();this.currRow=gi-1}equals(e){let t=!0;for(let i=0;i<gi;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break}return t}copy(e){for(let t=0;t<gi;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<gi;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<gi;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let i=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);i.setCursor(e.indent),e.color=i.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],i="",s=-1;for(let n=0;n<gi;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?i="["+t.join(" | ")+"]":i=t.join(`
958
- `)),i}getTextAndFormat(){return this.rows}},Il=class{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Vn(i),this.nonDisplayedMemory=new Vn(i),this.lastOutputScreen=new Vn(i),this.currRollUpRow=this.displayedMemory.rows[gi-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[gi-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let i=0;i<e.length;i++)this.writeScreen.insertChar(e[i]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let i=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[i]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},Ll=class{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory=void 0,this.logger=void 0;let s=new lh;this.channels=[null,new Il(e,t,s),new Il(e+1,i,s)],this.cmdHistory=Cg(),this.logger=s}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){let i,s,n,a=!1;this.logger.time=e;for(let o=0;o<t.length;o+=2)if(s=t[o]&127,n=t[o+1]&127,!(s===0&&n===0)){if(this.logger.log(3,"["+Br([t[o],t[o+1]])+"] -> ("+Br([s,n])+")"),i=this.parseCmd(s,n),i||(i=this.parseMidrow(s,n)),i||(i=this.parsePAC(s,n)),i||(i=this.parseBackgroundAttributes(s,n)),!i&&(a=this.parseChars(s,n),a)){let l=this.currentChannel;l&&l>0?this.channels[l].insertChars(a):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!i&&!a&&this.logger.log(2,"Couldn't parse cleaned data "+Br([s,n])+" orig: "+Br([t[o],t[o+1]]))}}parseCmd(e,t){let{cmdHistory:i}=this,s=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,n=(e===23||e===31)&&t>=33&&t<=35;if(!(s||n))return!1;if(Dg(e,t,i))return Hs(null,null,i),this.logger.log(3,"Repeated command ("+Br([e,t])+") is dropped"),!0;let a=e===20||e===21||e===23?1:2,o=this.channels[a];return e===20||e===21||e===28||e===29?t===32?o.ccRCL():t===33?o.ccBS():t===34?o.ccAOF():t===35?o.ccAON():t===36?o.ccDER():t===37?o.ccRU(2):t===38?o.ccRU(3):t===39?o.ccRU(4):t===40?o.ccFON():t===41?o.ccRDC():t===42?o.ccTR():t===43?o.ccRTD():t===44?o.ccEDM():t===45?o.ccCR():t===46?o.ccENM():t===47&&o.ccEOC():o.ccTO(t-32),Hs(e,t,i),this.currentChannel=a,!0}parseMidrow(e,t){let i=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?i=1:i=2,i!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[i];return s?(s.ccMIDROW(t),this.logger.log(3,"MIDROW ("+Br([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let i,s=this.cmdHistory,n=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,a=(e===16||e===24)&&t>=64&&t<=95;if(!(n||a))return!1;if(Dg(e,t,s))return Hs(null,null,s),!0;let o=e<=23?1:2;t>=64&&t<=95?i=o===1?X_[e]:Z_[e]:i=o===1?Q_[e]:J_[e];let l=this.channels[o];return l?(l.setPAC(this.interpretPAC(i,t)),Hs(e,t,s),this.currentChannel=o,!0):!1}interpretPAC(e,t){let i,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?i=t-96:i=t-64,s.underline=(i&1)===1,i<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((i-16)/2)*4,s}parseChars(e,t){let i,s=null,n=null;if(e>=25?(i=2,n=e-8):(i=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,"Special char '"+T0(a)+"' in channel "+i),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);if(s){let a=Br(s);this.logger.log(3,"Char codes = "+a.join(",")),Hs(e,t,this.cmdHistory)}return s}parseBackgroundAttributes(e,t){let i=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(i||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=eA[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),Hs(e,t,this.cmdHistory),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}this.cmdHistory=Cg()}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e)}}};function Hs(r,e,t){t.a=r,t.b=e}function Dg(r,e,t){return t.a===r&&t.b===e}function Cg(){return{a:null,b:null}}var Ks=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},kh=function(){if(typeof self!="undefined"&&self.VTTCue)return self.VTTCue;let r=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function i(o){return t(r,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let c=arguments[d];for(let u in c)o[u]=c[u]}return o}function a(o,l,d){let c=this,u={enumerable:!0};c.hasBeenReset=!1;let h="",f=!1,g=o,E=l,T=d,S=null,R="",x=!0,N="auto",D="start",$=50,O="middle",H=50,q="middle";Object.defineProperty(c,"id",n({},u,{get:function(){return h},set:function(P){h=""+P}})),Object.defineProperty(c,"pauseOnExit",n({},u,{get:function(){return f},set:function(P){f=!!P}})),Object.defineProperty(c,"startTime",n({},u,{get:function(){return g},set:function(P){if(typeof P!="number")throw new TypeError("Start time must be set to a number.");g=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"endTime",n({},u,{get:function(){return E},set:function(P){if(typeof P!="number")throw new TypeError("End time must be set to a number.");E=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"text",n({},u,{get:function(){return T},set:function(P){T=""+P,this.hasBeenReset=!0}})),Object.defineProperty(c,"region",n({},u,{get:function(){return S},set:function(P){S=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"vertical",n({},u,{get:function(){return R},set:function(P){let X=i(P);if(X===!1)throw new SyntaxError("An invalid or illegal string was specified.");R=X,this.hasBeenReset=!0}})),Object.defineProperty(c,"snapToLines",n({},u,{get:function(){return x},set:function(P){x=!!P,this.hasBeenReset=!0}})),Object.defineProperty(c,"line",n({},u,{get:function(){return N},set:function(P){if(typeof P!="number"&&P!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");N=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"lineAlign",n({},u,{get:function(){return D},set:function(P){let X=s(P);if(!X)throw new SyntaxError("An invalid or illegal string was specified.");D=X,this.hasBeenReset=!0}})),Object.defineProperty(c,"position",n({},u,{get:function(){return $},set:function(P){if(P<0||P>100)throw new Error("Position must be between 0 and 100.");$=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"positionAlign",n({},u,{get:function(){return O},set:function(P){let X=s(P);if(!X)throw new SyntaxError("An invalid or illegal string was specified.");O=X,this.hasBeenReset=!0}})),Object.defineProperty(c,"size",n({},u,{get:function(){return H},set:function(P){if(P<0||P>100)throw new Error("Size must be between 0 and 100.");H=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"align",n({},u,{get:function(){return q},set:function(P){let X=s(P);if(!X)throw new SyntaxError("An invalid or illegal string was specified.");q=X,this.hasBeenReset=!0}})),c.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),uh=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function _0(r){function e(i,s,n,a){return(i|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=r.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var hh=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let s=0;s<i.length;++s)if(t===i[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let i=parseFloat(t);if(i>=0&&i<=100)return this.set(e,i),!0}return!1}};function A0(r,e,t,i){let s=i?r.split(i):[r];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var fh=new kh(0,0,""),al=fh.align==="middle"?"middle":"center";function tA(r,e,t){let i=r;function s(){let o=_0(r);if(o===null)throw new Error("Malformed timestamp: "+i);return r=r.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new hh;A0(o,function(h,f){let g;switch(h){case"region":for(let E=t.length-1;E>=0;E--)if(t[E].id===f){d.set(h,t[E].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":g=f.split(","),d.integer(h,g[0]),d.percent(h,g[0])&&d.set("snapToLines",!1),d.alt(h,g[0],["auto"]),g.length===2&&d.alt("lineAlign",g[1],["start",al,"end"]);break;case"position":g=f.split(","),d.percent(h,g[0]),g.length===2&&d.alt("positionAlign",g[1],["start",al,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",al,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let c=d.get("line","auto");c==="auto"&&fh.line===-1&&(c=-1),l.line=c,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",al);let u=d.get("position","auto");u==="auto"&&fh.position===50&&(u=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=u}function a(){r=r.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),r.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+i);r=r.slice(3),a(),e.endTime=s(),a(),n(r,e)}function S0(r){return r.replace(/<br(?: \/)?>/gi,`
957
+ Aborting and switching to level ${P}`),e.loader&&(this.fragCurrent=this.partCurrent=null,e.abortRequests()),i.trigger(y.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:t,stats:o}))}onFragLoaded(e,{frag:t,part:i}){let s=i?i.stats:t.stats;if(t.type===ge.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),this.lastLoadedFragLevel=t.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){let n=i?i.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(y.FRAG_BUFFERED,n),t.bitrateTest=!1}}}onFragBuffered(e,t){let{frag:i,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:i.stats;if(n.aborted||this.ignoreFragment(i))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.bwEstimator.getEstimate(),i.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==ge.MAIN||e.sn==="initSegment"}clearTimer(){self.clearInterval(this.timer)}get nextAutoLevel(){let e=this._nextAutoLevel,t=this.bwEstimator;if(e!==-1&&!t.canEstimate())return e;let i=this.getNextABRAutoLevel();if(e!==-1){let s=this.hls.levels;if(s.length>Math.max(e,i)&&s[e].loadError<=s[i].loadError)return e}return e!==-1&&(i=Math.min(e,i)),i}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this,{maxAutoLevel:s,config:n,minAutoLevel:a,media:o}=i,l=t?t.duration:e?e.duration:0,d=o&&o.playbackRate!==0?Math.abs(o.playbackRate):1,c=this.bwEstimator?this.bwEstimator.getEstimate():n.abrEwmaDefaultEstimate,u=i.mainForwardBufferInfo,h=(u?u.len:0)/d,f=this.findBestLevel(c,a,s,h,n.abrBandWidthFactor,n.abrBandWidthUpFactor);if(f>=0)return f;M.trace(`[abr] ${h?"rebuffering expected":"buffer is empty"}, finding optimal quality level`);let g=l?Math.min(l,n.maxStarvationDelay):n.maxStarvationDelay,E=n.abrBandWidthFactor,T=n.abrBandWidthUpFactor;if(!h){let A=this.bitrateTestDelay;A&&(g=(l?Math.min(l,n.maxLoadingDelay):n.maxLoadingDelay)-A,M.trace(`[abr] bitrate test took ${Math.round(1e3*A)}ms, set first fragment max fetchDuration to ${Math.round(1e3*g)} ms`),E=T=1)}return f=this.findBestLevel(c,a,s,h+g,E,T),Math.max(f,0)}findBestLevel(e,t,i,s,n,a){var o;let{fragCurrent:l,partCurrent:d,lastLoadedFragLevel:c}=this,{levels:u}=this.hls,h=u[c],f=!!(h!=null&&(o=h.details)!=null&&o.live),g=h==null?void 0:h.codecSet,E=d?d.duration:l?l.duration:0,T=this.bwEstimator.getEstimateTTFB()/1e3,A=t,k=-1;for(let L=i;L>=t;L--){let N=u[L];if(!N||g&&N.codecSet!==g){N&&(A=Math.min(L,A),k=Math.max(L,k));continue}k!==-1&&M.trace(`[abr] Skipped level(s) ${A}-${k} with CODECS:"${u[k].attrs.CODECS}"; not compatible with "${h.attrs.CODECS}"`);let D=N.details,$=(d?D==null?void 0:D.partTarget:D==null?void 0:D.averagetargetduration)||E,O;L<=c?O=n*e:O=a*e;let G=u[L].maxBitrate,q=this.getTimeToLoadFrag(T,O,G*$,D===void 0);if(M.trace(`[abr] level:${L} adjustedbw-bitrate:${Math.round(O-G)} avgDuration:${$.toFixed(1)} maxFetchDuration:${s.toFixed(1)} fetchDuration:${q.toFixed(1)}`),O>G&&(q===0||!ce(q)||f&&!this.bitrateTestDelay||q<s))return L}return-1}set nextAutoLevel(e){this._nextAutoLevel=e}},xl=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,i;if(e.length)e.length===1?i=e[0]:i=z_(e,t);else return new Uint8Array(0);return this.reset(),i}reset(){this.chunks.length=0,this.dataLength=0}};function z_(r,e){let t=new Uint8Array(e),i=0;for(let s=0;s<r.length;s++){let n=r[s];t.set(n,i),i+=n.length}return t}var Ig=100,th=class extends zn{constructor(e,t,i){super(e,t,i,"[audio-stream-controller]",ge.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.ERROR,this.onError,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){if(i==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===W.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=W.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(Ig),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=W.IDLE):(this.loadedmetadata=!1,this.state=W.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case W.IDLE:this.doTickIdle();break;case W.WAITING_TRACK:{var e;let{levels:i,trackId:s}=this,n=i==null||(e=i[s])==null?void 0:e.details;if(n){if(this.waitForCdnTuneIn(n))break;this.state=W.WAITING_INIT_PTS}break}case W.FRAG_LOADING_WAITING_RETRY:{var t;let i=performance.now(),s=this.retryDate;(!s||i>=s||(t=this.media)!=null&&t.seeking)&&(this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded(this.trackId),this.state=W.IDLE);break}case W.WAITING_INIT_PTS:{let i=this.waitingData;if(i){let{frag:s,part:n,cache:a,complete:o}=i;if(this.initPTS[s.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=W.FRAG_LOADING;let l=a.flush(),d={frag:s,part:n,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),o&&super._handleFragmentLoadComplete(d)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${s.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=je.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Cu(d.end,this.config.maxFragLookUpTolerance,s)<0&&(this.log(`Waiting fragment cc (${s.cc}) @ ${s.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment())}}else this.state=W.IDLE}}this.onTickEnd()}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=W.IDLE)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){let{media:e}=this;!(e!=null&&e.readyState)||(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:i,trackId:s}=this,n=e.config;if(!(t!=null&&t[s])||!i&&(this.startFragRequested||!n.startFragPrefetch))return;let a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(o)){this.state=W.WAITING_TRACK;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,qe.AUDIO,ge.AUDIO));let d=this.getFwdBufferInfo(l,ge.AUDIO);if(d===null)return;let{bufferedTrack:c,switchingTrack:u}=this;if(!u&&this._streamEnded(d,o)){e.trigger(y.BUFFER_EOS,{type:"audio"}),this.state=W.ENDED;return}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,ge.MAIN),f=d.len,g=this.getMaxBufferLength(h==null?void 0:h.len);if(f>=g&&!u)return;let T=o.fragments[0].start,A=d.end;if(u&&i){let D=this.getLoadPosition();c&&u.attrs!==c.attrs&&(A=D),o.PTSKnown&&D<T&&(d.end>T||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=T+.05)}let k=this.getNextFragment(A,o),L=!1;if(k&&this.isLoopLoading(k,A)&&(L=!!k.gap,k=this.getNextFragmentLoopLoading(k,o,d,ge.MAIN,g)),!k){this.bufferFlushed=!0;return}let N=h&&k.start>h.end+o.targetduration;if(N||!(h!=null&&h.len)&&d.len){let D=this.getAppendedFrag(k.start,ge.MAIN);if(D===null||(L||(L=!!D.gap||!!N&&h.len===0),N&&!L||L&&d.nextStart&&d.nextStart<D.end))return}this.loadFragment(k,a,A)}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t}onMediaDetaching(){this.videoBuffer=null,super.onMediaDetaching()}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(i=>new Kr(i))}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),i?this.setInterval(Ig):this.resetTransmuxer(),i?(this.switchingTrack=t,this.state=W.IDLE):(this.switchingTrack=null,this.bufferedTrack=t,this.state=W.STOPPED),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(y.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var i;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return}let{levels:s}=this,{details:n,id:a}=t;if(!s){this.warn(`Audio tracks were reset while loading level ${a}`);return}this.log(`Track ${a} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let o=s[a],l=0;if(n.live||(i=o.details)!=null&&i.live){let d=this.mainDetails;if(n.fragments[0]||(n.deltaUpdateFailed=!0),n.deltaUpdateFailed||!d)return;!o.details&&n.hasProgramDateTime&&d.hasProgramDateTime?(a0(n,d),l=n.fragments[0].start):l=this.alignPlaylists(n,o.details)}o.details=n,this.levelLastLoaded=a,!this.startFragRequested&&(this.mainDetails||!n.live)&&this.setStartPosition(o.details,l),this.state===W.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=W.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;let{frag:i,part:s,payload:n}=e,{config:a,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return}let d=l[o];if(!d){this.warn("Audio track is undefined on fragment load progress");return}let c=d.details;if(!c){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return}let u=a.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new Sl(this.hls,ge.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[i.cc],g=(t=i.initSegment)==null?void 0:t.data;if(f!==void 0){let T=s?s.index:-1,A=T!==-1,k=new Yn(i.level,i.sn,i.stats.chunkCount,n.byteLength,T,A);h.push(n,g,u,"",i,s,c.totalduration,!1,k,f)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${c.startSN} ,${c.endSN}],track ${o}`);let{cache:E}=this.waitingData=this.waitingData||{frag:i,part:s,cache:new xl,complete:!1};E.push(new Uint8Array(n)),this.waitingVideoCC=this.videoTrackCC,this.state=W.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){let{frag:i,part:s}=t;if(i.type!==ge.AUDIO){if(!this.loadedmetadata&&i.type===ge.MAIN){let n=this.videoBuffer||this.media;n&&je.getBuffered(n).length&&(this.loadedmetadata=!0)}return}if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(i.sn!=="initSegment"){this.fragPrevious=i;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(y.AUDIO_TRACK_SWITCHED,zt({},n)))}this.fragBufferedComplete(i,s)}onError(e,t){var i;if(t.fatal){this.state=W.ERROR;return}switch(t.details){case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ge.AUDIO,t);break;case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===W.WAITING_TRACK&&((i=t.context)==null?void 0:i.type)===Ue.AUDIO_TRACK&&(this.state=W.IDLE);break;case B.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case B.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushed(e,{type:t}){t===qe.AUDIO&&(this.bufferFlushed=!0,this.state===W.ENDED&&(this.state=W.IDLE))}_handleTransmuxComplete(e){var t;let i="audio",{hls:s}=this,{remuxResult:n,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:l,part:d,level:c}=o,{details:u}=c,{audio:h,text:f,id3:g,initSegment:E}=n;if(this.fragContextChanged(l)||!u){this.fragmentTracker.removeFragment(l);return}if(this.state=W.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),E!=null&&E.tracks){let T=l.initSegment||l;this._bufferInitSegment(E.tracks,T,a),s.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:T,id:i,tracks:E.tracks})}if(h){let{startPTS:T,endPTS:A,startDTS:k,endDTS:L}=h;d&&(d.elementaryStreams[qe.AUDIO]={startPTS:T,endPTS:A,startDTS:k,endDTS:L}),l.setElementaryStreamInfo(qe.AUDIO,T,A,k,L),this.bufferFragmentData(h,l,d,a)}if(g!=null&&(t=g.samples)!=null&&t.length){let T=gt({id:i,frag:l,details:u},g);s.trigger(y.FRAG_PARSING_METADATA,T)}if(f){let T=gt({id:i,frag:l,details:u},f);s.trigger(y.FRAG_PARSING_USERDATA,T)}}_bufferInitSegment(e,t,i){if(this.state!==W.PARSING)return;e.video&&delete e.video;let s=e.audio;if(!s)return;s.levelCodec=s.codec,s.id="audio",this.log(`Init audio buffer, container:${s.container}, codecs[parsed]=[${s.codec}]`),this.hls.trigger(y.BUFFER_CODECS,e);let n=s.initSegment;if(n!=null&&n.byteLength){let a={type:"audio",frag:t,part:null,chunkMeta:i,parent:t.type,data:n};this.hls.trigger(y.BUFFER_APPENDING,a)}this.tick()}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||s===_t.NOT_LOADED||s===_t.PARTIAL){var n;e.sn==="initSegment"?this._loadInitSegment(e,t):(n=t.details)!=null&&n.live&&!this.initPTS[e.cc]?(this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=W.WAITING_INIT_PTS):(this.startFragRequested=!0,super.loadFragment(e,t,i))}else this.clearTrackerIfNeeded(e)}completeAudioSwitch(e){let{hls:t,media:i,bufferedTrack:s}=this,n=s==null?void 0:s.attrs,a=e.attrs;i&&n&&(n.CHANNELS!==a.CHANNELS||n.NAME!==a.NAME||n.LANGUAGE!==a.LANGUAGE)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio")),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(y.AUDIO_TRACK_SWITCHED,zt({},e))}},ih=class extends qn{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:i,groupId:s,details:n}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s){this.warn(`Track with id:${i} and group:${s} not found in active group ${a.groupId}`);return}let o=a.details;a.details=t.details,this.log(`audio-track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!(t!=null&&t.audioGroupIds))return;let i=t.audioGroupIds[t.urlId];if(this.groupId!==i){this.groupId=i||null;let s=this.tracks.filter(a=>!i||a.groupId===i);this.selectDefaultTrack&&!s.some(a=>a.default)&&(this.selectDefaultTrack=!1),this.tracksInGroup=s;let n={audioTracks:s};this.log(`Updating audio tracks, ${s.length} track(s) found in group:${i}`),this.hls.trigger(y.AUDIO_TRACKS_UPDATED,n),this.selectInitialTrack()}else this.shouldReloadPlaylist(this.currentTrack)&&this.setAudioTrack(this.trackId)}onError(e,t){t.fatal||!t.context||t.context.type===Ue.AUDIO_TRACK&&t.context.id===this.trackId&&t.context.groupId===this.groupId&&(this.requestScheduled=-1,this.checkRetry(t))}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn("Invalid id passed to audio-track controller");return}this.clearTimer();let i=this.currentTrack;t[this.trackId];let s=t[e],{groupId:n,name:a}=s;if(this.log(`Switching to audio-track ${e} "${a}" lang:${s.lang} group:${n}`),this.trackId=e,this.currentTrack=s,this.selectDefaultTrack=!1,this.hls.trigger(y.AUDIO_TRACK_SWITCHING,zt({},s)),s.details&&!s.details.live)return;let o=this.switchParams(s.url,i==null?void 0:i.details);this.loadPlaylist(o)}selectInitialTrack(){let e=this.tracksInGroup,t=this.findTrackId(this.currentTrack)|this.findTrackId(null);if(t!==-1)this.setAudioTrack(t);else{let i=new Error(`No track found for running audio group-ID: ${this.groupId} track count: ${e.length}`);this.warn(i.message),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:i})}}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let s=t[i];if((!this.selectDefaultTrack||s.default)&&(!e||e.attrs["STABLE-RENDITION-ID"]!==void 0&&e.attrs["STABLE-RENDITION-ID"]===s.attrs["STABLE-RENDITION-ID"]||e.name===s.name&&e.lang===s.lang))return s.id}return-1}loadPlaylist(e){super.loadPlaylist();let t=this.tracksInGroup[this.trackId];if(this.shouldLoadPlaylist(t)){let i=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`loading audio-track playlist ${i} "${t.name}" lang:${t.lang} group:${s}`),this.clearTimer(),this.hls.trigger(y.AUDIO_TRACK_LOADING,{url:n,id:i,groupId:s,deliveryDirectives:e||null})}}};function b0(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(!X_(r[t].attrs,e[t].attrs))return!1;return!0}function X_(r,e){let t=r["STABLE-RENDITION-ID"];return t?t===e["STABLE-RENDITION-ID"]:!["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED"].some(i=>r[i]!==e[i])}var Lg=500,rh=class extends zn{constructor(e,t,i){super(e,t,i,"[subtitle-stream-controller]",ge.SUBTITLE),this.levels=[],this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),this.mainDetails=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.ERROR,this.onError,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.ERROR,this.onError,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=W.IDLE,this.setInterval(Lg),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:i,success:s}=t;if(this.fragPrevious=i,this.state=W.IDLE,!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let a,o=i.start;for(let d=0;d<n.length;d++)if(o>=n[d].start&&o<=n[d].end){a=n[d];break}let l=i.start+i.duration;a?a.end=l:(a={start:o,end:l},n.push(a)),this.fragmentTracker.fragBuffered(i)}onBufferFlushing(e,t){let{startOffset:i,endOffset:s}=t;if(i===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(a=>{for(let o=0;o<a.length;){if(a[o].end<=n){a.shift();continue}else if(a[o].start<n)a[o].start=n;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(i,n,ge.SUBTITLE)}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===ge.MAIN){var i;(i=this.media)!=null&&i.buffered.length&&(this.loadedmetadata=!0)}}onError(e,t){let i=t.frag;(i==null?void 0:i.type)===ge.SUBTITLE&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==W.STOPPED&&(this.state=W.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(b0(this.levels,t)){this.levels=t.map(i=>new Kr(i));return}this.tracksBuffered=[],this.levels=t.map(i=>{let s=new Kr(i);return this.tracksBuffered[s.id]=[],s}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,ge.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){if(this.currentTrackId=t.id,!this.levels.length||this.currentTrackId===-1){this.clearInterval();return}let i=this.levels[this.currentTrackId];i!=null&&i.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,i&&this.setInterval(Lg)}onSubtitleTrackLoaded(e,t){var i;let{details:s,id:n}=t,{currentTrackId:a,levels:o}=this;if(!o.length)return;let l=o[a];if(n>=o.length||n!==a||!l)return;this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(s.live||(i=l.details)!=null&&i.live){let c=this.mainDetails;if(s.deltaUpdateFailed||!c)return;let u=c.fragments[0];l.details?(d=this.alignPlaylists(s,l.details),d===0&&u&&(d=u.start,Du(s,d))):s.hasProgramDateTime&&c.hasProgramDateTime?(a0(s,c),d=s.fragments[0].start):u&&(d=u.start,Du(s,d))}l.details=s,this.levelLastLoaded=n,!this.startFragRequested&&(this.mainDetails||!s.live)&&this.setStartPosition(l.details,d),this.tick(),s.live&&!this.fragCurrent&&this.media&&this.state===W.IDLE&&(Wn(null,s.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0))}_handleFragmentLoadComplete(e){let{frag:t,payload:i}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&s&&s.key&&s.iv&&s.method==="AES-128"){let a=performance.now();this.decrypter.decrypt(new Uint8Array(i),s.key.buffer,s.iv.buffer).catch(o=>{throw n.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{let l=performance.now();n.trigger(y.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:a,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=W.IDLE})}}doTick(){if(!this.media){this.state=W.IDLE;return}if(this.state===W.IDLE){let{currentTrackId:e,levels:t}=this,i=t[e];if(!t.length||!i||!i.details)return;let{config:s}=this,n=this.getLoadPosition(),a=je.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),{end:o,len:l}=a,d=this.getFwdBufferInfo(this.media,ge.MAIN),c=i.details,u=this.getMaxBufferLength(d==null?void 0:d.len)+c.levelTargetDuration;if(l>u)return;let h=c.fragments,f=h.length,g=c.edge,E=null,T=this.fragPrevious;if(o<g){let A=s.maxFragLookUpTolerance,k=o>g-A?0:A;E=Wn(T,h,Math.max(h[0].start,o),k),!E&&T&&T.start<h[0].start&&(E=h[0])}else E=h[f-1];if(!E)return;if(E=this.mapToInitFragWhenRequired(E),E.sn!=="initSegment"){let A=E.sn-c.startSN,k=h[A-1];k&&k.cc===E.cc&&this.fragmentTracker.getState(k)===_t.NOT_LOADED&&(E=k)}this.fragmentTracker.getState(E)===_t.NOT_LOADED&&this.loadFragment(E,i,o)}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t}loadFragment(e,t,i){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,i))}get mediaBufferTimeRanges(){return new sh(this.tracksBuffered[this.currentTrackId]||[])}},sh=class{constructor(e){this.buffered=void 0;let t=(i,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${i}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][i]};this.buffered={get length(){return e.length},end(i){return t("end",i,e.length)},start(i){return t("start",i,e.length)}}}},nh=class extends qn{constructor(e){super(e,"[subtitle-track-controller]"),this.media=null,this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.trackChangeListener=()=>this.onTextTracksChanged(),this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.trackChangeListener=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes(this.trackId)}registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.trackChangeListener,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),mu(this.media.textTracks).forEach(t=>{Vs(t)}),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:i,details:s}=t,{trackId:n}=this,a=this.tracksInGroup[n];if(!a){this.warn(`Invalid subtitle track id ${i}`);return}let o=a.details;a.details=t.details,this.log(`subtitle track ${i} loaded [${s.startSN}-${s.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!(t!=null&&t.textGroupIds))return;let i=t.textGroupIds[t.urlId],s=this.tracksInGroup?this.tracksInGroup[this.trackId]:void 0;if(this.groupId!==i){let n=this.tracks.filter(l=>!i||l.groupId===i);this.tracksInGroup=n;let a=this.findTrackId(s==null?void 0:s.name)||this.findTrackId();this.groupId=i||null;let o={subtitleTracks:n};this.log(`Updating subtitle tracks, ${n.length} track(s) found in "${i}" group-id`),this.hls.trigger(y.SUBTITLE_TRACKS_UPDATED,o),a!==-1&&this.setSubtitleTrack(a,s)}else this.shouldReloadPlaylist(s)&&this.setSubtitleTrack(this.trackId,s)}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let s=t[i];if((!this.selectDefaultTrack||s.default)&&(!e||e===s.name))return s.id}return-1}onError(e,t){t.fatal||!t.context||t.context.type===Ue.SUBTITLE_TRACK&&t.context.id===this.trackId&&t.context.groupId===this.groupId&&this.checkRetry(t)}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1;let t=this.tracksInGroup?this.tracksInGroup[this.trackId]:void 0;this.setSubtitleTrack(e,t)}loadPlaylist(e){super.loadPlaylist();let t=this.tracksInGroup[this.trackId];if(this.shouldLoadPlaylist(t)){let i=t.id,s=t.groupId,n=t.url;if(e)try{n=e.addDirectives(n)}catch(a){this.warn(`Could not construct new URL with HLS Delivery Directives: ${a}`)}this.log(`Loading subtitle playlist for id ${i}`),this.hls.trigger(y.SUBTITLE_TRACK_LOADING,{url:n,id:i,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(e){let{media:t,trackId:i}=this;if(!t)return;let s=mu(t.textTracks),n=s.filter(o=>o.groupId===this.groupId);if(e===-1)[].slice.call(s).forEach(o=>{o.mode="disabled"});else{let o=n[i];o&&(o.mode="disabled")}let a=n[e];a&&(a.mode=this.subtitleDisplay?"showing":"hidden")}setSubtitleTrack(e,t){var i;let s=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(this.trackId!==e&&this.toggleTrackModes(e),this.trackId===e&&(e===-1||(i=s[e])!=null&&i.details)||e<-1||e>=s.length)return;this.clearTimer();let n=s[e];if(this.log(`Switching to subtitle-track ${e}`+(n?` "${n.name}" lang:${n.lang} group:${n.groupId}`:"")),this.trackId=e,n){let{id:a,groupId:o="",name:l,type:d,url:c}=n;this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:l,type:d,url:c});let u=this.switchParams(n.url,t==null?void 0:t.details);this.loadPlaylist(u)}else this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:e})}onTextTracksChanged(){if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=-1,t=mu(this.media.textTracks);for(let i=0;i<t.length;i++)if(t[i].mode==="hidden")e=i;else if(t[i].mode==="showing"){e=i;break}this.subtitleTrack!==e&&(this.subtitleTrack=e)}};function mu(r){let e=[];for(let t=0;t<r.length;t++){let i=r[t];(i.kind==="subtitles"||i.kind==="captions")&&i.label&&e.push(r[t])}return e}var ah=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t){let i=this.queues[t];i.push(e),i.length===1&&this.buffers[t]&&this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t,i=new Promise(n=>{t=n}),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),i}executeNext(e){let{buffers:t,queues:i}=this,s=t[e],n=i[e];if(n.length){let a=n[0];try{a.execute()}catch(o){M.warn("[buffer-operation-queue]: Unhandled exception executing the current operation"),a.onError(o),s!=null&&s.updating||(n.shift(),this.executeNext(e))}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}},kg=Cl(),Rg=/([ha]vc.)(?:\.[^.,]+)+/,oh=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendError=0,this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this._onMediaSourceOpen=()=>{let{media:t,mediaSource:i}=this;M.log("[buffer-controller]: Media source opened"),t&&(t.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(y.MEDIA_ATTACHED,{media:t})),i&&i.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{M.log("[buffer-controller]: Media source closed")},this._onMediaSourceEnded=()=>{M.log("[buffer-controller]: Media source ended")},this._onMediaEmptied=()=>{let{media:t,_objectUrl:i}=this;t&&t.src!==i&&M.error(`Media element src was set while attaching MediaSource (${i} > ${t.src})`)},this.hls=e,this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null}registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_APPENDING,this.onBufferAppending,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.BUFFER_EOS,this.onBufferEos,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.FRAG_PARSED,this.onFragParsed,this),e.on(y.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_APPENDING,this.onBufferAppending,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.BUFFER_EOS,this.onBufferEos,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.FRAG_PARSED,this.onFragParsed,this),e.off(y.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new ah(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let i=2;(t.audio&&!t.video||!t.altAudio)&&(i=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=i,M.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){let i=this.media=t.media;if(i&&kg){let s=this.mediaSource=new kg;s.addEventListener("sourceopen",this._onMediaSourceOpen),s.addEventListener("sourceended",this._onMediaSourceEnded),s.addEventListener("sourceclose",this._onMediaSourceClose),i.src=self.URL.createObjectURL(s),this._objectUrl=i.src,i.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:i}=this;if(t){if(M.log("[buffer-controller]: media source detaching"),t.readyState==="open")try{t.endOfStream()}catch(s){M.warn(`[buffer-controller]: onMediaDetaching: ${s.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),e&&(e.removeEventListener("emptied",this._onMediaEmptied),i&&self.URL.revokeObjectURL(i),e.src===i?(e.removeAttribute("src"),e.load()):M.warn("[buffer-controller]: media.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(y.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{let t=this.sourceBuffer[e];try{t&&(this.removeBufferListeners(e),this.mediaSource&&this.mediaSource.removeSourceBuffer(t),this.sourceBuffer[e]=void 0)}catch(i){M.warn(`[buffer-controller]: Failed to reset the ${e} buffer`,i)}}),this._initSourceBuffer()}onBufferCodecs(e,t){let i=this.getSourceBufferTypes().length;Object.keys(t).forEach(s=>{if(i){let n=this.tracks[s];if(n&&typeof n.buffer.changeType=="function"){let{id:a,codec:o,levelCodec:l,container:d,metadata:c}=t[s],u=(n.levelCodec||n.codec).replace(Rg,"$1"),h=(l||o).replace(Rg,"$1");if(u!==h){let f=`${d};codecs=${l||o}`;this.appendChangeType(s,f),M.log(`[buffer-controller]: switching codec ${u} to ${h}`),this.tracks[s]={buffer:n.buffer,codec:o,container:d,levelCodec:l,metadata:c,id:a}}}}else this.pendingTracks[s]=t[s]}),!i&&(this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks())}appendChangeType(e,t){let{operationQueue:i}=this,s={execute:()=>{let n=this.sourceBuffer[e];n&&(M.log(`[buffer-controller]: changing ${e} sourceBuffer type to ${t}`),n.changeType(t)),i.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:n=>{M.warn(`[buffer-controller]: Failed to change ${e} SourceBuffer type`,n)}};i.append(s,e)}onBufferAppending(e,t){let{hls:i,operationQueue:s,tracks:n}=this,{data:a,type:o,frag:l,part:d,chunkMeta:c}=t,u=c.buffering[o],h=self.performance.now();u.start=h;let f=l.stats.buffering,g=d?d.stats.buffering:null;f.start===0&&(f.start=h),g&&g.start===0&&(g.start=h);let E=n.audio,T=!1;o==="audio"&&(E==null?void 0:E.container)==="audio/mpeg"&&(T=!this.lastMpegAudioChunk||c.id===1||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);let A=l.start,k={execute:()=>{if(u.executeStart=self.performance.now(),T){let L=this.sourceBuffer[o];if(L){let N=A-L.timestampOffset;Math.abs(N)>=.1&&(M.log(`[buffer-controller]: Updating audio SourceBuffer timestampOffset to ${A} (delta: ${N}) sn: ${l.sn})`),L.timestampOffset=A)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{let L=self.performance.now();u.executeEnd=u.end=L,f.first===0&&(f.first=L),g&&g.first===0&&(g.first=L);let{sourceBuffer:N}=this,D={};for(let $ in N)D[$]=je.getBuffered(N[$]);this.appendError=0,this.hls.trigger(y.BUFFER_APPENDED,{type:o,frag:l,part:d,chunkMeta:c,parent:l.type,timeRanges:D})},onError:L=>{M.error(`[buffer-controller]: Error encountered while trying to append to the ${o} SourceBuffer`,L);let N={type:pe.MEDIA_ERROR,parent:l.type,details:B.BUFFER_APPEND_ERROR,frag:l,part:d,chunkMeta:c,error:L,err:L,fatal:!1};L.code===DOMException.QUOTA_EXCEEDED_ERR?N.details=B.BUFFER_FULL_ERROR:(this.appendError++,N.details=B.BUFFER_APPEND_ERROR,this.appendError>i.config.appendErrorMaxRetry&&(M.error(`[buffer-controller]: Failed ${i.config.appendErrorMaxRetry} times to append segment in sourceBuffer`),N.fatal=!0)),i.trigger(y.ERROR,N)}};s.append(k,o)}onBufferFlushing(e,t){let{operationQueue:i}=this,s=n=>({execute:this.removeExecutor.bind(this,n,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(y.BUFFER_FLUSHED,{type:n})},onError:a=>{M.warn(`[buffer-controller]: Failed to remove from ${n} SourceBuffer`,a)}});t.type?i.append(s(t.type),t.type):this.getSourceBufferTypes().forEach(n=>{i.append(s(n),n)})}onFragParsed(e,t){let{frag:i,part:s}=t,n=[],a=s?s.elementaryStreams:i.elementaryStreams;a[qe.AUDIOVIDEO]?n.push("audiovideo"):(a[qe.AUDIO]&&n.push("audio"),a[qe.VIDEO]&&n.push("video"));let o=()=>{let l=self.performance.now();i.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let d=s?s.stats:i.stats;this.hls.trigger(y.FRAG_BUFFERED,{frag:i,part:s,stats:d,id:i.type})};n.length===0&&M.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(o,n)}onFragChanged(e,t){this.flushBackBuffer()}onBufferEos(e,t){this.getSourceBufferTypes().reduce((s,n)=>{let a=this.sourceBuffer[n];return a&&(!t.type||t.type===n)&&(a.ending=!0,a.ended||(a.ended=!0,M.log(`[buffer-controller]: ${n} sourceBuffer now EOS`))),s&&!!(!a||a.ended)},!0)&&(M.log("[buffer-controller]: Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(n=>{let a=this.sourceBuffer[n];a&&(a.ending=!1)});let{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&M.info(`[buffer-controller]: Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}M.log("[buffer-controller]: Calling mediaSource.endOfStream()"),s.endOfStream()}))}onLevelUpdated(e,{details:t}){!t.fragments.length||(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}flushBackBuffer(){let{hls:e,details:t,media:i,sourceBuffer:s}=this;if(!i||t===null)return;let n=this.getSourceBufferTypes();if(!n.length)return;let a=t.live&&e.config.liveBackBufferLength!==null?e.config.liveBackBufferLength:e.config.backBufferLength;if(!ce(a)||a<0)return;let o=i.currentTime,l=t.levelTargetDuration,d=Math.max(a,l),c=Math.floor(o/l)*l-d;n.forEach(u=>{let h=s[u];if(h){let f=je.getBuffered(h);if(f.length>0&&c>f.start(0)){if(e.trigger(y.BACK_BUFFER_REACHED,{bufferEnd:c}),t.live)e.trigger(y.LIVE_BACK_BUFFER_REACHED,{bufferEnd:c});else if(h.ended&&f.end(f.length-1)-o<l*2){M.info(`[buffer-controller]: Cannot flush ${u} back buffer while SourceBuffer is in ended state`);return}e.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:c,type:u})}}})}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:i,mediaSource:s}=this,n=e.fragments[0].start+e.totalduration,a=i.duration,o=ce(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(M.log("[buffer-controller]: Media Source duration is set to Infinity"),s.duration=1/0,this.updateSeekableRange(e)):(n>o&&n>a||!ce(a))&&(M.log(`[buffer-controller]: Updating Media Source duration to ${n.toFixed(3)}`),s.duration=n)}updateSeekableRange(e){let t=this.mediaSource,i=e.fragments;if(i.length&&e.live&&t!=null&&t.setLiveSeekableRange){let n=Math.max(0,i[0].start),a=Math.max(n,n+e.totalduration);t.setLiveSeekableRange(n,a)}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:i}=this,s=Object.keys(i).length;if(s&&!e||s===2){this.createSourceBuffers(i),this.pendingTracks={};let n=this.getSourceBufferTypes();if(n.length)this.hls.trigger(y.BUFFER_CREATED,{tracks:this.tracks}),n.forEach(a=>{t.executeNext(a)});else{let a=new Error("could not create source buffer for media codec(s)");this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:a,reason:a.message})}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(let s in e)if(!t[s]){let n=e[s];if(!n)throw Error(`source buffer exists for track ${s}, however track does not`);let a=n.levelCodec||n.codec,o=`${n.container};codecs=${a}`;M.log(`[buffer-controller]: creating sourceBuffer(${o})`);try{let l=t[s]=i.addSourceBuffer(o),d=s;this.addBufferListener(d,"updatestart",this._onSBUpdateStart),this.addBufferListener(d,"updateend",this._onSBUpdateEnd),this.addBufferListener(d,"error",this._onSBUpdateError),this.tracks[s]={buffer:l,codec:a,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(l){M.error(`[buffer-controller]: error while trying to add sourceBuffer: ${l.message}`),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:l,mimeType:o})}}}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){let{operationQueue:t}=this;t.current(e).onComplete(),t.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){let i=new Error(`${e} SourceBuffer error`);M.error(`[buffer-controller]: ${i}`,t),this.hls.trigger(y.ERROR,{type:pe.MEDIA_ERROR,details:B.BUFFER_APPENDING_ERROR,error:i,fatal:!1});let s=this.operationQueue.current(e);s&&s.onError(t)}removeExecutor(e,t,i){let{media:s,mediaSource:n,operationQueue:a,sourceBuffer:o}=this,l=o[e];if(!s||!n||!l){M.warn(`[buffer-controller]: Attempting to remove from the ${e} SourceBuffer, but it does not exist`),a.shiftAndExecuteNext(e);return}let d=ce(s.duration)?s.duration:1/0,c=ce(n.duration)?n.duration:1/0,u=Math.max(0,t),h=Math.min(i,d,c);h>u&&!l.ending?(l.ended=!1,M.log(`[buffer-controller]: Removing [${u},${h}] from the ${e} SourceBuffer`),l.remove(u,h)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){let{operationQueue:i,sourceBuffer:s}=this,n=s[t];if(!n){M.warn(`[buffer-controller]: Attempting to append to the ${t} SourceBuffer, but it does not exist`),i.shiftAndExecuteNext(t);return}n.ended=!1,n.appendBuffer(e)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){M.log("[buffer-controller]: Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return}let{operationQueue:i}=this,s=t.map(n=>i.appendBlocker(n));Promise.all(s).then(()=>{e(),t.forEach(n=>{let a=this.sourceBuffer[n];a!=null&&a.updating||i.shiftAndExecuteNext(n)})})}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,i){let s=this.sourceBuffer[e];if(!s)return;let n=i.bind(this,e);this.listeners[e].push({event:t,listener:n}),s.addEventListener(t,n)}removeBufferListeners(e){let t=this.sourceBuffer[e];!t||this.listeners[e].forEach(i=>{t.removeEventListener(i.event,i.listener)})}},wg={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},T0=function(e){let t=e;return wg.hasOwnProperty(e)&&(t=wg[e]),String.fromCharCode(t)},gi=15,zi=100,Q_={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Z_={17:2,18:4,21:6,22:8,23:10,19:13,20:15},J_={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},eA={25:2,26:4,29:6,30:8,31:10,27:13,28:15},tA=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],lh=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let i=typeof t=="function"?t():t;M.log(`${this.time} [${e}] ${i}`)}}},Br=function(e){let t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t},Il=class{constructor(e,t,i,s,n){this.foreground=void 0,this.underline=void 0,this.italics=void 0,this.background=void 0,this.flash=void 0,this.foreground=e||"white",this.underline=t||!1,this.italics=i||!1,this.background=s||"black",this.flash=n||!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let i=0;i<t.length;i++){let s=t[i];e.hasOwnProperty(s)&&(this[s]=e[s])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}},dh=class{constructor(e,t,i,s,n,a){this.uchar=void 0,this.penState=void 0,this.uchar=e||" ",this.penState=new Il(t,i,s,n,a)}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}},ch=class{constructor(e){this.chars=void 0,this.pos=void 0,this.currPenState=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chars=[];for(let t=0;t<zi;t++)this.chars.push(new dh);this.logger=e,this.pos=0,this.currPenState=new Il}equals(e){let t=!0;for(let i=0;i<zi;i++)if(!this.chars[i].equals(e.chars[i])){t=!1;break}return t}copy(e){for(let t=0;t<zi;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<zi;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>zi&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=zi)}moveCursor(e){let t=this.pos+e;if(e>1)for(let i=this.pos+1;i<t+1;i++)this.chars[i].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=T0(e);if(this.pos>=zi){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<zi;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let i=0;i<zi;i++){let s=this.chars[i].uchar;s!==" "&&(t=!1),e.push(s)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},Kn=class{constructor(e){this.rows=void 0,this.currRow=void 0,this.nrRollUpRows=void 0,this.lastOutputScreen=void 0,this.logger=void 0,this.rows=[];for(let t=0;t<gi;t++)this.rows.push(new ch(e));this.logger=e,this.currRow=gi-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.reset()}reset(){for(let e=0;e<gi;e++)this.rows[e].clear();this.currRow=gi-1}equals(e){let t=!0;for(let i=0;i<gi;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break}return t}copy(e){for(let t=0;t<gi;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<gi;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<gi;o++)this.rows[o].clear();let n=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let o=a.rows[n].cueStartTime,l=this.logger.time;if(o&&l!==null&&o<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(a.rows[n+d])}}this.currRow=t;let i=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,a=Math.max(n-1,0);i.setCursor(e.indent),e.color=i.chars[a].penState.foreground}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let t=[],i="",s=-1;for(let n=0;n<gi;n++){let a=this.rows[n].getTextString();a&&(s=n+1,e?t.push("Row "+s+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(e?i="["+t.join(" | ")+"]":i=t.join(`
958
+ `)),i}getTextAndFormat(){return this.rows}},Ll=class{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Kn(i),this.nonDisplayedMemory=new Kn(i),this.lastOutputScreen=new Kn(i),this.currRollUpRow=this.displayedMemory.rows[gi-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[gi-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let i=0;i<e.length;i++)this.writeScreen.insertChar(e[i]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let i=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[i]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},kl=class{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory=void 0,this.logger=void 0;let s=new lh;this.channels=[null,new Ll(e,t,s),new Ll(e+1,i,s)],this.cmdHistory=Cg(),this.logger=s}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){let i,s,n,a=!1;this.logger.time=e;for(let o=0;o<t.length;o+=2)if(s=t[o]&127,n=t[o+1]&127,!(s===0&&n===0)){if(this.logger.log(3,"["+Br([t[o],t[o+1]])+"] -> ("+Br([s,n])+")"),i=this.parseCmd(s,n),i||(i=this.parseMidrow(s,n)),i||(i=this.parsePAC(s,n)),i||(i=this.parseBackgroundAttributes(s,n)),!i&&(a=this.parseChars(s,n),a)){let l=this.currentChannel;l&&l>0?this.channels[l].insertChars(a):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!i&&!a&&this.logger.log(2,"Couldn't parse cleaned data "+Br([s,n])+" orig: "+Br([t[o],t[o+1]]))}}parseCmd(e,t){let{cmdHistory:i}=this,s=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,n=(e===23||e===31)&&t>=33&&t<=35;if(!(s||n))return!1;if(Dg(e,t,i))return Hs(null,null,i),this.logger.log(3,"Repeated command ("+Br([e,t])+") is dropped"),!0;let a=e===20||e===21||e===23?1:2,o=this.channels[a];return e===20||e===21||e===28||e===29?t===32?o.ccRCL():t===33?o.ccBS():t===34?o.ccAOF():t===35?o.ccAON():t===36?o.ccDER():t===37?o.ccRU(2):t===38?o.ccRU(3):t===39?o.ccRU(4):t===40?o.ccFON():t===41?o.ccRDC():t===42?o.ccTR():t===43?o.ccRTD():t===44?o.ccEDM():t===45?o.ccCR():t===46?o.ccENM():t===47&&o.ccEOC():o.ccTO(t-32),Hs(e,t,i),this.currentChannel=a,!0}parseMidrow(e,t){let i=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?i=1:i=2,i!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[i];return s?(s.ccMIDROW(t),this.logger.log(3,"MIDROW ("+Br([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let i,s=this.cmdHistory,n=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,a=(e===16||e===24)&&t>=64&&t<=95;if(!(n||a))return!1;if(Dg(e,t,s))return Hs(null,null,s),!0;let o=e<=23?1:2;t>=64&&t<=95?i=o===1?Q_[e]:J_[e]:i=o===1?Z_[e]:eA[e];let l=this.channels[o];return l?(l.setPAC(this.interpretPAC(i,t)),Hs(e,t,s),this.currentChannel=o,!0):!1}interpretPAC(e,t){let i,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?i=t-96:i=t-64,s.underline=(i&1)===1,i<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((i-16)/2)*4,s}parseChars(e,t){let i,s=null,n=null;if(e>=25?(i=2,n=e-8):(i=1,n=e),n>=17&&n<=19){let a;n===17?a=t+80:n===18?a=t+112:a=t+144,this.logger.log(2,"Special char '"+T0(a)+"' in channel "+i),s=[a]}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);if(s){let a=Br(s);this.logger.log(3,"Char codes = "+a.join(",")),Hs(e,t,this.cmdHistory)}return s}parseBackgroundAttributes(e,t){let i=(e===16||e===24)&&t>=32&&t<=47,s=(e===23||e===31)&&t>=45&&t<=47;if(!(i||s))return!1;let n,a={};e===16||e===24?(n=Math.floor((t-32)/2),a.background=tA[n],t%2===1&&(a.background=a.background+"_semi")):t===45?a.background="transparent":(a.foreground="black",t===47&&(a.underline=!0));let o=e<=23?1:2;return this.channels[o].setBkgData(a),Hs(e,t,this.cmdHistory),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}this.cmdHistory=Cg()}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e)}}};function Hs(r,e,t){t.a=r,t.b=e}function Dg(r,e,t){return t.a===r&&t.b===e}function Cg(){return{a:null,b:null}}var Ks=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},Rh=function(){if(typeof self!="undefined"&&self.VTTCue)return self.VTTCue;let r=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;let d=l.toLowerCase();return~o.indexOf(d)?d:!1}function i(o){return t(r,o)}function s(o){return t(e,o)}function n(o,...l){let d=1;for(;d<arguments.length;d++){let c=arguments[d];for(let u in c)o[u]=c[u]}return o}function a(o,l,d){let c=this,u={enumerable:!0};c.hasBeenReset=!1;let h="",f=!1,g=o,E=l,T=d,A=null,k="",L=!0,N="auto",D="start",$=50,O="middle",G=50,q="middle";Object.defineProperty(c,"id",n({},u,{get:function(){return h},set:function(P){h=""+P}})),Object.defineProperty(c,"pauseOnExit",n({},u,{get:function(){return f},set:function(P){f=!!P}})),Object.defineProperty(c,"startTime",n({},u,{get:function(){return g},set:function(P){if(typeof P!="number")throw new TypeError("Start time must be set to a number.");g=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"endTime",n({},u,{get:function(){return E},set:function(P){if(typeof P!="number")throw new TypeError("End time must be set to a number.");E=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"text",n({},u,{get:function(){return T},set:function(P){T=""+P,this.hasBeenReset=!0}})),Object.defineProperty(c,"region",n({},u,{get:function(){return A},set:function(P){A=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"vertical",n({},u,{get:function(){return k},set:function(P){let X=i(P);if(X===!1)throw new SyntaxError("An invalid or illegal string was specified.");k=X,this.hasBeenReset=!0}})),Object.defineProperty(c,"snapToLines",n({},u,{get:function(){return L},set:function(P){L=!!P,this.hasBeenReset=!0}})),Object.defineProperty(c,"line",n({},u,{get:function(){return N},set:function(P){if(typeof P!="number"&&P!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");N=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"lineAlign",n({},u,{get:function(){return D},set:function(P){let X=s(P);if(!X)throw new SyntaxError("An invalid or illegal string was specified.");D=X,this.hasBeenReset=!0}})),Object.defineProperty(c,"position",n({},u,{get:function(){return $},set:function(P){if(P<0||P>100)throw new Error("Position must be between 0 and 100.");$=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"positionAlign",n({},u,{get:function(){return O},set:function(P){let X=s(P);if(!X)throw new SyntaxError("An invalid or illegal string was specified.");O=X,this.hasBeenReset=!0}})),Object.defineProperty(c,"size",n({},u,{get:function(){return G},set:function(P){if(P<0||P>100)throw new Error("Size must be between 0 and 100.");G=P,this.hasBeenReset=!0}})),Object.defineProperty(c,"align",n({},u,{get:function(){return q},set:function(P){let X=s(P);if(!X)throw new SyntaxError("An invalid or illegal string was specified.");q=X,this.hasBeenReset=!0}})),c.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}(),uh=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}};function _0(r){function e(i,s,n,a){return(i|0)*3600+(s|0)*60+(n|0)+parseFloat(a||0)}let t=r.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}var hh=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let s=0;s<i.length;++s)if(t===i[s]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let i=parseFloat(t);if(i>=0&&i<=100)return this.set(e,i),!0}return!1}};function A0(r,e,t,i){let s=i?r.split(i):[r];for(let n in s){if(typeof s[n]!="string")continue;let a=s[n].split(t);if(a.length!==2)continue;let o=a[0],l=a[1];e(o,l)}}var fh=new Rh(0,0,""),ol=fh.align==="middle"?"middle":"center";function iA(r,e,t){let i=r;function s(){let o=_0(r);if(o===null)throw new Error("Malformed timestamp: "+i);return r=r.replace(/^[^\sa-zA-Z-]+/,""),o}function n(o,l){let d=new hh;A0(o,function(h,f){let g;switch(h){case"region":for(let E=t.length-1;E>=0;E--)if(t[E].id===f){d.set(h,t[E].region);break}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":g=f.split(","),d.integer(h,g[0]),d.percent(h,g[0])&&d.set("snapToLines",!1),d.alt(h,g[0],["auto"]),g.length===2&&d.alt("lineAlign",g[1],["start",ol,"end"]);break;case"position":g=f.split(","),d.percent(h,g[0]),g.length===2&&d.alt("positionAlign",g[1],["start",ol,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",ol,"end","left","right"]);break}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let c=d.get("line","auto");c==="auto"&&fh.line===-1&&(c=-1),l.line=c,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",ol);let u=d.get("position","auto");u==="auto"&&fh.position===50&&(u=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=u}function a(){r=r.replace(/^\s+/,"")}if(a(),e.startTime=s(),a(),r.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+i);r=r.slice(3),a(),e.endTime=s(),a(),n(r,e)}function S0(r){return r.replace(/<br(?: \/)?>/gi,`
959
959
  `)}var mh=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new uh,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function i(){let n=t.buffer,a=0;for(n=S0(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
960
960
  `;)++a;let o=n.slice(0,a);return n[a]==="\r"&&++a,n[a]===`
961
- `&&++a,t.buffer=n.slice(a),o}function s(n){A0(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=i();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=i(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new kh(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{tA(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
961
+ `&&++a,t.buffer=n.slice(a),o}function s(n){A0(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=i();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=i(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new Rh(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{iA(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
962
962
  `),t.cue.text+=n}continue;case"BADCUE":n||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
963
963
 
964
- `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},iA=/\r\n|\n\r|\n|\r/g,pu=function(e,t,i=0){return e.slice(i,i+t.length)===t},rA=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!ce(t)||!ce(i)||!ce(s)||!ce(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=60*1e3*s,t+=60*60*1e3*n,t},gu=function(e){let t=5381,i=e.length;for(;i;)t=t*33^e.charCodeAt(--i);return(t>>>0).toString()};function wh(r,e,t){return gu(r.toString())+gu(e.toString())+gu(t)}var sA=function(e,t,i){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=i};function nA(r,e,t,i,s,n,a){let o=new mh,l=Gi(new Uint8Array(r)).trim().replace(iA,`
964
+ `,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},rA=/\r\n|\n\r|\n|\r/g,pu=function(e,t,i=0){return e.slice(i,i+t.length)===t},sA=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!ce(t)||!ce(i)||!ce(s)||!ce(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=60*1e3*s,t+=60*60*1e3*n,t},gu=function(e){let t=5381,i=e.length;for(;i;)t=t*33^e.charCodeAt(--i);return(t>>>0).toString()};function wh(r,e,t){return gu(r.toString())+gu(e.toString())+gu(t)}var nA=function(e,t,i){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=i};function aA(r,e,t,i,s,n,a){let o=new mh,l=Gi(new Uint8Array(r)).trim().replace(rA,`
965
965
  `).split(`
966
- `),d=[],c=e?U_(e.baseTime,e.timescale):0,u="00:00.000",h=0,f=0,g,E=!0;o.oncue=function(T){let S=t[i],R=t.ccOffset,x=(h-c)/9e4;if(S!=null&&S.new&&(f!==void 0?R=t.ccOffset=S.start:sA(t,i,x)),x){if(!e){g=new Error("Missing initPTS for VTT MPEGTS");return}R=x-t.presentationOffset}let N=T.endTime-T.startTime,D=li((T.startTime+R-f)*9e4,s*9e4)/9e4;T.startTime=Math.max(D,0),T.endTime=Math.max(D+N,0);let $=T.text.trim();T.text=decodeURIComponent(encodeURIComponent($)),T.id||(T.id=wh(T.startTime,T.endTime,$)),T.endTime>0&&d.push(T)},o.onparsingerror=function(T){g=T},o.onflush=function(){if(g){a(g);return}n(d)},l.forEach(T=>{if(E)if(pu(T,"X-TIMESTAMP-MAP=")){E=!1,T.slice(16).split(",").forEach(S=>{pu(S,"LOCAL:")?u=S.slice(6):pu(S,"MPEGTS:")&&(h=parseInt(S.slice(7)))});try{f=rA(u)/1e3}catch(S){g=S}return}else T===""&&(E=!1);o.parse(T+`
967
- `)}),o.flush()}var vu="stpp.ttml.im1t",x0=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,I0=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,aA={left:"start",center:"center",right:"end",start:"start",end:"end"};function Mg(r,e,t,i){let s=Pe(new Uint8Array(r),["mdat"]);if(s.length===0){i(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Gi(o)),a=N_(e.baseTime,1,e.timescale);try{n.forEach(o=>t(oA(o,a)))}catch(o){i(o)}}function oA(r,e){let s=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((u,h)=>(u[h]=s.getAttribute(`ttp:${h}`)||n[h],u),{}),o=s.getAttribute("xml:space")!=="preserve",l=Og(Eu(s,"styling","style")),d=Og(Eu(s,"layout","region")),c=Eu(s,"body","[begin]");return[].map.call(c,u=>{let h=L0(u,o);if(!h||!u.hasAttribute("begin"))return null;let f=bu(u.getAttribute("begin"),a),g=bu(u.getAttribute("dur"),a),E=bu(u.getAttribute("end"),a);if(f===null)throw Pg(u);if(E===null){if(g===null)throw Pg(u);E=f+g}let T=new kh(f-e,E-e,h);T.id=wh(T.startTime,T.endTime,T.text);let S=d[u.getAttribute("region")],R=l[u.getAttribute("style")],x=lA(S,R,l),{textAlign:N}=x;if(N){let D=aA[N];D&&(T.lineAlign=D),T.align=N}return gt(T,x),T}).filter(u=>u!==null)}function Eu(r,e,t){let i=r.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(t)):[]}function Og(r){return r.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function L0(r,e){return[].slice.call(r.childNodes).reduce((t,i,s)=>{var n;return i.nodeName==="br"&&s?t+`
968
- `:(n=i.childNodes)!=null&&n.length?L0(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent},"")}function lA(r,e,t){let i="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=r!=null&&r.hasAttribute("style")?r.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=yu(e,i,l)||yu(r,i,l)||yu(s,i,l);return d&&(o[l]=d),o},{})}function yu(r,e,t){return r&&r.hasAttributeNS(e,t)?r.getAttributeNS(e,t):null}function Pg(r){return new Error(`Could not parse ttml timestamp ${r}`)}function bu(r,e){if(!r)return null;let t=_0(r);return t===null&&(x0.test(r)?t=dA(r,e):I0.test(r)&&(t=cA(r,e))),t}function dA(r,e){let t=x0.exec(r),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate}function cA(r,e){let t=I0.exec(r),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}var ph=class{constructor(e){if(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.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Ng(),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}},this.config.enableCEA708Captions){let t=new Ks(this,"textTrack1"),i=new Ks(this,"textTrack2"),s=new Ks(this,"textTrack3"),n=new Ks(this,"textTrack4");this.cea608Parser1=new Ll(1,t,i),this.cea608Parser2=new Ll(3,s,n)}e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.cea608Parser1=this.cea608Parser2=null}addCues(e,t,i,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=hA(l[0],l[1],t,i);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),a=!0,d/(i-t)>.5))return}if(a||n.push([t,i]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,i,s)}else{let o=this.Cues.newCue(null,t,i,s);this.hls.trigger(y.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;i==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(y.FRAG_LOADED,o)}))}getExistingTrack(e){let{media:t}=this;if(t)for(let i=0;i<t.textTracks.length;i++){let s=t.textTracks[i];if(s[e])return s}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(e);if(o)i[e]=o,Vs(i[e]),Jg(i[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,i[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i=t.label,s={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,i){let s=this.media;if(!!s)return s.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Vs(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Ng(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let i=0;i<t.length;i++)Vs(t[i])}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],s=i.some(n=>n.textCodec===vu);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(b0(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let a=this.media?this.media.textTracks:null;this.tracks.forEach((o,l)=>{let d;if(a&&l<a.length){let c=null;for(let u=0;u<a.length;u++)if(uA(a[u],o)){c=a[u];break}c&&(d=c)}if(d)Vs(d);else{let c=this._captionsOrSubtitlesFromCharacteristics(o);d=this.createTextTrack(c,o.name,o.lang),d&&(d.mode="disabled")}d&&(d.groupId=o.groupId,this.textTracks.push(d))})}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}_captionsOrSubtitlesFromCharacteristics(e){if(e.attrs.CHARACTERISTICS){let t=/transcribes-spoken-dialog/gi.test(e.attrs.CHARACTERISTICS),i=/describes-music-and-sound/gi.test(e.attrs.CHARACTERISTICS);if(t&&i)return"captions"}return"subtitles"}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(i=>{let s=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];!a||(a.label=i.name,i.lang&&(a.languageCode=i.lang),a.media=i)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){let{cea608Parser1:i,cea608Parser2:s,lastSn:n,lastPartIndex:a}=this;if(!(!this.enabled||!(i&&s))&&t.frag.type===ge.MAIN){var o,l;let d=t.frag.sn,c=(o=t==null||(l=t.part)==null?void 0:l.index)!=null?o:-1;d===n+1||d===n&&c===a+1||(i.reset(),s.reset()),this.lastSn=d,this.lastPartIndex=c}}onFragLoaded(e,t){let{frag:i,payload:s}=t;if(i.type===ge.SUBTITLE)if(s.byteLength){let n=i.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[i.level],l=this.vttCCs;l[i.cc]||(l[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),o&&o.textCodec===vu?this._parseIMSC1(i,s):this._parseVTTs(t)}}else this.hls.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;Mg(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),i.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{M.log(`Failed to parse IMSC1: ${s}`),i.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:i,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[i.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=i.initSegment)!=null&&t.data?Hr(i.initSegment.data,new Uint8Array(s)):s;nA(d,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,c=>{this._appendCues(c,i.level),l.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},c=>{let u=c.message==="Missing initPTS for VTT MPEGTS";u?a.push(e):this._fallbackToIMSC1(i,s),M.log(`Failed to parse VTT cue: ${c}`),!(u&&o>i.cc)&&l.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:c})})}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||Mg(t,this.initPTS[e.cc],()=>{i.textCodec=vu,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>e0(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;i.trigger(y.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===ge.SUBTITLE&&this.onFragLoaded(y.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){let{cea608Parser1:i,cea608Parser2:s}=this;if(!this.enabled||!(i&&s))return;let{frag:n,samples:a}=t;if(!(n.type===ge.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);i.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<i)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Iu(o[l],t,i))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Iu(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],i=e[0]&31,s=2;for(let n=0;n<i;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let c=3&a;(c===0||c===1)&&(t[c].push(o),t[c].push(l))}}return t}};function uA(r,e){return!!r&&r.label===e.name&&!(r.textTrack1||r.textTrack2)}function hA(r,e,t,i){return Math.min(e,i)-Math.max(r,t)}function Ng(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var zn=class{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.unregisterListener(),this.hls.config.capLevelToPlayerSize&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null}onManifestParsed(e,t){let i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media&&this.mediaHeight>0&&this.mediaWidth>0){let e=this.hls.levels;if(e.length){let t=this.hls;t.autoLevelCapping=this.getMaxLevel(e.length-1),t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let i=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,zn.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let 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)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(i=>e.bitrate===i.bitrate&&e.width===i.width&&e.height===i.height)}static getMaxLevelByMediaSize(e,t,i){if(!(e!=null&&e.length))return-1;let s=(a,o)=>o?a.width!==o.width||a.height!==o.height:!0,n=e.length-1;for(let a=0;a<e.length;a+=1){let o=e[a];if((o.width>=t||o.height>=i)&&s(o,e[a+1])){n=a;break}}return n}},gh=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(y.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let i=this.hls.config;if(i.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,i){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=i-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(y.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:i}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let c=d.currentLevel;M.warn("drop FPS ratio greater than max allowed value for currentLevel: "+c),c>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=c)&&(c=c-1,d.trigger(y.FPS_DROP_LEVEL_CAPPING,{level:c,droppedLevel:d.currentLevel}),d.autoLevelCapping=c,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=i,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},ol="[eme]",vr=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=vr.CDMCleanupPromise?[vr.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=M.debug.bind(M,ol),this.log=M.log.bind(M,ol),this.warn=M.warn.bind(M,ol),this.error=M.error.bind(M,ol),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(y.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(y.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===st.WIDEVINE&&i)return i;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(i),n=t.map(a=>a.videoCodec).filter(i);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let c=d.shift();this.getMediaKeysPromise(c,s,n).then(u=>a({keySystem:c,mediaKeys:u})).catch(u=>{d.length?l(d):u instanceof Yt?o(u):o(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_ACCESS,error:u,fatal:!0},u.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if(typeof i!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${i}`;return Gg===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return i(e,t)}getMediaKeysPromise(e,t,i){let s=uT(e,t,i,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(c=>(this.log(`Media-keys created for "${e}"`),d.then(u=>u?this.setMediaKeysServerCertificate(c,e,u):c))),o.mediaKeys.catch(c=>{this.error(`Failed to create media-keys for "${e}"}: ${c}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${Ni.hexDump(e.keyId||[])}`);let s=i.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(i,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Ni.hexDump(e.keyId)}updateKeySession(e,t){var i;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Ni.hexDump(((i=e.decryptdata)==null?void 0:i.keyId)||[])}
969
- } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,i)=>{let s=eu(this.config),n=e.map(eg).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=tg(a);o?t(o):i(new Error(`Unable to find format for key-system "${a}"`))}).catch(i)})}loadKey(e){let t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){!this.hls||(this.error(e.message),e instanceof Yt?this.hls.trigger(y.ERROR,e.data):this.hls.trigger(y.ERROR,{type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){let s=eg(e.keyFormat),n=s?[s]:eu(this.config);return this.attemptKeySystemAccess(n)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=eu(this.config)),e.length===0)throw new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:i}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),i===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[st.FAIRPLAY]){let c=kt(new Uint8Array(i));try{let u=Th(JSON.parse(c).sinf),h=zg(new Uint8Array(u));if(!h)return;s=h.subarray(8,24),n=st.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let c=PT(i);if(c===null)return;c.version===0&&c.systemId===$g.WIDEVINE&&c.data&&(s=c.data.subarray(8,24)),n=cT(c.systemId)}if(!n||!s)return;let a=Ni.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let c=0;c<l.length;c++){let u=l[c],h=u.decryptdata;if(h.pssh||!h.keyId)continue;let f=Ni.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(i),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(u,t,i,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:c,mediaKeys:u})=>{var h;this.throwIfDestroyed();let f=new Vr("ISO-23001-7",a,(h=tg(c))!=null?h:"");return f.pssh=new Uint8Array(i),f.keyId=s,this.attemptSetMediaKeys(c,u).then(()=>{this.throwIfDestroyed();let g=this.createMediaKeySessionContext({decryptdata:f,keySystem:c,mediaKeys:u});return this.generateRequestWithPreferredKeySession(g,t,i,"encrypted-event-no-match")})})),d.catch(c=>this.handleError(c))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(i).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>i.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,i,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let h=o.call(this.hls,t,i,e);if(!h)throw new Error("Invalid response from configured generateRequest filter");t=h.initDataType,i=e.decryptdata.pssh=h.initData?new Uint8Array(h.initData):null}catch(h){var l;if(this.warn(h.message),(l=this.hls)!=null&&l.config.debug)throw h}if(i===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${i?i.byteLength:null})`);let c=new Rh;e.mediaKeysSession.onmessage=h=>{let f=e.mediaKeysSession;if(!f){c.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=h;this.log(`"${g}" message event for session "${f.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),c.emit("error",T)}):g==="license-release"?e.keySystem===st.FAIRPLAY&&(this.updateKeySession(e,Bg("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},e.mediaKeysSession.onkeystatuseschange=h=>{if(!e.mediaKeysSession){c.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;c.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};let u=new Promise((h,f)=>{c.on("error",f),c.on("keyStatus",g=>{g.startsWith("usable")?h():g==="output-restricted"?f(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?f(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?f(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,i).then(()=>{var h;this.log(`Request generated for key-session "${(h=e.mediaKeysSession)==null?void 0:h.sessionId}" keyId: ${d}`)}).catch(h=>{throw new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_SESSION,error:h,fatal:!1},`Error generating key-session request: ${h}`)}).then(()=>u).catch(h=>{throw c.removeAllListeners(),this.removeSession(e),h}).then(()=>(c.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,i)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Ni.hexDump("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))} session keyId: ${Ni.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,i=t.loader,s=new i(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching serverCertificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{a(h.data)},onError:(h,f,g,E)=>{o(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:zt({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,g)=>{o(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,g)=>{o(new Error("aborted"))}};s.load(l,c,u)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((s,n)=>{e.setServerCertificate(i).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${i==null?void 0:i.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(i=>this.updateKeySession(e,new Uint8Array(i)).catch(s=>{throw new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}setupLicenseXHR(e,t,i,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!i.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,i,s)}).catch(a=>{if(!i.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,i,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let i=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(c){this.error(c)}s(l)}else{let l=i.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let c=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${c} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,i.addEventListener("encrypted",this.onMediaEncrypted),i.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},Vr.clearKeyUriToKeyIdMap();let i=t.length;vr.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}. media.src: ${e==null?void 0:e.src}`)}))).then(()=>{i&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}. media.src: ${e==null?void 0:e.src}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let i=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${i.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(i)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),t.onmessage=null,t.onkeystatuseschange=null,i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};vr.CDMCleanupPromise=void 0;var Yt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},fA=1,Wt={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},mA="h",Bi=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.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:Wt.MANIFEST,su:!this.initialized})}catch(n){M.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===Wt.VIDEO||o===Wt.AUDIO||o==Wt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){M.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:i}=t;i!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||Bi.uuid(),this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.registerListeners())}registerListeners(){let e=this.hls;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHED,this.onMediaDetached,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHED,this.onMediaDetached,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=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,s;this.audioBuffer=(i=t.tracks.audio)==null?void 0:i.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:fA,sf:mA,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){gt(t,this.createData());let i=t.ot===Wt.INIT||t.ot===Wt.VIDEO||t.ot===Wt.MUXED;if(this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering),this.useHeaders){let s=Bi.toHeaders(t);if(!Object.keys(s).length)return;e.headers||(e.headers={}),gt(e.headers,s)}else{let s=Bi.toQuery(t);if(!s)return;e.url=Bi.appendQueryToUri(e.url,s)}}getObjectType(e){let{type:t}=e;if(t==="subtitle")return Wt.TIMED_TEXT;if(e.sn==="initSegment")return Wt.INIT;if(t==="audio")return Wt.AUDIO;if(t==="main")return this.hls.audioTracks.length?Wt.VIDEO:Wt.MUXED}getTopBandwidth(e){let t=0,i,s=this.hls;if(e===Wt.AUDIO)i=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;i=s.levels.slice(0,a)}for(let n of i)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,i=e===Wt.AUDIO?this.audioBuffer:this.videoBuffer;return!i||!t?NaN:je.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}static uuid(){let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}static serialize(e){let t=[],i=d=>!Number.isNaN(d)&&d!=null&&d!==""&&d!==!1,s=d=>Math.round(d),n=d=>s(d/100)*100,o={br:s,d:s,bl:n,dl:n,mtp:n,nor:d=>encodeURIComponent(d),rtp:n,tb:s},l=Object.keys(e||{}).sort();for(let d of l){let c=e[d];if(!i(c)||d==="v"&&c===1||d=="pr"&&c===1)continue;let u=o[d];u&&(c=u(c));let h=typeof c,f;d==="ot"||d==="sf"||d==="st"?f=`${d}=${c}`:h==="boolean"?f=d:h==="number"?f=`${d}=${c}`:f=`${d}=${JSON.stringify(c)}`,t.push(f)}return t.join(",")}static toHeaders(e){let t=Object.keys(e),i={},s=["Object","Request","Session","Status"],n=[{},{},{},{}],a={br:0,d:0,ot:0,tb:0,bl:1,dl:1,mtp:1,nor:1,nrr:1,su:1,cid:2,pr:2,sf:2,sid:2,st:2,v:2,bs:3,rtp:3};for(let o of t){let l=a[o]!=null?a[o]:1;n[l][o]=e[o]}for(let o=0;o<n.length;o++){let l=Bi.serialize(n[o]);l&&(i[`CMCD-${s[o]}`]=l)}return i}static toQuery(e){return`CMCD=${encodeURIComponent(Bi.serialize(e))}`}static appendQueryToUri(e,t){if(!t)return e;let i=e.includes("?")?"&":"?";return`${e}${i}${t}`}},pA=3e5,vh=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=M.log.bind(M,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;!e||(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.ERROR,this.onError,this))}startLoad(){if(this.started=!0,self.clearTimeout(this.reloadTimer),this.enabled&&this.uri)if(this.updated){let e=Math.max(this.timeToLoad*1e3-(performance.now()-this.updated),0);this.scheduleRefresh(this.uri,e)}else this.loadSteeringManifest(this.uri)}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),self.clearTimeout(this.reloadTimer)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(i=>i!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:i}=t;i!==null&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:i}=t;if((i==null?void 0:i.action)===Ut.SendAlternateToPenaltyBox&&i.flags===pi.MoveAllAlternatesMatchingHost){let s=this.pathwayPriority,n=this.pathwayId;this.penalizedPathways[n]||(this.penalizedPathways[n]=performance.now()),!s&&this.levels&&(s=this.levels.reduce((a,o)=>(a.indexOf(o.pathwayId)===-1&&a.push(o.pathwayId),a),[])),s&&s.length>1&&(this.updatePathwayPriority(s),i.resolved=this.pathwayId!==n)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,i=this.penalizedPathways,s=performance.now();Object.keys(i).forEach(n=>{s-i[n]>pA&&delete i[n]});for(let n=0;n<e.length;n++){let a=e[n];if(i[a])continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,this.hls.trigger(y.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}clonePathways(e){let t=this.levels;if(!t)return;let i={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(c=>c.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(c=>{let u=gt({},c);u.details=void 0,u.url=R0(c.uri,c.attrs["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l);let h=new Ze(c.attrs);h["PATHWAY-ID"]=a;let f=h.AUDIO&&`${h.AUDIO}_clone_${a}`,g=h.SUBTITLES&&`${h.SUBTITLES}_clone_${a}`;f&&(i[h.AUDIO]=f,h.AUDIO=f),g&&(s[h.SUBTITLES]=g,h.SUBTITLES=g),u.attrs=h;let E=new Kr(u);return gl(E,"audio",f),gl(E,"text",g),E});t.push(...d),Ug(this.audioTracks,i,l,a),Ug(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,i=t.loader;this.loader&&this.loader.destroy(),this.loader=new i(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let c=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+c)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(c,u,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let g=c.data;if(g.VERSION!==1){this.log(`Steering VERSION ${g.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=g.TTL;let{"RELOAD-URI":E,"PATHWAY-CLONES":T,"PATHWAY-PRIORITY":S}=g;if(E)try{this.uri=new self.URL(E,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${E}`);return}this.scheduleRefresh(this.uri||h.url),T&&this.clonePathways(T),S&&this.updatePathwayPriority(S)},onError:(c,u,h,f)=>{if(this.log(`Error loading steering manifest: ${c.code} ${c.text} (${u.url})`),this.stopLoad(),c.code===410){this.enabled=!1,this.log(`Steering manifest ${u.url} no longer available`);return}let g=this.timeToLoad*1e3;if(c.code===429){let E=this.loader;if(typeof(E==null?void 0:E.getResponseHeader)=="function"){let T=E.getResponseHeader("Retry-After");T&&(g=parseFloat(T)*1e3)}this.log(`Steering manifest ${u.url} rate limited`);return}this.scheduleRefresh(this.uri||u.url,g)},onTimeout:(c,u,h)=>{this.log(`Timeout loading steering manifest (${u.url})`),this.scheduleRefresh(this.uri||u.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){self.clearTimeout(this.reloadTimer),this.reloadTimer=self.setTimeout(()=>{this.loadSteeringManifest(e)},t)}};function Ug(r,e,t,i){!r||Object.keys(e).forEach(s=>{let n=r.filter(a=>a.groupId===s).map(a=>{let o=gt({},a);return o.details=void 0,o.attrs=new Ze(o.attrs),o.url=o.attrs.URI=R0(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=i,o});r.push(...n)})}function R0(r,e,t,i){let{HOST:s,PARAMS:n,[t]:a}=i,o;e&&(o=a==null?void 0:a[e],o&&(r=o));let l=new self.URL(r);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var gA=/^age:\s*[\d.]+\s*$/im,Rl=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=void 0,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Ws,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,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:t}=this;if(!e)return;let i=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!this.stats.aborted)return n(i,t.url)}).catch(a=>(i.open("GET",t.url,!0),n(i,t.url))).then(()=>{this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(a=>{this.callbacks.onError({code:i.status,text:a.message},t,i,s)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let s=this.context.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=i.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=n&&ce(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!i.aborted&&s>=2&&(i.loading.first===0&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){i.loading.end=Math.max(self.performance.now(),i.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(i.loaded=i.total=d,i.bwEstimate=i.total*8e3/(i.loading.end-i.loading.first),!this.callbacks)return;let c=this.callbacks.onProgress;if(c&&c(i,e,l,t),!this.callbacks)return;let u={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(u,i,e,t)}else{let l=n.loadPolicy.errorRetry,d=i.retry;pl(l,d,!1,a)?this.retry(l):(M.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,i))}}}loadtimeout(){var e;let t=(e=this.config)==null?void 0:e.loadPolicy.timeoutRetry,i=this.stats.retry;if(pl(t,i,!0))this.retry(t);else{M.warn(`timeout while loading ${this.context.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:i}=this;this.retryDelay=Ah(e,i.retry),i.retry++,M.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${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){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&gA.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function vA(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var EA=/(\d+)-(\d+)\/(\d+)/,kl=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=void 0,this.response=void 0,this.controller=void 0,this.context=void 0,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||_A,this.controller=new self.AbortController,this.stats=new Ws}destroy(){this.loader=this.callbacks=null,this.abortInternal()}abortInternal(){let e=this.response;e!=null&&e.ok||(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=yA(e,this.controller.signal),a=i.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:c}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&ce(d)?d:c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(u=>{this.response=this.loader=u;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},c-(h-s.loading.start)),!u.ok){let{status:f,statusText:g}=u;throw new Eh(g||"fetch, bad network response",f,u)}return s.loading.first=h,s.total=TA(u.headers)||s.total,a&&ce(t.highWaterMark)?this.loadProgressively(u,s,e,t.highWaterMark,a):o?u.arrayBuffer():e.responseType==="json"?u.json():u.text()}).then(u=>{let{response:h}=this;self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=u[l];f&&(s.loaded=s.total=f);let g={url:h.url,data:u,code:h.status};a&&!ce(t.highWaterMark)&&a(s,e,u,h),i.onSuccess(g,s,e,h)}).catch(u=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=u&&u.code||0,f=u?u.message:null;i.onError({code:h,text:f},e,u?u.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,i,s=0,n){let a=new Sl,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,i,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let c=d.value,u=c.length;return t.loaded+=u,u<s||a.dataLength?(a.push(c),a.dataLength>=s&&n(t,i,a.flush(),e)):n(t,i,c,e),l()}).catch(()=>Promise.reject());return l()}};function yA(r,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(gt({},r.headers))};return r.rangeEnd&&t.headers.set("Range","bytes="+r.rangeStart+"-"+String(r.rangeEnd-1)),t}function bA(r){let e=EA.exec(r);if(e)return parseInt(e[2])-parseInt(e[1])+1}function TA(r){let e=r.get("Content-Range");if(e){let i=bA(e);if(ce(i))return i}let t=r.get("Content-Length");if(t)return parseInt(t)}function _A(r,e){return new self.Request(r.url,e)}var Eh=class extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}},AA=/\s/,SA={newCue(r,e,t,i){let s=[],n,a,o,l,d,c=self.VTTCue||self.TextTrackCue;for(let h=0;h<i.rows.length;h++)if(n=i.rows[h],o=!0,l=0,d="",!n.isEmpty()){var u;for(let E=0;E<n.chars.length;E++)AA.test(n.chars[E].uchar)&&o?l++:(d+=n.chars[E].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=S0(d.trim()),g=wh(e,t,f);r!=null&&(u=r.cues)!=null&&u.getCueById(g)||(a=new c(e,t,f),a.id=g,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return r&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>e0(r,h))),s}},xA={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},IA=zt(zt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Rl,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:eh,bufferController:oh,capLevelController:zn,errorController:Mu,fpsController:gh,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Gg,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,certLoadPolicy:{default:xA},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},LA()),{},{subtitleStreamController:rh,subtitleTrackController:nh,timelineController:ph,audioStreamController:th,audioTrackController:ih,emeController:vr,cmcdController:Bi,contentSteeringController:vh});function LA(){return{cueHandler:SA,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function RA(r,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=yh(r),i=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return i.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let c=`${n}Loading${d}`,u=e[c];if(u!==void 0&&o){l.push(c);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=u,h.maxTimeToFirstByteMs=u;break;case"MaxRetry":h.errorRetry.maxNumRetry=u,h.timeoutRetry.maxNumRetry=u;break;case"RetryDelay":h.errorRetry.retryDelayMs=u,h.timeoutRetry.retryDelayMs=u;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=u,h.timeoutRetry.maxRetryDelayMs=u;break}}}),l.length&&M.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),zt(zt({},t),e)}function yh(r){return r&&typeof r=="object"?Array.isArray(r)?r.map(yh):Object.keys(r).reduce((e,t)=>(e[t]=yh(r[t]),e),{}):r}function kA(r){let e=r.loader;e!==kl&&e!==Rl?(M.log("[config]: Custom loader detected, cannot enable progressive streaming"),r.progressive=!1):vA()&&(r.loader=kl,r.progressive=!0,r.enableSoftwareAES=!0,M.log("[config]: Progressive streaming enabled, using FetchLoader"))}var $i=class{static get version(){return"1.4.8"}static isSupported(){return g_()}static get Events(){return y}static get ErrorTypes(){return pe}static get ErrorDetails(){return B}static get DefaultConfig(){return $i.defaultConfig?$i.defaultConfig:IA}static set DefaultConfig(e){$i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new Rh,this._autoLevelCapping=void 0,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,iT(e.debug||!1,"Hls instance");let t=this.config=RA($i.DefaultConfig,e);this.userConfig=e,this._autoLevelCapping=-1,t.progressive&&kA(t);let{abrController:i,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new i(this),c=this.bufferController=new s(this),u=this.capLevelController=new n(this),h=new o(this),f=new xu(this),g=new Ru(this),E=t.contentSteeringController,T=E?new E(this):null,S=this.levelController=new Ou(this,T),R=new Pu(this),x=new Uu(this.config),N=this.streamController=new Zu(this,R,x);u.setStreamController(N),h.setStreamController(N);let D=[f,S,N];T&&D.splice(1,0,T),this.networkControllers=D;let $=[d,c,u,h,g,R];this.audioTrackController=this.createController(t.audioTrackController,D);let O=t.audioStreamController;O&&D.push(new O(this,R,x)),this.subtitleTrackController=this.createController(t.subtitleTrackController,D);let H=t.subtitleStreamController;H&&D.push(new H(this,R,x)),this.createController(t.timelineController,$),x.emeController=this.emeController=this.createController(t.emeController,$),this.cmcdController=this.createController(t.cmcdController,$),this.latencyController=this.createController(ku,$),this.coreComponents=$,D.push(l);let q=l.onErrorOut;typeof q=="function"&&this.on(y.ERROR,q,l)}createController(e,t){if(e){let i=new e(this);return t&&t.push(i),i}return 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,s){this._emitter.off(e,t,i,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(i){M.error("An internal error happened while handling event "+e+'. Error message: "'+i.message+'". Here is a stacktrace:',i),this.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:e,error:i})}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){M.log("destroy"),this.trigger(y.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){M.log("attachMedia"),this._media=e,this.trigger(y.MEDIA_ATTACHING,{media:e})}detachMedia(){M.log("detachMedia"),this.trigger(y.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,i=this.url,s=this.url=bh.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});M.log(`loadSource:${s}`),t&&i&&(i!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(y.MANIFEST_LOADING,{url:e})}startLoad(e=-1){M.log(`startLoad(${e})`),this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){M.log("stopLoad"),this.networkControllers.forEach(e=>{e.stopLoad()})}swapAudioCodec(){M.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){M.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e,t=0){this.levelController.removeLevel(e,t)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){M.log(`set currentLevel:${e}`),this.loadLevel=e,this.abrController.clearTimer(),this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){M.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){M.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){M.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){return this.levelController.startLevel}set startLevel(e){M.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(M.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e)}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){wu.indexOf(e)>-1&&(this._maxHdcpLevel=e)}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let i=e.length;for(let s=0;s<i;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:i}=this,s;if(t===-1&&e&&e.length?s=e.length-1:s=t,i)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=i)return n}return s}get nextAutoLevel(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)}set nextAutoLevel(e){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,e)}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};$i.defaultConfig=void 0;var ct=$i,Xn=class extends Error{constructor(r,e=Xn.MEDIA_ERR_CUSTOM,t,i){var s;super(r),this.name="MediaError",this.code=e,this.context=i,this.fatal=t!=null?t:e>=Xn.MEDIA_ERR_NETWORK&&e<=Xn.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(s=Xn.defaultMessages[this.code])!=null?s:"")}},it=Xn;it.MEDIA_ERR_ABORTED=1,it.MEDIA_ERR_NETWORK=2,it.MEDIA_ERR_DECODE=3,it.MEDIA_ERR_SRC_NOT_SUPPORTED=4,it.MEDIA_ERR_ENCRYPTED=5,it.MEDIA_ERR_CUSTOM=100,it.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var wA=r=>r==null,P0=(r,e)=>wA(e)?!1:r in e,Ch={ANY:"any",MUTED:"muted"},Je={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},di={MSE:"mse",NATIVE:"native"},Mh={HEADER:"header",QUERY:"query",NONE:"none"},qs=Object.values(Mh),Er={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Oh={HLS:Er.M3U8},c1=Object.keys(Oh),u1=[...Object.values(Er),"hls","HLS"],yi=(r,e,t,i,s=r)=>{s.addEventListener(e,t,i),r.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function DA(r,e,t){e&&t>e&&(t=e);for(let i=0;i<r.length;i++)if(r.start(i)<=t&&r.end(i)>=t)return!0;return!1}var CA=r=>{let e=r.indexOf("?");if(e<0)return[r];let t=r.slice(0,e),i=r.slice(e);return[t,i]},Ml=r=>{let e=r.type;if(e){let i=e.toUpperCase();return P0(i,Oh)?Oh[i]:e}let{src:t}=r;return t?MA(t):""},N0=r=>r==="VOD"?Je.ON_DEMAND:Je.LIVE,U0=r=>r==="EVENT"?Number.POSITIVE_INFINITY:r==="VOD"?Number.NaN:0,MA=r=>{let e="";try{e=new URL(r).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let i=e.slice(t+1).toUpperCase();return P0(i,Er)?Er[i]:""},OA=Object.values(Ch),k0=r=>typeof r=="boolean"||typeof r=="string"&&OA.includes(r),PA=({autoplay:r},e,t)=>{let i=!1,s=!1,n=k0(r)?r:!!r,a=()=>{i||yi(e,"playing",()=>{i=!0},{once:!0})};if(a(),yi(e,"loadstart",()=>{i=!1,a(),Dh(e,n)},{once:!0}),yi(e,"loadstart",()=>{t||(s=!Number.isFinite(e.duration)),Dh(e,n)},{once:!0}),t&&t.once(ct.Events.LEVEL_LOADED,(o,l)=>{var d;s=(d=l.details.live)!=null?d:!1}),!n){let o=()=>{!s||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&yi(e,"play",()=>{e.preload==="metadata"?t.once(ct.Events.LEVEL_UPDATED,o):o()},{once:!0})}return o=>{i||(n=k0(o)?o:!!o,Dh(e,n))}},Dh=(r,e)=>{if(!e)return;let t=r.muted,i=()=>r.muted=t;switch(e){case Ch.ANY:r.play().catch(()=>{r.muted=!0,r.play().catch(i)});break;case Ch.MUTED:r.muted=!0,r.play().catch(i);break;default:r.play().catch(()=>{});break}},NA=({preload:r,src:e},t,i)=>{let s=u=>{u!=null&&["","none","metadata","auto"].includes(u)?t.setAttribute("preload",u):t.removeAttribute("preload")};if(!i)return s(r),s;let n=!1,a=!1,o=i.config.maxBufferLength,l=i.config.maxBufferSize,d=u=>{s(u);let h=u!=null?u:t.preload;a||h==="none"||(h==="metadata"?(i.config.maxBufferLength=1,i.config.maxBufferSize=1):(i.config.maxBufferLength=o,i.config.maxBufferSize=l),c())},c=()=>{!n&&e&&(n=!0,i.loadSource(e))};return yi(t,"play",()=>{a=!0,i.config.maxBufferLength=o,i.config.maxBufferSize=l,c()},{once:!0}),d(r),d};function UA(r,e){if(!("videoTracks"in r))return;let t=new WeakMap;e.on(ct.Events.MANIFEST_PARSED,function(l,d){o();let c=r.addVideoTrack("main");c.selected=!0;for(let[u,h]of d.levels.entries()){let f=c.addRendition(h.url[0],h.width,h.height,h.videoCodec,h.bitrate);t.set(h,`${u}`),f.id=`${u}`}}),e.on(ct.Events.AUDIO_TRACKS_UPDATED,function(l,d){a();for(let c of d.audioTracks){let u=c.default?"main":"alternative",h=r.addAudioTrack(u,c.name,c.lang);h.id=`${c.id}`,c.default&&(h.enabled=!0)}}),r.audioTracks.addEventListener("change",()=>{e.audioTrack=[...r.audioTracks].find(l=>l.enabled).id}),e.on(ct.Events.LEVELS_UPDATED,function(l,d){var c;let u=r.videoTracks[(c=r.videoTracks.selectedIndex)!=null?c:0];if(!u)return;let h=d.levels.map(f=>t.get(f));for(let f of r.videoRenditions)f.id&&!h.includes(f.id)&&u.removeRendition(f)});let i=l=>{let d=l.target.selectedIndex;d!=e.nextLevel&&s(d)},s=l=>{let d=r.currentTime,c=!1,u=(h,f)=>{c||(c=!Number.isFinite(f.endOffset))};e.on(ct.Events.BUFFER_FLUSHING,u),e.nextLevel=l,e.off(ct.Events.BUFFER_FLUSHING,u),c||e.trigger(ct.Events.BUFFER_FLUSHING,{startOffset:d+10,endOffset:1/0,type:"video"})};r.videoRenditions.addEventListener("change",i);let n=()=>{for(let l of r.videoTracks)r.removeVideoTrack(l)},a=()=>{for(let l of r.audioTracks)r.removeAudioTrack(l)},o=()=>{n(),a()};e.once(ct.Events.DESTROYING,o)}function FA(r,e){e.on(ct.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:c,name:u,type:h})=>c==(l==null?void 0:l.lang)&&u===a.label&&h.toLowerCase()===a.kind);Ol(r,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(r.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:c})=>l==n.language&&d===n.label&&c.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};r.textTracks.addEventListener("change",t),e.on(ct.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=r.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var c;(c=o.cues)!=null&&c.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(ct.Events.DESTROYING,()=>{r.textTracks.removeEventListener("change",t),r.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let i=()=>{Array.from(r.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=r.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(ct.Events.MANIFEST_LOADED,i),e.once(ct.Events.MEDIA_ATTACHED,i)}function Ol(r,e,t,i,s){let n=document.createElement("track");return n.kind=e,n.label=t,i&&(n.srclang=i),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),r.append(n),n.track}function F0(r,e){let t=Array.prototype.find.call(r.querySelectorAll("track"),i=>i.track===e);t==null||t.remove()}var Qn="cuepoints",Nh=Object.freeze({label:Qn}),Uh=(r,{label:e=Qn}=Nh)=>{var t;return(t=Array.from(r.querySelectorAll("track")).find(i=>i.track.label===e&&i.track.kind==="metadata"))==null?void 0:t.track};async function Fh(r,e,t=Nh){let i=Uh(r,t);if(!i){let{label:s=Qn}=t;i=Ol(r,"metadata",s),i.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))}return i.mode!=="hidden"&&(i.mode="hidden"),[...e].sort(({time:s},{time:n})=>n-s).forEach(({time:s,value:n})=>{var a,o;let l=Array.prototype.findIndex.call(i==null?void 0:i.cues,f=>f.startTime>=s),d=(a=i==null?void 0:i.cues)==null?void 0:a[l],c=d?d.startTime:Number.isFinite(r.duration)?r.duration:Number.MAX_SAFE_INTEGER,u=(o=i==null?void 0:i.cues)==null?void 0:o[l-1];u&&(u.endTime=s);let h=new VTTCue(s,c,JSON.stringify(n!=null?n:null));i.addCue(h)}),i}var B0=r=>({time:r.startTime,value:JSON.parse(r.text)});function $0(r,e={label:Qn}){let t=Uh(r,e);return t!=null&&t.cues?Array.from(t.cues,i=>B0(i)):[]}function Bh(r,e={label:Qn}){var t,i;let s=Uh(r,e);if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;let{currentTime:n}=r,a=Array.prototype.find.call((i=s.activeCues)!=null?i:[],({startTime:o,endTime:l})=>o<=n&&l>n);return B0(a)}async function BA(r,e=Nh){return new Promise(t=>{yi(r,"loadstart",async()=>{let i=await Fh(r,[],e);yi(r,"cuechange",()=>{let s=Bh(r);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});r.dispatchEvent(n)}},{},i),t(i)})})}function G0(r,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-r.currentTime*1e3)}return typeof r.getStartDate=="function"?r.getStartDate():new Date(NaN)}function H0(r,e){if(e&&e.playingDate)return e.playingDate;if(typeof r.getStartDate=="function"){let t=r.getStartDate();return new Date(t.getTime()+r.currentTime*1e3)}return new Date(NaN)}var $A=async r=>fetch(r).then(e=>e.text()).then(e=>{let t=e.split(`
966
+ `),d=[],c=e?F_(e.baseTime,e.timescale):0,u="00:00.000",h=0,f=0,g,E=!0;o.oncue=function(T){let A=t[i],k=t.ccOffset,L=(h-c)/9e4;if(A!=null&&A.new&&(f!==void 0?k=t.ccOffset=A.start:nA(t,i,L)),L){if(!e){g=new Error("Missing initPTS for VTT MPEGTS");return}k=L-t.presentationOffset}let N=T.endTime-T.startTime,D=di((T.startTime+k-f)*9e4,s*9e4)/9e4;T.startTime=Math.max(D,0),T.endTime=Math.max(D+N,0);let $=T.text.trim();T.text=decodeURIComponent(encodeURIComponent($)),T.id||(T.id=wh(T.startTime,T.endTime,$)),T.endTime>0&&d.push(T)},o.onparsingerror=function(T){g=T},o.onflush=function(){if(g){a(g);return}n(d)},l.forEach(T=>{if(E)if(pu(T,"X-TIMESTAMP-MAP=")){E=!1,T.slice(16).split(",").forEach(A=>{pu(A,"LOCAL:")?u=A.slice(6):pu(A,"MPEGTS:")&&(h=parseInt(A.slice(7)))});try{f=sA(u)/1e3}catch(A){g=A}return}else T===""&&(E=!1);o.parse(T+`
967
+ `)}),o.flush()}var vu="stpp.ttml.im1t",x0=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,I0=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,oA={left:"start",center:"center",right:"end",start:"start",end:"end"};function Mg(r,e,t,i){let s=Pe(new Uint8Array(r),["mdat"]);if(s.length===0){i(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Gi(o)),a=U_(e.baseTime,1,e.timescale);try{n.forEach(o=>t(lA(o,a)))}catch(o){i(o)}}function lA(r,e){let s=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((u,h)=>(u[h]=s.getAttribute(`ttp:${h}`)||n[h],u),{}),o=s.getAttribute("xml:space")!=="preserve",l=Og(Eu(s,"styling","style")),d=Og(Eu(s,"layout","region")),c=Eu(s,"body","[begin]");return[].map.call(c,u=>{let h=L0(u,o);if(!h||!u.hasAttribute("begin"))return null;let f=bu(u.getAttribute("begin"),a),g=bu(u.getAttribute("dur"),a),E=bu(u.getAttribute("end"),a);if(f===null)throw Pg(u);if(E===null){if(g===null)throw Pg(u);E=f+g}let T=new Rh(f-e,E-e,h);T.id=wh(T.startTime,T.endTime,T.text);let A=d[u.getAttribute("region")],k=l[u.getAttribute("style")],L=dA(A,k,l),{textAlign:N}=L;if(N){let D=oA[N];D&&(T.lineAlign=D),T.align=N}return gt(T,L),T}).filter(u=>u!==null)}function Eu(r,e,t){let i=r.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(t)):[]}function Og(r){return r.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function L0(r,e){return[].slice.call(r.childNodes).reduce((t,i,s)=>{var n;return i.nodeName==="br"&&s?t+`
968
+ `:(n=i.childNodes)!=null&&n.length?L0(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent},"")}function dA(r,e,t){let i="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=r!=null&&r.hasAttribute("style")?r.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let d=yu(e,i,l)||yu(r,i,l)||yu(s,i,l);return d&&(o[l]=d),o},{})}function yu(r,e,t){return r&&r.hasAttributeNS(e,t)?r.getAttributeNS(e,t):null}function Pg(r){return new Error(`Could not parse ttml timestamp ${r}`)}function bu(r,e){if(!r)return null;let t=_0(r);return t===null&&(x0.test(r)?t=cA(r,e):I0.test(r)&&(t=uA(r,e))),t}function cA(r,e){let t=x0.exec(r),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate}function uA(r,e){let t=I0.exec(r),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}var ph=class{constructor(e){if(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.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Ng(),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}},this.config.enableCEA708Captions){let t=new Ks(this,"textTrack1"),i=new Ks(this,"textTrack2"),s=new Ks(this,"textTrack3"),n=new Ks(this,"textTrack4");this.cea608Parser1=new kl(1,t,i),this.cea608Parser2=new kl(3,s,n)}e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.cea608Parser1=this.cea608Parser2=null}addCues(e,t,i,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],d=fA(l[0],l[1],t,i);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),a=!0,d/(i-t)>.5))return}if(a||n.push([t,i]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,i,s)}else{let o=this.Cues.newCue(null,t,i,s);this.hls.trigger(y.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;i==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(y.FRAG_LOADED,o)}))}getExistingTrack(e){let{media:t}=this;if(t)for(let i=0;i<t.textTracks.length;i++){let s=t.textTracks[i];if(s[e])return s}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(e);if(o)i[e]=o,Vs(i[e]),Jg(i[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,i[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i=t.label,s={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=s,this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[s]})}createTextTrack(e,t,i){let s=this.media;if(!!s)return s.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks()}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Vs(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Ng(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let i=0;i<t.length;i++)Vs(t[i])}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],s=i.some(n=>n.textCodec===vu);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(b0(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let a=this.media?this.media.textTracks:null;this.tracks.forEach((o,l)=>{let d;if(a&&l<a.length){let c=null;for(let u=0;u<a.length;u++)if(hA(a[u],o)){c=a[u];break}c&&(d=c)}if(d)Vs(d);else{let c=this._captionsOrSubtitlesFromCharacteristics(o);d=this.createTextTrack(c,o.name,o.lang),d&&(d.mode="disabled")}d&&(d.groupId=o.groupId,this.textTracks.push(d))})}else if(this.tracks.length){let a=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:a})}}}_captionsOrSubtitlesFromCharacteristics(e){if(e.attrs.CHARACTERISTICS){let t=/transcribes-spoken-dialog/gi.test(e.attrs.CHARACTERISTICS),i=/describes-music-and-sound/gi.test(e.attrs.CHARACTERISTICS);if(t&&i)return"captions"}return"subtitles"}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(i=>{let s=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(!s)return;let n=`textTrack${s[1]}`,a=this.captionsProperties[n];!a||(a.label=i.name,i.lang&&(a.languageCode=i.lang),a.media=i)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){let{cea608Parser1:i,cea608Parser2:s,lastSn:n,lastPartIndex:a}=this;if(!(!this.enabled||!(i&&s))&&t.frag.type===ge.MAIN){var o,l;let d=t.frag.sn,c=(o=t==null||(l=t.part)==null?void 0:l.index)!=null?o:-1;d===n+1||d===n&&c===a+1||(i.reset(),s.reset()),this.lastSn=d,this.lastPartIndex=c}}onFragLoaded(e,t){let{frag:i,payload:s}=t;if(i.type===ge.SUBTITLE)if(s.byteLength){let n=i.decryptdata,a="stats"in t;if(n==null||!n.encrypted||a){let o=this.tracks[i.level],l=this.vttCCs;l[i.cc]||(l[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),o&&o.textCodec===vu?this._parseIMSC1(i,s):this._parseVTTs(t)}}else this.hls.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;Mg(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),i.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},s=>{M.log(`Failed to parse IMSC1: ${s}`),i.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s})})}_parseVTTs(e){var t;let{frag:i,payload:s}=e,{initPTS:n,unparsedVttFrags:a}=this,o=n.length-1;if(!n[i.cc]&&o===-1){a.push(e);return}let l=this.hls,d=(t=i.initSegment)!=null&&t.data?Hr(i.initSegment.data,new Uint8Array(s)):s;aA(d,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,c=>{this._appendCues(c,i.level),l.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},c=>{let u=c.message==="Missing initPTS for VTT MPEGTS";u?a.push(e):this._fallbackToIMSC1(i,s),M.log(`Failed to parse VTT cue: ${c}`),!(u&&o>i.cc)&&l.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:c})})}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||Mg(t,this.initPTS[e.cc],()=>{i.textCodec=vu,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>e0(s,n))}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;i.trigger(y.CUES_PARSED,{type:"subtitles",cues:e,track:n})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===ge.SUBTITLE&&this.onFragLoaded(y.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){let{cea608Parser1:i,cea608Parser2:s}=this;if(!this.enabled||!(i&&s))return;let{frag:n,samples:a}=t;if(!(n.type===ge.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let o=0;o<a.length;o++){let l=a[o].bytes;if(l){let d=this.extractCea608Data(l);i.addData(a[o].pts,d[0]),s.addData(a[o].pts,d[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:s,type:n}){let{media:a}=this;if(!(!a||a.currentTime<i)){if(!n||n==="video"){let{captionsTracks:o}=this;Object.keys(o).forEach(l=>Iu(o[l],t,i))}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:o}=this;Object.keys(o).forEach(l=>Iu(o[l],t,s))}}}extractCea608Data(e){let t=[[],[]],i=e[0]&31,s=2;for(let n=0;n<i;n++){let a=e[s++],o=127&e[s++],l=127&e[s++];if(o===0&&l===0)continue;if((4&a)!==0){let c=3&a;(c===0||c===1)&&(t[c].push(o),t[c].push(l))}}return t}};function hA(r,e){return!!r&&r.label===e.name&&!(r.textTrack1||r.textTrack2)}function fA(r,e,t,i){return Math.min(e,i)-Math.max(r,t)}function Ng(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Xn=class{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.unregisterListener(),this.hls.config.capLevelToPlayerSize&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null}onManifestParsed(e,t){let i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media&&this.mediaHeight>0&&this.mediaWidth>0){let e=this.hls.levels;if(e.length){let t=this.hls;t.autoLevelCapping=this.getMaxLevel(e.length-1),t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return-1;let i=t.filter((s,n)=>this.isLevelAllowed(s)&&n<=e);return this.clientRect=null,Xn.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,this.hls.firstLevel=this.getMaxLevel(this.firstLevel),self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let 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)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return e}isLevelAllowed(e){return!this.restrictedLevels.some(i=>e.bitrate===i.bitrate&&e.width===i.width&&e.height===i.height)}static getMaxLevelByMediaSize(e,t,i){if(!(e!=null&&e.length))return-1;let s=(a,o)=>o?a.width!==o.width||a.height!==o.height:!0,n=e.length-1;for(let a=0;a<e.length;a+=1){let o=e[a];if((o.width>=t||o.height>=i)&&s(o,e[a+1])){n=a;break}}return n}},gh=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(y.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let i=this.hls.config;if(i.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,i){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,a=i-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*a/n,d=this.hls;if(d.trigger(y.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:i}),l>0&&a>d.config.fpsDroppedMonitoringThreshold*o){let c=d.currentLevel;M.warn("drop FPS ratio greater than max allowed value for currentLevel: "+c),c>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=c)&&(c=c-1,d.trigger(y.FPS_DROP_LEVEL_CAPPING,{level:c,droppedLevel:d.currentLevel}),d.autoLevelCapping=c,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=i,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},ll="[eme]",vr=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=vr.CDMCleanupPromise?[vr.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=M.debug.bind(M,ll),this.log=M.log.bind(M,ll),this.warn=M.warn.bind(M,ll),this.error=M.error.bind(M,ll),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(y.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(y.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===st.WIDEVINE&&i)return i;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(a,o,l)=>!!a&&l.indexOf(a)===o,s=t.map(a=>a.audioCodec).filter(i),n=t.map(a=>a.videoCodec).filter(i);return s.length+n.length===0&&n.push("avc1.42e01e"),new Promise((a,o)=>{let l=d=>{let c=d.shift();this.getMediaKeysPromise(c,s,n).then(u=>a({keySystem:c,mediaKeys:u})).catch(u=>{d.length?l(d):u instanceof Yt?o(u):o(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_ACCESS,error:u,fatal:!0},u.message))})};l(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if(typeof i!="function"){let s=`Configured requestMediaKeySystemAccess is not a function ${i}`;return Gg===null&&self.location.protocol==="http:"&&(s=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(s))}return i(e,t)}getMediaKeysPromise(e,t,i){let s=hT(e,t,i,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],a=n==null?void 0:n.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);let o=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(l=>{this.log(`Failed to obtain access to key-system "${e}": ${l}`)}),a.then(l=>{this.log(`Access for key-system "${l.keySystem}" obtained`);let d=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),o.mediaKeys=l.createMediaKeys().then(c=>(this.log(`Media-keys created for "${e}"`),d.then(u=>u?this.setMediaKeysServerCertificate(c,e,u):c))),o.mediaKeys.catch(c=>{this.error(`Failed to create media-keys for "${e}"}: ${c}`)}),o.mediaKeys})}return a.then(()=>n.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${Ni.hexDump(e.keyId||[])}`);let s=i.createSession(),n={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),n="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(i,n,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return Ni.hexDump(e.keyId)}updateKeySession(e,t){var i;let s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Ni.hexDump(((i=e.decryptdata)==null?void 0:i.keyId)||[])}
969
+ } (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,i)=>{let s=tu(this.config),n=e.map(eg).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=tg(a);o?t(o):i(new Error(`Unable to find format for key-system "${a}"`))}).catch(i)})}loadKey(e){let t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t}),d="cenc";return this.generateRequestWithPreferredKeySession(l,d,t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){!this.hls||(this.error(e.message),e instanceof Yt?this.hls.trigger(y.ERROR,e.data):this.hls.trigger(y.ERROR,{type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){let s=eg(e.keyFormat),n=s?[s]:tu(this.config);return this.attemptKeySystemAccess(n)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=tu(this.config)),e.length===0)throw new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:i}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),i===null)return;let s,n;if(t==="sinf"&&this.config.drmSystems[st.FAIRPLAY]){let c=Rt(new Uint8Array(i));try{let u=Th(JSON.parse(c).sinf),h=zg(new Uint8Array(u));if(!h)return;s=h.subarray(8,24),n=st.FAIRPLAY}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return}}else{let c=NT(i);if(c===null)return;c.version===0&&c.systemId===$g.WIDEVINE&&c.data&&(s=c.data.subarray(8,24)),n=uT(c.systemId)}if(!n||!s)return;let a=Ni.hexDump(s),{keyIdToKeySessionPromise:o,mediaKeySessions:l}=this,d=o[a];for(let c=0;c<l.length;c++){let u=l[c],h=u.decryptdata;if(h.pssh||!h.keyId)continue;let f=Ni.hexDump(h.keyId);if(a===f||h.uri.replace(/-/g,"").indexOf(a)!==-1){d=o[f],delete o[f],h.pssh=new Uint8Array(i),h.keyId=s,d=o[a]=d.then(()=>this.generateRequestWithPreferredKeySession(u,t,i,"encrypted-event-key-match"));break}}d||(d=o[a]=this.getKeySystemSelectionPromise([n]).then(({keySystem:c,mediaKeys:u})=>{var h;this.throwIfDestroyed();let f=new Vr("ISO-23001-7",a,(h=tg(c))!=null?h:"");return f.pssh=new Uint8Array(i),f.keyId=s,this.attemptSetMediaKeys(c,u).then(()=>{this.throwIfDestroyed();let g=this.createMediaKeySessionContext({decryptdata:f,keySystem:c,mediaKeys:u});return this.generateRequestWithPreferredKeySession(g,t,i,"encrypted-event-no-match")})})),d.catch(c=>this.handleError(c))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(i).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>i.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,i,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let h=o.call(this.hls,t,i,e);if(!h)throw new Error("Invalid response from configured generateRequest filter");t=h.initDataType,i=e.decryptdata.pssh=h.initData?new Uint8Array(h.initData):null}catch(h){var l;if(this.warn(h.message),(l=this.hls)!=null&&l.config.debug)throw h}if(i===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let d=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${d} (init data type: ${t} length: ${i?i.byteLength:null})`);let c=new kh;e.mediaKeysSession.onmessage=h=>{let f=e.mediaKeysSession;if(!f){c.emit("error",new Error("invalid state"));return}let{messageType:g,message:E}=h;this.log(`"${g}" message event for session "${f.sessionId}" message size: ${E.byteLength}`),g==="license-request"||g==="license-renewal"?this.renewLicense(e,E).catch(T=>{this.handleError(T),c.emit("error",T)}):g==="license-release"?e.keySystem===st.FAIRPLAY&&(this.updateKeySession(e,Bg("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${g}"`)},e.mediaKeysSession.onkeystatuseschange=h=>{if(!e.mediaKeysSession){c.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);let g=e.keyStatus;c.emit("keyStatus",g),g==="expired"&&(this.warn(`${e.keySystem} expired for key ${d}`),this.renewKeySession(e))};let u=new Promise((h,f)=>{c.on("error",f),c.on("keyStatus",g=>{g.startsWith("usable")?h():g==="output-restricted"?f(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):g==="internal-error"?f(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${g}"`)):g==="expired"?f(new Error("key expired while generating request")):this.warn(`unhandled key status change "${g}"`)})});return e.mediaKeysSession.generateRequest(t,i).then(()=>{var h;this.log(`Request generated for key-session "${(h=e.mediaKeysSession)==null?void 0:h.sessionId}" keyId: ${d}`)}).catch(h=>{throw new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_SESSION,error:h,fatal:!1},`Error generating key-session request: ${h}`)}).then(()=>u).catch(h=>{throw c.removeAllListeners(),this.removeSession(e),h}).then(()=>(c.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,i)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Ni.hexDump("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))} session keyId: ${Ni.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){let t=this.config,i=t.loader,s=new i(t),n=this.getServerCertificateUrl(e);return n?(this.log(`Fetching serverCertificate for "${e}"`),new Promise((a,o)=>{let l={responseType:"arraybuffer",url:n},d=t.certLoadPolicy.default,c={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},u={onSuccess:(h,f,g,E)=>{a(h.data)},onError:(h,f,g,E)=>{o(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:zt({url:l.url,data:void 0},h)},`"${e}" certificate request failed (${n}). Status: ${h.code} (${h.text})`))},onTimeout:(h,f,g)=>{o(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${n})`))},onAbort:(h,f,g)=>{o(new Error("aborted"))}};s.load(l,c,u)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((s,n)=>{e.setServerCertificate(i).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${i==null?void 0:i.byteLength}) on "${t}"`),s(e)}).catch(a=>{n(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(i=>this.updateKeySession(e,new Uint8Array(i)).catch(s=>{throw new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:s,fatal:!0},s.message)}))}setupLicenseXHR(e,t,i,s){let n=this.config.licenseXhrSetup;return n?Promise.resolve().then(()=>{if(!i.decryptdata)throw new Error("Key removed");return n.call(this.hls,e,t,i,s)}).catch(a=>{if(!i.decryptdata)throw a;return e.open("POST",t,!0),n.call(this.hls,e,t,i,s)}).then(a=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||s})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){let i=this.config.keyLoadPolicy.default;return new Promise((s,n)=>{let a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);let d=this.config.licenseResponseCallback;if(d)try{l=d.call(this.hls,o,a,e)}catch(c){this.error(c)}s(l)}else{let l=i.errorRetry,d=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>d||o.status>=400&&o.status<500)n(new Yt({type:pe.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let c=d-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${c} attempts left`),this.requestLicense(e,t).then(s,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:l,licenseChallenge:d})=>{l.send(d)})})}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,i.addEventListener("encrypted",this.onMediaEncrypted),i.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){let e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},Vr.clearKeyUriToKeyIdMap();let i=t.length;vr.CDMCleanupPromise=Promise.all(t.map(s=>this.removeSession(s)).concat(e==null?void 0:e.setMediaKeys(null).catch(s=>{this.log(`Could not clear media keys: ${s}. media.src: ${e==null?void 0:e.src}`)}))).then(()=>{i&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)}).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}. media.src: ${e==null?void 0:e.src}`)})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let i=t.reduce((s,n)=>(s.indexOf(n.keyFormat)===-1&&s.push(n.keyFormat),s),[]);this.log(`Selecting key-system from session-keys ${i.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(i)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),t.onmessage=null,t.onkeystatuseschange=null,i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch(n=>{this.log(`Could not remove session: ${n}`)}).then(()=>t.close()).catch(n=>{this.log(`Could not close session: ${n}`)})}}};vr.CDMCleanupPromise=void 0;var Yt=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}},mA=1,Wt={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},pA="h",Bi=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.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=s=>{try{this.apply(s,{ot:Wt.MANIFEST,su:!this.initialized})}catch(n){M.warn("Could not generate manifest CMCD data.",n)}},this.applyFragmentData=s=>{try{let n=s.frag,a=this.hls.levels[n.level],o=this.getObjectType(n),l={d:n.duration*1e3,ot:o};(o===Wt.VIDEO||o===Wt.AUDIO||o==Wt.MUXED)&&(l.br=a.bitrate/1e3,l.tb=this.getTopBandwidth(o)/1e3,l.bl=this.getBufferLength(o)),this.apply(s,l)}catch(n){M.warn("Could not generate segment CMCD data.",n)}},this.hls=e;let t=this.config=e.config,{cmcd:i}=t;i!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||Bi.uuid(),this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.registerListeners())}registerListeners(){let e=this.hls;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHED,this.onMediaDetached,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHED,this.onMediaDetached,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=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,s;this.audioBuffer=(i=t.tracks.audio)==null?void 0:i.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer}createData(){var e;return{v:mA,sf:pA,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){gt(t,this.createData());let i=t.ot===Wt.INIT||t.ot===Wt.VIDEO||t.ot===Wt.MUXED;if(this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering),this.useHeaders){let s=Bi.toHeaders(t);if(!Object.keys(s).length)return;e.headers||(e.headers={}),gt(e.headers,s)}else{let s=Bi.toQuery(t);if(!s)return;e.url=Bi.appendQueryToUri(e.url,s)}}getObjectType(e){let{type:t}=e;if(t==="subtitle")return Wt.TIMED_TEXT;if(e.sn==="initSegment")return Wt.INIT;if(t==="audio")return Wt.AUDIO;if(t==="main")return this.hls.audioTracks.length?Wt.VIDEO:Wt.MUXED}getTopBandwidth(e){let t=0,i,s=this.hls;if(e===Wt.AUDIO)i=s.audioTracks;else{let n=s.maxAutoLevel,a=n>-1?n+1:s.levels.length;i=s.levels.slice(0,a)}for(let n of i)n.bitrate>t&&(t=n.bitrate);return t>0?t:NaN}getBufferLength(e){let t=this.hls.media,i=e===Wt.AUDIO?this.audioBuffer:this.videoBuffer;return!i||!t?NaN:je.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(n)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(n,a,o){t(n),this.loader.load(n,a,o)}}}static uuid(){let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}static serialize(e){let t=[],i=d=>!Number.isNaN(d)&&d!=null&&d!==""&&d!==!1,s=d=>Math.round(d),n=d=>s(d/100)*100,o={br:s,d:s,bl:n,dl:n,mtp:n,nor:d=>encodeURIComponent(d),rtp:n,tb:s},l=Object.keys(e||{}).sort();for(let d of l){let c=e[d];if(!i(c)||d==="v"&&c===1||d=="pr"&&c===1)continue;let u=o[d];u&&(c=u(c));let h=typeof c,f;d==="ot"||d==="sf"||d==="st"?f=`${d}=${c}`:h==="boolean"?f=d:h==="number"?f=`${d}=${c}`:f=`${d}=${JSON.stringify(c)}`,t.push(f)}return t.join(",")}static toHeaders(e){let t=Object.keys(e),i={},s=["Object","Request","Session","Status"],n=[{},{},{},{}],a={br:0,d:0,ot:0,tb:0,bl:1,dl:1,mtp:1,nor:1,nrr:1,su:1,cid:2,pr:2,sf:2,sid:2,st:2,v:2,bs:3,rtp:3};for(let o of t){let l=a[o]!=null?a[o]:1;n[l][o]=e[o]}for(let o=0;o<n.length;o++){let l=Bi.serialize(n[o]);l&&(i[`CMCD-${s[o]}`]=l)}return i}static toQuery(e){return`CMCD=${encodeURIComponent(Bi.serialize(e))}`}static appendQueryToUri(e,t){if(!t)return e;let i=e.includes("?")?"&":"?";return`${e}${i}${t}`}},gA=3e5,vh=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=M.log.bind(M,"[content-steering]:"),this.registerListeners()}registerListeners(){let e=this.hls;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;!e||(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.ERROR,this.onError,this))}startLoad(){if(this.started=!0,self.clearTimeout(this.reloadTimer),this.enabled&&this.uri)if(this.updated){let e=Math.max(this.timeToLoad*1e3-(performance.now()-this.updated),0);this.scheduleRefresh(this.uri,e)}else this.loadSteeringManifest(this.uri)}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),self.clearTimeout(this.reloadTimer)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(i=>i!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:i}=t;i!==null&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:i}=t;if((i==null?void 0:i.action)===Pt.SendAlternateToPenaltyBox&&i.flags===li.MoveAllAlternatesMatchingHost){let s=this.pathwayPriority,n=this.pathwayId;this.penalizedPathways[n]||(this.penalizedPathways[n]=performance.now()),!s&&this.levels&&(s=this.levels.reduce((a,o)=>(a.indexOf(o.pathwayId)===-1&&a.push(o.pathwayId),a),[])),s&&s.length>1&&(this.updatePathwayPriority(s),i.resolved=this.pathwayId!==n)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this.pathwayPriority=e;let t,i=this.penalizedPathways,s=performance.now();Object.keys(i).forEach(n=>{s-i[n]>gA&&delete i[n]});for(let n=0;n<e.length;n++){let a=e[n];if(i[a])continue;if(a===this.pathwayId)return;let o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(a),t.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,this.hls.trigger(y.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[o];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=o);break}}}clonePathways(e){let t=this.levels;if(!t)return;let i={},s={};e.forEach(n=>{let{ID:a,"BASE-ID":o,"URI-REPLACEMENT":l}=n;if(t.some(c=>c.pathwayId===a))return;let d=this.getLevelsForPathway(o).map(c=>{let u=gt({},c);u.details=void 0,u.url=k0(c.uri,c.attrs["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l);let h=new Ze(c.attrs);h["PATHWAY-ID"]=a;let f=h.AUDIO&&`${h.AUDIO}_clone_${a}`,g=h.SUBTITLES&&`${h.SUBTITLES}_clone_${a}`;f&&(i[h.AUDIO]=f,h.AUDIO=f),g&&(s[h.SUBTITLES]=g,h.SUBTITLES=g),u.attrs=h;let E=new Kr(u);return vl(E,"audio",f),vl(E,"text",g),E});t.push(...d),Ug(this.audioTracks,i,l,a),Ug(this.subtitleTracks,s,l,a)})}loadSteeringManifest(e){let t=this.hls.config,i=t.loader;this.loader&&this.loader.destroy(),this.loader=new i(t);let s;try{s=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(s.protocol!=="data:"){let c=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+c)}let n={responseType:"json",url:s.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},l={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},d={onSuccess:(c,u,h,f)=>{this.log(`Loaded steering manifest: "${s}"`);let g=c.data;if(g.VERSION!==1){this.log(`Steering VERSION ${g.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=g.TTL;let{"RELOAD-URI":E,"PATHWAY-CLONES":T,"PATHWAY-PRIORITY":A}=g;if(E)try{this.uri=new self.URL(E,s).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${E}`);return}this.scheduleRefresh(this.uri||h.url),T&&this.clonePathways(T),A&&this.updatePathwayPriority(A)},onError:(c,u,h,f)=>{if(this.log(`Error loading steering manifest: ${c.code} ${c.text} (${u.url})`),this.stopLoad(),c.code===410){this.enabled=!1,this.log(`Steering manifest ${u.url} no longer available`);return}let g=this.timeToLoad*1e3;if(c.code===429){let E=this.loader;if(typeof(E==null?void 0:E.getResponseHeader)=="function"){let T=E.getResponseHeader("Retry-After");T&&(g=parseFloat(T)*1e3)}this.log(`Steering manifest ${u.url} rate limited`);return}this.scheduleRefresh(this.uri||u.url,g)},onTimeout:(c,u,h)=>{this.log(`Timeout loading steering manifest (${u.url})`),this.scheduleRefresh(this.uri||u.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,d)}scheduleRefresh(e,t=this.timeToLoad*1e3){self.clearTimeout(this.reloadTimer),this.reloadTimer=self.setTimeout(()=>{this.loadSteeringManifest(e)},t)}};function Ug(r,e,t,i){!r||Object.keys(e).forEach(s=>{let n=r.filter(a=>a.groupId===s).map(a=>{let o=gt({},a);return o.details=void 0,o.attrs=new Ze(o.attrs),o.url=o.attrs.URI=k0(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[s],o.attrs["PATHWAY-ID"]=i,o});r.push(...n)})}function k0(r,e,t,i){let{HOST:s,PARAMS:n,[t]:a}=i,o;e&&(o=a==null?void 0:a[e],o&&(r=o));let l=new self.URL(r);return s&&!o&&(l.host=s),n&&Object.keys(n).sort().forEach(d=>{d&&l.searchParams.set(d,n[d])}),l.href}var vA=/^age:\s*[\d.]+\s*$/im,Rl=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=void 0,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Ws,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,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:t}=this;if(!e)return;let i=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!this.stats.aborted)return n(i,t.url)}).catch(a=>(i.open("GET",t.url,!0),n(i,t.url))).then(()=>{this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(a=>{this.callbacks.onError({code:i.status,text:a.message},t,i,s)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let s=this.context.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:a}=i.loadPolicy;if(s)for(let o in s)e.setRequestHeader(o,s[o]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=n&&ce(n)?n:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!i.aborted&&s>=2&&(i.loading.first===0&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let a=t.status,o=t.responseType!=="text";if(a>=200&&a<300&&(o&&t.response||t.responseText!==null)){i.loading.end=Math.max(self.performance.now(),i.loading.first);let l=o?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(i.loaded=i.total=d,i.bwEstimate=i.total*8e3/(i.loading.end-i.loading.first),!this.callbacks)return;let c=this.callbacks.onProgress;if(c&&c(i,e,l,t),!this.callbacks)return;let u={url:t.responseURL,data:l,code:a};this.callbacks.onSuccess(u,i,e,t)}else{let l=n.loadPolicy.errorRetry,d=i.retry;gl(l,d,!1,a)?this.retry(l):(M.error(`${a} while loading ${e.url}`),this.callbacks.onError({code:a,text:t.statusText},e,t,i))}}}loadtimeout(){var e;let t=(e=this.config)==null?void 0:e.loadPolicy.timeoutRetry,i=this.stats.retry;if(gl(t,i,!0))this.retry(t);else{M.warn(`timeout while loading ${this.context.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:i}=this;this.retryDelay=Ah(e,i.retry),i.retry++,M.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${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){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&vA.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}};function EA(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var yA=/(\d+)-(\d+)\/(\d+)/,wl=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=void 0,this.response=void 0,this.controller=void 0,this.context=void 0,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||AA,this.controller=new self.AbortController,this.stats=new Ws}destroy(){this.loader=this.callbacks=null,this.abortInternal()}abortInternal(){let e=this.response;e!=null&&e.ok||(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=bA(e,this.controller.signal),a=i.onProgress,o=e.responseType==="arraybuffer",l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:c}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&ce(d)?d:c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},t.timeout),self.fetch(this.request).then(u=>{this.response=this.loader=u;let h=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(s,e,this.response)},c-(h-s.loading.start)),!u.ok){let{status:f,statusText:g}=u;throw new Eh(g||"fetch, bad network response",f,u)}return s.loading.first=h,s.total=_A(u.headers)||s.total,a&&ce(t.highWaterMark)?this.loadProgressively(u,s,e,t.highWaterMark,a):o?u.arrayBuffer():e.responseType==="json"?u.json():u.text()}).then(u=>{let{response:h}=this;self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let f=u[l];f&&(s.loaded=s.total=f);let g={url:h.url,data:u,code:h.status};a&&!ce(t.highWaterMark)&&a(s,e,u,h),i.onSuccess(g,s,e,h)}).catch(u=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let h=u&&u.code||0,f=u?u.message:null;i.onError({code:h,text:f},e,u?u.details:null,s)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,i,s=0,n){let a=new xl,o=e.body.getReader(),l=()=>o.read().then(d=>{if(d.done)return a.dataLength&&n(t,i,a.flush(),e),Promise.resolve(new ArrayBuffer(0));let c=d.value,u=c.length;return t.loaded+=u,u<s||a.dataLength?(a.push(c),a.dataLength>=s&&n(t,i,a.flush(),e)):n(t,i,c,e),l()}).catch(()=>Promise.reject());return l()}};function bA(r,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(gt({},r.headers))};return r.rangeEnd&&t.headers.set("Range","bytes="+r.rangeStart+"-"+String(r.rangeEnd-1)),t}function TA(r){let e=yA.exec(r);if(e)return parseInt(e[2])-parseInt(e[1])+1}function _A(r){let e=r.get("Content-Range");if(e){let i=TA(e);if(ce(i))return i}let t=r.get("Content-Length");if(t)return parseInt(t)}function AA(r,e){return new self.Request(r.url,e)}var Eh=class extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}},SA=/\s/,xA={newCue(r,e,t,i){let s=[],n,a,o,l,d,c=self.VTTCue||self.TextTrackCue;for(let h=0;h<i.rows.length;h++)if(n=i.rows[h],o=!0,l=0,d="",!n.isEmpty()){var u;for(let E=0;E<n.chars.length;E++)SA.test(n.chars[E].uchar)&&o?l++:(d+=n.chars[E].uchar,o=!1);n.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=S0(d.trim()),g=wh(e,t,f);r!=null&&(u=r.cues)!=null&&u.getCueById(g)||(a=new c(e,t,f),a.id=g,a.line=h+1,a.align="left",a.position=10+Math.min(80,Math.floor(l*8/32)*10),s.push(a))}return r&&s.length&&(s.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),s.forEach(h=>e0(r,h))),s}},IA={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},LA=zt(zt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Rl,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:eh,bufferController:oh,capLevelController:Xn,errorController:Mu,fpsController:gh,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Gg,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,certLoadPolicy:{default:IA},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},kA()),{},{subtitleStreamController:rh,subtitleTrackController:nh,timelineController:ph,audioStreamController:th,audioTrackController:ih,emeController:vr,cmcdController:Bi,contentSteeringController:vh});function kA(){return{cueHandler:xA,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function RA(r,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=yh(r),i=["manifest","level","frag"],s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return i.forEach(n=>{let a=`${n==="level"?"playlist":n}LoadPolicy`,o=e[a]===void 0,l=[];s.forEach(d=>{let c=`${n}Loading${d}`,u=e[c];if(u!==void 0&&o){l.push(c);let h=t[a].default;switch(e[a]={default:h},d){case"TimeOut":h.maxLoadTimeMs=u,h.maxTimeToFirstByteMs=u;break;case"MaxRetry":h.errorRetry.maxNumRetry=u,h.timeoutRetry.maxNumRetry=u;break;case"RetryDelay":h.errorRetry.retryDelayMs=u,h.timeoutRetry.retryDelayMs=u;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=u,h.timeoutRetry.maxRetryDelayMs=u;break}}}),l.length&&M.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${a}": ${JSON.stringify(e[a])}`)}),zt(zt({},t),e)}function yh(r){return r&&typeof r=="object"?Array.isArray(r)?r.map(yh):Object.keys(r).reduce((e,t)=>(e[t]=yh(r[t]),e),{}):r}function wA(r){let e=r.loader;e!==wl&&e!==Rl?(M.log("[config]: Custom loader detected, cannot enable progressive streaming"),r.progressive=!1):EA()&&(r.loader=wl,r.progressive=!0,r.enableSoftwareAES=!0,M.log("[config]: Progressive streaming enabled, using FetchLoader"))}var $i=class{static get version(){return"1.4.10"}static isSupported(){return v_()}static get Events(){return y}static get ErrorTypes(){return pe}static get ErrorDetails(){return B}static get DefaultConfig(){return $i.defaultConfig?$i.defaultConfig:LA}static set DefaultConfig(e){$i.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new kh,this._autoLevelCapping=void 0,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,rT(e.debug||!1,"Hls instance");let t=this.config=RA($i.DefaultConfig,e);this.userConfig=e,this._autoLevelCapping=-1,t.progressive&&wA(t);let{abrController:i,bufferController:s,capLevelController:n,errorController:a,fpsController:o}=t,l=new a(this),d=this.abrController=new i(this),c=this.bufferController=new s(this),u=this.capLevelController=new n(this),h=new o(this),f=new xu(this),g=new ku(this),E=t.contentSteeringController,T=E?new E(this):null,A=this.levelController=new Ou(this,T),k=new Pu(this),L=new Uu(this.config),N=this.streamController=new Zu(this,k,L);u.setStreamController(N),h.setStreamController(N);let D=[f,A,N];T&&D.splice(1,0,T),this.networkControllers=D;let $=[d,c,u,h,g,k];this.audioTrackController=this.createController(t.audioTrackController,D);let O=t.audioStreamController;O&&D.push(new O(this,k,L)),this.subtitleTrackController=this.createController(t.subtitleTrackController,D);let G=t.subtitleStreamController;G&&D.push(new G(this,k,L)),this.createController(t.timelineController,$),L.emeController=this.emeController=this.createController(t.emeController,$),this.cmcdController=this.createController(t.cmcdController,$),this.latencyController=this.createController(Ru,$),this.coreComponents=$,D.push(l);let q=l.onErrorOut;typeof q=="function"&&this.on(y.ERROR,q,l)}createController(e,t){if(e){let i=new e(this);return t&&t.push(i),i}return 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,s){this._emitter.off(e,t,i,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(i){M.error("An internal error happened while handling event "+e+'. Error message: "'+i.message+'". Here is a stacktrace:',i),this.trigger(y.ERROR,{type:pe.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:e,error:i})}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){M.log("destroy"),this.trigger(y.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){M.log("attachMedia"),this._media=e,this.trigger(y.MEDIA_ATTACHING,{media:e})}detachMedia(){M.log("detachMedia"),this.trigger(y.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();let t=this.media,i=this.url,s=this.url=bh.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});M.log(`loadSource:${s}`),t&&i&&(i!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(y.MANIFEST_LOADING,{url:e})}startLoad(e=-1){M.log(`startLoad(${e})`),this.networkControllers.forEach(t=>{t.startLoad(e)})}stopLoad(){M.log("stopLoad"),this.networkControllers.forEach(e=>{e.stopLoad()})}swapAudioCodec(){M.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){M.log("recoverMediaError");let e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e,t=0){this.levelController.removeLevel(e,t)}get levels(){let e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){M.log(`set currentLevel:${e}`),this.loadLevel=e,this.abrController.clearTimer(),this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){M.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){M.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){M.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){return this.levelController.startLevel}set startLevel(e){M.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(M.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e)}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){wu.indexOf(e)>-1&&(this._maxHdcpLevel=e)}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let i=e.length;for(let s=0;s<i;s++)if(e[s].maxBitrate>=t)return s;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:i}=this,s;if(t===-1&&e&&e.length?s=e.length-1:s=t,i)for(let n=s;n--;){let a=e[n].attrs["HDCP-LEVEL"];if(a&&a<=i)return n}return s}get nextAutoLevel(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)}set nextAutoLevel(e){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,e)}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}};$i.defaultConfig=void 0;var ct=$i,Qn=class extends Error{constructor(r,e=Qn.MEDIA_ERR_CUSTOM,t,i){var s;super(r),this.name="MediaError",this.code=e,this.context=i,this.fatal=t!=null?t:e>=Qn.MEDIA_ERR_NETWORK&&e<=Qn.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(s=Qn.defaultMessages[this.code])!=null?s:"")}},it=Qn;it.MEDIA_ERR_ABORTED=1,it.MEDIA_ERR_NETWORK=2,it.MEDIA_ERR_DECODE=3,it.MEDIA_ERR_SRC_NOT_SUPPORTED=4,it.MEDIA_ERR_ENCRYPTED=5,it.MEDIA_ERR_CUSTOM=100,it.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var DA=r=>r==null,P0=(r,e)=>DA(e)?!1:r in e,Ch={ANY:"any",MUTED:"muted"},Je={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},ci={MSE:"mse",NATIVE:"native"},Mh={HEADER:"header",QUERY:"query",NONE:"none"},qs=Object.values(Mh),Er={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},Oh={HLS:Er.M3U8},u1=Object.keys(Oh),h1=[...Object.values(Er),"hls","HLS"],yi=(r,e,t,i,s=r)=>{s.addEventListener(e,t,i),r.addEventListener("teardown",()=>{s.removeEventListener(e,t)},{once:!0})};function CA(r,e,t){e&&t>e&&(t=e);for(let i=0;i<r.length;i++)if(r.start(i)<=t&&r.end(i)>=t)return!0;return!1}var MA=r=>{let e=r.indexOf("?");if(e<0)return[r];let t=r.slice(0,e),i=r.slice(e);return[t,i]},Ol=r=>{let e=r.type;if(e){let i=e.toUpperCase();return P0(i,Oh)?Oh[i]:e}let{src:t}=r;return t?OA(t):""},N0=r=>r==="VOD"?Je.ON_DEMAND:Je.LIVE,U0=r=>r==="EVENT"?Number.POSITIVE_INFINITY:r==="VOD"?Number.NaN:0,OA=r=>{let e="";try{e=new URL(r).pathname}catch{console.error("invalid url")}let t=e.lastIndexOf(".");if(t<0)return"";let i=e.slice(t+1).toUpperCase();return P0(i,Er)?Er[i]:""},PA=Object.values(Ch),R0=r=>typeof r=="boolean"||typeof r=="string"&&PA.includes(r),NA=({autoplay:r},e,t)=>{let i=!1,s=!1,n=R0(r)?r:!!r,a=()=>{i||yi(e,"playing",()=>{i=!0},{once:!0})};if(a(),yi(e,"loadstart",()=>{i=!1,a(),Dh(e,n)},{once:!0}),yi(e,"loadstart",()=>{t||(s=!Number.isFinite(e.duration)),Dh(e,n)},{once:!0}),t&&t.once(ct.Events.LEVEL_LOADED,(o,l)=>{var d;s=(d=l.details.live)!=null?d:!1}),!n){let o=()=>{!s||(t!=null&&t.liveSyncPosition?e.currentTime=t.liveSyncPosition:Number.isFinite(e.seekable.end(0))&&(e.currentTime=e.seekable.end(0)))};t&&yi(e,"play",()=>{e.preload==="metadata"?t.once(ct.Events.LEVEL_UPDATED,o):o()},{once:!0})}return o=>{i||(n=R0(o)?o:!!o,Dh(e,n))}},Dh=(r,e)=>{if(!e)return;let t=r.muted,i=()=>r.muted=t;switch(e){case Ch.ANY:r.play().catch(()=>{r.muted=!0,r.play().catch(i)});break;case Ch.MUTED:r.muted=!0,r.play().catch(i);break;default:r.play().catch(()=>{});break}},UA=({preload:r,src:e},t,i)=>{let s=u=>{u!=null&&["","none","metadata","auto"].includes(u)?t.setAttribute("preload",u):t.removeAttribute("preload")};if(!i)return s(r),s;let n=!1,a=!1,o=i.config.maxBufferLength,l=i.config.maxBufferSize,d=u=>{s(u);let h=u!=null?u:t.preload;a||h==="none"||(h==="metadata"?(i.config.maxBufferLength=1,i.config.maxBufferSize=1):(i.config.maxBufferLength=o,i.config.maxBufferSize=l),c())},c=()=>{!n&&e&&(n=!0,i.loadSource(e))};return yi(t,"play",()=>{a=!0,i.config.maxBufferLength=o,i.config.maxBufferSize=l,c()},{once:!0}),d(r),d};function FA(r,e){var t;if(!("videoTracks"in r))return;let i=new WeakMap;e.on(ct.Events.MANIFEST_PARSED,function(d,c){l();let u=r.addVideoTrack("main");u.selected=!0;for(let[h,f]of c.levels.entries()){let g=u.addRendition(f.url[0],f.width,f.height,f.videoCodec,f.bitrate);i.set(f,`${h}`),g.id=`${h}`}}),e.on(ct.Events.AUDIO_TRACKS_UPDATED,function(d,c){if(o(),!(c.audioTracks.length<=1))for(let u of c.audioTracks){let h=u.default?"main":"alternative",f=r.addAudioTrack(h,u.name,u.lang);f.id=`${u.id}`,u.default&&(f.enabled=!0)}}),r.audioTracks.addEventListener("change",()=>{e.audioTrack=[...r.audioTracks].find(d=>d.enabled).id}),e.on(ct.Events.LEVELS_UPDATED,function(d,c){var u;let h=r.videoTracks[(u=r.videoTracks.selectedIndex)!=null?u:0];if(!h)return;let f=c.levels.map(g=>i.get(g));for(let g of r.videoRenditions)g.id&&!f.includes(g.id)&&h.removeRendition(g)});let s=d=>{let c=d.target.selectedIndex;c!=e.nextLevel&&n(c)},n=d=>{let c=r.currentTime,u=!1,h=(f,g)=>{u||(u=!Number.isFinite(g.endOffset))};e.on(ct.Events.BUFFER_FLUSHING,h),e.nextLevel=d,e.off(ct.Events.BUFFER_FLUSHING,h),u||e.trigger(ct.Events.BUFFER_FLUSHING,{startOffset:c+10,endOffset:1/0,type:"video"})};(t=r.videoRenditions)==null||t.addEventListener("change",s);let a=()=>{for(let d of r.videoTracks)r.removeVideoTrack(d)},o=()=>{for(let d of r.audioTracks)r.removeAudioTrack(d)},l=()=>{a(),o()};e.once(ct.Events.DESTROYING,l)}function BA(r,e){e.on(ct.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(s,{tracks:n})=>{n.forEach(a=>{var o;let l=(o=a.subtitleTrack)!=null?o:a.closedCaptions,d=e.subtitleTracks.findIndex(({lang:c,name:u,type:h})=>c==(l==null?void 0:l.lang)&&u===a.label&&h.toLowerCase()===a.kind);Pl(r,a.kind,a.label,l==null?void 0:l.lang,`${a.kind}${d}`)})});let t=()=>{var s;if(!e.subtitleTracks.length)return;let n=Array.from(r.textTracks).find(o=>o.id&&o.mode==="showing"&&["subtitles","captions"].includes(o.kind)),a=`${(s=e.subtitleTracks[e.subtitleTrack])==null?void 0:s.type.toLowerCase()}${e.subtitleTrack}`;if(n&&(e.subtitleTrack<0||(n==null?void 0:n.id)!==a)){let o=e.subtitleTracks.findIndex(({lang:l,name:d,type:c})=>l==n.language&&d===n.label&&c.toLowerCase()===n.kind);e.subtitleTrack=o}n&&(n==null?void 0:n.id)===a&&n.cues&&Array.from(n.cues).forEach(o=>{n.addCue(o)})};r.textTracks.addEventListener("change",t),e.on(ct.Events.CUES_PARSED,(s,{track:n,cues:a})=>{let o=r.textTracks.getTrackById(n);if(!o)return;let l=o.mode==="disabled";l&&(o.mode="hidden"),a.forEach(d=>{var c;(c=o.cues)!=null&&c.getCueById(d.id)||o.addCue(d)}),l&&(o.mode="disabled")}),e.once(ct.Events.DESTROYING,()=>{r.textTracks.removeEventListener("change",t),r.querySelectorAll("track[data-removeondestroy]").forEach(s=>{s.remove()})});let i=()=>{Array.from(r.textTracks).forEach(s=>{var n,a;if(!["subtitles","caption"].includes(s.kind)&&s.label==="thumbnails"){if(!((n=s.cues)!=null&&n.length)){let o=r.querySelector('track[label="thumbnails"]'),l=(a=o==null?void 0:o.getAttribute("src"))!=null?a:"";o==null||o.removeAttribute("src"),setTimeout(()=>{o==null||o.setAttribute("src",l)},0)}s.mode!=="hidden"&&(s.mode="hidden")}})};e.once(ct.Events.MANIFEST_LOADED,i),e.once(ct.Events.MEDIA_ATTACHED,i)}function Pl(r,e,t,i,s){let n=document.createElement("track");return n.kind=e,n.label=t,i&&(n.srclang=i),s&&(n.id=s),n.track.mode=["subtitles","captions"].includes(e)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),r.append(n),n.track}function F0(r,e){let t=Array.prototype.find.call(r.querySelectorAll("track"),i=>i.track===e);t==null||t.remove()}var Zn="cuepoints",Nh=Object.freeze({label:Zn}),Uh=(r,{label:e=Zn}=Nh)=>{var t;return(t=Array.from(r.querySelectorAll("track")).find(i=>i.track.label===e&&i.track.kind==="metadata"))==null?void 0:t.track};async function Fh(r,e,t=Nh){let i=Uh(r,t);if(!i){let{label:s=Zn}=t;i=Pl(r,"metadata",s),i.mode="hidden",await new Promise(n=>setTimeout(()=>n(void 0),0))}return i.mode!=="hidden"&&(i.mode="hidden"),[...e].sort(({time:s},{time:n})=>n-s).forEach(({time:s,value:n})=>{var a,o;let l=Array.prototype.findIndex.call(i==null?void 0:i.cues,f=>f.startTime>=s),d=(a=i==null?void 0:i.cues)==null?void 0:a[l],c=d?d.startTime:Number.isFinite(r.duration)?r.duration:Number.MAX_SAFE_INTEGER,u=(o=i==null?void 0:i.cues)==null?void 0:o[l-1];u&&(u.endTime=s);let h=new VTTCue(s,c,JSON.stringify(n!=null?n:null));i.addCue(h)}),i}var B0=r=>({time:r.startTime,value:JSON.parse(r.text)});function $0(r,e={label:Zn}){let t=Uh(r,e);return t!=null&&t.cues?Array.from(t.cues,i=>B0(i)):[]}function Bh(r,e={label:Zn}){var t,i;let s=Uh(r,e);if(!((t=s==null?void 0:s.activeCues)!=null&&t.length))return;let{currentTime:n}=r,a=Array.prototype.find.call((i=s.activeCues)!=null?i:[],({startTime:o,endTime:l})=>o<=n&&l>n);return B0(a)}async function $A(r,e=Nh){return new Promise(t=>{yi(r,"loadstart",async()=>{let i=await Fh(r,[],e);yi(r,"cuechange",()=>{let s=Bh(r);if(s){let n=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:s});r.dispatchEvent(n)}},{},i),t(i)})})}function G0(r,e){if(e){let t=e.playingDate;if(t!=null)return new Date(t.getTime()-r.currentTime*1e3)}return typeof r.getStartDate=="function"?r.getStartDate():new Date(NaN)}function H0(r,e){if(e&&e.playingDate)return e.playingDate;if(typeof r.getStartDate=="function"){let t=r.getStartDate();return new Date(t.getTime()+r.currentTime*1e3)}return new Date(NaN)}var GA=async r=>fetch(r).then(e=>e.text()).then(e=>{let t=e.split(`
970
970
  `).find((i,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(i=>i.text()).then(i=>i.split(`
971
- `))}),GA=r=>{var e,t;let i=(t=((e=r.find(o=>o.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),s=N0(i),n=U0(i),a;if(s===Je.LIVE){let o=r.find(l=>l.startsWith("#EXT-X-PART-INF"));o?a=+o.split(":")[1].split("=")[1]*2:a=+r.find(l=>l.startsWith("#EXT-X-TARGETDURATION")).split(":")[1]*3}return{streamType:s,targetLiveWindow:n,liveEdgeStartOffset:a}},HA=async(r,e)=>{if(e===Er.MP4)return{streamType:Je.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Er.M3U8){let t=await $A(r);return GA(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${r}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},w0=async(r,e,t=Ml({src:r}))=>{var i,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await HA(r,t);((i=wt.get(e))!=null?i:{}).liveEdgeStartOffset=l,((s=wt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=wt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},VA=r=>{var e;let t=r.type,i=N0(t),s=U0(t),n,a=!!((e=r.partList)!=null&&e.length);return i===Je.LIVE&&(n=a?r.partTarget*2:r.targetduration*3),{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},KA=(r,e,t)=>{var i,s,n,a,o,l,d,c;let{streamType:u,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:g}=VA(r);if(u===Je.LIVE){g?(t.config.backBufferLength=(i=t.userConfig.backBufferLength)!=null?i:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let E=Object.freeze({get length(){return e.seekable.length},start(T){return e.seekable.start(T)},end(T){var S;return T>this.length?e.seekable.end(T):(S=t.liveSyncPosition)!=null?S:e.seekable.end(T)}});((o=wt.get(e))!=null?o:{}).seekable=E}((l=wt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=wt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((c=wt.get(e))!=null?c:{}).streamType=u,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},D0,C0,WA=(C0=(D0=globalThis==null?void 0:globalThis.navigator)==null?void 0:D0.userAgent)!=null?C0:"",qA=WA.toLowerCase().indexOf("android")!==-1,wt=new WeakMap,V0="mux.com",M0,O0,K0=(O0=(M0=ct).isSupported)==null?void 0:O0.call(M0),YA=qA,W0=()=>Cl.default.utils.now(),jA=Cl.default.utils.generateUUID,q0=(r,{domain:e=V0,maxResolution:t=""}={})=>{if(!r)return;let[i,s=""]=CA(r),n=new URL(`https://stream.${e}/${i}.m3u8${s}`);return t&&n.searchParams.set("max_resolution",t),n.toString()},zA=r=>{if(!r)return;let[e]=r.split("?");return e||void 0},XA=r=>{if(!r||!r.startsWith("https://stream."))return;let[e]=new URL(r).pathname.slice(1).split(".m3u8");return e||void 0},QA=r=>{var e,t,i;return(e=r==null?void 0:r.metadata)!=null&&e.video_id?r.metadata.video_id:ev(r)&&(i=(t=zA(r.playbackId))!=null?t:XA(r.src))!=null?i:r.src},Y0=r=>{var e;return(e=wt.get(r))==null?void 0:e.error},j0=r=>{var e,t;return(t=(e=wt.get(r))==null?void 0:e.streamType)!=null?t:Je.UNKNOWN},z0=r=>{var e,t;return(t=(e=wt.get(r))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},$h=r=>{var e,t;return(t=(e=wt.get(r))==null?void 0:e.seekable)!=null?t:r.seekable},X0=r=>{var e;let t=(e=wt.get(r))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let i=$h(r);return i.length?i.end(i.length-1)-t:Number.NaN},ZA=(r,e,t=.001)=>Math.abs(r-e)<=t,Q0=(r,e,t=.001)=>r>e||ZA(r,e,t),JA=r=>r.paused&&Q0(r.currentTime,r.duration),Gh=(r,e)=>r.loop||!!e?r.ended:r.ended||JA(r),Z0=(r,e,t)=>{Hh(e,t);let{metadata:i={}}=r,{view_session_id:s=jA()}=i,n=QA(r);i.view_session_id=s,i.video_id=n,r.metadata=i,wt.set(e,{});let a=eS(r,e);iS(r,e,a),rS(r,e,a),BA(e);let o=PA(r,e,a),l=NA(r,e,a);return{engine:a,setAutoplay:o,setPreload:l}},Hh=(r,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),(r==null?void 0:r.mux)&&!r.mux.deleted&&(r.mux.destroy(),delete r.mux),r&&(r.removeAttribute("src"),r.load(),r.removeEventListener("error",iv),r.removeEventListener("error",Ph),r.removeEventListener("durationchange",tv),wt.delete(r),r.dispatchEvent(new Event("teardown")))};function J0(r,e){var t;let i=Ml(r);if(i!==Er.M3U8)return!0;let s=!i||((t=e.canPlayType(i))!=null?t:!0),{preferPlayback:n}=r,a=n===di.MSE,o=n===di.NATIVE;return s&&(o||!(K0&&(a||YA)))}var eS=(r,e)=>{let{debug:t,streamType:i,startTime:s=-1,metadata:n,preferCmcd:a}=r,o=Ml(r)===Er.M3U8,l=J0(r,e);if(o&&!l&&K0){let d={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=tS(i),u=a!==Mh.NONE?{useHeaders:a===Mh.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new ct({debug:t,startPosition:s,cmcd:u,...d,...c})}},tS=r=>r===Je.LIVE?{backBufferLength:8}:{},ev=({playbackId:r,src:e,customDomain:t})=>{if(r)return!0;if(typeof e!="string")return!1;let i=window==null?void 0:window.location.href,s=new URL(e,i).hostname.toLocaleLowerCase();return s.includes(V0)||!!t&&s.includes(t.toLocaleLowerCase())},iS=(r,e,t)=>{var i;let{envKey:s}=r,n=ev(r);if(s||n){let{playerInitTime:a,playerSoftwareName:o,playerSoftwareVersion:l,beaconCollectionDomain:d,debug:c,disableCookies:u}=r,h={...r.metadata,video_title:((i=r==null?void 0:r.metadata)==null?void 0:i.video_title)||void 0},f=g=>typeof g.player_error_code=="string"?!1:typeof r.errorTranslator=="function"?r.errorTranslator(g):g;Cl.default.monitor(e,{debug:c,beaconCollectionDomain:d,hlsjs:t,Hls:t?ct:void 0,automaticErrorTracking:!1,errorTranslator:f,disableCookies:u,data:{...s?{env_key:s}:{},player_software_name:o,player_software:o,player_software_version:l,player_init_time:a,...h}})}},rS=(r,e,t)=>{var i;let s=J0(r,e),{src:n}=r;if(e&&s){let a=Ml(r);typeof n=="string"?(e.preload==="none"?yi(e,"loadstart",()=>w0(n,e,a)):w0(n,e,a),e.setAttribute("src",n),r.startTime&&(((i=wt.get(e))!=null?i:{}).startTime=r.startTime,e.addEventListener("durationchange",tv,{once:!0}))):e.removeAttribute("src"),e.addEventListener("error",iv),e.addEventListener("error",Ph),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(l=>{l.remove()})},{once:!0});let o=()=>{e.ended||!Gh(e)||e.dispatchEvent(new Event("ended"))};yi(e,"pause",o),yi(e,"seeked",o),yi(e,"play",()=>{e.ended||!Q0(e.currentTime,e.duration)||(e.currentTime=e.seekable.start(0))})}else t&&n?(t.once(ct.Events.LEVEL_LOADED,(a,o)=>{KA(o.details,e,t)}),t.on(ct.Events.ERROR,(a,o)=>{let l={[ct.ErrorTypes.NETWORK_ERROR]:it.MEDIA_ERR_NETWORK,[ct.ErrorTypes.MEDIA_ERROR]:it.MEDIA_ERR_DECODE},d=new it("",l[o.type]);d.fatal=o.fatal,d.data=o,e.dispatchEvent(new CustomEvent("error",{detail:d}))}),e.addEventListener("error",Ph),UA(r,t),FA(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function tv(r){var e;let t=r.target,i=(e=wt.get(t))==null?void 0:e.startTime;if(!!i&&DA(t.seekable,t.duration,i)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=i,s&&(t.preload="auto")}}async function iv(r){if(!r.isTrusted)return;r.stopImmediatePropagation();let e=r.target;if(!(e!=null&&e.error))return;let{message:t,code:i}=e.error,s=new it(t,i);if(e.src&&(i!==it.MEDIA_ERR_DECODE||i!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function Ph(r){var e,t;if(!(r instanceof CustomEvent)||!(r.detail instanceof it))return;let i=r.target,s=r.detail;!s||!s.fatal||(((e=wt.get(i))!=null?e:{}).error=s,(t=i.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var sS=Object.defineProperty,nS=(r,e,t)=>e in r?sS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,He=(r,e,t)=>(nS(r,typeof e!="symbol"?e+"":e,t),t),nf=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},G=(r,e,t)=>(nf(r,e,"read from private field"),t?t.call(r):e.get(r)),le=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ue=(r,e,t,i)=>(nf(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),nt=(r,e,t)=>(nf(r,e,"access private method"),t),Kl=class{addEventListener(){}removeEventListener(){}dispatchEvent(r){return!0}};if(typeof DocumentFragment=="undefined"){class r extends Kl{}globalThis.DocumentFragment=r}var af=class extends Kl{},aS=class extends Kl{},oS={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(af)}},Pl,lS=class{constructor(r,e={}){le(this,Pl,void 0),ue(this,Pl,e==null?void 0:e.detail)}get detail(){return G(this,Pl)}initCustomEvent(){}};Pl=new WeakMap;function dS(r,e){return new af}var lv={document:{createElement:dS},DocumentFragment,customElements:oS,CustomEvent:lS,EventTarget:Kl,HTMLElement:af,HTMLVideoElement:aS},dv=typeof window=="undefined"||typeof globalThis.customElements=="undefined",Nl=dv?lv:globalThis,m1=dv?lv.document:globalThis.document,cS=()=>{try{return"0.16.2"}catch{}return"UNKNOWN"},uS=cS(),hS=()=>uS,rv=r=>{var e,t,i,s,n,a,o,l,d,c,u,h,f,g,E,T,S,R,x,N,D,$,O,H,q,P,X,z,Ae,Ee,ye,we,Se,Z,ae,ne,xe,Ie,Ve,ft;return e=class extends r{constructor(){super(),le(this,X),le(this,Ae),le(this,ye),le(this,Se),le(this,ae),le(this,xe),le(this,Ve),He(this,"castEnabled",!1),le(this,D,{paused:!1}),le(this,$,void 0),le(this,O,{}),le(this,H,void 0),le(this,q,void 0),le(this,P,void 0),e.instances.add(this),nt(this,ae,ne).call(this)}static get castElement(){return G(e,t)}static get castEnabled(){return G(e,i)}static get castState(){var V;return(V=G(e,d,c))==null?void 0:V.getCastState()}static async exitCast(){try{await G(e,d,c).endCurrentSession(!0)}catch(V){console.error(V);return}}get castPlayer(){if(e.castElement===this)return G(this,$)}attributeChangedCallback(V){if(this.castPlayer)switch(V){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(V={}){var J;nt(J=e,x,N).call(J,V),ue(e,t,this),Object.entries(G(this,O)).forEach(([Re,et])=>{G(this,$).controller.addEventListener(Re,et)});try{await G(e,d,c).requestSession()}catch{ue(e,t,void 0);return}G(this,D).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(Re){console.error(Re)}}async load(){var V,J;if(!this.castPlayer)return super.load();let Re=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),et=[...this.querySelectorAll("track")].filter(({kind:ei,src:_i})=>_i&&(ei==="subtitles"||ei==="captions")),At=[],Xt=0;et.length&&(Re.tracks=et.map(ei=>{let _i=++Xt;At.length===0&&ei.track.mode==="showing"&&At.push(_i);let Ai=new chrome.cast.media.Track(_i,chrome.cast.media.TrackType.TEXT);return Ai.trackContentId=ei.src,Ai.trackContentType="text/vtt",Ai.subtype=ei.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,Ai.name=ei.label,Ai.language=ei.srclang,Ai})),this.castStreamType==="live"?Re.streamType=chrome.cast.media.StreamType.LIVE:Re.streamType=chrome.cast.media.StreamType.BUFFERED,Re.metadata=new chrome.cast.media.GenericMediaMetadata,Re.metadata.title=this.title,Re.metadata.images=[{url:this.poster}];let nr=new chrome.cast.media.LoadRequest(Re);nr.currentTime=(V=super.currentTime)!=null?V:0,nr.autoplay=!G(this,D).paused,nr.activeTrackIds=At,await((J=G(e,u,h))==null?void 0:J.loadMedia(nr)),this.dispatchEvent(new Event("volumechange"))}play(){var V;if(this.castPlayer){this.castPlayer.isPaused&&((V=this.castPlayer.controller)==null||V.playOrPause());return}return super.play()}pause(){var V;if(this.castPlayer){this.castPlayer.isPaused||(V=this.castPlayer.controller)==null||V.playOrPause();return}super.pause()}get castSrc(){var V,J,Re;return(Re=(J=this.getAttribute("cast-src"))!=null?J:(V=this.querySelector("source"))==null?void 0:V.src)!=null?Re:this.currentSrc}set castSrc(V){this.castSrc!=V&&this.setAttribute("cast-src",`${V}`)}get castContentType(){var V;return(V=this.getAttribute("cast-content-type"))!=null?V:void 0}set castContentType(V){this.setAttribute("cast-content-type",`${V}`)}get castStreamType(){var V,J;return(J=(V=this.getAttribute("cast-stream-type"))!=null?V:this.streamType)!=null?J:void 0}set castStreamType(V){this.setAttribute("cast-stream-type",`${V}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var V;return this.castPlayer?(V=this.castPlayer)==null?void 0:V.isMuted:super.muted}set muted(V){var J;if(this.castPlayer){(V&&!this.castPlayer.isMuted||!V&&this.castPlayer.isMuted)&&((J=this.castPlayer.controller)==null||J.muteOrUnmute());return}super.muted=V}get volume(){var V,J;return this.castPlayer?(J=(V=this.castPlayer)==null?void 0:V.volumeLevel)!=null?J:1:super.volume}set volume(V){var J;if(this.castPlayer){this.castPlayer.volumeLevel=V,(J=this.castPlayer.controller)==null||J.setVolumeLevel();return}super.volume=V}get duration(){var V,J;return this.castPlayer&&G(this,X,z)?(J=(V=this.castPlayer)==null?void 0:V.duration)!=null?J:NaN:super.duration}get currentTime(){var V,J;return this.castPlayer&&G(this,X,z)?(J=(V=this.castPlayer)==null?void 0:V.currentTime)!=null?J:0:super.currentTime}set currentTime(V){var J;if(this.castPlayer){this.castPlayer.currentTime=V,(J=this.castPlayer.controller)==null||J.seek();return}super.currentTime=V}get onentercast(){return G(this,H)}set onentercast(V){G(this,H)&&(this.removeEventListener("entercast",G(this,H)),ue(this,H,null)),typeof V=="function"&&(ue(this,H,V),this.addEventListener("entercast",V))}get onleavecast(){return G(this,q)}set onleavecast(V){G(this,q)&&(this.removeEventListener("leavecast",G(this,q)),ue(this,q,null)),typeof V=="function"&&(ue(this,q,V),this.addEventListener("leavecast",V))}get oncastchange(){return G(this,P)}set oncastchange(V){G(this,P)&&(this.removeEventListener("castchange",G(this,P)),ue(this,P,null)),typeof V=="function"&&(ue(this,P,V),this.addEventListener("castchange",V))}},t=new WeakMap,i=new WeakMap,s=new WeakMap,n=new WeakSet,a=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},o=new WeakSet,l=function(){return typeof cast!="undefined"&&cast.framework},d=new WeakSet,c=function(){if(G(e,o,l))return cast.framework.CastContext.getInstance()},u=new WeakSet,h=function(){var V;return(V=G(e,d,c))==null?void 0:V.getCurrentSession()},f=new WeakSet,g=function(){var V;return(V=G(e,u,h))==null?void 0:V.getSessionObj().media[0]},E=new WeakSet,T=function(V){return new Promise((J,Re)=>{G(e,f,g).editTracksInfo(V,J,Re)})},S=new WeakSet,R=function(V){return new Promise((J,Re)=>{G(e,f,g).getStatus(V,J,Re)})},x=new WeakSet,N=function(V){return G(e,d,c).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...V})},D=new WeakMap,$=new WeakMap,O=new WeakMap,H=new WeakMap,q=new WeakMap,P=new WeakMap,X=new WeakSet,z=function(){var V;return(V=this.castPlayer)==null?void 0:V.isMediaLoaded},Ae=new WeakSet,Ee=function(){G(e,t)===this&&(Object.entries(G(this,O)).forEach(([V,J])=>{G(this,$).controller.removeEventListener(V,J)}),ue(e,t,void 0),this.muted=G(this,$).isMuted,this.currentTime=G(this,$).savedPlayerState.currentTime,G(this,$).savedPlayerState.isPaused===!1&&this.play())},ye=new WeakSet,we=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:G(e,d,c).getCastState()}))},Se=new WeakSet,Z=async function(){var V,J;let{SESSION_RESUMED:Re}=cast.framework.SessionState;if(G(e,d,c).getSessionState()===Re&&this.castSrc===((V=G(e,f,g))==null?void 0:V.media.contentId)){ue(e,t,this),Object.entries(G(this,O)).forEach(([et,At])=>{G(this,$).controller.addEventListener(et,At)});try{await nt(J=e,S,R).call(J,new chrome.cast.media.GetStatusRequest)}catch(et){console.error(et)}G(this,O)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),G(this,O)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},ae=new WeakSet,ne=function(){var V;!G(e,o,l)||this.castEnabled||(this.castEnabled=!0,nt(V=e,x,N).call(V),this.textTracks.addEventListener("change",nt(this,Ve,ft).bind(this)),nt(this,ye,we).call(this),ue(this,$,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(G(this,$)),ue(this,O,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:J})=>{J===!1&&nt(this,Ae,Ee).call(this),this.dispatchEvent(new Event(J?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!G(this,X,z)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var J,Re;((J=this.castPlayer)==null?void 0:J.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(Re=this.castPlayer)==null?void 0:Re.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!G(this,X,z)||(await Promise.resolve(),nt(this,xe,Ie).call(this))}}))},xe=new WeakSet,Ie=function(){nt(this,Ve,ft).call(this)},Ve=new WeakSet,ft=async function(){var V,J,Re,et,At,Xt;if(!this.castPlayer)return;let nr=((J=(V=G(this,$).mediaInfo)==null?void 0:V.tracks)!=null?J:[]).filter(({type:rt})=>rt===chrome.cast.media.TrackType.TEXT),ei=[...this.textTracks].filter(({kind:rt})=>rt==="subtitles"||rt==="captions"),_i=nr.map(({language:rt,name:Rr,trackId:nn})=>{var an;let{mode:_a}=(an=ei.find(on=>on.language===rt&&on.label===Rr))!=null?an:{};return _a?{mode:_a,trackId:nn}:!1}).filter(Boolean),Ai=_i.filter(({mode:rt})=>rt!=="showing").map(({trackId:rt})=>rt),fs=_i.find(({mode:rt})=>rt==="showing"),sn=(At=(et=(Re=G(e,u,h))==null?void 0:Re.getSessionObj().media[0])==null?void 0:et.activeTrackIds)!=null?At:[],ci=sn;if(sn.length&&(ci=ci.filter(rt=>!Ai.includes(rt))),fs!=null&&fs.trackId&&(ci=[...ci,fs.trackId]),ci=[...new Set(ci)],!((rt,Rr)=>rt.length===Rr.length&&rt.every(nn=>Rr.includes(nn)))(sn,ci))try{let rt=new chrome.cast.media.EditTracksInfoRequest(ci);await nt(Xt=e,E,T).call(Xt,rt)}catch(rt){console.error(rt)}},le(e,n),le(e,o),le(e,d),le(e,u),le(e,f),le(e,E),le(e,S),le(e,x),He(e,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),He(e,"instances",new Set),le(e,t,void 0),le(e,i,!1),He(e,"initCast",()=>{var V;G(e,n,a)?G(e,o,l)?G(V=e,s).call(V,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var J;return G(J=e,s).call(J,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var J;return G(J=e,s).call(J,chrome.cast.isAvailable)})}}),le(e,s,V=>{if(V){ue(e,i,!0);let{CAST_STATE_CHANGED:J}=cast.framework.CastContextEventType;G(e,d,c).addEventListener(J,et=>{e.instances.forEach(At=>{var Xt;return nt(Xt=At,ye,we).call(Xt,et)})});let{SESSION_STATE_CHANGED:Re}=cast.framework.CastContextEventType;G(e,d,c).addEventListener(Re,et=>{e.instances.forEach(At=>{var Xt;return nt(Xt=At,Se,Z).call(Xt,et)})}),e.instances.forEach(et=>{var At;return nt(At=et,ae,ne).call(At)})}}),e},Kh=globalThis.HTMLVideoElement?rv(HTMLVideoElement):rv(Object);globalThis.customElements&&!globalThis.customElements.get("castable-video")&&(customElements.define("castable-video",Kh,{extends:"video"}),globalThis.CastableVideoElement=Kh);Kh.initCast();var Wl=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],sv,Wh=(sv=globalThis.document)==null?void 0:sv.createElement("template");Wh&&(Wh.innerHTML=`
971
+ `))}),HA=r=>{var e,t;let i=(t=((e=r.find(o=>o.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?e:"").split(":")[1])==null?void 0:t.trim(),s=N0(i),n=U0(i),a;if(s===Je.LIVE){let o=r.find(l=>l.startsWith("#EXT-X-PART-INF"));o?a=+o.split(":")[1].split("=")[1]*2:a=+r.find(l=>l.startsWith("#EXT-X-TARGETDURATION")).split(":")[1]*3}return{streamType:s,targetLiveWindow:n,liveEdgeStartOffset:a}},VA=async(r,e)=>{if(e===Er.MP4)return{streamType:Je.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===Er.M3U8){let t=await GA(r);return HA(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${r}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},w0=async(r,e,t=Ol({src:r}))=>{var i,s,n;let{streamType:a,targetLiveWindow:o,liveEdgeStartOffset:l}=await VA(r,t);((i=wt.get(e))!=null?i:{}).liveEdgeStartOffset=l,((s=wt.get(e))!=null?s:{}).targetLiveWindow=o,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((n=wt.get(e))!=null?n:{}).streamType=a,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},KA=r=>{var e;let t=r.type,i=N0(t),s=U0(t),n,a=!!((e=r.partList)!=null&&e.length);return i===Je.LIVE&&(n=a?r.partTarget*2:r.targetduration*3),{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}},WA=(r,e,t)=>{var i,s,n,a,o,l,d,c;let{streamType:u,targetLiveWindow:h,liveEdgeStartOffset:f,lowLatency:g}=KA(r);if(u===Je.LIVE){g?(t.config.backBufferLength=(i=t.userConfig.backBufferLength)!=null?i:4,t.config.maxFragLookUpTolerance=(s=t.userConfig.maxFragLookUpTolerance)!=null?s:.001,t.config.abrBandWidthUpFactor=(n=t.userConfig.abrBandWidthUpFactor)!=null?n:t.config.abrBandWidthFactor):t.config.backBufferLength=(a=t.userConfig.backBufferLength)!=null?a:8;let E=Object.freeze({get length(){return e.seekable.length},start(T){return e.seekable.start(T)},end(T){var A;return T>this.length?e.seekable.end(T):(A=t.liveSyncPosition)!=null?A:e.seekable.end(T)}});((o=wt.get(e))!=null?o:{}).seekable=E}((l=wt.get(e))!=null?l:{}).liveEdgeStartOffset=f,((d=wt.get(e))!=null?d:{}).targetLiveWindow=h,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((c=wt.get(e))!=null?c:{}).streamType=u,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},D0,C0,qA=(C0=(D0=globalThis==null?void 0:globalThis.navigator)==null?void 0:D0.userAgent)!=null?C0:"",YA=qA.toLowerCase().indexOf("android")!==-1,wt=new WeakMap,V0="mux.com",M0,O0,K0=(O0=(M0=ct).isSupported)==null?void 0:O0.call(M0),jA=YA,W0=()=>Ml.default.utils.now(),zA=Ml.default.utils.generateUUID,q0=(r,{domain:e=V0,maxResolution:t=""}={})=>{if(!r)return;let[i,s=""]=MA(r),n=new URL(`https://stream.${e}/${i}.m3u8${s}`);return t&&n.searchParams.set("max_resolution",t),n.toString()},XA=r=>{if(!r)return;let[e]=r.split("?");return e||void 0},QA=r=>{if(!r||!r.startsWith("https://stream."))return;let[e]=new URL(r).pathname.slice(1).split(".m3u8");return e||void 0},ZA=r=>{var e,t,i;return(e=r==null?void 0:r.metadata)!=null&&e.video_id?r.metadata.video_id:ev(r)&&(i=(t=XA(r.playbackId))!=null?t:QA(r.src))!=null?i:r.src},Y0=r=>{var e;return(e=wt.get(r))==null?void 0:e.error},j0=r=>{var e,t;return(t=(e=wt.get(r))==null?void 0:e.streamType)!=null?t:Je.UNKNOWN},z0=r=>{var e,t;return(t=(e=wt.get(r))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},$h=r=>{var e,t;return(t=(e=wt.get(r))==null?void 0:e.seekable)!=null?t:r.seekable},X0=r=>{var e;let t=(e=wt.get(r))==null?void 0:e.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let i=$h(r);return i.length?i.end(i.length-1)-t:Number.NaN},JA=(r,e,t=.001)=>Math.abs(r-e)<=t,Q0=(r,e,t=.001)=>r>e||JA(r,e,t),eS=r=>r.paused&&Q0(r.currentTime,r.duration),Gh=(r,e)=>r.loop||!!e?r.ended:r.ended||eS(r),Z0=(r,e,t)=>{Hh(e,t);let{metadata:i={}}=r,{view_session_id:s=zA()}=i,n=ZA(r);i.view_session_id=s,i.video_id=n,r.metadata=i,wt.set(e,{});let a=tS(r,e);rS(r,e,a),sS(r,e,a),$A(e);let o=NA(r,e,a),l=UA(r,e,a);return{engine:a,setAutoplay:o,setPreload:l}},Hh=(r,e)=>{let t=e==null?void 0:e.engine;t&&(t.detachMedia(),t.destroy()),(r==null?void 0:r.mux)&&!r.mux.deleted&&(r.mux.destroy(),delete r.mux),r&&(r.removeAttribute("src"),r.load(),r.removeEventListener("error",iv),r.removeEventListener("error",Ph),r.removeEventListener("durationchange",tv),wt.delete(r),r.dispatchEvent(new Event("teardown")))};function J0(r,e){var t;let i=Ol(r);if(i!==Er.M3U8)return!0;let s=!i||((t=e.canPlayType(i))!=null?t:!0),{preferPlayback:n}=r,a=n===ci.MSE,o=n===ci.NATIVE;return s&&(o||!(K0&&(a||jA)))}var tS=(r,e)=>{let{debug:t,streamType:i,startTime:s=-1,metadata:n,preferCmcd:a}=r,o=Ol(r)===Er.M3U8,l=J0(r,e);if(o&&!l&&K0){let d={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},c=iS(i),u=a!==Mh.NONE?{useHeaders:a===Mh.HEADER,sessionId:n==null?void 0:n.view_session_id,contentId:n==null?void 0:n.video_id}:void 0;return new ct({debug:t,startPosition:s,cmcd:u,...d,...c})}},iS=r=>r===Je.LIVE?{backBufferLength:8}:{},ev=({playbackId:r,src:e,customDomain:t})=>{if(r)return!0;if(typeof e!="string")return!1;let i=window==null?void 0:window.location.href,s=new URL(e,i).hostname.toLocaleLowerCase();return s.includes(V0)||!!t&&s.includes(t.toLocaleLowerCase())},rS=(r,e,t)=>{var i;let{envKey:s}=r,n=ev(r);if(s||n){let{playerInitTime:a,playerSoftwareName:o,playerSoftwareVersion:l,beaconCollectionDomain:d,debug:c,disableCookies:u}=r,h={...r.metadata,video_title:((i=r==null?void 0:r.metadata)==null?void 0:i.video_title)||void 0},f=g=>typeof g.player_error_code=="string"?!1:typeof r.errorTranslator=="function"?r.errorTranslator(g):g;Ml.default.monitor(e,{debug:c,beaconCollectionDomain:d,hlsjs:t,Hls:t?ct:void 0,automaticErrorTracking:!1,errorTranslator:f,disableCookies:u,data:{...s?{env_key:s}:{},player_software_name:o,player_software:o,player_software_version:l,player_init_time:a,...h}})}},sS=(r,e,t)=>{var i;let s=J0(r,e),{src:n}=r;if(e&&s){let a=Ol(r);typeof n=="string"?(e.preload==="none"?yi(e,"loadstart",()=>w0(n,e,a)):w0(n,e,a),e.setAttribute("src",n),r.startTime&&(((i=wt.get(e))!=null?i:{}).startTime=r.startTime,e.addEventListener("durationchange",tv,{once:!0}))):e.removeAttribute("src"),e.addEventListener("error",iv),e.addEventListener("error",Ph),e.addEventListener("emptied",()=>{e.querySelectorAll("track[data-removeondestroy]").forEach(l=>{l.remove()})},{once:!0});let o=()=>{e.ended||!Gh(e)||e.dispatchEvent(new Event("ended"))};yi(e,"pause",o),yi(e,"seeked",o),yi(e,"play",()=>{e.ended||!Q0(e.currentTime,e.duration)||(e.currentTime=e.seekable.start(0))})}else t&&n?(t.once(ct.Events.LEVEL_LOADED,(a,o)=>{WA(o.details,e,t)}),t.on(ct.Events.ERROR,(a,o)=>{let l={[ct.ErrorTypes.NETWORK_ERROR]:it.MEDIA_ERR_NETWORK,[ct.ErrorTypes.MEDIA_ERROR]:it.MEDIA_ERR_DECODE},d=new it("",l[o.type]);d.fatal=o.fatal,d.data=o,e.dispatchEvent(new CustomEvent("error",{detail:d}))}),e.addEventListener("error",Ph),FA(r,t),BA(e,t),t.attachMedia(e)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function tv(r){var e;let t=r.target,i=(e=wt.get(t))==null?void 0:e.startTime;if(!!i&&CA(t.seekable,t.duration,i)){let s=t.preload==="auto";s&&(t.preload="none"),t.currentTime=i,s&&(t.preload="auto")}}async function iv(r){if(!r.isTrusted)return;r.stopImmediatePropagation();let e=r.target;if(!(e!=null&&e.error))return;let{message:t,code:i}=e.error,s=new it(t,i);if(e.src&&(i!==it.MEDIA_ERR_DECODE||i!==void 0))try{let{status:n}=await fetch(e.src);s.data={response:{code:n}}}catch{}e.dispatchEvent(new CustomEvent("error",{detail:s}))}function Ph(r){var e,t;if(!(r instanceof CustomEvent)||!(r.detail instanceof it))return;let i=r.target,s=r.detail;!s||!s.fatal||(((e=wt.get(i))!=null?e:{}).error=s,(t=i.mux)==null||t.emit("error",{player_error_code:s.code,player_error_message:s.message,player_error_context:s.context}))}var nS=Object.defineProperty,aS=(r,e,t)=>e in r?nS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,He=(r,e,t)=>(aS(r,typeof e!="symbol"?e+"":e,t),t),nf=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},H=(r,e,t)=>(nf(r,e,"read from private field"),t?t.call(r):e.get(r)),le=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ue=(r,e,t,i)=>(nf(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),nt=(r,e,t)=>(nf(r,e,"access private method"),t),Wl=class{addEventListener(){}removeEventListener(){}dispatchEvent(r){return!0}};if(typeof DocumentFragment=="undefined"){class r extends Wl{}globalThis.DocumentFragment=r}var af=class extends Wl{},oS=class extends Wl{},lS={get(r){},define(r,e,t){},upgrade(r){},whenDefined(r){return Promise.resolve(af)}},Nl,dS=class{constructor(r,e={}){le(this,Nl,void 0),ue(this,Nl,e==null?void 0:e.detail)}get detail(){return H(this,Nl)}initCustomEvent(){}};Nl=new WeakMap;function cS(r,e){return new af}var lv={document:{createElement:cS},DocumentFragment,customElements:lS,CustomEvent:dS,EventTarget:Wl,HTMLElement:af,HTMLVideoElement:oS},dv=typeof window=="undefined"||typeof globalThis.customElements=="undefined",Ul=dv?lv:globalThis,p1=dv?lv.document:globalThis.document,uS=()=>{try{return"0.16.3"}catch{}return"UNKNOWN"},hS=uS(),fS=()=>hS,rv=r=>{var e,t,i,s,n,a,o,l,d,c,u,h,f,g,E,T,A,k,L,N,D,$,O,G,q,P,X,z,Ae,Ee,ye,we,Se,Z,ae,ne,xe,Ie,Ve,ft;return e=class extends r{constructor(){super(),le(this,X),le(this,Ae),le(this,ye),le(this,Se),le(this,ae),le(this,xe),le(this,Ve),He(this,"castEnabled",!1),le(this,D,{paused:!1}),le(this,$,void 0),le(this,O,{}),le(this,G,void 0),le(this,q,void 0),le(this,P,void 0),e.instances.add(this),nt(this,ae,ne).call(this)}static get castElement(){return H(e,t)}static get castEnabled(){return H(e,i)}static get castState(){var V;return(V=H(e,d,c))==null?void 0:V.getCastState()}static async exitCast(){try{await H(e,d,c).endCurrentSession(!0)}catch(V){console.error(V);return}}get castPlayer(){if(e.castElement===this)return H(this,$)}attributeChangedCallback(V){if(this.castPlayer)switch(V){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(V={}){var J;nt(J=e,L,N).call(J,V),ue(e,t,this),Object.entries(H(this,O)).forEach(([ke,et])=>{H(this,$).controller.addEventListener(ke,et)});try{await H(e,d,c).requestSession()}catch{ue(e,t,void 0);return}H(this,D).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(ke){console.error(ke)}}async load(){var V,J;if(!this.castPlayer)return super.load();let ke=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),et=[...this.querySelectorAll("track")].filter(({kind:ei,src:_i})=>_i&&(ei==="subtitles"||ei==="captions")),At=[],Xt=0;et.length&&(ke.tracks=et.map(ei=>{let _i=++Xt;At.length===0&&ei.track.mode==="showing"&&At.push(_i);let Ai=new chrome.cast.media.Track(_i,chrome.cast.media.TrackType.TEXT);return Ai.trackContentId=ei.src,Ai.trackContentType="text/vtt",Ai.subtype=ei.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,Ai.name=ei.label,Ai.language=ei.srclang,Ai})),this.castStreamType==="live"?ke.streamType=chrome.cast.media.StreamType.LIVE:ke.streamType=chrome.cast.media.StreamType.BUFFERED,ke.metadata=new chrome.cast.media.GenericMediaMetadata,ke.metadata.title=this.title,ke.metadata.images=[{url:this.poster}];let nr=new chrome.cast.media.LoadRequest(ke);nr.currentTime=(V=super.currentTime)!=null?V:0,nr.autoplay=!H(this,D).paused,nr.activeTrackIds=At,await((J=H(e,u,h))==null?void 0:J.loadMedia(nr)),this.dispatchEvent(new Event("volumechange"))}play(){var V;if(this.castPlayer){this.castPlayer.isPaused&&((V=this.castPlayer.controller)==null||V.playOrPause());return}return super.play()}pause(){var V;if(this.castPlayer){this.castPlayer.isPaused||(V=this.castPlayer.controller)==null||V.playOrPause();return}super.pause()}get castSrc(){var V,J,ke;return(ke=(J=this.getAttribute("cast-src"))!=null?J:(V=this.querySelector("source"))==null?void 0:V.src)!=null?ke:this.currentSrc}set castSrc(V){this.castSrc!=V&&this.setAttribute("cast-src",`${V}`)}get castContentType(){var V;return(V=this.getAttribute("cast-content-type"))!=null?V:void 0}set castContentType(V){this.setAttribute("cast-content-type",`${V}`)}get castStreamType(){var V,J;return(J=(V=this.getAttribute("cast-stream-type"))!=null?V:this.streamType)!=null?J:void 0}set castStreamType(V){this.setAttribute("cast-stream-type",`${V}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var V;return this.castPlayer?(V=this.castPlayer)==null?void 0:V.isMuted:super.muted}set muted(V){var J;if(this.castPlayer){(V&&!this.castPlayer.isMuted||!V&&this.castPlayer.isMuted)&&((J=this.castPlayer.controller)==null||J.muteOrUnmute());return}super.muted=V}get volume(){var V,J;return this.castPlayer?(J=(V=this.castPlayer)==null?void 0:V.volumeLevel)!=null?J:1:super.volume}set volume(V){var J;if(this.castPlayer){this.castPlayer.volumeLevel=V,(J=this.castPlayer.controller)==null||J.setVolumeLevel();return}super.volume=V}get duration(){var V,J;return this.castPlayer&&H(this,X,z)?(J=(V=this.castPlayer)==null?void 0:V.duration)!=null?J:NaN:super.duration}get currentTime(){var V,J;return this.castPlayer&&H(this,X,z)?(J=(V=this.castPlayer)==null?void 0:V.currentTime)!=null?J:0:super.currentTime}set currentTime(V){var J;if(this.castPlayer){this.castPlayer.currentTime=V,(J=this.castPlayer.controller)==null||J.seek();return}super.currentTime=V}get onentercast(){return H(this,G)}set onentercast(V){H(this,G)&&(this.removeEventListener("entercast",H(this,G)),ue(this,G,null)),typeof V=="function"&&(ue(this,G,V),this.addEventListener("entercast",V))}get onleavecast(){return H(this,q)}set onleavecast(V){H(this,q)&&(this.removeEventListener("leavecast",H(this,q)),ue(this,q,null)),typeof V=="function"&&(ue(this,q,V),this.addEventListener("leavecast",V))}get oncastchange(){return H(this,P)}set oncastchange(V){H(this,P)&&(this.removeEventListener("castchange",H(this,P)),ue(this,P,null)),typeof V=="function"&&(ue(this,P,V),this.addEventListener("castchange",V))}},t=new WeakMap,i=new WeakMap,s=new WeakMap,n=new WeakSet,a=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},o=new WeakSet,l=function(){return typeof cast!="undefined"&&cast.framework},d=new WeakSet,c=function(){if(H(e,o,l))return cast.framework.CastContext.getInstance()},u=new WeakSet,h=function(){var V;return(V=H(e,d,c))==null?void 0:V.getCurrentSession()},f=new WeakSet,g=function(){var V;return(V=H(e,u,h))==null?void 0:V.getSessionObj().media[0]},E=new WeakSet,T=function(V){return new Promise((J,ke)=>{H(e,f,g).editTracksInfo(V,J,ke)})},A=new WeakSet,k=function(V){return new Promise((J,ke)=>{H(e,f,g).getStatus(V,J,ke)})},L=new WeakSet,N=function(V){return H(e,d,c).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...V})},D=new WeakMap,$=new WeakMap,O=new WeakMap,G=new WeakMap,q=new WeakMap,P=new WeakMap,X=new WeakSet,z=function(){var V;return(V=this.castPlayer)==null?void 0:V.isMediaLoaded},Ae=new WeakSet,Ee=function(){H(e,t)===this&&(Object.entries(H(this,O)).forEach(([V,J])=>{H(this,$).controller.removeEventListener(V,J)}),ue(e,t,void 0),this.muted=H(this,$).isMuted,this.currentTime=H(this,$).savedPlayerState.currentTime,H(this,$).savedPlayerState.isPaused===!1&&this.play())},ye=new WeakSet,we=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:H(e,d,c).getCastState()}))},Se=new WeakSet,Z=async function(){var V,J;let{SESSION_RESUMED:ke}=cast.framework.SessionState;if(H(e,d,c).getSessionState()===ke&&this.castSrc===((V=H(e,f,g))==null?void 0:V.media.contentId)){ue(e,t,this),Object.entries(H(this,O)).forEach(([et,At])=>{H(this,$).controller.addEventListener(et,At)});try{await nt(J=e,A,k).call(J,new chrome.cast.media.GetStatusRequest)}catch(et){console.error(et)}H(this,O)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),H(this,O)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},ae=new WeakSet,ne=function(){var V;!H(e,o,l)||this.castEnabled||(this.castEnabled=!0,nt(V=e,L,N).call(V),this.textTracks.addEventListener("change",nt(this,Ve,ft).bind(this)),nt(this,ye,we).call(this),ue(this,$,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(H(this,$)),ue(this,O,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:J})=>{J===!1&&nt(this,Ae,Ee).call(this),this.dispatchEvent(new Event(J?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!H(this,X,z)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var J,ke;((J=this.castPlayer)==null?void 0:J.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(ke=this.castPlayer)==null?void 0:ke.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!H(this,X,z)||(await Promise.resolve(),nt(this,xe,Ie).call(this))}}))},xe=new WeakSet,Ie=function(){nt(this,Ve,ft).call(this)},Ve=new WeakSet,ft=async function(){var V,J,ke,et,At,Xt;if(!this.castPlayer)return;let nr=((J=(V=H(this,$).mediaInfo)==null?void 0:V.tracks)!=null?J:[]).filter(({type:rt})=>rt===chrome.cast.media.TrackType.TEXT),ei=[...this.textTracks].filter(({kind:rt})=>rt==="subtitles"||rt==="captions"),_i=nr.map(({language:rt,name:kr,trackId:nn})=>{var an;let{mode:Aa}=(an=ei.find(on=>on.language===rt&&on.label===kr))!=null?an:{};return Aa?{mode:Aa,trackId:nn}:!1}).filter(Boolean),Ai=_i.filter(({mode:rt})=>rt!=="showing").map(({trackId:rt})=>rt),fs=_i.find(({mode:rt})=>rt==="showing"),sn=(At=(et=(ke=H(e,u,h))==null?void 0:ke.getSessionObj().media[0])==null?void 0:et.activeTrackIds)!=null?At:[],ui=sn;if(sn.length&&(ui=ui.filter(rt=>!Ai.includes(rt))),fs!=null&&fs.trackId&&(ui=[...ui,fs.trackId]),ui=[...new Set(ui)],!((rt,kr)=>rt.length===kr.length&&rt.every(nn=>kr.includes(nn)))(sn,ui))try{let rt=new chrome.cast.media.EditTracksInfoRequest(ui);await nt(Xt=e,E,T).call(Xt,rt)}catch(rt){console.error(rt)}},le(e,n),le(e,o),le(e,d),le(e,u),le(e,f),le(e,E),le(e,A),le(e,L),He(e,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),He(e,"instances",new Set),le(e,t,void 0),le(e,i,!1),He(e,"initCast",()=>{var V;H(e,n,a)?H(e,o,l)?H(V=e,s).call(V,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var J;return H(J=e,s).call(J,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var J;return H(J=e,s).call(J,chrome.cast.isAvailable)})}}),le(e,s,V=>{if(V){ue(e,i,!0);let{CAST_STATE_CHANGED:J}=cast.framework.CastContextEventType;H(e,d,c).addEventListener(J,et=>{e.instances.forEach(At=>{var Xt;return nt(Xt=At,ye,we).call(Xt,et)})});let{SESSION_STATE_CHANGED:ke}=cast.framework.CastContextEventType;H(e,d,c).addEventListener(ke,et=>{e.instances.forEach(At=>{var Xt;return nt(Xt=At,Se,Z).call(Xt,et)})}),e.instances.forEach(et=>{var At;return nt(At=et,ae,ne).call(At)})}}),e},Kh=globalThis.HTMLVideoElement?rv(HTMLVideoElement):rv(Object);globalThis.customElements&&!globalThis.customElements.get("castable-video")&&(customElements.define("castable-video",Kh,{extends:"video"}),globalThis.CastableVideoElement=Kh);Kh.initCast();var ql=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],sv,Wh=(sv=globalThis.document)==null?void 0:sv.createElement("template");Wh&&(Wh.innerHTML=`
972
972
  <style>
973
973
  :host {
974
974
  display: inline-block;
@@ -1005,8 +1005,8 @@ svg, img, ::slotted(svg), ::slotted(img) {
1005
1005
  }
1006
1006
  </style>
1007
1007
  <slot></slot>
1008
- `);var of=(r,{tag:e,is:t})=>{var i,s,n,a,o,l,d,c,u,h,f,g,E;let T=(i=globalThis.document)==null?void 0:i.createElement(e,{is:t}),S=T?fS(T):[];return s=class extends r{constructor(){super(),le(this,c),le(this,h),le(this,g),le(this,l,void 0),le(this,d,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0)))}static get observedAttributes(){var R,x,N;return nt(R=s,a,o).call(R),[...(N=(x=T==null?void 0:T.constructor)==null?void 0:x.observedAttributes)!=null?N:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var R,x;return(x=(R=G(this,d))!=null?R:this.shadowRoot.querySelector(e))!=null?x:this.querySelector(e)}set nativeEl(R){ue(this,d,R)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(R){this.toggleAttribute("muted",Boolean(R))}get src(){return this.getAttribute("src")}set src(R){this.setAttribute("src",`${R}`)}get preload(){var R,x;return(x=this.getAttribute("preload"))!=null?x:(R=this.nativeEl)==null?void 0:R.preload}set preload(R){this.setAttribute("preload",`${R}`)}attributeChangedCallback(R,x,N){nt(this,c,u).call(this),nt(this,g,E).call(this,R,x,N)}connectedCallback(){nt(this,c,u).call(this)}},n=new WeakMap,a=new WeakSet,o=function(){if(G(this,n))return;ue(this,n,!0);let R=new Set(this.observedAttributes);R.delete("muted");for(let x of S)if(!(x in this.prototype))if(typeof T[x]=="function")this.prototype[x]=function(...N){return nt(this,c,u).call(this),(()=>this.call?this.call(x,...N):this.nativeEl[x].apply(this.nativeEl,N))()};else{let N={get(){var D,$,O;nt(this,c,u).call(this);let H=x.toLowerCase();if(R.has(H)){let q=this.getAttribute(H);return q===null?!1:q===""?!0:q}return(O=(D=this.get)==null?void 0:D.call(this,x))!=null?O:($=this.nativeEl)==null?void 0:$[x]}};x!==x.toUpperCase()&&(N.set=function(D){nt(this,c,u).call(this);let $=x.toLowerCase();if(R.has($)){D===!0||D===!1||D==null?this.toggleAttribute($,Boolean(D)):this.setAttribute($,D);return}if(this.set){this.set(x,D);return}this.nativeEl[x]=D}),Object.defineProperty(this.prototype,x,N)}},l=new WeakMap,d=new WeakMap,c=new WeakSet,u=function(){var R,x;if(G(this,l))return;if(ue(this,l,!0),!this.nativeEl){let $=document.createElement(e,{is:t});$.part=e,this.shadowRoot.append($)}this.nativeEl.muted=this.hasAttribute("muted");for(let $ of S)nt(this,h,f).call(this,$);let N=new Map,D=this.shadowRoot.querySelector("slot:not([name])");D==null||D.addEventListener("slotchange",()=>{let $=new Map(N);D.assignedElements().filter(O=>["track","source"].includes(O.localName)).forEach(O=>{var H,q;$.delete(O);let P=N.get(O);P||(P=O.cloneNode(),N.set(O,P)),(q=(H=this.nativeEl).append)==null||q.call(H,P)}),$.forEach(O=>O.remove())});for(let $ of this.constructor.Events)(x=(R=this.shadowRoot).addEventListener)==null||x.call(R,$,O=>{O.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(O.type,{detail:O.detail}))},!0)},h=new WeakSet,f=function(R){if(Object.prototype.hasOwnProperty.call(this,R)){let x=this[R];delete this[R],this[R]=x}},g=new WeakSet,E=function(R,x,N){var D,$,O,H;["id","class"].includes(R)||(N===null?($=(D=this.nativeEl).removeAttribute)==null||$.call(D,R):(H=(O=this.nativeEl).setAttribute)==null||H.call(O,R,N))},le(s,a),He(s,"Events",Wl),He(s,"template",e.endsWith("audio")?Wh:qh),le(s,n,void 0),s};function fS(r){let e=[];for(let t=Object.getPrototypeOf(r);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}var g1=globalThis.document?of(HTMLElement,{tag:"video"}):class{},v1=globalThis.document?of(HTMLElement,{tag:"audio"}):class{},ql=class extends Event{constructor(r,e){super(r),He(this,"track"),this.track=e.track}},Yh=new WeakMap;function te(r){var e;return(e=Yh.get(r))!=null?e:mS(r,{})}function mS(r,e){let t=Yh.get(r);return t||Yh.set(r,t={}),Object.assign(t,e)}function jh(r,e){let t=r.videoTracks;te(e).media=r,te(e).renditionSet||(te(e).renditionSet=new Set);let i=te(t).trackSet;i.add(e);let s=i.size-1;s in Xh.prototype||Object.defineProperty(Xh.prototype,s,{get(){return[...te(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new ql("addtrack",{track:e}))})}function zh(r){var e;let t=(e=te(r).media)==null?void 0:e.videoTracks;!t||(te(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new ql("removetrack",{track:r}))}))}function pS(r){var e;let t=(e=te(r).media.videoTracks)!=null?e:[],i=!1;for(let s of t)s!==r&&(s.selected=!1,i=!0);if(i){if(te(t).changeRequested)return;te(t).changeRequested=!0,queueMicrotask(()=>{delete te(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Wr,qr,Yr,Ys,Zn,Xh=class extends EventTarget{constructor(){super(),le(this,Ys),le(this,Wr,void 0),le(this,qr,void 0),le(this,Yr,void 0),te(this).trackSet=new Set}[Symbol.iterator](){return G(this,Ys,Zn).values()}get length(){return G(this,Ys,Zn).size}getTrackById(r){var e;return(e=[...G(this,Ys,Zn)].find(t=>t.id===r))!=null?e:null}get selectedIndex(){return[...G(this,Ys,Zn)].findIndex(r=>r.selected)}get onaddtrack(){return G(this,Wr)}set onaddtrack(r){G(this,Wr)&&(this.removeEventListener("addtrack",G(this,Wr)),ue(this,Wr,void 0)),typeof r=="function"&&(ue(this,Wr,r),this.addEventListener("addtrack",r))}get onremovetrack(){return G(this,qr)}set onremovetrack(r){G(this,qr)&&(this.removeEventListener("removetrack",G(this,qr)),ue(this,qr,void 0)),typeof r=="function"&&(ue(this,qr,r),this.addEventListener("removetrack",r))}get onchange(){return G(this,Yr)}set onchange(r){G(this,Yr)&&(this.removeEventListener("change",G(this,Yr)),ue(this,Yr,void 0)),typeof r=="function"&&(ue(this,Yr,r),this.addEventListener("change",r))}};Wr=new WeakMap,qr=new WeakMap,Yr=new WeakMap,Ys=new WeakSet,Zn=function(){return te(this).trackSet};var Yl=class extends Event{constructor(r,e){super(r),He(this,"rendition"),this.rendition=e.rendition}};function gS(r,e){let t=te(r).media.videoRenditions;te(e).media=te(r).media,te(e).track=r;let i=te(r).renditionSet;i.add(e);let s=i.size-1;s in Qh.prototype||Object.defineProperty(Qh.prototype,s,{get(){return js(this)[s]}}),queueMicrotask(()=>{!r.selected||t.dispatchEvent(new Yl("addrendition",{rendition:e}))})}function vS(r){let e=te(r).media.videoRenditions,t=te(r).track;te(t).renditionSet.delete(r),queueMicrotask(()=>{!te(r).track.selected||e.dispatchEvent(new Yl("removerendition",{rendition:r}))})}function ES(r){let e=te(r).media.videoRenditions;!e||te(e).changeRequested||(te(e).changeRequested=!0,queueMicrotask(()=>{delete te(e).changeRequested,te(r).track.selected&&e.dispatchEvent(new Event("change"))}))}function js(r){return[...te(r).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...te(e).renditionSet])}var jr,zr,Xr,Qh=class extends EventTarget{constructor(){super(...arguments),le(this,jr,void 0),le(this,zr,void 0),le(this,Xr,void 0)}[Symbol.iterator](){return js(this).values()}get length(){return js(this).length}getRenditionById(r){var e;return(e=js(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return js(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of js(this).entries())t.selected=e===r}get onaddrendition(){return G(this,jr)}set onaddrendition(r){G(this,jr)&&(this.removeEventListener("addrendition",G(this,jr)),ue(this,jr,void 0)),typeof r=="function"&&(ue(this,jr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return G(this,zr)}set onremoverendition(r){G(this,zr)&&(this.removeEventListener("removerendition",G(this,zr)),ue(this,zr,void 0)),typeof r=="function"&&(ue(this,zr,r),this.addEventListener("removerendition",r))}get onchange(){return G(this,Xr)}set onchange(r){G(this,Xr)&&(this.removeEventListener("change",G(this,Xr)),ue(this,Xr,void 0)),typeof r=="function"&&(ue(this,Xr,r),this.addEventListener("change",r))}};jr=new WeakMap,zr=new WeakMap,Xr=new WeakMap;var Jn,yS=class{constructor(){He(this,"src"),He(this,"id"),He(this,"width"),He(this,"height"),He(this,"bitrate"),He(this,"frameRate"),He(this,"codec"),le(this,Jn,!1)}get selected(){return G(this,Jn)}set selected(r){G(this,Jn)!==r&&(ue(this,Jn,r),ES(this))}};Jn=new WeakMap;var ea,cv=class{constructor(){He(this,"id"),He(this,"kind"),He(this,"label",""),He(this,"language",""),He(this,"sourceBuffer"),le(this,ea,!1)}addRendition(r,e,t,i,s,n){let a=new yS;return a.src=r,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=i,gS(this,a),a}removeRendition(r){vS(r)}get selected(){return G(this,ea)}set selected(r){G(this,ea)!==r&&(ue(this,ea,r),r===!0&&pS(this))}};ea=new WeakMap;function bS(r,e){let t=te(r).media.audioRenditions;te(e).media=te(r).media,te(e).track=r;let i=te(r).renditionSet;i.add(e);let s=i.size-1;s in Zh.prototype||Object.defineProperty(Zh.prototype,s,{get(){return zs(this)[s]}}),queueMicrotask(()=>{!r.enabled||t.dispatchEvent(new Yl("addrendition",{rendition:e}))})}function TS(r){let e=te(r).media.audioRenditions,t=te(r).track;te(t).renditionSet.delete(r),queueMicrotask(()=>{!te(r).track.enabled||e.dispatchEvent(new Yl("removerendition",{rendition:r}))})}function _S(r){let e=te(r).media.audioRenditions;!e||te(e).changeRequested||(te(e).changeRequested=!0,queueMicrotask(()=>{delete te(e).changeRequested,te(r).track.enabled&&e.dispatchEvent(new Event("change"))}))}function zs(r){return[...te(r).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...te(e).renditionSet])}var Qr,Zr,Jr,Zh=class extends EventTarget{constructor(){super(...arguments),le(this,Qr,void 0),le(this,Zr,void 0),le(this,Jr,void 0)}[Symbol.iterator](){return zs(this).values()}get length(){return zs(this).length}getRenditionById(r){var e;return(e=zs(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return zs(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of zs(this).entries())t.selected=e===r}get onaddrendition(){return G(this,Qr)}set onaddrendition(r){G(this,Qr)&&(this.removeEventListener("addrendition",G(this,Qr)),ue(this,Qr,void 0)),typeof r=="function"&&(ue(this,Qr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return G(this,Zr)}set onremoverendition(r){G(this,Zr)&&(this.removeEventListener("removerendition",G(this,Zr)),ue(this,Zr,void 0)),typeof r=="function"&&(ue(this,Zr,r),this.addEventListener("removerendition",r))}get onchange(){return G(this,Jr)}set onchange(r){G(this,Jr)&&(this.removeEventListener("change",G(this,Jr)),ue(this,Jr,void 0)),typeof r=="function"&&(ue(this,Jr,r),this.addEventListener("change",r))}};Qr=new WeakMap,Zr=new WeakMap,Jr=new WeakMap;var ta,AS=class{constructor(){He(this,"src"),He(this,"id"),He(this,"bitrate"),He(this,"codec"),le(this,ta,!1)}get selected(){return G(this,ta)}set selected(r){G(this,ta)!==r&&(ue(this,ta,r),_S(this))}};ta=new WeakMap;function Jh(r,e){let t=r.audioTracks;te(e).media=r,te(e).renditionSet||(te(e).renditionSet=new Set);let i=te(t).trackSet;i.add(e);let s=i.size-1;s in tf.prototype||Object.defineProperty(tf.prototype,s,{get(){return[...te(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new ql("addtrack",{track:e}))})}function ef(r){var e;let t=(e=te(r).media)==null?void 0:e.audioTracks;!t||(te(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new ql("removetrack",{track:r}))}))}function SS(r){let e=te(r).media.audioTracks;!e||te(e).changeRequested||(te(e).changeRequested=!0,queueMicrotask(()=>{delete te(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var es,ts,is,ia,Ul,tf=class extends EventTarget{constructor(){super(),le(this,ia),le(this,es,void 0),le(this,ts,void 0),le(this,is,void 0),te(this).trackSet=new Set}[Symbol.iterator](){return G(this,ia,Ul).values()}get length(){return G(this,ia,Ul).size}getTrackById(r){var e;return(e=[...G(this,ia,Ul)].find(t=>t.id===r))!=null?e:null}get onaddtrack(){return G(this,es)}set onaddtrack(r){G(this,es)&&(this.removeEventListener("addtrack",G(this,es)),ue(this,es,void 0)),typeof r=="function"&&(ue(this,es,r),this.addEventListener("addtrack",r))}get onremovetrack(){return G(this,ts)}set onremovetrack(r){G(this,ts)&&(this.removeEventListener("removetrack",G(this,ts)),ue(this,ts,void 0)),typeof r=="function"&&(ue(this,ts,r),this.addEventListener("removetrack",r))}get onchange(){return G(this,is)}set onchange(r){G(this,is)&&(this.removeEventListener("change",G(this,is)),ue(this,is,void 0)),typeof r=="function"&&(ue(this,is,r),this.addEventListener("change",r))}};es=new WeakMap,ts=new WeakMap,is=new WeakMap,ia=new WeakSet,Ul=function(){return te(this).trackSet};var ra,uv=class{constructor(){He(this,"id"),He(this,"kind"),He(this,"label",""),He(this,"language",""),He(this,"sourceBuffer"),le(this,ra,!1)}addRendition(r,e,t){let i=new AS;return i.src=r,i.codec=e,i.bitrate=t,bS(this,i),i}removeRendition(r){TS(r)}get enabled(){return G(this,ra)}set enabled(r){G(this,ra)!==r&&(ue(this,ra,r),SS(this))}};ra=new WeakMap;var av=Vl(globalThis.HTMLMediaElement,"video"),ov=Vl(globalThis.HTMLMediaElement,"audio");function xS(r){if(!(r!=null&&r.prototype))return r;let e=Vl(r,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"videoTracks",{get(){return IS(this)}});let t=Vl(r,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"audioTracks",{get(){return LS(this)}}),"addVideoTrack"in r.prototype||(r.prototype.addVideoTrack=function(n,a="",o=""){let l=new cv;return l.kind=n,l.label=a,l.language=o,jh(this,l),l}),"removeVideoTrack"in r.prototype||(r.prototype.removeVideoTrack=zh),"addAudioTrack"in r.prototype||(r.prototype.addAudioTrack=function(n,a="",o=""){let l=new uv;return l.kind=n,l.label=a,l.language=o,Jh(this,l),l}),"removeAudioTrack"in r.prototype||(r.prototype.removeAudioTrack=ef),"videoRenditions"in r.prototype||Object.defineProperty(r.prototype,"videoRenditions",{get(){return i(this)}});let i=n=>{let a=te(n).videoRenditions;return a||(a=new Qh,te(a).media=n,te(n).videoRenditions=a),a};"audioRenditions"in r.prototype||Object.defineProperty(r.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=te(n).audioRenditions;return a||(a=new Zh,te(a).media=n,te(n).audioRenditions=a),a};return r}function Vl(r,e){var t;if(r!=null&&r.prototype)return(t=Object.getOwnPropertyDescriptor(r.prototype,`${e}Tracks`))==null?void 0:t.get}function IS(r){var e;let t=te(r).videoTracks;if(!t&&(t=new Xh,te(r).videoTracks=t,av)){let i=av.call((e=r.nativeEl)!=null?e:r);for(let s of i)jh(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof cv)){for(let n of i)zh(n);return}jh(r,s.track)}),i.addEventListener("removetrack",s=>{zh(s.track)})}return t}function LS(r){var e;let t=te(r).audioTracks;if(!t&&(t=new tf,te(r).audioTracks=t,ov)){let i=ov.call((e=r.nativeEl)!=null?e:r);for(let s of i)Jh(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof uv)){for(let n of i)ef(n);return}Jh(r,s.track)}),i.addEventListener("removetrack",s=>{ef(s.track)})}return t}Wl.push("castchange","entercast","leavecast");var Vh=xS(of(Nl.HTMLElement,{tag:"video",is:"castable-video"})),j={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_COOKIES:"disable-cookies",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},RS=Object.values(j),kS=hS(),wS="mux-video",Qi,sa,Fl,na,Bl,$l,Gl,Hl,rf,sf=class extends Vh{constructor(){super(),le(this,Hl),le(this,Qi,void 0),le(this,sa,void 0),le(this,Fl,void 0),le(this,na,{}),le(this,Bl,void 0),le(this,$l,void 0),le(this,Gl,void 0),ue(this,Fl,W0())}static get observedAttributes(){var r;return[...RS,...(r=Vh.observedAttributes)!=null?r:[]]}get preferCmcd(){var r;return(r=this.getAttribute(j.PREFER_CMCD))!=null?r:void 0}set preferCmcd(r){r!==this.preferCmcd&&(r?qs.includes(r)?this.setAttribute(j.PREFER_CMCD,r):console.warn(`Invalid value for preferCmcd. Must be one of ${qs.join()}`):this.removeAttribute(j.PREFER_CMCD))}get playerInitTime(){return G(this,Fl)}get playerSoftwareName(){var r;return(r=G(this,$l))!=null?r:wS}set playerSoftwareName(r){ue(this,$l,r)}get playerSoftwareVersion(){var r;return(r=G(this,Bl))!=null?r:kS}set playerSoftwareVersion(r){ue(this,Bl,r)}get _hls(){var r;return(r=G(this,Qi))==null?void 0:r.engine}get mux(){return this.nativeEl.mux}get error(){var r;return(r=Y0(this.nativeEl))!=null?r:null}get errorTranslator(){return G(this,Gl)}set errorTranslator(r){ue(this,Gl,r)}get src(){return this.getAttribute("src")}set src(r){r!==this.src&&(r==null?this.removeAttribute("src"):this.setAttribute("src",r))}get type(){var r;return(r=this.getAttribute(j.TYPE))!=null?r:void 0}set type(r){r!==this.type&&(r?this.setAttribute(j.TYPE,r):this.removeAttribute(j.TYPE))}get autoplay(){let r=this.getAttribute("autoplay");return r===null?!1:r===""?!0:r}set autoplay(r){let e=this.autoplay;r!==e&&(r?this.setAttribute("autoplay",typeof r=="string"?r:""):this.removeAttribute("autoplay"))}get preload(){let r=this.getAttribute("preload");return r===""?"auto":["none","metadata","auto"].includes(r)?r:super.preload}set preload(r){r!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(r)?this.setAttribute("preload",r):this.removeAttribute("preload"))}get debug(){return this.getAttribute(j.DEBUG)!=null}set debug(r){r!==this.debug&&(r?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG))}get disableCookies(){return this.hasAttribute(j.DISABLE_COOKIES)}set disableCookies(r){r!==this.disableCookies&&(r?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES))}get startTime(){let r=this.getAttribute(j.START_TIME);if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}set startTime(r){r!==this.startTime&&(r==null?this.removeAttribute(j.START_TIME):this.setAttribute(j.START_TIME,`${r}`))}get playbackId(){var r;return(r=this.getAttribute(j.PLAYBACK_ID))!=null?r:void 0}set playbackId(r){r!==this.playbackId&&(r?this.setAttribute(j.PLAYBACK_ID,r):this.removeAttribute(j.PLAYBACK_ID))}get maxResolution(){var r;return(r=this.getAttribute(j.MAX_RESOLUTION))!=null?r:void 0}set maxResolution(r){r!==this.maxResolution&&(r?this.setAttribute(j.MAX_RESOLUTION,r):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var r;return(r=this.getAttribute(j.CUSTOM_DOMAIN))!=null?r:void 0}set customDomain(r){r!==this.customDomain&&(r?this.setAttribute(j.CUSTOM_DOMAIN,r):this.removeAttribute(j.CUSTOM_DOMAIN))}get ended(){return Gh(this.nativeEl,this._hls)}get envKey(){var r;return(r=this.getAttribute(j.ENV_KEY))!=null?r:void 0}set envKey(r){r!==this.envKey&&(r?this.setAttribute(j.ENV_KEY,r):this.removeAttribute(j.ENV_KEY))}get beaconCollectionDomain(){var r;return(r=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?r:void 0}set beaconCollectionDomain(r){r!==this.beaconCollectionDomain&&(r?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,r):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get streamType(){var r;return(r=this.getAttribute(j.STREAM_TYPE))!=null?r:j0(this.nativeEl)}set streamType(r){r!==this.streamType&&(r?this.setAttribute(j.STREAM_TYPE,r):this.removeAttribute(j.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(j.TARGET_LIVE_WINDOW)?+this.getAttribute(j.TARGET_LIVE_WINDOW):z0(this.nativeEl)}set targetLiveWindow(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.TARGET_LIVE_WINDOW):this.setAttribute(j.TARGET_LIVE_WINDOW,`${+r}`))}get liveEdgeStart(){var r,e;if(this.hasAttribute(j.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,i=(r=this.nativeEl.seekable.end(0))!=null?r:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,i-t)}return X0(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(j.LIVE_EDGE_OFFSET))return+this.getAttribute(j.LIVE_EDGE_OFFSET)}set liveEdgeOffset(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.LIVE_EDGE_OFFSET):this.setAttribute(j.LIVE_EDGE_OFFSET,`${+r}`))}get seekable(){return $h(this.nativeEl)}async addCuePoints(r){return Fh(this.nativeEl,r)}get activeCuePoint(){return Bh(this.nativeEl)}get cuePoints(){return $0(this.nativeEl)}getStartDate(){return G0(this.nativeEl,this._hls)}get currentPdt(){return H0(this.nativeEl,this._hls)}get preferPlayback(){let r=this.getAttribute(j.PREFER_PLAYBACK);if(r===di.MSE||r===di.NATIVE)return r}set preferPlayback(r){r!==this.preferPlayback&&(r===di.MSE||r===di.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,r):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(r=>r.startsWith("metadata-")&&![j.METADATA_URL].includes(r)).reduce((r,e)=>{let t=this.getAttribute(e);return t!=null&&(r[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),r},{}),...G(this,na)}}set metadata(r){ue(this,na,r!=null?r:{}),this.mux&&this.mux.emit("hb",G(this,na))}load(){ue(this,Qi,Z0(this,this.nativeEl,G(this,Qi)))}unload(){Hh(this.nativeEl,G(this,Qi)),ue(this,Qi,void 0)}attributeChangedCallback(r,e,t){var i,s;switch(Vh.observedAttributes.includes(r)&&!["src","autoplay","preload"].includes(r)&&super.attributeChangedCallback(r,e,t),r){case j.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case j.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?nt(this,Hl,rf).call(this):n&&!a?this.unload():n&&a&&(this.unload(),nt(this,Hl,rf).call(this));break}case"autoplay":if(t===e)break;(i=G(this,Qi))==null||i.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=G(this,Qi))==null||s.setPreload(t);break;case j.PLAYBACK_ID:this.src=q0(t!=null?t:void 0,{maxResolution:this.maxResolution,domain:this.customDomain});break;case j.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case j.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case j.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case j.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}disconnectedCallback(){this.unload()}};Qi=new WeakMap,sa=new WeakMap,Fl=new WeakMap,na=new WeakMap,Bl=new WeakMap,$l=new WeakMap,Gl=new WeakMap,Hl=new WeakSet,rf=async function(){G(this,sa)||(await ue(this,sa,Promise.resolve()),ue(this,sa,null),this.load())};Nl.customElements.get("mux-video")||(Nl.customElements.define("mux-video",sf),Nl.MuxVideoElement=sf);var hv=sf;var DS="en",rs={code:DS};var fv="en";function ke(r,e=!0){var s,n;let t=e&&(n=(s=rs)==null?void 0:s[r])!=null?n:r,i=e?rs.code:fv;return new lf(t,i)}var lf=class{constructor(e,t=(i=>(i=rs.code)!=null?i:fv)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,i)=>{var s;return(s=e[i])!=null?s:""})}toString(){return this.message}};function mv(r){let e="";return Object.entries(r).forEach(([t,i])=>{i!=null&&(e+=`${jl(t)}: ${i}; `)}),e?e.trim():void 0}function jl(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function zl(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Zi(r){if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}function Xl(r){let e=CS(r).toString();return e?"?"+e:""}function CS(r){let e={};for(let t in r)r[t]!=null&&(e[t]=r[t]);return new URLSearchParams(e)}function yr(r){let e=(r!=null?r:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}var df=(r,e)=>!r||!e?!1:r.contains(e)?!0:df(r,e.getRootNode().host);var cf="mux.com",MS=()=>{try{return"1.14.0"}catch{}return"UNKNOWN"},OS=MS(),Zl=()=>OS,uf=(r,{maxResolution:e,token:t,domain:i=cf}={})=>{let a=!!t?{token:t}:{redundant_streams:!0,...e?{max_resolution:e}:{}};return`https://stream.${i}/${r}.m3u8${Xl(a)}`},pv=(r,{token:e,thumbnailTime:t,domain:i=cf}={})=>{let s=e==null?t:void 0,{aud:n}=yr(e);if(!(e&&n!=="t"))return`https://image.${i}/${r}/thumbnail.webp${Xl({token:e,time:s})}`},gv=(r,{token:e,domain:t=cf}={})=>{let{aud:i}=yr(e);if(!(e&&i!=="s"))return`https://image.${t}/${r}/storyboard.vtt${Xl({token:e,format:"webp"})}`},aa=r=>{if(!!r){if([Je.LIVE,Je.ON_DEMAND].includes(r))return r;if(r!=null&&r.includes("live"))return Je.LIVE}};var PS={crossorigin:"crossOrigin",playsinline:"playsInline"};function vv(r){var e;return(e=PS[r])!=null?e:zl(r)}var ss,ns,Ft,Ql=class{constructor(e,t){ht(this,ss,void 0);ht(this,ns,void 0);ht(this,Ft,[]);ri(this,ss,e),ri(this,ns,t)}[Symbol.iterator](){return Ne(this,Ft).values()}get length(){return Ne(this,Ft).length}get value(){var e;return(e=Ne(this,Ft).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(ri(this,Ft,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Ne(this,Ft)[e]}values(){return Ne(this,Ft).values()}keys(){return Ne(this,Ft).keys()}forEach(e){Ne(this,Ft).forEach(e)}add(...e){var t,i;e.forEach(s=>{this.contains(s)||Ne(this,Ft).push(s)}),!(this.value===""&&!((t=Ne(this,ss))!=null&&t.hasAttribute(`${Ne(this,ns)}`)))&&((i=Ne(this,ss))==null||i.setAttribute(`${Ne(this,ns)}`,`${this.value}`))}remove(...e){var t;e.forEach(i=>{Ne(this,Ft).splice(Ne(this,Ft).indexOf(i),1)}),(t=Ne(this,ss))==null||t.setAttribute(`${Ne(this,ns)}`,`${this.value}`)}contains(e){return Ne(this,Ft).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};ss=new WeakMap,ns=new WeakMap,Ft=new WeakMap;var Ev=`[mux-player ${Zl()}]`;function br(...r){console.warn(Ev,...r)}function bi(...r){console.error(Ev,...r)}function hf(r){var t;let e=(t=r.message)!=null?t:"";if(r.context&&(e+=` ${r.context}`),r.file){let i="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${ke("Read more: ")}
1009
- ${i}${r.file}`}br(e)}var Pt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},as={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},bv=Object.freeze({length:0,start(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),NS=Wl.filter(r=>r!=="error"),US=Object.values(Pt).filter(r=>![Pt.PLAYSINLINE].includes(r)),FS=Object.values(as);function Tv(r){r.querySelectorAll(":scope > track").forEach(e=>{var t;(t=r.media)==null||t.append(e.cloneNode())}),NS.forEach(e=>{var t;(t=r.media)==null||t.addEventListener(e,i=>{r.dispatchEvent(new Event(i.type))})})}var ff=class extends at.HTMLElement{static get observedAttributes(){return[...US,...FS]}constructor(){super(),this.querySelectorAll(":scope > track").forEach(i=>{var s;(s=this.media)==null||s.append(i.cloneNode())});let e=i=>{for(let s of i)s.type==="childList"&&(s.removedNodes.forEach(n=>{var o,l;let a=(o=this.media)==null?void 0:o.querySelector(`track[src="${n.src}"]`);a&&((l=this.media)==null||l.removeChild(a))}),s.addedNodes.forEach(n=>{var a;(a=this.media)==null||a.append(n.cloneNode())}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0})}attributeChangedCallback(e,t,i){var s,n;switch(e){case as.MUTED:{this.media&&(this.media.muted=i!=null,this.media.defaultMuted=i!=null);return}case as.VOLUME:{let a=(s=Zi(i))!=null?s:1;this.media&&(this.media.volume=a);return}case as.PLAYBACKRATE:{let a=(n=Zi(i))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:bv}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:bv}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=Zi(this.getAttribute(as.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(as.PLAYBACKRATE,`${e}`):this.removeAttribute(as.PLAYBACKRATE)}get crossOrigin(){return oa(this,Pt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Pt.CROSSORIGIN,`${e}`)}get autoplay(){return oa(this,Pt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Pt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Pt.AUTOPLAY)}get loop(){return oa(this,Pt.LOOP)!=null}set loop(e){e?this.setAttribute(Pt.LOOP,""):this.removeAttribute(Pt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=Boolean(e))}get defaultMuted(){return oa(this,Pt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Pt.MUTED,""):this.removeAttribute(Pt.MUTED)}get playsInline(){return oa(this,Pt.PLAYSINLINE)!=null}set playsInline(e){bi("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Pt.PRELOAD,e):this.removeAttribute(Pt.PRELOAD)}};function oa(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}var mf=ff;var BS=Object.defineProperty,$S=(r,e,t)=>e in r?BS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,GS=(r,e,t)=>($S(r,typeof e!="symbol"?e+"":e,t),t),Iv=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Le=(r,e,t)=>(Iv(r,e,"read from private field"),t?t.call(r):e.get(r)),Hi=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ji=(r,e,t,i)=>(Iv(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Xs,Jl,os,la,Tr,_r,Ar,ls,Qs,ed,Ti,_v=1,Av=0,HS=1,VS={processCallback(r,e,t){if(!!t){for(let[i,s]of e)if(i in t){let n=t[i];typeof n=="boolean"&&s instanceof Bt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Bt?s.element[s.attributeName]=n:s.value=n}}}},er=class extends w.DocumentFragment{constructor(e,t,i=VS){var s;super(),Hi(this,Xs,void 0),Hi(this,Jl,void 0),this.append(e.content.cloneNode(!0)),Ji(this,Xs,Lv(this)),Ji(this,Jl,i),(s=i.createCallback)==null||s.call(i,this,Le(this,Xs),t),i.processCallback(this,Le(this,Xs),t)}update(e){Le(this,Jl).processCallback(this,Le(this,Xs),e)}};Xs=new WeakMap;Jl=new WeakMap;var Lv=(r,e=[])=>{let t,i;for(let s of r.attributes||[])if(s.value.includes("{{")){let n=new pf;for([t,i]of xv(s.value))if(!t)n.append(i);else{let a=new Bt(r,s.name,s.namespaceURI);n.append(a),e.push([i,a])}s.value=n.toString()}for(let s of r.childNodes)if(s.nodeType===_v&&!(s instanceof HTMLTemplateElement))Lv(s,e);else if(s.nodeType===_v||s.data.includes("{{")){let n=[];if(s.data)for([t,i]of xv(s.data))if(!t)n.push(new Text(i));else{let a=new tr(r);n.push(a),e.push([i,a])}else if(s instanceof HTMLTemplateElement){let a=new da(r,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},Sv={},xv=r=>{let e="",t=0,i=Sv[r],s=0,n;if(i)return i;for(i=[];n=r[s];s++)n==="{"&&r[s+1]==="{"&&r[s-1]!=="\\"&&r[s+2]&&++t==1?(e&&i.push([Av,e]),e="",s++):n==="}"&&r[s+1]==="}"&&r[s-1]!=="\\"&&!--t?(i.push([HS,e.trim()]),e="",s++):e+=n||"";return e&&i.push([Av,(t>0?"{{":"")+e]),Sv[r]=i},KS=11,td=class{get value(){return""}set value(e){}toString(){return this.value}},Rv=new WeakMap,pf=class{constructor(){Hi(this,os,[])}[Symbol.iterator](){return Le(this,os).values()}get length(){return Le(this,os).length}item(e){return Le(this,os)[e]}append(...e){for(let t of e)t instanceof Bt&&Rv.set(t,this),Le(this,os).push(t)}toString(){return Le(this,os).join("")}};os=new WeakMap;var Bt=class extends td{constructor(e,t,i){super(),Hi(this,ls),Hi(this,la,""),Hi(this,Tr,void 0),Hi(this,_r,void 0),Hi(this,Ar,void 0),Ji(this,Tr,e),Ji(this,_r,t),Ji(this,Ar,i)}get attributeName(){return Le(this,_r)}get attributeNamespace(){return Le(this,Ar)}get element(){return Le(this,Tr)}get value(){return Le(this,la)}set value(e){Le(this,la)!==e&&(Ji(this,la,e),!Le(this,ls,Qs)||Le(this,ls,Qs).length===1?e==null?Le(this,Tr).removeAttributeNS(Le(this,Ar),Le(this,_r)):Le(this,Tr).setAttributeNS(Le(this,Ar),Le(this,_r),e):Le(this,Tr).setAttributeNS(Le(this,Ar),Le(this,_r),Le(this,ls,Qs)))}get booleanValue(){return Le(this,Tr).hasAttributeNS(Le(this,Ar),Le(this,_r))}set booleanValue(e){if(!Le(this,ls,Qs)||Le(this,ls,Qs).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};la=new WeakMap;Tr=new WeakMap;_r=new WeakMap;Ar=new WeakMap;ls=new WeakSet;Qs=function(){return Rv.get(this)};var tr=class extends td{constructor(e,t){super(),Hi(this,ed,void 0),Hi(this,Ti,void 0),Ji(this,ed,e),Ji(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return Le(this,Ti)}get parentNode(){return Le(this,ed)}get nextSibling(){return Le(this,Ti)[Le(this,Ti).length-1].nextSibling}get previousSibling(){return Le(this,Ti)[0].previousSibling}get value(){return Le(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(i=>i==null?[new Text]:i.forEach?[...i]:i.nodeType===KS?[...i.childNodes]:i.nodeType?[i]:[new Text(i)]);t.length||t.push(new Text),Ji(this,Ti,WS(Le(this,Ti)[0].parentNode,Le(this,Ti),t,this.nextSibling))}};ed=new WeakMap;Ti=new WeakMap;var da=class extends tr{constructor(e,t){let i=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(i)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),GS(this,"directive"),this.expression=s,this.template=t,this.directive=i}};function WS(r,e,t,i=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)i=t[--d,--l];if(s==d)for(;s<l;)r.insertBefore(t[s++],i);if(s==l)for(;s<d;)r.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:i,n==o?n=a:s<l&&t[s]==a?(r.replaceChild(o,n),n=a):r.insertBefore(o,n);for(;n!=i;)a=n.nextSibling,r.removeChild(n),n=a}return t}var kv={string:r=>String(r)},rd=class{constructor(e){this.template=e,this.state=void 0}},ds=new WeakMap,cs=new WeakMap,gf={partial:(r,e)=>{e[r.expression]=new rd(r.template)},if:(r,e)=>{var t;if(Dv(r.expression,e))if(ds.get(r)!==r.template){ds.set(r,r.template);let i=new er(r.template,e,sd);r.replace(i),cs.set(r,i)}else(t=cs.get(r))==null||t.update(e);else r.replace(""),ds.delete(r),cs.delete(r)}},qS=Object.keys(gf),sd={processCallback(r,e,t){var i,s;if(!!t)for(let[n,a]of e){if(a instanceof da){if(!a.directive){let l=qS.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(i=gf[a.directive])==null||i.call(gf,a,t);continue}let o=Dv(n,t);if(o instanceof rd){ds.get(a)!==o.template?(ds.set(a,o.template),o=new er(o.template,o.state,sd),a.value=o,cs.set(a,o)):(s=cs.get(a))==null||s.update(o.state);continue}o?(a instanceof Bt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Bt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,ds.delete(a),cs.delete(a))):a instanceof Bt?a.value=void 0:(a.value=void 0,ds.delete(a),cs.delete(a))}}},wv={"!":r=>!r,"!!":r=>!!r,"==":(r,e)=>r==e,"!=":(r,e)=>r!=e,">":(r,e)=>r>e,">=":(r,e)=>r>=e,"<":(r,e)=>r<e,"<=":(r,e)=>r<=e,"??":(r,e)=>r!=null?r:e,"|":(r,e)=>{var t;return(t=kv[e])==null?void 0:t.call(kv,r)}};function YS(r){return jS(r,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function Dv(r,e={}){var t,i,s,n,a,o,l;let d=YS(r);if(d.length===0||d.some(({type:c})=>!c))return ca(r);if(((t=d[0])==null?void 0:t.token)===">"){let c=e[(i=d[1])==null?void 0:i.token];if(!c)return ca(r);let u={...e};c.state=u;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let g=(s=h[f])==null?void 0:s.token,E=(n=h[f+1])==null?void 0:n.token,T=(a=h[f+2])==null?void 0:a.token;g&&E==="="&&(u[g]=ua(T,e))}return c}if(d.length===1)return id(d[0])?ua(d[0].token,e):ca(r);if(d.length===2){let c=(o=d[0])==null?void 0:o.token,u=wv[c];if(!u||!id(d[1]))return ca(r);let h=ua(d[1].token,e);return u(h)}if(d.length===3){let c=(l=d[1])==null?void 0:l.token,u=wv[c];if(!u||!id(d[0])||!id(d[2]))return ca(r);let h=ua(d[0].token,e);if(c==="|")return u(h,d[2].token);let f=ua(d[2].token,e);return u(h,f)}}function ca(r){return console.warn(`Warning: invalid expression \`${r}\``),!1}function id({type:r}){return["number","boolean","string","param"].includes(r)}function ua(r,e){let t=r[0],i=r.slice(-1);return r==="true"||r==="false"?r==="true":t===i&&["'",'"'].includes(t)?r.slice(1,-1):Ra(r)?parseFloat(r):e[r]}function jS(r,e){let t,i,s,n=[];for(;r;){s=null,t=r.length;for(let a in e)i=e[a].exec(r),i&&i.index<t&&(s={token:i[0],type:a,matches:i.slice(1)},t=i.index);t&&n.push({token:r.substr(0,t),type:void 0}),s&&n.push(s),r=r.substr(t+(s?s.token.length:0))}return n}var zS=Object.defineProperty,XS=(r,e,t)=>e in r?zS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fa=(r,e,t)=>(XS(r,typeof e!="symbol"?e+"":e,t),t),_f=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},yf=(r,e,t)=>(_f(r,e,"read from private field"),t?t.call(r):e.get(r)),ha=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},us=(r,e,t,i)=>(_f(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),vf=(r,e,t)=>(_f(r,e,"access private method"),t),Zs,nd,Js,bf,Cv,ad,Tf,Ef={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},Mv=Y.createElement("template");Mv.innerHTML=`
1008
+ `);var of=(r,{tag:e,is:t})=>{var i,s,n,a,o,l,d,c,u,h,f,g,E;let T=(i=globalThis.document)==null?void 0:i.createElement(e,{is:t}),A=T?mS(T):[];return s=class extends r{constructor(){super(),le(this,c),le(this,h),le(this,g),le(this,l,void 0),le(this,d,void 0),this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.append(this.constructor.template.content.cloneNode(!0)))}static get observedAttributes(){var k,L,N;return nt(k=s,a,o).call(k),[...(N=(L=T==null?void 0:T.constructor)==null?void 0:L.observedAttributes)!=null?N:[],"autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"]}get nativeEl(){var k,L;return(L=(k=H(this,d))!=null?k:this.shadowRoot.querySelector(e))!=null?L:this.querySelector(e)}set nativeEl(k){ue(this,d,k)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(k){this.toggleAttribute("muted",Boolean(k))}get src(){return this.getAttribute("src")}set src(k){this.setAttribute("src",`${k}`)}get preload(){var k,L;return(L=this.getAttribute("preload"))!=null?L:(k=this.nativeEl)==null?void 0:k.preload}set preload(k){this.setAttribute("preload",`${k}`)}attributeChangedCallback(k,L,N){nt(this,c,u).call(this),nt(this,g,E).call(this,k,L,N)}connectedCallback(){nt(this,c,u).call(this)}},n=new WeakMap,a=new WeakSet,o=function(){if(H(this,n))return;ue(this,n,!0);let k=new Set(this.observedAttributes);k.delete("muted");for(let L of A)if(!(L in this.prototype))if(typeof T[L]=="function")this.prototype[L]=function(...N){return nt(this,c,u).call(this),(()=>this.call?this.call(L,...N):this.nativeEl[L].apply(this.nativeEl,N))()};else{let N={get(){var D,$,O;nt(this,c,u).call(this);let G=L.toLowerCase();if(k.has(G)){let q=this.getAttribute(G);return q===null?!1:q===""?!0:q}return(O=(D=this.get)==null?void 0:D.call(this,L))!=null?O:($=this.nativeEl)==null?void 0:$[L]}};L!==L.toUpperCase()&&(N.set=function(D){nt(this,c,u).call(this);let $=L.toLowerCase();if(k.has($)){D===!0||D===!1||D==null?this.toggleAttribute($,Boolean(D)):this.setAttribute($,D);return}if(this.set){this.set(L,D);return}this.nativeEl[L]=D}),Object.defineProperty(this.prototype,L,N)}},l=new WeakMap,d=new WeakMap,c=new WeakSet,u=function(){var k,L;if(H(this,l))return;if(ue(this,l,!0),!this.nativeEl){let $=document.createElement(e,{is:t});$.part=e,this.shadowRoot.append($)}this.nativeEl.muted=this.hasAttribute("muted");for(let $ of A)nt(this,h,f).call(this,$);let N=new Map,D=this.shadowRoot.querySelector("slot:not([name])");D==null||D.addEventListener("slotchange",()=>{let $=new Map(N);D.assignedElements().filter(O=>["track","source"].includes(O.localName)).forEach(O=>{var G,q;$.delete(O);let P=N.get(O);P||(P=O.cloneNode(),N.set(O,P)),(q=(G=this.nativeEl).append)==null||q.call(G,P)}),$.forEach(O=>O.remove())});for(let $ of this.constructor.Events)(L=(k=this.shadowRoot).addEventListener)==null||L.call(k,$,O=>{O.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(O.type,{detail:O.detail}))},!0)},h=new WeakSet,f=function(k){if(Object.prototype.hasOwnProperty.call(this,k)){let L=this[k];delete this[k],this[k]=L}},g=new WeakSet,E=function(k,L,N){var D,$,O,G;["id","class"].includes(k)||(N===null?($=(D=this.nativeEl).removeAttribute)==null||$.call(D,k):(G=(O=this.nativeEl).setAttribute)==null||G.call(O,k,N))},le(s,a),He(s,"Events",ql),He(s,"template",e.endsWith("audio")?Wh:qh),le(s,n,void 0),s};function mS(r){let e=[];for(let t=Object.getPrototypeOf(r);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t))e.push(...Object.getOwnPropertyNames(t));return e}var v1=globalThis.document?of(HTMLElement,{tag:"video"}):class{},E1=globalThis.document?of(HTMLElement,{tag:"audio"}):class{},Yl=class extends Event{constructor(r,e){super(r),He(this,"track"),this.track=e.track}},Yh=new WeakMap;function ie(r){var e;return(e=Yh.get(r))!=null?e:pS(r,{})}function pS(r,e){let t=Yh.get(r);return t||Yh.set(r,t={}),Object.assign(t,e)}function jh(r,e){let t=r.videoTracks;ie(e).media=r,ie(e).renditionSet||(ie(e).renditionSet=new Set);let i=ie(t).trackSet;i.add(e);let s=i.size-1;s in Xh.prototype||Object.defineProperty(Xh.prototype,s,{get(){return[...ie(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Yl("addtrack",{track:e}))})}function zh(r){var e;let t=(e=ie(r).media)==null?void 0:e.videoTracks;!t||(ie(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new Yl("removetrack",{track:r}))}))}function gS(r){var e;let t=(e=ie(r).media.videoTracks)!=null?e:[],i=!1;for(let s of t)s!==r&&(s.selected=!1,i=!0);if(i){if(ie(t).changeRequested)return;ie(t).changeRequested=!0,queueMicrotask(()=>{delete ie(t).changeRequested,t.dispatchEvent(new Event("change"))})}}var Wr,qr,Yr,Ys,Jn,Xh=class extends EventTarget{constructor(){super(),le(this,Ys),le(this,Wr,void 0),le(this,qr,void 0),le(this,Yr,void 0),ie(this).trackSet=new Set}[Symbol.iterator](){return H(this,Ys,Jn).values()}get length(){return H(this,Ys,Jn).size}getTrackById(r){var e;return(e=[...H(this,Ys,Jn)].find(t=>t.id===r))!=null?e:null}get selectedIndex(){return[...H(this,Ys,Jn)].findIndex(r=>r.selected)}get onaddtrack(){return H(this,Wr)}set onaddtrack(r){H(this,Wr)&&(this.removeEventListener("addtrack",H(this,Wr)),ue(this,Wr,void 0)),typeof r=="function"&&(ue(this,Wr,r),this.addEventListener("addtrack",r))}get onremovetrack(){return H(this,qr)}set onremovetrack(r){H(this,qr)&&(this.removeEventListener("removetrack",H(this,qr)),ue(this,qr,void 0)),typeof r=="function"&&(ue(this,qr,r),this.addEventListener("removetrack",r))}get onchange(){return H(this,Yr)}set onchange(r){H(this,Yr)&&(this.removeEventListener("change",H(this,Yr)),ue(this,Yr,void 0)),typeof r=="function"&&(ue(this,Yr,r),this.addEventListener("change",r))}};Wr=new WeakMap,qr=new WeakMap,Yr=new WeakMap,Ys=new WeakSet,Jn=function(){return ie(this).trackSet};var jl=class extends Event{constructor(r,e){super(r),He(this,"rendition"),this.rendition=e.rendition}};function vS(r,e){let t=ie(r).media.videoRenditions;ie(e).media=ie(r).media,ie(e).track=r;let i=ie(r).renditionSet;i.add(e);let s=i.size-1;s in Qh.prototype||Object.defineProperty(Qh.prototype,s,{get(){return js(this)[s]}}),queueMicrotask(()=>{!r.selected||t.dispatchEvent(new jl("addrendition",{rendition:e}))})}function ES(r){let e=ie(r).media.videoRenditions,t=ie(r).track;ie(t).renditionSet.delete(r),queueMicrotask(()=>{!ie(r).track.selected||e.dispatchEvent(new jl("removerendition",{rendition:r}))})}function yS(r){let e=ie(r).media.videoRenditions;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,ie(r).track.selected&&e.dispatchEvent(new Event("change"))}))}function js(r){return[...ie(r).media.videoTracks].filter(e=>e.selected).flatMap(e=>[...ie(e).renditionSet])}var jr,zr,Xr,Qh=class extends EventTarget{constructor(){super(...arguments),le(this,jr,void 0),le(this,zr,void 0),le(this,Xr,void 0)}[Symbol.iterator](){return js(this).values()}get length(){return js(this).length}getRenditionById(r){var e;return(e=js(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return js(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of js(this).entries())t.selected=e===r}get onaddrendition(){return H(this,jr)}set onaddrendition(r){H(this,jr)&&(this.removeEventListener("addrendition",H(this,jr)),ue(this,jr,void 0)),typeof r=="function"&&(ue(this,jr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return H(this,zr)}set onremoverendition(r){H(this,zr)&&(this.removeEventListener("removerendition",H(this,zr)),ue(this,zr,void 0)),typeof r=="function"&&(ue(this,zr,r),this.addEventListener("removerendition",r))}get onchange(){return H(this,Xr)}set onchange(r){H(this,Xr)&&(this.removeEventListener("change",H(this,Xr)),ue(this,Xr,void 0)),typeof r=="function"&&(ue(this,Xr,r),this.addEventListener("change",r))}};jr=new WeakMap,zr=new WeakMap,Xr=new WeakMap;var ea,bS=class{constructor(){He(this,"src"),He(this,"id"),He(this,"width"),He(this,"height"),He(this,"bitrate"),He(this,"frameRate"),He(this,"codec"),le(this,ea,!1)}get selected(){return H(this,ea)}set selected(r){H(this,ea)!==r&&(ue(this,ea,r),yS(this))}};ea=new WeakMap;var ta,cv=class{constructor(){He(this,"id"),He(this,"kind"),He(this,"label",""),He(this,"language",""),He(this,"sourceBuffer"),le(this,ta,!1)}addRendition(r,e,t,i,s,n){let a=new bS;return a.src=r,a.width=e,a.height=t,a.frameRate=n,a.bitrate=s,a.codec=i,vS(this,a),a}removeRendition(r){ES(r)}get selected(){return H(this,ta)}set selected(r){H(this,ta)!==r&&(ue(this,ta,r),r===!0&&gS(this))}};ta=new WeakMap;function TS(r,e){let t=ie(r).media.audioRenditions;ie(e).media=ie(r).media,ie(e).track=r;let i=ie(r).renditionSet;i.add(e);let s=i.size-1;s in Zh.prototype||Object.defineProperty(Zh.prototype,s,{get(){return zs(this)[s]}}),queueMicrotask(()=>{!r.enabled||t.dispatchEvent(new jl("addrendition",{rendition:e}))})}function _S(r){let e=ie(r).media.audioRenditions,t=ie(r).track;ie(t).renditionSet.delete(r),queueMicrotask(()=>{!ie(r).track.enabled||e.dispatchEvent(new jl("removerendition",{rendition:r}))})}function AS(r){let e=ie(r).media.audioRenditions;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,ie(r).track.enabled&&e.dispatchEvent(new Event("change"))}))}function zs(r){return[...ie(r).media.audioTracks].filter(e=>e.enabled).flatMap(e=>[...ie(e).renditionSet])}var Qr,Zr,Jr,Zh=class extends EventTarget{constructor(){super(...arguments),le(this,Qr,void 0),le(this,Zr,void 0),le(this,Jr,void 0)}[Symbol.iterator](){return zs(this).values()}get length(){return zs(this).length}getRenditionById(r){var e;return(e=zs(this).find(t=>`${t.id}`==`${r}`))!=null?e:null}get selectedIndex(){return zs(this).findIndex(r=>r.selected)}set selectedIndex(r){for(let[e,t]of zs(this).entries())t.selected=e===r}get onaddrendition(){return H(this,Qr)}set onaddrendition(r){H(this,Qr)&&(this.removeEventListener("addrendition",H(this,Qr)),ue(this,Qr,void 0)),typeof r=="function"&&(ue(this,Qr,r),this.addEventListener("addrendition",r))}get onremoverendition(){return H(this,Zr)}set onremoverendition(r){H(this,Zr)&&(this.removeEventListener("removerendition",H(this,Zr)),ue(this,Zr,void 0)),typeof r=="function"&&(ue(this,Zr,r),this.addEventListener("removerendition",r))}get onchange(){return H(this,Jr)}set onchange(r){H(this,Jr)&&(this.removeEventListener("change",H(this,Jr)),ue(this,Jr,void 0)),typeof r=="function"&&(ue(this,Jr,r),this.addEventListener("change",r))}};Qr=new WeakMap,Zr=new WeakMap,Jr=new WeakMap;var ia,SS=class{constructor(){He(this,"src"),He(this,"id"),He(this,"bitrate"),He(this,"codec"),le(this,ia,!1)}get selected(){return H(this,ia)}set selected(r){H(this,ia)!==r&&(ue(this,ia,r),AS(this))}};ia=new WeakMap;function Jh(r,e){let t=r.audioTracks;ie(e).media=r,ie(e).renditionSet||(ie(e).renditionSet=new Set);let i=ie(t).trackSet;i.add(e);let s=i.size-1;s in tf.prototype||Object.defineProperty(tf.prototype,s,{get(){return[...ie(this).trackSet][s]}}),queueMicrotask(()=>{t.dispatchEvent(new Yl("addtrack",{track:e}))})}function ef(r){var e;let t=(e=ie(r).media)==null?void 0:e.audioTracks;!t||(ie(t).trackSet.delete(r),queueMicrotask(()=>{t.dispatchEvent(new Yl("removetrack",{track:r}))}))}function xS(r){let e=ie(r).media.audioTracks;!e||ie(e).changeRequested||(ie(e).changeRequested=!0,queueMicrotask(()=>{delete ie(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var es,ts,is,ra,Fl,tf=class extends EventTarget{constructor(){super(),le(this,ra),le(this,es,void 0),le(this,ts,void 0),le(this,is,void 0),ie(this).trackSet=new Set}[Symbol.iterator](){return H(this,ra,Fl).values()}get length(){return H(this,ra,Fl).size}getTrackById(r){var e;return(e=[...H(this,ra,Fl)].find(t=>t.id===r))!=null?e:null}get onaddtrack(){return H(this,es)}set onaddtrack(r){H(this,es)&&(this.removeEventListener("addtrack",H(this,es)),ue(this,es,void 0)),typeof r=="function"&&(ue(this,es,r),this.addEventListener("addtrack",r))}get onremovetrack(){return H(this,ts)}set onremovetrack(r){H(this,ts)&&(this.removeEventListener("removetrack",H(this,ts)),ue(this,ts,void 0)),typeof r=="function"&&(ue(this,ts,r),this.addEventListener("removetrack",r))}get onchange(){return H(this,is)}set onchange(r){H(this,is)&&(this.removeEventListener("change",H(this,is)),ue(this,is,void 0)),typeof r=="function"&&(ue(this,is,r),this.addEventListener("change",r))}};es=new WeakMap,ts=new WeakMap,is=new WeakMap,ra=new WeakSet,Fl=function(){return ie(this).trackSet};var sa,uv=class{constructor(){He(this,"id"),He(this,"kind"),He(this,"label",""),He(this,"language",""),He(this,"sourceBuffer"),le(this,sa,!1)}addRendition(r,e,t){let i=new SS;return i.src=r,i.codec=e,i.bitrate=t,TS(this,i),i}removeRendition(r){_S(r)}get enabled(){return H(this,sa)}set enabled(r){H(this,sa)!==r&&(ue(this,sa,r),xS(this))}};sa=new WeakMap;var av=Kl(globalThis.HTMLMediaElement,"video"),ov=Kl(globalThis.HTMLMediaElement,"audio");function IS(r){if(!(r!=null&&r.prototype))return r;let e=Kl(r,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"videoTracks",{get(){return LS(this)}});let t=Kl(r,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(r.prototype,"audioTracks",{get(){return kS(this)}}),"addVideoTrack"in r.prototype||(r.prototype.addVideoTrack=function(n,a="",o=""){let l=new cv;return l.kind=n,l.label=a,l.language=o,jh(this,l),l}),"removeVideoTrack"in r.prototype||(r.prototype.removeVideoTrack=zh),"addAudioTrack"in r.prototype||(r.prototype.addAudioTrack=function(n,a="",o=""){let l=new uv;return l.kind=n,l.label=a,l.language=o,Jh(this,l),l}),"removeAudioTrack"in r.prototype||(r.prototype.removeAudioTrack=ef),"videoRenditions"in r.prototype||Object.defineProperty(r.prototype,"videoRenditions",{get(){return i(this)}});let i=n=>{let a=ie(n).videoRenditions;return a||(a=new Qh,ie(a).media=n,ie(n).videoRenditions=a),a};"audioRenditions"in r.prototype||Object.defineProperty(r.prototype,"audioRenditions",{get(){return s(this)}});let s=n=>{let a=ie(n).audioRenditions;return a||(a=new Zh,ie(a).media=n,ie(n).audioRenditions=a),a};return r}function Kl(r,e){var t;if(r!=null&&r.prototype)return(t=Object.getOwnPropertyDescriptor(r.prototype,`${e}Tracks`))==null?void 0:t.get}function LS(r){var e;let t=ie(r).videoTracks;if(!t&&(t=new Xh,ie(r).videoTracks=t,av)){let i=av.call((e=r.nativeEl)!=null?e:r);for(let s of i)jh(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof cv)){for(let n of i)zh(n);return}jh(r,s.track)}),i.addEventListener("removetrack",s=>{zh(s.track)})}return t}function kS(r){var e;let t=ie(r).audioTracks;if(!t&&(t=new tf,ie(r).audioTracks=t,ov)){let i=ov.call((e=r.nativeEl)!=null?e:r);for(let s of i)Jh(r,s);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",s=>{if([...t].some(n=>n instanceof uv)){for(let n of i)ef(n);return}Jh(r,s.track)}),i.addEventListener("removetrack",s=>{ef(s.track)})}return t}ql.push("castchange","entercast","leavecast");var Vh=IS(of(Ul.HTMLElement,{tag:"video",is:"castable-video"})),j={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_COOKIES:"disable-cookies",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type"},RS=Object.values(j),wS=fS(),DS="mux-video",Qi,na,Bl,aa,$l,Gl,Hl,Vl,rf,sf=class extends Vh{constructor(){super(),le(this,Vl),le(this,Qi,void 0),le(this,na,void 0),le(this,Bl,void 0),le(this,aa,{}),le(this,$l,void 0),le(this,Gl,void 0),le(this,Hl,void 0),ue(this,Bl,W0())}static get observedAttributes(){var r;return[...RS,...(r=Vh.observedAttributes)!=null?r:[]]}get preferCmcd(){var r;return(r=this.getAttribute(j.PREFER_CMCD))!=null?r:void 0}set preferCmcd(r){r!==this.preferCmcd&&(r?qs.includes(r)?this.setAttribute(j.PREFER_CMCD,r):console.warn(`Invalid value for preferCmcd. Must be one of ${qs.join()}`):this.removeAttribute(j.PREFER_CMCD))}get playerInitTime(){return H(this,Bl)}get playerSoftwareName(){var r;return(r=H(this,Gl))!=null?r:DS}set playerSoftwareName(r){ue(this,Gl,r)}get playerSoftwareVersion(){var r;return(r=H(this,$l))!=null?r:wS}set playerSoftwareVersion(r){ue(this,$l,r)}get _hls(){var r;return(r=H(this,Qi))==null?void 0:r.engine}get mux(){var r;return(r=this.nativeEl)==null?void 0:r.mux}get error(){var r;return(r=Y0(this.nativeEl))!=null?r:null}get errorTranslator(){return H(this,Hl)}set errorTranslator(r){ue(this,Hl,r)}get src(){return this.getAttribute("src")}set src(r){r!==this.src&&(r==null?this.removeAttribute("src"):this.setAttribute("src",r))}get type(){var r;return(r=this.getAttribute(j.TYPE))!=null?r:void 0}set type(r){r!==this.type&&(r?this.setAttribute(j.TYPE,r):this.removeAttribute(j.TYPE))}get autoplay(){let r=this.getAttribute("autoplay");return r===null?!1:r===""?!0:r}set autoplay(r){let e=this.autoplay;r!==e&&(r?this.setAttribute("autoplay",typeof r=="string"?r:""):this.removeAttribute("autoplay"))}get preload(){let r=this.getAttribute("preload");return r===""?"auto":["none","metadata","auto"].includes(r)?r:super.preload}set preload(r){r!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(r)?this.setAttribute("preload",r):this.removeAttribute("preload"))}get debug(){return this.getAttribute(j.DEBUG)!=null}set debug(r){r!==this.debug&&(r?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG))}get disableCookies(){return this.hasAttribute(j.DISABLE_COOKIES)}set disableCookies(r){r!==this.disableCookies&&(r?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES))}get startTime(){let r=this.getAttribute(j.START_TIME);if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}set startTime(r){r!==this.startTime&&(r==null?this.removeAttribute(j.START_TIME):this.setAttribute(j.START_TIME,`${r}`))}get playbackId(){var r;return(r=this.getAttribute(j.PLAYBACK_ID))!=null?r:void 0}set playbackId(r){r!==this.playbackId&&(r?this.setAttribute(j.PLAYBACK_ID,r):this.removeAttribute(j.PLAYBACK_ID))}get maxResolution(){var r;return(r=this.getAttribute(j.MAX_RESOLUTION))!=null?r:void 0}set maxResolution(r){r!==this.maxResolution&&(r?this.setAttribute(j.MAX_RESOLUTION,r):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var r;return(r=this.getAttribute(j.CUSTOM_DOMAIN))!=null?r:void 0}set customDomain(r){r!==this.customDomain&&(r?this.setAttribute(j.CUSTOM_DOMAIN,r):this.removeAttribute(j.CUSTOM_DOMAIN))}get ended(){return Gh(this.nativeEl,this._hls)}get envKey(){var r;return(r=this.getAttribute(j.ENV_KEY))!=null?r:void 0}set envKey(r){r!==this.envKey&&(r?this.setAttribute(j.ENV_KEY,r):this.removeAttribute(j.ENV_KEY))}get beaconCollectionDomain(){var r;return(r=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?r:void 0}set beaconCollectionDomain(r){r!==this.beaconCollectionDomain&&(r?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,r):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get streamType(){var r;return(r=this.getAttribute(j.STREAM_TYPE))!=null?r:j0(this.nativeEl)}set streamType(r){r!==this.streamType&&(r?this.setAttribute(j.STREAM_TYPE,r):this.removeAttribute(j.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(j.TARGET_LIVE_WINDOW)?+this.getAttribute(j.TARGET_LIVE_WINDOW):z0(this.nativeEl)}set targetLiveWindow(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.TARGET_LIVE_WINDOW):this.setAttribute(j.TARGET_LIVE_WINDOW,`${+r}`))}get liveEdgeStart(){var r,e;if(this.hasAttribute(j.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:t}=this,i=(r=this.nativeEl.seekable.end(0))!=null?r:0,s=(e=this.nativeEl.seekable.start(0))!=null?e:0;return Math.max(s,i-t)}return X0(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(j.LIVE_EDGE_OFFSET))return+this.getAttribute(j.LIVE_EDGE_OFFSET)}set liveEdgeOffset(r){r!=this.targetLiveWindow&&(r==null?this.removeAttribute(j.LIVE_EDGE_OFFSET):this.setAttribute(j.LIVE_EDGE_OFFSET,`${+r}`))}get seekable(){return $h(this.nativeEl)}async addCuePoints(r){return Fh(this.nativeEl,r)}get activeCuePoint(){return Bh(this.nativeEl)}get cuePoints(){return $0(this.nativeEl)}getStartDate(){return G0(this.nativeEl,this._hls)}get currentPdt(){return H0(this.nativeEl,this._hls)}get preferPlayback(){let r=this.getAttribute(j.PREFER_PLAYBACK);if(r===ci.MSE||r===ci.NATIVE)return r}set preferPlayback(r){r!==this.preferPlayback&&(r===ci.MSE||r===ci.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,r):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(r=>r.startsWith("metadata-")&&![j.METADATA_URL].includes(r)).reduce((r,e)=>{let t=this.getAttribute(e);return t!=null&&(r[e.replace(/^metadata-/,"").replace(/-/g,"_")]=t),r},{}),...H(this,aa)}}set metadata(r){ue(this,aa,r!=null?r:{}),this.mux&&this.mux.emit("hb",H(this,aa))}load(){ue(this,Qi,Z0(this,this.nativeEl,H(this,Qi)))}unload(){Hh(this.nativeEl,H(this,Qi)),ue(this,Qi,void 0)}attributeChangedCallback(r,e,t){var i,s;switch(Vh.observedAttributes.includes(r)&&!["src","autoplay","preload"].includes(r)&&super.attributeChangedCallback(r,e,t),r){case j.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=t!=null?t:void 0;break;case j.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=t!=null?t:void 0;break;case"src":{let n=!!e,a=!!t;!n&&a?nt(this,Vl,rf).call(this):n&&!a?this.unload():n&&a&&(this.unload(),nt(this,Vl,rf).call(this));break}case"autoplay":if(t===e)break;(i=H(this,Qi))==null||i.setAutoplay(this.autoplay);break;case"preload":if(t===e)break;(s=H(this,Qi))==null||s.setPreload(t);break;case j.PLAYBACK_ID:this.src=q0(t!=null?t:void 0,{maxResolution:this.maxResolution,domain:this.customDomain});break;case j.DEBUG:{let n=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=n);break}case j.METADATA_URL:t&&fetch(t).then(n=>n.json()).then(n=>this.metadata=n).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${t}!`));break;case j.STREAM_TYPE:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case j.TARGET_LIVE_WINDOW:(t==null||t!==e)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;default:break}}disconnectedCallback(){this.unload()}};Qi=new WeakMap,na=new WeakMap,Bl=new WeakMap,aa=new WeakMap,$l=new WeakMap,Gl=new WeakMap,Hl=new WeakMap,Vl=new WeakSet,rf=async function(){H(this,na)||(await ue(this,na,Promise.resolve()),ue(this,na,null),this.load())};Ul.customElements.get("mux-video")||(Ul.customElements.define("mux-video",sf),Ul.MuxVideoElement=sf);var hv=sf;var CS="en",rs={code:CS};var fv="en";function Re(r,e=!0){var s,n;let t=e&&(n=(s=rs)==null?void 0:s[r])!=null?n:r,i=e?rs.code:fv;return new lf(t,i)}var lf=class{constructor(e,t=(i=>(i=rs.code)!=null?i:fv)()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,i)=>{var s;return(s=e[i])!=null?s:""})}toString(){return this.message}};function mv(r){let e="";return Object.entries(r).forEach(([t,i])=>{i!=null&&(e+=`${zl(t)}: ${i}; `)}),e?e.trim():void 0}function zl(r){return r.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Xl(r){return r.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function Zi(r){if(r==null)return;let e=+r;return Number.isNaN(e)?void 0:e}function Ql(r){let e=MS(r).toString();return e?"?"+e:""}function MS(r){let e={};for(let t in r)r[t]!=null&&(e[t]=r[t]);return new URLSearchParams(e)}function yr(r){let e=(r!=null?r:"").split(".")[1];if(!e)return{};let t=e.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(t).split("").map(function(s){return"%"+("00"+s.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}var df=(r,e)=>!r||!e?!1:r.contains(e)?!0:df(r,e.getRootNode().host);var cf="mux.com",OS=()=>{try{return"1.14.1"}catch{}return"UNKNOWN"},PS=OS(),Jl=()=>PS,uf=(r,{maxResolution:e,token:t,domain:i=cf}={})=>{let a=!!t?{token:t}:{redundant_streams:!0,...e?{max_resolution:e}:{}};return`https://stream.${i}/${r}.m3u8${Ql(a)}`},pv=(r,{token:e,thumbnailTime:t,domain:i=cf}={})=>{let s=e==null?t:void 0,{aud:n}=yr(e);if(!(e&&n!=="t"))return`https://image.${i}/${r}/thumbnail.webp${Ql({token:e,time:s})}`},gv=(r,{token:e,domain:t=cf}={})=>{let{aud:i}=yr(e);if(!(e&&i!=="s"))return`https://image.${t}/${r}/storyboard.vtt${Ql({token:e,format:"webp"})}`},oa=r=>{if(!!r){if([Je.LIVE,Je.ON_DEMAND].includes(r))return r;if(r!=null&&r.includes("live"))return Je.LIVE}};var NS={crossorigin:"crossOrigin",playsinline:"playsInline"};function vv(r){var e;return(e=NS[r])!=null?e:Xl(r)}var ss,ns,Ft,Zl=class{constructor(e,t){ht(this,ss,void 0);ht(this,ns,void 0);ht(this,Ft,[]);ri(this,ss,e),ri(this,ns,t)}[Symbol.iterator](){return Ne(this,Ft).values()}get length(){return Ne(this,Ft).length}get value(){var e;return(e=Ne(this,Ft).join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(ri(this,Ft,[]),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return Ne(this,Ft)[e]}values(){return Ne(this,Ft).values()}keys(){return Ne(this,Ft).keys()}forEach(e){Ne(this,Ft).forEach(e)}add(...e){var t,i;e.forEach(s=>{this.contains(s)||Ne(this,Ft).push(s)}),!(this.value===""&&!((t=Ne(this,ss))!=null&&t.hasAttribute(`${Ne(this,ns)}`)))&&((i=Ne(this,ss))==null||i.setAttribute(`${Ne(this,ns)}`,`${this.value}`))}remove(...e){var t;e.forEach(i=>{Ne(this,Ft).splice(Ne(this,Ft).indexOf(i),1)}),(t=Ne(this,ss))==null||t.setAttribute(`${Ne(this,ns)}`,`${this.value}`)}contains(e){return Ne(this,Ft).includes(e)}toggle(e,t){return typeof t!="undefined"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){this.remove(e),this.add(t)}};ss=new WeakMap,ns=new WeakMap,Ft=new WeakMap;var Ev=`[mux-player ${Jl()}]`;function br(...r){console.warn(Ev,...r)}function bi(...r){console.error(Ev,...r)}function hf(r){var t;let e=(t=r.message)!=null?t:"";if(r.context&&(e+=` ${r.context}`),r.file){let i="https://github.com/muxinc/elements/blob/main/errors/";e+=` ${Re("Read more: ")}
1009
+ ${i}${r.file}`}br(e)}var Nt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},as={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},bv=Object.freeze({length:0,start(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(r){let e=r>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),US=ql.filter(r=>r!=="error"),FS=Object.values(Nt).filter(r=>![Nt.PLAYSINLINE].includes(r)),BS=Object.values(as);function Tv(r){r.querySelectorAll(":scope > track").forEach(e=>{var t;(t=r.media)==null||t.append(e.cloneNode())}),US.forEach(e=>{var t;(t=r.media)==null||t.addEventListener(e,i=>{r.dispatchEvent(new Event(i.type))})})}var ff=class extends at.HTMLElement{static get observedAttributes(){return[...FS,...BS]}constructor(){super(),this.querySelectorAll(":scope > track").forEach(i=>{var s;(s=this.media)==null||s.append(i.cloneNode())});let e=i=>{for(let s of i)s.type==="childList"&&(s.removedNodes.forEach(n=>{var o,l;let a=(o=this.media)==null?void 0:o.querySelector(`track[src="${n.src}"]`);a&&((l=this.media)==null||l.removeChild(a))}),s.addedNodes.forEach(n=>{var a;(a=this.media)==null||a.append(n.cloneNode())}))};new MutationObserver(e).observe(this,{childList:!0,subtree:!0})}attributeChangedCallback(e,t,i){var s,n;switch(e){case as.MUTED:{this.media&&(this.media.muted=i!=null,this.media.defaultMuted=i!=null);return}case as.VOLUME:{let a=(s=Zi(i))!=null?s:1;this.media&&(this.media.volume=a);return}case as.PLAYBACKRATE:{let a=(n=Zi(i))!=null?n:1;this.media&&(this.media.playbackRate=a,this.media.defaultPlaybackRate=a);return}}}play(){var e,t;return(t=(e=this.media)==null?void 0:e.play())!=null?t:Promise.reject()}pause(){var e;(e=this.media)==null||e.pause()}requestCast(e){var t;return(t=this.media)==null?void 0:t.requestCast(e)}get media(){var e;return(e=this.shadowRoot)==null?void 0:e.querySelector("mux-video")}get audioTracks(){return this.media.audioTracks}get videoTracks(){return this.media.videoTracks}get audioRenditions(){return this.media.audioRenditions}get videoRenditions(){return this.media.videoRenditions}get paused(){var e,t;return(t=(e=this.media)==null?void 0:e.paused)!=null?t:!0}get duration(){var e,t;return(t=(e=this.media)==null?void 0:e.duration)!=null?t:NaN}get ended(){var e,t;return(t=(e=this.media)==null?void 0:e.ended)!=null?t:!1}get buffered(){var e,t;return(t=(e=this.media)==null?void 0:e.buffered)!=null?t:bv}get seekable(){var e,t;return(t=(e=this.media)==null?void 0:e.seekable)!=null?t:bv}get readyState(){var e,t;return(t=(e=this.media)==null?void 0:e.readyState)!=null?t:0}get videoWidth(){var e,t;return(t=(e=this.media)==null?void 0:e.videoWidth)!=null?t:0}get videoHeight(){var e,t;return(t=(e=this.media)==null?void 0:e.videoHeight)!=null?t:0}get currentTime(){var e,t;return(t=(e=this.media)==null?void 0:e.currentTime)!=null?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return(t=(e=this.media)==null?void 0:e.volume)!=null?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return(t=(e=this.media)==null?void 0:e.playbackRate)!=null?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return(e=Zi(this.getAttribute(as.PLAYBACKRATE)))!=null?e:1}set defaultPlaybackRate(e){e!=null?this.setAttribute(as.PLAYBACKRATE,`${e}`):this.removeAttribute(as.PLAYBACKRATE)}get crossOrigin(){return la(this,Nt.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(Nt.CROSSORIGIN,`${e}`)}get autoplay(){return la(this,Nt.AUTOPLAY)!=null}set autoplay(e){e?this.setAttribute(Nt.AUTOPLAY,typeof e=="string"?e:""):this.removeAttribute(Nt.AUTOPLAY)}get loop(){return la(this,Nt.LOOP)!=null}set loop(e){e?this.setAttribute(Nt.LOOP,""):this.removeAttribute(Nt.LOOP)}get muted(){var e,t;return(t=(e=this.media)==null?void 0:e.muted)!=null?t:!1}set muted(e){this.media&&(this.media.muted=Boolean(e))}get defaultMuted(){return la(this,Nt.MUTED)!=null}set defaultMuted(e){e?this.setAttribute(Nt.MUTED,""):this.removeAttribute(Nt.MUTED)}get playsInline(){return la(this,Nt.PLAYSINLINE)!=null}set playsInline(e){bi("playsInline is set to true by default and is not currently supported as a setter.")}get preload(){return this.media?this.media.preload:this.getAttribute("preload")}set preload(e){["","none","metadata","auto"].includes(e)?this.setAttribute(Nt.PRELOAD,e):this.removeAttribute(Nt.PRELOAD)}};function la(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}var mf=ff;var $S=Object.defineProperty,GS=(r,e,t)=>e in r?$S(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,HS=(r,e,t)=>(GS(r,typeof e!="symbol"?e+"":e,t),t),Iv=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Le=(r,e,t)=>(Iv(r,e,"read from private field"),t?t.call(r):e.get(r)),Hi=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Ji=(r,e,t,i)=>(Iv(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Xs,ed,os,da,Tr,_r,Ar,ls,Qs,td,Ti,_v=1,Av=0,VS=1,KS={processCallback(r,e,t){if(!!t){for(let[i,s]of e)if(i in t){let n=t[i];typeof n=="boolean"&&s instanceof Bt&&typeof s.element[s.attributeName]=="boolean"?s.booleanValue=n:typeof n=="function"&&s instanceof Bt?s.element[s.attributeName]=n:s.value=n}}}},er=class extends w.DocumentFragment{constructor(e,t,i=KS){var s;super(),Hi(this,Xs,void 0),Hi(this,ed,void 0),this.append(e.content.cloneNode(!0)),Ji(this,Xs,Lv(this)),Ji(this,ed,i),(s=i.createCallback)==null||s.call(i,this,Le(this,Xs),t),i.processCallback(this,Le(this,Xs),t)}update(e){Le(this,ed).processCallback(this,Le(this,Xs),e)}};Xs=new WeakMap;ed=new WeakMap;var Lv=(r,e=[])=>{let t,i;for(let s of r.attributes||[])if(s.value.includes("{{")){let n=new pf;for([t,i]of xv(s.value))if(!t)n.append(i);else{let a=new Bt(r,s.name,s.namespaceURI);n.append(a),e.push([i,a])}s.value=n.toString()}for(let s of r.childNodes)if(s.nodeType===_v&&!(s instanceof HTMLTemplateElement))Lv(s,e);else if(s.nodeType===_v||s.data.includes("{{")){let n=[];if(s.data)for([t,i]of xv(s.data))if(!t)n.push(new Text(i));else{let a=new tr(r);n.push(a),e.push([i,a])}else if(s instanceof HTMLTemplateElement){let a=new ca(r,s);n.push(a),e.push([a.expression,a])}s.replaceWith(...n.flatMap(a=>a.replacementNodes||[a]))}return e},Sv={},xv=r=>{let e="",t=0,i=Sv[r],s=0,n;if(i)return i;for(i=[];n=r[s];s++)n==="{"&&r[s+1]==="{"&&r[s-1]!=="\\"&&r[s+2]&&++t==1?(e&&i.push([Av,e]),e="",s++):n==="}"&&r[s+1]==="}"&&r[s-1]!=="\\"&&!--t?(i.push([VS,e.trim()]),e="",s++):e+=n||"";return e&&i.push([Av,(t>0?"{{":"")+e]),Sv[r]=i},WS=11,id=class{get value(){return""}set value(e){}toString(){return this.value}},kv=new WeakMap,pf=class{constructor(){Hi(this,os,[])}[Symbol.iterator](){return Le(this,os).values()}get length(){return Le(this,os).length}item(e){return Le(this,os)[e]}append(...e){for(let t of e)t instanceof Bt&&kv.set(t,this),Le(this,os).push(t)}toString(){return Le(this,os).join("")}};os=new WeakMap;var Bt=class extends id{constructor(e,t,i){super(),Hi(this,ls),Hi(this,da,""),Hi(this,Tr,void 0),Hi(this,_r,void 0),Hi(this,Ar,void 0),Ji(this,Tr,e),Ji(this,_r,t),Ji(this,Ar,i)}get attributeName(){return Le(this,_r)}get attributeNamespace(){return Le(this,Ar)}get element(){return Le(this,Tr)}get value(){return Le(this,da)}set value(e){Le(this,da)!==e&&(Ji(this,da,e),!Le(this,ls,Qs)||Le(this,ls,Qs).length===1?e==null?Le(this,Tr).removeAttributeNS(Le(this,Ar),Le(this,_r)):Le(this,Tr).setAttributeNS(Le(this,Ar),Le(this,_r),e):Le(this,Tr).setAttributeNS(Le(this,Ar),Le(this,_r),Le(this,ls,Qs)))}get booleanValue(){return Le(this,Tr).hasAttributeNS(Le(this,Ar),Le(this,_r))}set booleanValue(e){if(!Le(this,ls,Qs)||Le(this,ls,Qs).length===1)this.value=e?"":null;else throw new DOMException("Value is not fully templatized")}};da=new WeakMap;Tr=new WeakMap;_r=new WeakMap;Ar=new WeakMap;ls=new WeakSet;Qs=function(){return kv.get(this)};var tr=class extends id{constructor(e,t){super(),Hi(this,td,void 0),Hi(this,Ti,void 0),Ji(this,td,e),Ji(this,Ti,t?[...t]:[new Text])}get replacementNodes(){return Le(this,Ti)}get parentNode(){return Le(this,td)}get nextSibling(){return Le(this,Ti)[Le(this,Ti).length-1].nextSibling}get previousSibling(){return Le(this,Ti)[0].previousSibling}get value(){return Le(this,Ti).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(i=>i==null?[new Text]:i.forEach?[...i]:i.nodeType===WS?[...i.childNodes]:i.nodeType?[i]:[new Text(i)]);t.length||t.push(new Text),Ji(this,Ti,qS(Le(this,Ti)[0].parentNode,Le(this,Ti),t,this.nextSibling))}};td=new WeakMap;Ti=new WeakMap;var ca=class extends tr{constructor(e,t){let i=t.getAttribute("directive")||t.getAttribute("type"),s=t.getAttribute("expression")||t.getAttribute(i)||"";s.startsWith("{{")&&(s=s.trim().slice(2,-2).trim()),super(e),HS(this,"directive"),this.expression=s,this.template=t,this.directive=i}};function qS(r,e,t,i=null){let s=0,n,a,o,l=t.length,d=e.length;for(;s<l&&s<d&&e[s]==t[s];)s++;for(;s<l&&s<d&&t[l-1]==e[d-1];)i=t[--d,--l];if(s==d)for(;s<l;)r.insertBefore(t[s++],i);if(s==l)for(;s<d;)r.removeChild(e[s++]);else{for(n=e[s];s<l;)o=t[s++],a=n?n.nextSibling:i,n==o?n=a:s<l&&t[s]==a?(r.replaceChild(o,n),n=a):r.insertBefore(o,n);for(;n!=i;)a=n.nextSibling,r.removeChild(n),n=a}return t}var Rv={string:r=>String(r)},sd=class{constructor(e){this.template=e,this.state=void 0}},ds=new WeakMap,cs=new WeakMap,gf={partial:(r,e)=>{e[r.expression]=new sd(r.template)},if:(r,e)=>{var t;if(Dv(r.expression,e))if(ds.get(r)!==r.template){ds.set(r,r.template);let i=new er(r.template,e,nd);r.replace(i),cs.set(r,i)}else(t=cs.get(r))==null||t.update(e);else r.replace(""),ds.delete(r),cs.delete(r)}},YS=Object.keys(gf),nd={processCallback(r,e,t){var i,s;if(!!t)for(let[n,a]of e){if(a instanceof ca){if(!a.directive){let l=YS.find(d=>a.template.hasAttribute(d));l&&(a.directive=l,a.expression=a.template.getAttribute(l))}(i=gf[a.directive])==null||i.call(gf,a,t);continue}let o=Dv(n,t);if(o instanceof sd){ds.get(a)!==o.template?(ds.set(a,o.template),o=new er(o.template,o.state,nd),a.value=o,cs.set(a,o)):(s=cs.get(a))==null||s.update(o.state);continue}o?(a instanceof Bt&&a.attributeName.startsWith("aria-")&&(o=String(o)),a instanceof Bt?typeof o=="boolean"?a.booleanValue=o:typeof o=="function"?a.element[a.attributeName]=o:a.value=o:(a.value=o,ds.delete(a),cs.delete(a))):a instanceof Bt?a.value=void 0:(a.value=void 0,ds.delete(a),cs.delete(a))}}},wv={"!":r=>!r,"!!":r=>!!r,"==":(r,e)=>r==e,"!=":(r,e)=>r!=e,">":(r,e)=>r>e,">=":(r,e)=>r>=e,"<":(r,e)=>r<e,"<=":(r,e)=>r<=e,"??":(r,e)=>r!=null?r:e,"|":(r,e)=>{var t;return(t=Rv[e])==null?void 0:t.call(Rv,r)}};function jS(r){return zS(r,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>e!=="ws")}function Dv(r,e={}){var t,i,s,n,a,o,l;let d=jS(r);if(d.length===0||d.some(({type:c})=>!c))return ua(r);if(((t=d[0])==null?void 0:t.token)===">"){let c=e[(i=d[1])==null?void 0:i.token];if(!c)return ua(r);let u={...e};c.state=u;let h=d.slice(2);for(let f=0;f<h.length;f+=3){let g=(s=h[f])==null?void 0:s.token,E=(n=h[f+1])==null?void 0:n.token,T=(a=h[f+2])==null?void 0:a.token;g&&E==="="&&(u[g]=ha(T,e))}return c}if(d.length===1)return rd(d[0])?ha(d[0].token,e):ua(r);if(d.length===2){let c=(o=d[0])==null?void 0:o.token,u=wv[c];if(!u||!rd(d[1]))return ua(r);let h=ha(d[1].token,e);return u(h)}if(d.length===3){let c=(l=d[1])==null?void 0:l.token,u=wv[c];if(!u||!rd(d[0])||!rd(d[2]))return ua(r);let h=ha(d[0].token,e);if(c==="|")return u(h,d[2].token);let f=ha(d[2].token,e);return u(h,f)}}function ua(r){return console.warn(`Warning: invalid expression \`${r}\``),!1}function rd({type:r}){return["number","boolean","string","param"].includes(r)}function ha(r,e){let t=r[0],i=r.slice(-1);return r==="true"||r==="false"?r==="true":t===i&&["'",'"'].includes(t)?r.slice(1,-1):Ra(r)?parseFloat(r):e[r]}function zS(r,e){let t,i,s,n=[];for(;r;){s=null,t=r.length;for(let a in e)i=e[a].exec(r),i&&i.index<t&&(s={token:i[0],type:a,matches:i.slice(1)},t=i.index);t&&n.push({token:r.substr(0,t),type:void 0}),s&&n.push(s),r=r.substr(t+(s?s.token.length:0))}return n}var XS=Object.defineProperty,QS=(r,e,t)=>e in r?XS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ma=(r,e,t)=>(QS(r,typeof e!="symbol"?e+"":e,t),t),_f=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},yf=(r,e,t)=>(_f(r,e,"read from private field"),t?t.call(r):e.get(r)),fa=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},us=(r,e,t,i)=>(_f(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),vf=(r,e,t)=>(_f(r,e,"access private method"),t),Zs,ad,Js,bf,Cv,od,Tf,Ef={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},Mv=Y.createElement("template");Mv.innerHTML=`
1010
1010
  <style>
1011
1011
  :host {
1012
1012
  display: inline-block;
@@ -1030,7 +1030,7 @@ ${i}${r.file}`}br(e)}var Pt={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:
1030
1030
  display: none;
1031
1031
  }
1032
1032
  </style>
1033
- `;var Sr=class extends w.HTMLElement{constructor(){super(),ha(this,bf),ha(this,ad),fa(this,"renderRoot"),fa(this,"renderer"),ha(this,Zs,void 0),ha(this,nd,void 0),ha(this,Js,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var i;(i=this.mediaController)!=null&&i.breakpointsUncomputed||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(Ef[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),vf(this,bf,Cv).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=yf(this,Zs))!=null?e:this.constructor.template}set template(e){us(this,Js,null),us(this,Zs,e),this.createRenderer()}get props(){var e,t,i;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>Ef[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(i=Ef[a.name])!=null?i:fm(a.name),{value:l}=a;l!=null?(Ra(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,i){e==="template"&&t!=i&&vf(this,ad,Tf).call(this)}connectedCallback(){vf(this,ad,Tf).call(this)}createRenderer(){this.template&&this.template!==yf(this,nd)&&(us(this,nd,this.template),this.renderer=new er(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(Mv.content.cloneNode(!0),this.renderer))}render(){var e;(e=this.renderer)==null||e.update(this.props)}};Zs=new WeakMap;nd=new WeakMap;Js=new WeakMap;bf=new WeakSet;Cv=function(r){if(Object.prototype.hasOwnProperty.call(this,r)){let e=this[r];delete this[r],this[r]=e}};ad=new WeakSet;Tf=function(){var r;let e=this.getAttribute("template");if(!e||e===yf(this,Js))return;let t=this.getRootNode(),i=(r=t==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(i){us(this,Js,e),us(this,Zs,i),this.createRenderer();return}QS(e)&&(us(this,Js,e),ZS(e).then(s=>{let n=Y.createElement("template");n.innerHTML=s,us(this,Zs,n),this.createRenderer()}).catch(console.error))};fa(Sr,"template");fa(Sr,"observedAttributes",["template"]);fa(Sr,"processor",sd);function QS(r){if(!/^(\/|\.\/|https?:\/\/)/.test(r))return!1;let e=/^https?:\/\//.test(r)?void 0:location.origin;try{new URL(r,e)}catch{return!1}return!0}async function ZS(r){let e=await fetch(r);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}w.customElements.get("media-theme")||w.customElements.define("media-theme",Sr);var Ov=`:host {
1033
+ `;var Sr=class extends w.HTMLElement{constructor(){super(),fa(this,bf),fa(this,od),ma(this,"renderRoot"),ma(this,"renderer"),fa(this,Zs,void 0),fa(this,ad,void 0),fa(this,Js,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer());let e=new MutationObserver(t=>{var i;(i=this.mediaController)!=null&&i.breakpointsUncomputed||t.some(s=>{let n=s.target;return n===this?!0:n.localName!=="media-controller"?!1:!!(Ef[s.attributeName]||s.attributeName.startsWith("breakpoint"))})&&this.render()});e.observe(this,{attributes:!0}),e.observe(this.renderRoot,{attributes:!0,subtree:!0}),vf(this,bf,Cv).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return(e=yf(this,Zs))!=null?e:this.constructor.template}set template(e){us(this,Js,null),us(this,Zs,e),this.createRenderer()}get props(){var e,t,i;let s=[...Array.from((t=(e=this.mediaController)==null?void 0:e.attributes)!=null?t:[]).filter(({name:a})=>Ef[a]||a.startsWith("breakpoint")),...Array.from(this.attributes)],n={};for(let a of s){let o=(i=Ef[a.name])!=null?i:fm(a.name),{value:l}=a;l!=null?(Ra(l)&&(l=parseFloat(l)),n[o]=l===""?!0:l):n[o]=!1}return n}attributeChangedCallback(e,t,i){e==="template"&&t!=i&&vf(this,od,Tf).call(this)}connectedCallback(){vf(this,od,Tf).call(this)}createRenderer(){this.template&&this.template!==yf(this,ad)&&(us(this,ad,this.template),this.renderer=new er(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(Mv.content.cloneNode(!0),this.renderer))}render(){var e;(e=this.renderer)==null||e.update(this.props)}};Zs=new WeakMap;ad=new WeakMap;Js=new WeakMap;bf=new WeakSet;Cv=function(r){if(Object.prototype.hasOwnProperty.call(this,r)){let e=this[r];delete this[r],this[r]=e}};od=new WeakSet;Tf=function(){var r;let e=this.getAttribute("template");if(!e||e===yf(this,Js))return;let t=this.getRootNode(),i=(r=t==null?void 0:t.getElementById)==null?void 0:r.call(t,e);if(i){us(this,Js,e),us(this,Zs,i),this.createRenderer();return}ZS(e)&&(us(this,Js,e),JS(e).then(s=>{let n=Y.createElement("template");n.innerHTML=s,us(this,Zs,n),this.createRenderer()}).catch(console.error))};ma(Sr,"template");ma(Sr,"observedAttributes",["template"]);ma(Sr,"processor",nd);function ZS(r){if(!/^(\/|\.\/|https?:\/\/)/.test(r))return!1;let e=/^https?:\/\//.test(r)?void 0:location.origin;try{new URL(r,e)}catch{return!1}return!0}async function JS(r){let e=await fetch(r);if(e.status!==200)throw new Error(`Failed to load resource: the server responded with a status of ${e.status}`);return e.text()}w.customElements.get("media-theme")||w.customElements.define("media-theme",Sr);var Ov=`:host {
1034
1034
  --media-control-display: var(--controls);
1035
1035
  --media-loading-indicator-display: var(--loading-indicator);
1036
1036
  --media-dialog-display: var(--dialog);
@@ -1223,7 +1223,7 @@ media-poster-image:not([src]) {
1223
1223
  <div class="dialog">
1224
1224
  <slot></slot>
1225
1225
  </div>
1226
- `;var xr=class extends at.HTMLElement{constructor(){var t;super();this.attachShadow({mode:"open"}),(t=this.shadowRoot)==null||t.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),Pv(this)}close(){!this.hasAttribute("open")||(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),ex(this))}attributeChangedCallback(t,i,s){t==="open"&&i!==s&&(s!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&Pv(this)}};xr.styles=Nv,xr.template=Uv,xr.observedAttributes=["open"];function Pv(r){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(r.dispatchEvent(e),e.defaultPrevented)return;let t=r.querySelector("[autofocus]:not([disabled])");!t&&r.tabIndex>=0&&(t=r),t||(t=Fv(r.shadowRoot)),r._previouslyFocusedElement=Qt.activeElement,Qt.activeElement instanceof HTMLElement&&Qt.activeElement.blur(),r.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function Fv(r){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let i=r==null?void 0:r.querySelector(t.join(", "));if(!i&&"attachShadow"in Element.prototype){let s=(r==null?void 0:r.querySelectorAll("*"))||[];for(let n=0;n<s.length&&!(s[n].tagName&&s[n].shadowRoot&&(i=Fv(s[n].shadowRoot),i));n++);}return i}function ex(r){r._previouslyFocusedElement instanceof HTMLElement&&r._previouslyFocusedElement.focus()}at.customElements.get("media-dialog")||(at.customElements.define("media-dialog",xr),at.MediaDialog=xr);var Af=xr;var Bv=Qt.createElement("template");Bv.innerHTML=`
1226
+ `;var xr=class extends at.HTMLElement{constructor(){var t;super();this.attachShadow({mode:"open"}),(t=this.shadowRoot)==null||t.appendChild(this.constructor.template.content.cloneNode(!0))}show(){this.setAttribute("open",""),this.dispatchEvent(new CustomEvent("open",{composed:!0,bubbles:!0})),Pv(this)}close(){!this.hasAttribute("open")||(this.removeAttribute("open"),this.dispatchEvent(new CustomEvent("close",{composed:!0,bubbles:!0})),tx(this))}attributeChangedCallback(t,i,s){t==="open"&&i!==s&&(s!=null?this.show():this.close())}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","dialog"),this.hasAttribute("open")&&Pv(this)}};xr.styles=Nv,xr.template=Uv,xr.observedAttributes=["open"];function Pv(r){let e=new CustomEvent("initfocus",{composed:!0,bubbles:!0,cancelable:!0});if(r.dispatchEvent(e),e.defaultPrevented)return;let t=r.querySelector("[autofocus]:not([disabled])");!t&&r.tabIndex>=0&&(t=r),t||(t=Fv(r.shadowRoot)),r._previouslyFocusedElement=Qt.activeElement,Qt.activeElement instanceof HTMLElement&&Qt.activeElement.blur(),r.addEventListener("transitionend",()=>{t instanceof HTMLElement&&t.focus({preventScroll:!0})},{once:!0})}function Fv(r){let t=["button","input","keygen","select","textarea"].map(function(s){return s+":not([disabled])"});t.push('[tabindex]:not([disabled]):not([tabindex=""])');let i=r==null?void 0:r.querySelector(t.join(", "));if(!i&&"attachShadow"in Element.prototype){let s=(r==null?void 0:r.querySelectorAll("*"))||[];for(let n=0;n<s.length&&!(s[n].tagName&&s[n].shadowRoot&&(i=Fv(s[n].shadowRoot),i));n++);}return i}function tx(r){r._previouslyFocusedElement instanceof HTMLElement&&r._previouslyFocusedElement.focus()}at.customElements.get("media-dialog")||(at.customElements.define("media-dialog",xr),at.MediaDialog=xr);var Af=xr;var Bv=Qt.createElement("template");Bv.innerHTML=`
1227
1227
  <style>
1228
1228
  ${Af.styles}
1229
1229
 
@@ -1254,16 +1254,16 @@ media-poster-image:not([src]) {
1254
1254
  </svg>
1255
1255
  </button>
1256
1256
  </slot>
1257
- `;var ma=class extends Af{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};ma.template=Bv;at.customElements.get("mxp-dialog")||(at.customElements.define("mxp-dialog",ma),at.MxpDialog=ma);var pa=new WeakMap,ga=class{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let i=pa.get(this.element);i&&i.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=pa.get(this.element);t&&t.delete(this.type)}}static for(e){pa.has(e.element)||pa.set(e.element,new Map);let t=e.attributeName.slice(2),i=pa.get(e.element);return i&&i.has(t)?i.get(t):new ga(e.element,t)}};function tx(r,e){return r instanceof Bt&&r.attributeName.startsWith("on")?(ga.for(r).set(e),r.element.removeAttributeNS(r.attributeNamespace,r.attributeName),!0):!1}function ix(r,e){return e instanceof od&&r instanceof tr?(e.renderInto(r),!0):!1}function rx(r,e){return e instanceof DocumentFragment&&r instanceof tr?(e.childNodes.length&&r.replace(...e.childNodes),!0):!1}function sx(r,e){if(r instanceof Bt){let t=r.attributeNamespace,i=r.element.getAttributeNS(t,r.attributeName);return String(e)!==i&&(r.value=String(e)),!0}return r.value=String(e),!0}function nx(r,e){if(r instanceof Bt&&e instanceof Element){let t=r.element;return t[r.attributeName]!==e&&(r.element.removeAttributeNS(r.attributeNamespace,r.attributeName),t[r.attributeName]=e),!0}return!1}function ax(r,e){if(typeof e=="boolean"&&r instanceof Bt){let t=r.attributeNamespace,i=r.element.hasAttributeNS(t,r.attributeName);return e!==i&&(r.booleanValue=e),!0}return!1}function ox(r,e){return e===!1&&r instanceof tr?(r.replace(""),!0):!1}function lx(r,e){nx(r,e)||ax(r,e)||tx(r,e)||ox(r,e)||ix(r,e)||rx(r,e)||sx(r,e)}var Sf=new Map,$v=new WeakMap,Gv=new WeakMap,od=class{constructor(e,t,i){this.strings=e;this.values=t;this.processor=i;this.stringsKey=this.strings.join("")}get template(){if(Sf.has(this.stringsKey))return Sf.get(this.stringsKey);{let e=Qt.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((i,s,n)=>i+s+(n<t?`{{ ${n} }}`:""),""),Sf.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if($v.get(e)!==t){$v.set(e,t);let n=new er(t,this.values,this.processor);Gv.set(e,n),e instanceof tr?e.replace(...n.children):e.appendChild(n);return}let i=Gv.get(e);(s=i==null?void 0:i.update)==null||s.call(i,this.values)}},dx={processCallback(r,e,t){var i;if(!!t){for(let[s,n]of e)if(s in t){let a=(i=t[s])!=null?i:"";lx(n,a)}}}};function ir(r,...e){return new od(r,e,dx)}function Hv(r,e){r.renderInto(e)}var Vv=r=>ir`
1257
+ `;var pa=class extends Af{constructor(){var e,t;super(),(t=(e=this.shadowRoot)==null?void 0:e.querySelector(".close"))==null||t.addEventListener("click",()=>{this.close()})}};pa.template=Bv;at.customElements.get("mxp-dialog")||(at.customElements.define("mxp-dialog",pa),at.MxpDialog=pa);var ga=new WeakMap,va=class{constructor(e,t){this.element=e;this.type=t;this.element.addEventListener(this.type,this);let i=ga.get(this.element);i&&i.set(this.type,this)}set(e){if(typeof e=="function")this.handleEvent=e.bind(this.element);else if(typeof e=="object"&&typeof e.handleEvent=="function")this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let t=ga.get(this.element);t&&t.delete(this.type)}}static for(e){ga.has(e.element)||ga.set(e.element,new Map);let t=e.attributeName.slice(2),i=ga.get(e.element);return i&&i.has(t)?i.get(t):new va(e.element,t)}};function ix(r,e){return r instanceof Bt&&r.attributeName.startsWith("on")?(va.for(r).set(e),r.element.removeAttributeNS(r.attributeNamespace,r.attributeName),!0):!1}function rx(r,e){return e instanceof ld&&r instanceof tr?(e.renderInto(r),!0):!1}function sx(r,e){return e instanceof DocumentFragment&&r instanceof tr?(e.childNodes.length&&r.replace(...e.childNodes),!0):!1}function nx(r,e){if(r instanceof Bt){let t=r.attributeNamespace,i=r.element.getAttributeNS(t,r.attributeName);return String(e)!==i&&(r.value=String(e)),!0}return r.value=String(e),!0}function ax(r,e){if(r instanceof Bt&&e instanceof Element){let t=r.element;return t[r.attributeName]!==e&&(r.element.removeAttributeNS(r.attributeNamespace,r.attributeName),t[r.attributeName]=e),!0}return!1}function ox(r,e){if(typeof e=="boolean"&&r instanceof Bt){let t=r.attributeNamespace,i=r.element.hasAttributeNS(t,r.attributeName);return e!==i&&(r.booleanValue=e),!0}return!1}function lx(r,e){return e===!1&&r instanceof tr?(r.replace(""),!0):!1}function dx(r,e){ax(r,e)||ox(r,e)||ix(r,e)||lx(r,e)||rx(r,e)||sx(r,e)||nx(r,e)}var Sf=new Map,$v=new WeakMap,Gv=new WeakMap,ld=class{constructor(e,t,i){this.strings=e;this.values=t;this.processor=i;this.stringsKey=this.strings.join("")}get template(){if(Sf.has(this.stringsKey))return Sf.get(this.stringsKey);{let e=Qt.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((i,s,n)=>i+s+(n<t?`{{ ${n} }}`:""),""),Sf.set(this.stringsKey,e),e}}renderInto(e){var s;let t=this.template;if($v.get(e)!==t){$v.set(e,t);let n=new er(t,this.values,this.processor);Gv.set(e,n),e instanceof tr?e.replace(...n.children):e.appendChild(n);return}let i=Gv.get(e);(s=i==null?void 0:i.update)==null||s.call(i,this.values)}},cx={processCallback(r,e,t){var i;if(!!t){for(let[s,n]of e)if(s in t){let a=(i=t[s])!=null?i:"";dx(n,a)}}}};function ir(r,...e){return new ld(r,e,cx)}function Hv(r,e){r.renderInto(e)}var Vv=r=>ir`
1258
1258
  <style>
1259
1259
  ${Ov}
1260
1260
  </style>
1261
- ${ux(r)}
1262
- `,cx=r=>{let e=r.hotKeys?`${r.hotKeys}`:"";return aa(r.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},ux=r=>{var e,t,i,s,n,a,o,l,d,c,u,h,f,g,E,T,S,R,x,N,D,$,O,H,q,P,X,z,Ae,Ee,ye,we,Se,Z;return ir`
1261
+ ${hx(r)}
1262
+ `,ux=r=>{let e=r.hotKeys?`${r.hotKeys}`:"";return oa(r.streamType)==="live"&&(e+=" noarrowleft noarrowright"),e},hx=r=>{var e,t,i,s,n,a,o,l,d,c,u,h,f,g,E,T,A,k,L,N,D,$,O,G,q,P,X,z,Ae,Ee,ye,we,Se,Z;return ir`
1263
1263
  <media-theme
1264
1264
  template="${r.themeTemplate||!1}"
1265
1265
  defaultstreamtype="${(e=r.defaultStreamType)!=null?e:!1}"
1266
- hotkeys="${cx(r)||!1}"
1266
+ hotkeys="${ux(r)||!1}"
1267
1267
  nohotkeys="${r.noHotKeys||!r.hasSrc||r.isDialogOpen||!1}"
1268
1268
  noautoseektolive="${!!((t=r.streamType)!=null&&t.includes(Je.LIVE))&&r.targetLiveWindow!==0}"
1269
1269
  novolumepref="${r.novolumepref||!1}"
@@ -1282,21 +1282,21 @@ media-poster-image:not([src]) {
1282
1282
  <mux-video
1283
1283
  slot="media"
1284
1284
  target-live-window="${(u=r.targetLiveWindow)!=null?u:!1}"
1285
- stream-type="${(h=aa(r.streamType))!=null?h:!1}"
1285
+ stream-type="${(h=oa(r.streamType))!=null?h:!1}"
1286
1286
  crossorigin="${(f=r.crossOrigin)!=null?f:""}"
1287
1287
  playsinline
1288
1288
  autoplay="${(g=r.autoplay)!=null?g:!1}"
1289
1289
  muted="${(E=r.muted)!=null?E:!1}"
1290
1290
  loop="${(T=r.loop)!=null?T:!1}"
1291
- preload="${(S=r.preload)!=null?S:!1}"
1292
- debug="${(R=r.debug)!=null?R:!1}"
1293
- prefer-cmcd="${(x=r.preferCmcd)!=null?x:!1}"
1291
+ preload="${(A=r.preload)!=null?A:!1}"
1292
+ debug="${(k=r.debug)!=null?k:!1}"
1293
+ prefer-cmcd="${(L=r.preferCmcd)!=null?L:!1}"
1294
1294
  disable-cookies="${(N=r.disableCookies)!=null?N:!1}"
1295
1295
  prefer-playback="${(D=r.preferPlayback)!=null?D:!1}"
1296
1296
  start-time="${r.startTime!=null?r.startTime:!1}"
1297
1297
  beacon-collection-domain="${($=r.beaconCollectionDomain)!=null?$:!1}"
1298
1298
  player-software-name="${(O=r.playerSoftwareName)!=null?O:!1}"
1299
- player-software-version="${(H=r.playerSoftwareVersion)!=null?H:!1}"
1299
+ player-software-version="${(G=r.playerSoftwareVersion)!=null?G:!1}"
1300
1300
  env-key="${(q=r.envKey)!=null?q:!1}"
1301
1301
  custom-domain="${(P=r.customDomain)!=null?P:!1}"
1302
1302
  src="${r.src?r.src:r.playbackId?uf(r.playbackId,{maxResolution:r.maxResolution,domain:r.customDomain,token:r.tokens.playback}):!1}"
@@ -1326,13 +1326,13 @@ media-poster-image:not([src]) {
1326
1326
  href="${r.dialog.linkUrl}"
1327
1327
  target="_blank"
1328
1328
  rel="external noopener"
1329
- aria-label="${(Se=r.dialog.linkText)!=null?Se:""} ${ke("(opens in a new window)")}"
1329
+ aria-label="${(Se=r.dialog.linkText)!=null?Se:""} ${Re("(opens in a new window)")}"
1330
1330
  >${(Z=r.dialog.linkText)!=null?Z:r.dialog.linkUrl}</a
1331
1331
  >`:ir``}
1332
1332
  </p>
1333
1333
  </mxp-dialog>
1334
1334
  </media-theme>
1335
- `};function ld(r,e,t,i,s){var o,l,d;let n={},a={};switch(r.code){case it.MEDIA_ERR_NETWORK:{switch(n.title=ke("Network Error",s),n.message=r.message,(o=r.data)==null?void 0:o.response.code){case 412:{n.title=ke("Video is not currently available",s),n.message=ke("The live stream or video file are not yet ready.",s),a.message=ke("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",s),a.file="412-not-playable.md";break}case 404:{n.title=ke("Video does not exist",s),n.message="",a.message=ke("This playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",s),a.file="404-not-found.md";break}case 403:{if(n.title=ke("Invalid playback URL",s),n.message=ke("The video URL or playback-token are formatted with incorrect or incomplete information.",s),a.message=ke("403 error trying to access this playback URL. If this is a signed URL, you might need to provide a playback-token.",s),a.file="missing-signed-tokens.md",!i)break;let{exp:c,aud:u,sub:h}=yr(i),f=Date.now()>c*1e3,g=h!==t,E=u!=="v",T={timeStyle:"medium",dateStyle:"medium"};if(f){n.title=ke("Video URL has expired",s),n.message=ke("The video\u2019s secured playback-token has expired.",s),a.message=ke("The video\u2019s secured playback-token has expired.",s),a.context=ke("Expired at: {expiredDate}. Current time: {currentDate}.",s).format({expiredDate:new Intl.DateTimeFormat(rs.code,T).format(c*1e3),currentDate:new Intl.DateTimeFormat(rs.code,T).format(Date.now())}),a.file="403-expired-token.md";break}if(g){n.title=ke("Video URL is formatted incorrectly",s),n.message=ke("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.message=ke("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.context=ke("Specified playback ID: {playbackId} and the playback ID encoded in the playback-token: {tokenPlaybackId}",s).format({playbackId:t,tokenPlaybackId:h}),a.file="403-playback-id-mismatch.md";break}if(E){n.title=ke("Video URL is formatted incorrectly",s),n.message=ke("The playback-token is formatted with incorrect information.",s),a.message=ke("The playback-token is formatted with incorrect information.",s),a.context=ke("The playback-token has an incorrect aud value: {tokenType}. aud value should be v.",s).format({tokenType:u}),a.file="403-incorrect-aud-value.md";break}a.message=ke("403 error trying to access this playback URL. If this is a signed playback ID, the token might not have been generated correctly.",s),a.file="403-malformatted-token.md";break}}break}case it.MEDIA_ERR_DECODE:{let{message:c}=r;n={title:ke("Media Error",s),message:c},a.file="media-decode-error.md";break}case it.MEDIA_ERR_SRC_NOT_SUPPORTED:{let c=(d=(l=r.data)==null?void 0:l.response)==null?void 0:d.code;if(c>=400&&c<500){r.code=it.MEDIA_ERR_NETWORK,r.data={response:{code:c}},{dialog:n,devlog:a}=ld(r,e,t,i);break}n={title:ke("Source Not Supported",s),message:r.message},a.file="media-src-not-supported.md";break}default:n={title:ke("Error",s),message:r.message};break}return e&&(n={title:ke("Your device appears to be offline",s),message:ke("Check your internet connection and try reloading this video.",s)}),{dialog:n,devlog:a}}var Kv=`<!-- prettier-ignore -->
1335
+ `};function dd(r,e,t,i,s){var o,l,d;let n={},a={};switch(r.code){case it.MEDIA_ERR_NETWORK:{switch(n.title=Re("Network Error",s),n.message=r.message,(o=r.data)==null?void 0:o.response.code){case 412:{n.title=Re("Video is not currently available",s),n.message=Re("The live stream or video file are not yet ready.",s),a.message=Re("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",s),a.file="412-not-playable.md";break}case 404:{n.title=Re("Video does not exist",s),n.message="",a.message=Re("This playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",s),a.file="404-not-found.md";break}case 403:{if(n.title=Re("Invalid playback URL",s),n.message=Re("The video URL or playback-token are formatted with incorrect or incomplete information.",s),a.message=Re("403 error trying to access this playback URL. If this is a signed URL, you might need to provide a playback-token.",s),a.file="missing-signed-tokens.md",!i)break;let{exp:c,aud:u,sub:h}=yr(i),f=Date.now()>c*1e3,g=h!==t,E=u!=="v",T={timeStyle:"medium",dateStyle:"medium"};if(f){n.title=Re("Video URL has expired",s),n.message=Re("The video\u2019s secured playback-token has expired.",s),a.message=Re("The video\u2019s secured playback-token has expired.",s),a.context=Re("Expired at: {expiredDate}. Current time: {currentDate}.",s).format({expiredDate:new Intl.DateTimeFormat(rs.code,T).format(c*1e3),currentDate:new Intl.DateTimeFormat(rs.code,T).format(Date.now())}),a.file="403-expired-token.md";break}if(g){n.title=Re("Video URL is formatted incorrectly",s),n.message=Re("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.message=Re("The video\u2019s playback ID does not match the one encoded in the playback-token.",s),a.context=Re("Specified playback ID: {playbackId} and the playback ID encoded in the playback-token: {tokenPlaybackId}",s).format({playbackId:t,tokenPlaybackId:h}),a.file="403-playback-id-mismatch.md";break}if(E){n.title=Re("Video URL is formatted incorrectly",s),n.message=Re("The playback-token is formatted with incorrect information.",s),a.message=Re("The playback-token is formatted with incorrect information.",s),a.context=Re("The playback-token has an incorrect aud value: {tokenType}. aud value should be v.",s).format({tokenType:u}),a.file="403-incorrect-aud-value.md";break}a.message=Re("403 error trying to access this playback URL. If this is a signed playback ID, the token might not have been generated correctly.",s),a.file="403-malformatted-token.md";break}}break}case it.MEDIA_ERR_DECODE:{let{message:c}=r;n={title:Re("Media Error",s),message:c},a.file="media-decode-error.md";break}case it.MEDIA_ERR_SRC_NOT_SUPPORTED:{let c=(d=(l=r.data)==null?void 0:l.response)==null?void 0:d.code;if(c>=400&&c<500){r.code=it.MEDIA_ERR_NETWORK,r.data={response:{code:c}},{dialog:n,devlog:a}=dd(r,e,t,i);break}n={title:Re("Source Not Supported",s),message:r.message},a.file="media-src-not-supported.md";break}default:n={title:Re("Error",s),message:r.message};break}return e&&(n={title:Re("Your device appears to be offline",s),message:Re("Check your internet connection and try reloading this video.",s)}),{dialog:n,devlog:a}}var Kv=`<!-- prettier-ignore -->
1336
1336
  <template id="media-theme-classic">
1337
1337
  <style>
1338
1338
  :host {
@@ -2100,8 +2100,8 @@ media-poster-image:not([src]) {
2100
2100
 
2101
2101
  </media-controller>
2102
2102
  </template>
2103
- `;var xf=Qt.createElement("template");"innerHTML"in xf&&(xf.innerHTML=Kv);var Wv,qv,dd=class extends Sr{};dd.template=(qv=(Wv=xf.content)==null?void 0:Wv.children)==null?void 0:qv[0];at.customElements.get("media-theme-classic")||at.customElements.define("media-theme-classic",dd);var fx="classic";var rr={SRC:"src",POSTER:"poster"},re={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",NO_VOLUME_PREF:"no-volume-pref"},If=["audio","backwardseekoffset","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function mx(r,e){var i;return{src:!r.playbackId&&r.src,playbackId:r.playbackId,hasSrc:!!r.playbackId||!!r.src,poster:r.poster,storyboard:r.storyboard,storyboardSrc:r.getAttribute(re.STORYBOARD_SRC),placeholder:r.getAttribute("placeholder"),themeTemplate:px(r),thumbnailTime:!r.tokens.thumbnail&&r.thumbnailTime,autoplay:r.autoplay,crossOrigin:r.crossOrigin,loop:r.loop,noHotKeys:r.hasAttribute(re.NOHOTKEYS),hotKeys:r.getAttribute(re.HOTKEYS),muted:r.muted,paused:r.paused,preload:r.preload,envKey:r.envKey,preferCmcd:r.preferCmcd,debug:r.debug,disableCookies:r.disableCookies,tokens:r.tokens,beaconCollectionDomain:r.beaconCollectionDomain,maxResolution:r.maxResolution,metadata:r.metadata,playerSoftwareName:r.playerSoftwareName,playerSoftwareVersion:r.playerSoftwareVersion,startTime:r.startTime,preferPlayback:r.preferPlayback,audio:r.audio,defaultStreamType:r.defaultStreamType,targetLiveWindow:r.getAttribute(j.TARGET_LIVE_WINDOW),streamType:aa(r.getAttribute(j.STREAM_TYPE)),primaryColor:r.primaryColor,secondaryColor:r.secondaryColor,forwardSeekOffset:r.forwardSeekOffset,backwardSeekOffset:r.backwardSeekOffset,defaultHiddenCaptions:r.defaultHiddenCaptions,defaultShowRemainingTime:r.defaultShowRemainingTime,hideDuration:gx(r),playbackRates:r.getAttribute(re.PLAYBACK_RATES),customDomain:(i=r.getAttribute(j.CUSTOM_DOMAIN))!=null?i:void 0,title:r.getAttribute(re.TITLE),novolumepref:r.hasAttribute(re.NO_VOLUME_PREF),...e}}function px(r){var t,i;let e=r.theme;if(e){let s=(i=(t=r.getRootNode())==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=at.customElements.get(e);if(n!=null&&n.template)return n.template}}function gx(r){var t;let e=(t=r.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function Yv(r){return r.getAttributeNames().filter(e=>e.startsWith("metadata-")).reduce((e,t)=>{let i=r.getAttribute(t);return i!==null&&(e[t.replace(/^metadata-/,"").replace(/-/g,"_")]=i),e},{})}var vx=Object.values(j),Ex=Object.values(rr),yx=Object.values(re),bx=Zl(),Tx="mux-player",jv={dialog:void 0,isDialogOpen:!1},Ea,ya,sr,ba,hs,Ir,tn,cd,zv,Ta,Lf,Lr,rn,ud,Xv,hd,Qv,fd,Zv,md,Jv,va=class extends mf{constructor(){super();ht(this,Ir);ht(this,cd);ht(this,Ta);ht(this,Lr);ht(this,ud);ht(this,hd);ht(this,fd);ht(this,md);ht(this,Ea,!1);ht(this,ya,{});ht(this,sr,!0);ht(this,ba,new Ql(this,"hotkeys"));ht(this,hs,{...jv,onCloseErrorDialog:()=>bt(this,Ta,Lf).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{df(this,Qt.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),bt(this,cd,zv).call(this),this.isConnected&&bt(this,Ir,tn).call(this)}static get observedAttributes(){var t;return[...(t=mf.observedAttributes)!=null?t:[],...Ex,...vx,...yx]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,i;return(i=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:i.querySelector("media-controller")}connectedCallback(){var i;let t=(i=this.shadowRoot)==null?void 0:i.querySelector("mux-video");t&&(t.metadata=Yv(this))}attributeChangedCallback(t,i,s){switch(bt(this,Ir,tn).call(this),super.attributeChangedCallback(t,i,s),t){case re.HOTKEYS:Ne(this,ba).value=s;break;case re.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&br(ke("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case re.THUMBNAIL_TOKEN:{let{aud:a}=yr(s);s&&a!=="t"&&br(ke("The provided thumbnail-token should have audience value 't' instead of '{aud}'.").format({aud:a}));break}case re.STORYBOARD_TOKEN:{let{aud:a}=yr(s);s&&a!=="s"&&br(ke("The provided storyboard-token should have audience value 's' instead of '{aud}'.").format({aud:a}));break}case j.PLAYBACK_ID:{s!=null&&s.includes("?token")&&bi(ke("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case j.STREAM_TYPE:s&&![Je.LIVE,Je.ON_DEMAND,Je.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:hf({file:"invalid-stream-type.md",message:ke("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):this.targetLiveWindow=s===Je.LIVE?0:Number.NaN}[j.PLAYBACK_ID,rr.SRC,re.PLAYBACK_TOKEN].includes(t)&&i!==s&&ri(this,hs,{...Ne(this,hs),...jv}),bt(this,Lr,rn).call(this,{[vv(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(j.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?qs.includes(t)?this.setAttribute(j.PREFER_CMCD,t):br(`Invalid value for preferCmcd. Must be one of ${qs.join()}`):this.removeAttribute(j.PREFER_CMCD))}get hasPlayed(){var t,i;return(i=(t=this.mediaController)==null?void 0:t.hasAttribute("media-has-played"))!=null?i:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute("media-time-is-live")}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute(re.THEME))!=null?t:fx}set theme(t){this.setAttribute(re.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let i={};for(let s of t.getAttributeNames()){if(If.includes(s))continue;let n=t.getAttribute(s);i[zl(s)]=n===""?!0:n}return i}set themeProps(t){var s,n;bt(this,Ir,tn).call(this);let i={...this.themeProps,...t};for(let a in i){if(If.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(jl(a),Boolean(o)):(n=this.mediaTheme)==null||n.setAttribute(jl(a),o)}}get playbackId(){var t;return(t=this.getAttribute(j.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(j.PLAYBACK_ID,t):this.removeAttribute(j.PLAYBACK_ID)}get src(){var t,i;return this.playbackId?(t=en(this,rr.SRC))!=null?t:void 0:(i=this.getAttribute(rr.SRC))!=null?i:void 0}set src(t){t?this.setAttribute(rr.SRC,t):this.removeAttribute(rr.SRC)}get poster(){var i;let t=this.getAttribute(rr.POSTER);if(t!=null)return t;if(this.playbackId&&!this.audio)return pv(this.playbackId,{domain:this.customDomain,thumbnailTime:(i=this.thumbnailTime)!=null?i:this.startTime,token:this.tokens.thumbnail})}set poster(t){t||t===""?this.setAttribute(rr.POSTER,t):this.removeAttribute(rr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(re.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(re.STORYBOARD_SRC,t):this.removeAttribute(re.STORYBOARD_SRC)}get storyboard(){if(this.storyboardSrc&&!this.tokens.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Je.LIVE,Je.UNKNOWN].includes(this.streamType)))return gv(this.playbackId,{domain:this.customDomain,token:this.tokens.storyboard})}get audio(){return this.hasAttribute(re.AUDIO)}set audio(t){if(!t){this.removeAttribute(re.AUDIO);return}this.setAttribute(re.AUDIO,"")}get hotkeys(){return Ne(this,ba)}get nohotkeys(){return this.hasAttribute(re.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(re.NOHOTKEYS);return}this.setAttribute(re.NOHOTKEYS,"")}get thumbnailTime(){return Zi(this.getAttribute(re.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(re.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(re.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(re.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=en(this,re.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(re.PLACEHOLDER,`${t}`)}get primaryColor(){var i,s;let t=this.getAttribute(re.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=at.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(re.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var i,s;let t=this.getAttribute(re.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=at.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(re.SECONDARY_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(re.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(re.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(re.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(!!this.hasAttribute(re.PLAYBACK_RATES))return this.getAttribute(re.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,i)=>t-i)}set playbackRates(t){if(!t){this.removeAttribute(re.PLAYBACK_RATES);return}this.setAttribute(re.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=Zi(this.getAttribute(re.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(re.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=Zi(this.getAttribute(re.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(re.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(re.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(re.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(re.DEFAULT_HIDDEN_CAPTIONS)}get playerSoftwareName(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_NAME))!=null?t:Tx}get playerSoftwareVersion(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_VERSION))!=null?t:bx}get beaconCollectionDomain(){var t;return(t=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(j.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(j.MAX_RESOLUTION,t):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var t;return(t=this.getAttribute(j.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(j.CUSTOM_DOMAIN,t):this.removeAttribute(j.CUSTOM_DOMAIN))}get envKey(){var t;return(t=en(this,j.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(j.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(re.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(re.NO_VOLUME_PREF,""):this.removeAttribute(re.NO_VOLUME_PREF)}get debug(){return en(this,j.DEBUG)!=null}set debug(t){t?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG)}get disableCookies(){return en(this,j.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES)}get streamType(){var t,i,s;return(s=(i=this.getAttribute(j.STREAM_TYPE))!=null?i:(t=this.media)==null?void 0:t.streamType)!=null?s:Je.UNKNOWN}set streamType(t){this.setAttribute(j.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,i,s;return(s=(i=this.getAttribute(re.DEFAULT_STREAM_TYPE))!=null?i:(t=this.mediaController)==null?void 0:t.getAttribute(re.DEFAULT_STREAM_TYPE))!=null?s:Je.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(re.DEFAULT_STREAM_TYPE,t):this.removeAttribute(re.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,i;return this.hasAttribute(re.TARGET_LIVE_WINDOW)?+this.getAttribute(re.TARGET_LIVE_WINDOW):(i=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?i:Number.NaN}set targetLiveWindow(t){t!=this.targetLiveWindow&&(t==null?this.removeAttribute(re.TARGET_LIVE_WINDOW):this.setAttribute(re.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return Zi(en(this,j.START_TIME))}set startTime(t){this.setAttribute(j.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(j.PREFER_PLAYBACK);if(t===di.MSE||t===di.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===di.MSE||t===di.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,t):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(bt(this,Ir,tn).call(this),!this.media){bi("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...Yv(this),...t}}async addCuePoints(t){var i;if(bt(this,Ir,tn).call(this),!this.media){bi("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(i=this.media)==null?void 0:i.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,i;return(i=(t=this.media)==null?void 0:t.cuePoints)!=null?i:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute(re.PLAYBACK_TOKEN),i=this.getAttribute(re.THUMBNAIL_TOKEN),s=this.getAttribute(re.STORYBOARD_TOKEN);return{...Ne(this,ya),...t!=null?{playback:t}:{},...i!=null?{thumbnail:i}:{},...s!=null?{storyboard:s}:{}}}set tokens(t){ri(this,ya,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(re.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(re.PLAYBACK_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(re.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(re.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(re.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(re.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,i,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(!!a)return Ol(a,t,i,s,n)}removeTextTrack(t){var s;let i=(s=this.media)==null?void 0:s.nativeEl;if(!!i)return F0(i,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}};Ea=new WeakMap,ya=new WeakMap,sr=new WeakMap,ba=new WeakMap,hs=new WeakMap,Ir=new WeakSet,tn=function(){var t,i,s;if(!Ne(this,Ea)){ri(this,Ea,!0),bt(this,Lr,rn).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof at.HTMLElement))throw""}catch{bi("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof hv))throw""}catch{bi("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof Bd))throw""}catch{bi("<media-controller> failed to upgrade!")}Tv(this),bt(this,ud,Xv).call(this),bt(this,hd,Qv).call(this),bt(this,fd,Zv).call(this),ri(this,sr,(i=(t=this.mediaController)==null?void 0:t.hasAttribute("userinactive"))!=null?i:!0),bt(this,md,Jv).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>{bt(this,Lr,rn).call(this)})}},cd=new WeakSet,zv=function(){var t,i;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(i=window==null?void 0:window.CSS)==null||i.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},Ta=new WeakSet,Lf=function(t){Object.assign(Ne(this,hs),t),bt(this,Lr,rn).call(this)},Lr=new WeakSet,rn=function(t={}){Hv(Vv(mx(this,{...Ne(this,hs),...t})),this.shadowRoot)},ud=new WeakSet,Xv=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(If.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},hd=new WeakSet,Qv=function(){var i;let t=s=>{let{detail:n}=s;if(n instanceof it||(n=new it(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){br(n),n.data&&br(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=ld(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&hf(o),bi(n),n.data&&bi(`${n.name} data:`,n.data),bt(this,Ta,Lf).call(this,{isDialogOpen:!0,dialog:a})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof it))return s;let{devlog:n}=ld((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(i=this.media)==null||i.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new it(l,d)}!(n!=null&&n.fatal)||this.dispatchEvent(new CustomEvent("error",{detail:n}))})},fd=new WeakSet,Zv=function(){var i,s,n,a;let t=()=>bt(this,Lr,rn).call(this);(s=(i=this.media)==null?void 0:i.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},md=new WeakSet,Jv=function(){var c,u;let t=/.*Version\/.*Safari\/.*/.test(navigator.userAgent);if(!/Firefox/i.test(navigator.userAgent))return;let s,n=new WeakMap,a=()=>this.streamType===Je.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,o=(h,f,g=!1)=>{if(a())return;Array.from(h&&h.activeCues||[]).forEach(T=>{if(!(!T.snapToLines||T.line<-5||T.line>=0&&T.line<10))if(!f||this.paused){let S=T.text.split(`
2104
- `).length,R=t?-2:-3;this.streamType===Je.LIVE&&(R=t?-1:-2);let x=R-S;if(T.line===x&&!g)return;n.has(T)||n.set(T,T.line),T.line=x-1,T.line=x}else setTimeout(()=>{T.line=n.get(T)||"auto"},500)})},l=()=>{var h,f;o(s,(f=(h=this.mediaController)==null?void 0:h.hasAttribute("userinactive"))!=null?f:!1)},d=()=>{var g,E;let f=Array.from(((E=(g=this.mediaController)==null?void 0:g.media)==null?void 0:E.textTracks)||[]).filter(T=>["subtitles","captions"].includes(T.kind)&&T.mode==="showing")[0];f!==s&&(s==null||s.removeEventListener("cuechange",l)),s=f,s==null||s.addEventListener("cuechange",l),o(s,Ne(this,sr))};if(d(),(c=this.textTracks)==null||c.addEventListener("change",d),(u=this.textTracks)==null||u.addEventListener("addtrack",d),navigator.userAgent.includes("Chrome/")){let h=()=>{o(s,Ne(this,sr),!0),this.paused||window.requestAnimationFrame(h)};this.addEventListener("playing",()=>{h()})}this.addEventListener("userinactivechange",()=>{var f,g;let h=(g=(f=this.mediaController)==null?void 0:f.hasAttribute("userinactive"))!=null?g:!0;Ne(this,sr)!==h&&(ri(this,sr,h),o(s,Ne(this,sr)))})};function en(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}at.customElements.get("mux-player")||(at.customElements.define("mux-player",va),at.MuxPlayerElement=va);var QD=va;})();
2103
+ `;var xf=Qt.createElement("template");"innerHTML"in xf&&(xf.innerHTML=Kv);var Wv,qv,cd=class extends Sr{};cd.template=(qv=(Wv=xf.content)==null?void 0:Wv.children)==null?void 0:qv[0];at.customElements.get("media-theme-classic")||at.customElements.define("media-theme-classic",cd);var mx="classic";var rr={SRC:"src",POSTER:"poster"},te={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",PLAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",TITLE:"title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",NO_VOLUME_PREF:"no-volume-pref"},If=["audio","backwardseekoffset","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","novolumepref"];function px(r,e){var i;return{src:!r.playbackId&&r.src,playbackId:r.playbackId,hasSrc:!!r.playbackId||!!r.src,poster:r.poster,storyboard:r.storyboard,storyboardSrc:r.getAttribute(te.STORYBOARD_SRC),placeholder:r.getAttribute("placeholder"),themeTemplate:gx(r),thumbnailTime:!r.tokens.thumbnail&&r.thumbnailTime,autoplay:r.autoplay,crossOrigin:r.crossOrigin,loop:r.loop,noHotKeys:r.hasAttribute(te.NOHOTKEYS),hotKeys:r.getAttribute(te.HOTKEYS),muted:r.muted,paused:r.paused,preload:r.preload,envKey:r.envKey,preferCmcd:r.preferCmcd,debug:r.debug,disableCookies:r.disableCookies,tokens:r.tokens,beaconCollectionDomain:r.beaconCollectionDomain,maxResolution:r.maxResolution,metadata:r.metadata,playerSoftwareName:r.playerSoftwareName,playerSoftwareVersion:r.playerSoftwareVersion,startTime:r.startTime,preferPlayback:r.preferPlayback,audio:r.audio,defaultStreamType:r.defaultStreamType,targetLiveWindow:r.getAttribute(j.TARGET_LIVE_WINDOW),streamType:oa(r.getAttribute(j.STREAM_TYPE)),primaryColor:r.primaryColor,secondaryColor:r.secondaryColor,forwardSeekOffset:r.forwardSeekOffset,backwardSeekOffset:r.backwardSeekOffset,defaultHiddenCaptions:r.defaultHiddenCaptions,defaultShowRemainingTime:r.defaultShowRemainingTime,hideDuration:vx(r),playbackRates:r.getAttribute(te.PLAYBACK_RATES),customDomain:(i=r.getAttribute(j.CUSTOM_DOMAIN))!=null?i:void 0,title:r.getAttribute(te.TITLE),novolumepref:r.hasAttribute(te.NO_VOLUME_PREF),...e}}function gx(r){var t,i;let e=r.theme;if(e){let s=(i=(t=r.getRootNode())==null?void 0:t.getElementById)==null?void 0:i.call(t,e);if(s&&s instanceof HTMLTemplateElement)return s;e.startsWith("media-theme-")||(e=`media-theme-${e}`);let n=at.customElements.get(e);if(n!=null&&n.template)return n.template}}function vx(r){var t;let e=(t=r.mediaController)==null?void 0:t.querySelector("media-time-display");return e&&getComputedStyle(e).getPropertyValue("--media-duration-display-display").trim()==="none"}function Yv(r){let e=r.hasAttribute(te.TITLE)?{video_title:r.getAttribute(te.TITLE)}:{};return r.getAttributeNames().filter(t=>t.startsWith("metadata-")).reduce((t,i)=>{let s=r.getAttribute(i);return s!==null&&(t[i.replace(/^metadata-/,"").replace(/-/g,"_")]=s),t},e)}var Ex=Object.values(j),yx=Object.values(rr),bx=Object.values(te),Tx=Jl(),_x="mux-player",jv={dialog:void 0,isDialogOpen:!1},ya,ba,sr,Ta,hs,Ir,tn,ud,zv,_a,Lf,Lr,rn,hd,Xv,fd,Qv,md,Zv,pd,Jv,Ea=class extends mf{constructor(){super();ht(this,Ir);ht(this,ud);ht(this,_a);ht(this,Lr);ht(this,hd);ht(this,fd);ht(this,md);ht(this,pd);ht(this,ya,!1);ht(this,ba,{});ht(this,sr,!0);ht(this,Ta,new Zl(this,"hotkeys"));ht(this,hs,{...jv,onCloseErrorDialog:()=>bt(this,_a,Lf).call(this,{dialog:void 0,isDialogOpen:!1}),onInitFocusDialog:t=>{df(this,Qt.activeElement)||t.preventDefault()}});this.attachShadow({mode:"open"}),bt(this,ud,zv).call(this),this.isConnected&&bt(this,Ir,tn).call(this)}static get observedAttributes(){var t;return[...(t=mf.observedAttributes)!=null?t:[],...yx,...Ex,...bx]}get mediaTheme(){var t;return(t=this.shadowRoot)==null?void 0:t.querySelector("media-theme")}get mediaController(){var t,i;return(i=(t=this.mediaTheme)==null?void 0:t.shadowRoot)==null?void 0:i.querySelector("media-controller")}connectedCallback(){var i;let t=(i=this.shadowRoot)==null?void 0:i.querySelector("mux-video");t&&(t.metadata=Yv(this))}attributeChangedCallback(t,i,s){switch(bt(this,Ir,tn).call(this),super.attributeChangedCallback(t,i,s),t){case te.HOTKEYS:Ne(this,Ta).value=s;break;case te.THUMBNAIL_TIME:{s!=null&&this.tokens.thumbnail&&br(Re("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").format({}));break}case te.THUMBNAIL_TOKEN:{let{aud:a}=yr(s);s&&a!=="t"&&br(Re("The provided thumbnail-token should have audience value 't' instead of '{aud}'.").format({aud:a}));break}case te.STORYBOARD_TOKEN:{let{aud:a}=yr(s);s&&a!=="s"&&br(Re("The provided storyboard-token should have audience value 's' instead of '{aud}'.").format({aud:a}));break}case j.PLAYBACK_ID:{s!=null&&s.includes("?token")&&bi(Re("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:s}));break}case j.STREAM_TYPE:s&&![Je.LIVE,Je.ON_DEMAND,Je.UNKNOWN].includes(s)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=s.includes("dvr")?Number.POSITIVE_INFINITY:0:hf({file:"invalid-stream-type.md",message:Re("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):this.targetLiveWindow=s===Je.LIVE?0:Number.NaN}[j.PLAYBACK_ID,rr.SRC,te.PLAYBACK_TOKEN].includes(t)&&i!==s&&ri(this,hs,{...Ne(this,hs),...jv}),bt(this,Lr,rn).call(this,{[vv(t)]:s})}get preferCmcd(){var t;return(t=this.getAttribute(j.PREFER_CMCD))!=null?t:void 0}set preferCmcd(t){t!==this.preferCmcd&&(t?qs.includes(t)?this.setAttribute(j.PREFER_CMCD,t):br(`Invalid value for preferCmcd. Must be one of ${qs.join()}`):this.removeAttribute(j.PREFER_CMCD))}get hasPlayed(){var t,i;return(i=(t=this.mediaController)==null?void 0:t.hasAttribute("media-has-played"))!=null?i:!1}get inLiveWindow(){var t;return(t=this.mediaController)==null?void 0:t.hasAttribute("media-time-is-live")}get _hls(){var t;return(t=this.media)==null?void 0:t._hls}get mux(){var t;return(t=this.media)==null?void 0:t.mux}get theme(){var t;return(t=this.getAttribute(te.THEME))!=null?t:mx}set theme(t){this.setAttribute(te.THEME,`${t}`)}get themeProps(){let t=this.mediaTheme;if(!t)return;let i={};for(let s of t.getAttributeNames()){if(If.includes(s))continue;let n=t.getAttribute(s);i[Xl(s)]=n===""?!0:n}return i}set themeProps(t){var s,n;bt(this,Ir,tn).call(this);let i={...this.themeProps,...t};for(let a in i){if(If.includes(a))continue;let o=t==null?void 0:t[a];typeof o=="boolean"||o==null?(s=this.mediaTheme)==null||s.toggleAttribute(zl(a),Boolean(o)):(n=this.mediaTheme)==null||n.setAttribute(zl(a),o)}}get playbackId(){var t;return(t=this.getAttribute(j.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t?this.setAttribute(j.PLAYBACK_ID,t):this.removeAttribute(j.PLAYBACK_ID)}get src(){var t,i;return this.playbackId?(t=en(this,rr.SRC))!=null?t:void 0:(i=this.getAttribute(rr.SRC))!=null?i:void 0}set src(t){t?this.setAttribute(rr.SRC,t):this.removeAttribute(rr.SRC)}get poster(){var i;let t=this.getAttribute(rr.POSTER);if(t!=null)return t;if(this.playbackId&&!this.audio)return pv(this.playbackId,{domain:this.customDomain,thumbnailTime:(i=this.thumbnailTime)!=null?i:this.startTime,token:this.tokens.thumbnail})}set poster(t){t||t===""?this.setAttribute(rr.POSTER,t):this.removeAttribute(rr.POSTER)}get storyboardSrc(){var t;return(t=this.getAttribute(te.STORYBOARD_SRC))!=null?t:void 0}set storyboardSrc(t){t?this.setAttribute(te.STORYBOARD_SRC,t):this.removeAttribute(te.STORYBOARD_SRC)}get storyboard(){if(this.storyboardSrc&&!this.tokens.storyboard)return this.storyboardSrc;if(!(this.audio||!this.playbackId||!this.streamType||[Je.LIVE,Je.UNKNOWN].includes(this.streamType)))return gv(this.playbackId,{domain:this.customDomain,token:this.tokens.storyboard})}get audio(){return this.hasAttribute(te.AUDIO)}set audio(t){if(!t){this.removeAttribute(te.AUDIO);return}this.setAttribute(te.AUDIO,"")}get hotkeys(){return Ne(this,Ta)}get nohotkeys(){return this.hasAttribute(te.NOHOTKEYS)}set nohotkeys(t){if(!t){this.removeAttribute(te.NOHOTKEYS);return}this.setAttribute(te.NOHOTKEYS,"")}get thumbnailTime(){return Zi(this.getAttribute(te.THUMBNAIL_TIME))}set thumbnailTime(t){this.setAttribute(te.THUMBNAIL_TIME,`${t}`)}get title(){var t;return(t=this.getAttribute(te.TITLE))!=null?t:""}set title(t){t!==this.title&&(t?this.setAttribute(te.TITLE,t):this.removeAttribute("title"),super.title=t)}get placeholder(){var t;return(t=en(this,te.PLACEHOLDER))!=null?t:""}set placeholder(t){this.setAttribute(te.PLACEHOLDER,`${t}`)}get primaryColor(){var i,s;let t=this.getAttribute(te.PRIMARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=at.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_primary-color"))==null?void 0:s.trim(),t))return t}set primaryColor(t){this.setAttribute(te.PRIMARY_COLOR,`${t}`)}get secondaryColor(){var i,s;let t=this.getAttribute(te.SECONDARY_COLOR);if(t!=null||this.mediaTheme&&(t=(s=(i=at.getComputedStyle(this.mediaTheme))==null?void 0:i.getPropertyValue("--_secondary-color"))==null?void 0:s.trim(),t))return t}set secondaryColor(t){this.setAttribute(te.SECONDARY_COLOR,`${t}`)}get defaultShowRemainingTime(){return this.hasAttribute(te.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(t){t?this.setAttribute(te.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(te.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(!!this.hasAttribute(te.PLAYBACK_RATES))return this.getAttribute(te.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(t=>Number(t)).filter(t=>!Number.isNaN(t)).sort((t,i)=>t-i)}set playbackRates(t){if(!t){this.removeAttribute(te.PLAYBACK_RATES);return}this.setAttribute(te.PLAYBACK_RATES,t.join(" "))}get forwardSeekOffset(){var t;return(t=Zi(this.getAttribute(te.FORWARD_SEEK_OFFSET)))!=null?t:10}set forwardSeekOffset(t){this.setAttribute(te.FORWARD_SEEK_OFFSET,`${t}`)}get backwardSeekOffset(){var t;return(t=Zi(this.getAttribute(te.BACKWARD_SEEK_OFFSET)))!=null?t:10}set backwardSeekOffset(t){this.setAttribute(te.BACKWARD_SEEK_OFFSET,`${t}`)}get defaultHiddenCaptions(){return this.hasAttribute(te.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(t){t?this.setAttribute(te.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(te.DEFAULT_HIDDEN_CAPTIONS)}get playerSoftwareName(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_NAME))!=null?t:_x}get playerSoftwareVersion(){var t;return(t=this.getAttribute(j.PLAYER_SOFTWARE_VERSION))!=null?t:Tx}get beaconCollectionDomain(){var t;return(t=this.getAttribute(j.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(j.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(j.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var t;return(t=this.getAttribute(j.MAX_RESOLUTION))!=null?t:void 0}set maxResolution(t){t!==this.maxResolution&&(t?this.setAttribute(j.MAX_RESOLUTION,t):this.removeAttribute(j.MAX_RESOLUTION))}get customDomain(){var t;return(t=this.getAttribute(j.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(j.CUSTOM_DOMAIN,t):this.removeAttribute(j.CUSTOM_DOMAIN))}get envKey(){var t;return(t=en(this,j.ENV_KEY))!=null?t:void 0}set envKey(t){this.setAttribute(j.ENV_KEY,`${t}`)}get noVolumePref(){return this.hasAttribute(te.NO_VOLUME_PREF)}set noVolumePref(t){t?this.setAttribute(te.NO_VOLUME_PREF,""):this.removeAttribute(te.NO_VOLUME_PREF)}get debug(){return en(this,j.DEBUG)!=null}set debug(t){t?this.setAttribute(j.DEBUG,""):this.removeAttribute(j.DEBUG)}get disableCookies(){return en(this,j.DISABLE_COOKIES)!=null}set disableCookies(t){t?this.setAttribute(j.DISABLE_COOKIES,""):this.removeAttribute(j.DISABLE_COOKIES)}get streamType(){var t,i,s;return(s=(i=this.getAttribute(j.STREAM_TYPE))!=null?i:(t=this.media)==null?void 0:t.streamType)!=null?s:Je.UNKNOWN}set streamType(t){this.setAttribute(j.STREAM_TYPE,`${t}`)}get defaultStreamType(){var t,i,s;return(s=(i=this.getAttribute(te.DEFAULT_STREAM_TYPE))!=null?i:(t=this.mediaController)==null?void 0:t.getAttribute(te.DEFAULT_STREAM_TYPE))!=null?s:Je.ON_DEMAND}set defaultStreamType(t){t?this.setAttribute(te.DEFAULT_STREAM_TYPE,t):this.removeAttribute(te.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var t,i;return this.hasAttribute(te.TARGET_LIVE_WINDOW)?+this.getAttribute(te.TARGET_LIVE_WINDOW):(i=(t=this.media)==null?void 0:t.targetLiveWindow)!=null?i:Number.NaN}set targetLiveWindow(t){t!=this.targetLiveWindow&&(t==null?this.removeAttribute(te.TARGET_LIVE_WINDOW):this.setAttribute(te.TARGET_LIVE_WINDOW,`${+t}`))}get liveEdgeStart(){var t;return(t=this.media)==null?void 0:t.liveEdgeStart}get startTime(){return Zi(en(this,j.START_TIME))}set startTime(t){this.setAttribute(j.START_TIME,`${t}`)}get preferPlayback(){let t=this.getAttribute(j.PREFER_PLAYBACK);if(t===ci.MSE||t===ci.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===ci.MSE||t===ci.NATIVE?this.setAttribute(j.PREFER_PLAYBACK,t):this.removeAttribute(j.PREFER_PLAYBACK))}get metadata(){var t;return(t=this.media)==null?void 0:t.metadata}set metadata(t){if(bt(this,Ir,tn).call(this),!this.media){bi("underlying media element missing when trying to set metadata. metadata will not be set.");return}this.media.metadata={...Yv(this),...t}}async addCuePoints(t){var i;if(bt(this,Ir,tn).call(this),!this.media){bi("underlying media element missing when trying to addCuePoints. cuePoints will not be added.");return}return(i=this.media)==null?void 0:i.addCuePoints(t)}get activeCuePoint(){var t;return(t=this.media)==null?void 0:t.activeCuePoint}get cuePoints(){var t,i;return(i=(t=this.media)==null?void 0:t.cuePoints)!=null?i:[]}getStartDate(){var t;return(t=this.media)==null?void 0:t.getStartDate()}get currentPdt(){var t;return(t=this.media)==null?void 0:t.currentPdt}get tokens(){let t=this.getAttribute(te.PLAYBACK_TOKEN),i=this.getAttribute(te.THUMBNAIL_TOKEN),s=this.getAttribute(te.STORYBOARD_TOKEN);return{...Ne(this,ba),...t!=null?{playback:t}:{},...i!=null?{thumbnail:i}:{},...s!=null?{storyboard:s}:{}}}set tokens(t){ri(this,ba,t!=null?t:{})}get playbackToken(){var t;return(t=this.getAttribute(te.PLAYBACK_TOKEN))!=null?t:void 0}set playbackToken(t){this.setAttribute(te.PLAYBACK_TOKEN,`${t}`)}get thumbnailToken(){var t;return(t=this.getAttribute(te.THUMBNAIL_TOKEN))!=null?t:void 0}set thumbnailToken(t){this.setAttribute(te.THUMBNAIL_TOKEN,`${t}`)}get storyboardToken(){var t;return(t=this.getAttribute(te.STORYBOARD_TOKEN))!=null?t:void 0}set storyboardToken(t){this.setAttribute(te.STORYBOARD_TOKEN,`${t}`)}addTextTrack(t,i,s,n){var o;let a=(o=this.media)==null?void 0:o.nativeEl;if(!!a)return Pl(a,t,i,s,n)}removeTextTrack(t){var s;let i=(s=this.media)==null?void 0:s.nativeEl;if(!!i)return F0(i,t)}get textTracks(){var t;return(t=this.media)==null?void 0:t.textTracks}};ya=new WeakMap,ba=new WeakMap,sr=new WeakMap,Ta=new WeakMap,hs=new WeakMap,Ir=new WeakSet,tn=function(){var t,i,s;if(!Ne(this,ya)){ri(this,ya,!0),bt(this,Lr,rn).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof at.HTMLElement))throw""}catch{bi("<media-theme> failed to upgrade!")}try{if(customElements.upgrade(this.media),!(this.media instanceof hv))throw""}catch{bi("<mux-video> failed to upgrade!")}try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof $d))throw""}catch{bi("<media-controller> failed to upgrade!")}Tv(this),bt(this,hd,Xv).call(this),bt(this,fd,Qv).call(this),bt(this,md,Zv).call(this),ri(this,sr,(i=(t=this.mediaController)==null?void 0:t.hasAttribute("userinactive"))!=null?i:!0),bt(this,pd,Jv).call(this),(s=this.media)==null||s.addEventListener("streamtypechange",()=>{bt(this,Lr,rn).call(this)})}},ud=new WeakSet,zv=function(){var t,i;try{(t=window==null?void 0:window.CSS)==null||t.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),(i=window==null?void 0:window.CSS)==null||i.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},_a=new WeakSet,Lf=function(t){Object.assign(Ne(this,hs),t),bt(this,Lr,rn).call(this)},Lr=new WeakSet,rn=function(t={}){Hv(Vv(px(this,{...Ne(this,hs),...t})),this.shadowRoot)},hd=new WeakSet,Xv=function(){let t=s=>{var o,l;if(!(s!=null&&s.startsWith("theme-")))return;let n=s.replace(/^theme-/,"");if(If.includes(n))return;let a=this.getAttribute(s);a!=null?(o=this.mediaTheme)==null||o.setAttribute(n,a):(l=this.mediaTheme)==null||l.removeAttribute(n)};new MutationObserver(s=>{for(let{attributeName:n}of s)t(n)}).observe(this,{attributes:!0}),this.getAttributeNames().forEach(t)},fd=new WeakSet,Qv=function(){var i;let t=s=>{let{detail:n}=s;if(n instanceof it||(n=new it(n.message,n.code,n.fatal)),!(n!=null&&n.fatal)){br(n),n.data&&br(`${n.name} data:`,n.data);return}let{dialog:a,devlog:o}=dd(n,!window.navigator.onLine,this.playbackId,this.playbackToken);o.message&&hf(o),bi(n),n.data&&bi(`${n.name} data:`,n.data),bt(this,_a,Lf).call(this,{isDialogOpen:!0,dialog:a})};this.addEventListener("error",t),this.media&&(this.media.errorTranslator=(s={})=>{var a,o,l;if(!(((a=this.media)==null?void 0:a.error)instanceof it))return s;let{devlog:n}=dd((o=this.media)==null?void 0:o.error,!window.navigator.onLine,this.playbackId,this.playbackToken,!1);return{player_error_code:(l=this.media)==null?void 0:l.error.code,player_error_message:n.message?String(n.message):s.player_error_message,player_error_context:n.context?String(n.context):s.player_error_context}}),(i=this.media)==null||i.addEventListener("error",s=>{var a,o;let{detail:n}=s;if(!n){let{message:l,code:d}=(o=(a=this.media)==null?void 0:a.error)!=null?o:{};n=new it(l,d)}!(n!=null&&n.fatal)||this.dispatchEvent(new CustomEvent("error",{detail:n}))})},md=new WeakSet,Zv=function(){var i,s,n,a;let t=()=>bt(this,Lr,rn).call(this);(s=(i=this.media)==null?void 0:i.textTracks)==null||s.addEventListener("addtrack",t),(a=(n=this.media)==null?void 0:n.textTracks)==null||a.addEventListener("removetrack",t)},pd=new WeakSet,Jv=function(){var c,u;let t=/.*Version\/.*Safari\/.*/.test(navigator.userAgent);if(!/Firefox/i.test(navigator.userAgent))return;let s,n=new WeakMap,a=()=>this.streamType===Je.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,o=(h,f,g=!1)=>{if(a())return;Array.from(h&&h.activeCues||[]).forEach(T=>{if(!(!T.snapToLines||T.line<-5||T.line>=0&&T.line<10))if(!f||this.paused){let A=T.text.split(`
2104
+ `).length,k=t?-2:-3;this.streamType===Je.LIVE&&(k=t?-1:-2);let L=k-A;if(T.line===L&&!g)return;n.has(T)||n.set(T,T.line),T.line=L-1,T.line=L}else setTimeout(()=>{T.line=n.get(T)||"auto"},500)})},l=()=>{var h,f;o(s,(f=(h=this.mediaController)==null?void 0:h.hasAttribute("userinactive"))!=null?f:!1)},d=()=>{var g,E;let f=Array.from(((E=(g=this.mediaController)==null?void 0:g.media)==null?void 0:E.textTracks)||[]).filter(T=>["subtitles","captions"].includes(T.kind)&&T.mode==="showing")[0];f!==s&&(s==null||s.removeEventListener("cuechange",l)),s=f,s==null||s.addEventListener("cuechange",l),o(s,Ne(this,sr))};if(d(),(c=this.textTracks)==null||c.addEventListener("change",d),(u=this.textTracks)==null||u.addEventListener("addtrack",d),navigator.userAgent.includes("Chrome/")){let h=()=>{o(s,Ne(this,sr),!0),this.paused||window.requestAnimationFrame(h)};this.addEventListener("playing",()=>{h()})}this.addEventListener("userinactivechange",()=>{var f,g;let h=(g=(f=this.mediaController)==null?void 0:f.hasAttribute("userinactive"))!=null?g:!0;Ne(this,sr)!==h&&(ri(this,sr,h),o(s,Ne(this,sr)))})};function en(r,e){return r.media?r.media.getAttribute(e):r.getAttribute(e)}at.customElements.get("mux-player")||(at.customElements.define("mux-player",Ea),at.MuxPlayerElement=Ea);var ZD=Ea;})();
2105
2105
  /*!
2106
2106
  * JavaScript Cookie v2.1.3
2107
2107
  * https://github.com/js-cookie/js-cookie
@@ -2111,6 +2111,6 @@ media-poster-image:not([src]) {
2111
2111
  */
2112
2112
  /*!
2113
2113
  * mux-embed
2114
- * @version 4.24.0
2114
+ * @version 4.27.0
2115
2115
  * @copyright 2023 Mux, Inc
2116
2116
  */