UNPKG

@tarojs/components

Version:

Taro 组件库

1 lines • 353 kB
function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var s,i,e,n,r;s=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,i=/^(?=([^\/?#]*))\1([^]*)$/,e=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g;var h={exports:{}}.exports=r={buildAbsoluteURL:function(t,s,e){if(e=e||{},t=t.trim(),!(s=s.trim())){if(!e.alwaysNormalize)return t;var n=r.parseURL(t);if(!n)throw new Error("Error trying to parse base URL.");return n.path=r.normalizePath(n.path),r.buildURLFromParts(n)}var h=r.parseURL(s);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return e.alwaysNormalize?(h.path=r.normalizePath(h.path),r.buildURLFromParts(h)):s;var o=r.parseURL(t);if(!o)throw new Error("Error trying to parse base URL.");if(!o.netLoc&&o.path&&"/"!==o.path[0]){var a=i.exec(o.path);o.netLoc=a[1],o.path=a[2]}o.netLoc&&!o.path&&(o.path="/");var l={scheme:o.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(l.netLoc=o.netLoc,"/"!==h.path[0]))if(h.path){var c=o.path,u=c.substring(0,c.lastIndexOf("/")+1)+h.path;l.path=r.normalizePath(u)}else l.path=o.path,h.params||(l.params=o.params,h.query||(l.query=o.query));return null===l.path&&(l.path=e.alwaysNormalize?r.normalizePath(h.path):h.path),r.buildURLFromParts(l)},parseURL:function(t){var i=s.exec(t);return i?{scheme:i[1]||"",netLoc:i[2]||"",path:i[3]||"",params:i[4]||"",query:i[5]||"",fragment:i[6]||""}:null},normalizePath:function(t){for(t=t.split("").reverse().join("").replace(e,"");t.length!==(t=t.replace(n,"")).length;);return t.split("").reverse().join("")},buildURLFromParts:function(t){return t.scheme+t.netLoc+t.path+t.params+t.query+t.fragment}};function o(t,s){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);s&&(e=e.filter((function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),i.push.apply(i,e)}return i}function a(t){for(var s=1;s<arguments.length;s++){var i=null!=arguments[s]?arguments[s]:{};s%2?o(Object(i),!0).forEach((function(s){l(t,s,i[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(i,s))}))}return t}function l(t,s,i){return(s=function(t){var s=function(t){if("object"!=typeof t||null===t)return t;var s=t[Symbol.toPrimitive];if(void 0!==s){var i=s.call(t,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof s?s:String(s)}(s))in t?Object.defineProperty(t,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[s]=i,t}function c(){return c=Object.assign?Object.assign.bind():function(t){for(var s=1;s<arguments.length;s++){var i=arguments[s];for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])}return t},c.apply(this,arguments)}const u=Number.isFinite||function(t){return"number"==typeof t&&isFinite(t)};let d=function(t){return t.MEDIA_ATTACHING="hlsMediaAttaching",t.MEDIA_ATTACHED="hlsMediaAttached",t.MEDIA_DETACHING="hlsMediaDetaching",t.MEDIA_DETACHED="hlsMediaDetached",t.BUFFER_RESET="hlsBufferReset",t.BUFFER_CODECS="hlsBufferCodecs",t.BUFFER_CREATED="hlsBufferCreated",t.BUFFER_APPENDING="hlsBufferAppending",t.BUFFER_APPENDED="hlsBufferAppended",t.BUFFER_EOS="hlsBufferEos",t.BUFFER_FLUSHING="hlsBufferFlushing",t.BUFFER_FLUSHED="hlsBufferFlushed",t.MANIFEST_LOADING="hlsManifestLoading",t.MANIFEST_LOADED="hlsManifestLoaded",t.MANIFEST_PARSED="hlsManifestParsed",t.LEVEL_SWITCHING="hlsLevelSwitching",t.LEVEL_SWITCHED="hlsLevelSwitched",t.LEVEL_LOADING="hlsLevelLoading",t.LEVEL_LOADED="hlsLevelLoaded",t.LEVEL_UPDATED="hlsLevelUpdated",t.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",t.LEVELS_UPDATED="hlsLevelsUpdated",t.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",t.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",t.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",t.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",t.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",t.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",t.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",t.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",t.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",t.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",t.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",t.CUES_PARSED="hlsCuesParsed",t.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",t.INIT_PTS_FOUND="hlsInitPtsFound",t.FRAG_LOADING="hlsFragLoading",t.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",t.FRAG_LOADED="hlsFragLoaded",t.FRAG_DECRYPTED="hlsFragDecrypted",t.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",t.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",t.FRAG_PARSING_METADATA="hlsFragParsingMetadata",t.FRAG_PARSED="hlsFragParsed",t.FRAG_BUFFERED="hlsFragBuffered",t.FRAG_CHANGED="hlsFragChanged",t.FPS_DROP="hlsFpsDrop",t.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",t.ERROR="hlsError",t.DESTROYING="hlsDestroying",t.KEY_LOADING="hlsKeyLoading",t.KEY_LOADED="hlsKeyLoaded",t.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",t.BACK_BUFFER_REACHED="hlsBackBufferReached",t}({}),f=function(t){return t.NETWORK_ERROR="networkError",t.MEDIA_ERROR="mediaError",t.KEY_SYSTEM_ERROR="keySystemError",t.MUX_ERROR="muxError",t.OTHER_ERROR="otherError",t}({}),m=function(t){return t.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",t.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",t.KEY_SYSTEM_NO_SESSION="keySystemNoSession",t.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",t.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",t.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",t.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",t.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",t.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",t.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",t.MANIFEST_LOAD_ERROR="manifestLoadError",t.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",t.MANIFEST_PARSING_ERROR="manifestParsingError",t.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",t.LEVEL_EMPTY_ERROR="levelEmptyError",t.LEVEL_LOAD_ERROR="levelLoadError",t.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",t.LEVEL_PARSING_ERROR="levelParsingError",t.LEVEL_SWITCH_ERROR="levelSwitchError",t.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",t.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",t.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",t.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",t.FRAG_LOAD_ERROR="fragLoadError",t.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",t.FRAG_DECRYPT_ERROR="fragDecryptError",t.FRAG_PARSING_ERROR="fragParsingError",t.FRAG_GAP="fragGap",t.REMUX_ALLOC_ERROR="remuxAllocError",t.KEY_LOAD_ERROR="keyLoadError",t.KEY_LOAD_TIMEOUT="keyLoadTimeOut",t.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",t.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",t.BUFFER_APPEND_ERROR="bufferAppendError",t.BUFFER_APPENDING_ERROR="bufferAppendingError",t.BUFFER_STALLED_ERROR="bufferStalledError",t.BUFFER_FULL_ERROR="bufferFullError",t.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",t.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",t.INTERNAL_EXCEPTION="internalException",t.INTERNAL_ABORTED="aborted",t.UNKNOWN="unknown",t}({});const g=function(){},v={trace:g,debug:g,log:g,warn:g,info:g,error:g};let p=v;const y=p,w=/^(\d+)x(\d+)$/,b=/(.+?)=(".*?"|.*?)(?:,|$)/g;class T{constructor(t){"string"==typeof t&&(t=T.parseAttrList(t));for(const s in t)t.hasOwnProperty(s)&&("X-"===s.substring(0,2)&&(this.clientAttrs=this.clientAttrs||[],this.clientAttrs.push(s)),this[s]=t[s])}decimalInteger(t){const s=parseInt(this[t],10);return s>Number.MAX_SAFE_INTEGER?1/0:s}hexadecimalInteger(t){if(this[t]){let s=(this[t]||"0x").slice(2);s=(1&s.length?"0":"")+s;const i=new Uint8Array(s.length/2);for(let t=0;t<s.length/2;t++)i[t]=parseInt(s.slice(2*t,2*t+2),16);return i}return null}hexadecimalIntegerAsNumber(t){const s=parseInt(this[t],16);return s>Number.MAX_SAFE_INTEGER?1/0:s}decimalFloatingPoint(t){return parseFloat(this[t])}optionalFloat(t,s){const i=this[t];return i?parseFloat(i):s}enumeratedString(t){return this[t]}bool(t){return"YES"===this[t]}decimalResolution(t){const s=w.exec(this[t]);if(null!==s)return{width:parseInt(s[1],10),height:parseInt(s[2],10)}}static parseAttrList(t){let s;const i={};for(b.lastIndex=0;null!==(s=b.exec(t));){let t=s[2];0===t.indexOf('"')&&t.lastIndexOf('"')===t.length-1&&(t=t.slice(1,-1)),i[s[1].trim()]=t}return i}}function S(t){return"SCTE35-OUT"===t||"SCTE35-IN"===t}class E{constructor(t,s){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,s){const i=s.attr;for(const s in i)if(Object.prototype.hasOwnProperty.call(t,s)&&t[s]!==i[s]){y.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${t.ID}"`),this._badValueForSameId=s;break}t=c(new T({}),i,t)}if(this.attr=t,this._startDate=new Date(t["START-DATE"]),"END-DATE"in this.attr){const t=new Date(this.attr["END-DATE"]);u(t.getTime())&&(this._endDate=t)}}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;const t=this.duration;return null!==t?new Date(this._startDate.getTime()+1e3*t):null}get duration(){if("DURATION"in this.attr){const t=this.attr.decimalFloatingPoint("DURATION");if(u(t))return t}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&&u(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}class k{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}}}var $="audio",A="video",L="audiovideo";class M{constructor(t){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[$]:null,[A]:null,[L]:null},this.baseurl=t}setByteRange(t,s){const i=t.split("@",2),e=[];e[0]=1===i.length?s?s.byteRangeEndOffset:0:parseInt(i[1]),e[1]=parseInt(i[0])+e[0],this._byteRange=e}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=h.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(t){this._url=t}}class D extends M{constructor(t,s){super(s),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 k,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=t}get decryptdata(){const{levelkeys:t}=this;if(!t&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{const t=Object.keys(this.levelkeys);if(1===t.length)return this._decryptdata=this.levelkeys[t[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;if(!u(this.programDateTime))return null;const t=u(this.duration)?this.duration:0;return this.programDateTime+1e3*t}get encrypted(){var t;if(null!=(t=this._decryptdata)&&t.encrypted)return!0;if(this.levelkeys){const t=Object.keys(this.levelkeys),s=t.length;if(s>1||1===s&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(t){if(this.levelkeys){const s=this.levelkeys[t];s&&!this._decryptdata&&(this._decryptdata=s.getDecryptData(this.sn))}}abortRequests(){var t,s;null==(t=this.loader)||t.abort(),null==(s=this.keyLoader)||s.abort()}setElementaryStreamInfo(t,s,i,e,n,r=!1){const{elementaryStreams:h}=this,o=h[t];o?(o.startPTS=Math.min(o.startPTS,s),o.endPTS=Math.max(o.endPTS,i),o.startDTS=Math.min(o.startDTS,e),o.endDTS=Math.max(o.endDTS,n)):h[t]={startPTS:s,endPTS:i,startDTS:e,endDTS:n,partial:r}}clearElementaryStreamInfo(){const{elementaryStreams:t}=this;t[$]=null,t[A]=null,t[L]=null}}class x extends M{constructor(t,s,i,e,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 k,this.duration=t.decimalFloatingPoint("DURATION"),this.gap=t.bool("GAP"),this.independent=t.bool("INDEPENDENT"),this.relurl=t.enumeratedString("URI"),this.fragment=s,this.index=e;const r=t.enumeratedString("BYTERANGE");r&&this.setByteRange(r,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(){const{elementaryStreams:t}=this;return!!(t.audio||t.video||t.audiovideo)}}class I{constructor(t){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=t}reloaded(t){if(!t)return this.advanced=!0,void(this.updated=!0);const s=this.lastPartSn-t.lastPartSn,i=this.lastPartIndex-t.lastPartIndex;this.updated=this.endSN!==t.endSN||!!i||!!s,this.advanced=this.endSN>t.endSN||s>0||0===s&&i>0,this.misses=this.updated||this.advanced?Math.floor(.6*t.misses):t.misses+1,this.availabilityDelay=t.availabilityDelay}get hasProgramDateTime(){return!!this.fragments.length&&u(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){const t=this.driftEndTime-this.driftStartTime;return t>0?1e3*(this.driftEnd-this.driftStart)/t:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var t;return null!=(t=this.fragments)&&t.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 t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}function C(t){return Uint8Array.from(atob(t),(t=>t.charCodeAt(0)))}function P(t){return Uint8Array.from(unescape(encodeURIComponent(t)),(t=>t.charCodeAt(0)))}var R={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},O="org.w3.clearkey",N="com.apple.streamingkeydelivery",U="com.microsoft.playready",F="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function B(t){switch(t){case N:return R.FAIRPLAY;case U:return R.PLAYREADY;case F:return R.WIDEVINE;case O:return R.CLEARKEY}}var _="edef8ba979d64acea3c827dcd51d21ed";function j(t){switch(t){case R.FAIRPLAY:return N;case R.PLAYREADY:return U;case R.WIDEVINE:return F;case R.CLEARKEY:return O}}function K(t){const{drmSystems:s,widevineLicenseUrl:i}=t,e=s?[R.FAIRPLAY,R.WIDEVINE,R.PLAYREADY,R.CLEARKEY].filter((t=>!!s[t])):[];return!e[R.WIDEVINE]&&i&&e.push(R.WIDEVINE),e}const H="undefined"!=typeof self&&self.navigator&&self.navigator.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function G(t,s,i){return Uint8Array.prototype.slice?t.slice(s,i):new Uint8Array(Array.prototype.slice.call(t,s,i))}const V=(t,s)=>s+10<=t.length&&73===t[s]&&68===t[s+1]&&51===t[s+2]&&t[s+3]<255&&t[s+4]<255&&t[s+6]<128&&t[s+7]<128&&t[s+8]<128&&t[s+9]<128,W=(t,s)=>s+10<=t.length&&51===t[s]&&68===t[s+1]&&73===t[s+2]&&t[s+3]<255&&t[s+4]<255&&t[s+6]<128&&t[s+7]<128&&t[s+8]<128&&t[s+9]<128,X=(t,s)=>{const i=s;let e=0;for(;V(t,s);)e+=10,e+=q(t,s+6),W(t,s+10)&&(e+=10),s+=e;if(e>0)return t.subarray(i,i+e)},q=(t,s)=>{let i=0;return i=(127&t[s])<<21,i|=(127&t[s+1])<<14,i|=(127&t[s+2])<<7,i|=127&t[s+3],i},Y=(t,s)=>V(t,s)&&q(t,s+6)+10<=t.length-s,z=t=>t&&"PRIV"===t.key&&"com.apple.streaming.transportStreamTimestamp"===t.info,Q=t=>{const s=String.fromCharCode(t[0],t[1],t[2],t[3]),i=q(t,4);return{type:s,size:i,data:t.subarray(10,10+i)}},J=t=>{let s=0;const i=[];for(;V(t,s);){const e=q(t,s+6);s+=10;const n=s+e;for(;s+8<n;){const e=Q(t.subarray(s)),n=Z(e);n&&i.push(n),s+=e.size+10}W(t,s)&&(s+=10)}return i},Z=t=>"PRIV"===t.type?tt(t):"W"===t.type[0]?it(t):st(t),tt=t=>{if(t.size<2)return;const s=nt(t.data,!0),i=new Uint8Array(t.data.subarray(s.length+1));return{key:t.type,info:s,data:i.buffer}},st=t=>{if(t.size<2)return;if("TXXX"===t.type){let s=1;const i=nt(t.data.subarray(s),!0);s+=i.length+1;const e=nt(t.data.subarray(s));return{key:t.type,info:i,data:e}}const s=nt(t.data.subarray(1));return{key:t.type,data:s}},it=t=>{if("WXXX"===t.type){if(t.size<2)return;let s=1;const i=nt(t.data.subarray(s),!0);s+=i.length+1;const e=nt(t.data.subarray(s));return{key:t.type,info:i,data:e}}const s=nt(t.data);return{key:t.type,data:s}},et=t=>{if(8===t.data.byteLength){const s=new Uint8Array(t.data);let i=(s[4]<<23)+(s[5]<<15)+(s[6]<<7)+s[7];return i/=45,1&s[3]&&(i+=47721858.84),Math.round(i)}},nt=(t,s=!1)=>{const i=ht();if(i){const e=i.decode(t);if(s){const t=e.indexOf("\0");return-1!==t?e.substring(0,t):e}return e.replace(/\0/g,"")}const e=t.length;let n,r,h,o="",a=0;for(;a<e;){if(n=t[a++],0===n&&s)return o;if(0!==n&&3!==n)switch(n>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(n);break;case 12:case 13:r=t[a++],o+=String.fromCharCode((31&n)<<6|63&r);break;case 14:r=t[a++],h=t[a++],o+=String.fromCharCode((15&n)<<12|(63&r)<<6|(63&h)<<0)}}return o};let rt;function ht(){return rt||void 0===self.TextDecoder||(rt=new self.TextDecoder("utf-8")),rt}const ot=function(t){let s="";for(let i=0;i<t.length;i++){let e=t[i].toString(16);e.length<2&&(e="0"+e),s+=e}return s},at=Math.pow(2,32)-1,lt=[].push,ct={video:1,audio:2,id3:3,text:4};function ut(t){return String.fromCharCode.apply(null,t)}function dt(t,s){const i=t[s]<<8|t[s+1];return i<0?65536+i:i}function ft(t,s){const i=mt(t,s);return i<0?4294967296+i:i}function mt(t,s){return t[s]<<24|t[s+1]<<16|t[s+2]<<8|t[s+3]}function gt(t,s,i){t[s]=i>>24,t[s+1]=i>>16&255,t[s+2]=i>>8&255,t[s+3]=255&i}function vt(t,s){const i=[];if(!s.length)return i;const e=t.byteLength;for(let n=0;n<e;){const r=ft(t,n),h=r>1?n+r:e;if(ut(t.subarray(n+4,n+8))===s[0])if(1===s.length)i.push(t.subarray(n+8,h));else{const e=vt(t.subarray(n+8,h),s.slice(1));e.length&&lt.apply(i,e)}n=h}return i}function pt(t){const s=[],i=t[0];let e=8;const n=ft(t,e);e+=4,e+=0===i?8:16,e+=2;let r=t.length+0;const h=dt(t,e);e+=2;for(let i=0;i<h;i++){let i=e;const h=ft(t,i);i+=4;const o=2147483647&h;if(1==(2147483648&h)>>>31)return y.warn("SIDX has hierarchical references (not supported)"),null;const a=ft(t,i);i+=4,s.push({referenceSize:o,subsegmentDuration:a,info:{duration:a/n,start:r,end:r+o-1}}),r+=o,i+=4,e=i}return{earliestPresentationTime:0,timescale:n,version:i,referencesCount:h,references:s}}function yt(t){const s=[],i=vt(t,["moov","trak"]);for(let t=0;t<i.length;t++){const e=i[t],n=vt(e,["tkhd"])[0];if(n){let t=n[0],i=0===t?12:20;const r=ft(n,i),h=vt(e,["mdia","mdhd"])[0];if(h){t=h[0],i=0===t?12:20;const n=ft(h,i),o=vt(e,["mdia","hdlr"])[0];if(o){const t=ut(o.subarray(8,12)),i={soun:$,vide:A}[t];if(i){const t=vt(e,["mdia","minf","stbl","stsd"])[0];let h;t&&(h=ut(t.subarray(12,16))),s[r]={timescale:n,type:i},s[i]={timescale:n,id:r,codec:h}}}}}}return vt(t,["moov","mvex","trex"]).forEach((t=>{const i=ft(t,4),e=s[i];e&&(e.default={duration:ft(t,12),flags:ft(t,20)})})),s}function wt(t){const s=vt(t,["schm"])[0];if(s){const i=ut(s.subarray(4,8));if("cbcs"===i||"cenc"===i)return vt(t,["schi","tenc"])[0]}return y.error("[eme] missing 'schm' box"),null}function bt(t){const s=ft(t,0);let i=8;1&s&&(i+=4),4&s&&(i+=4);let e=0;const n=ft(t,4);for(let r=0;r<n;r++)256&s&&(e+=ft(t,i),i+=4),512&s&&(i+=4),1024&s&&(i+=4),2048&s&&(i+=4);return e}function Tt(t,s){const i=new Uint8Array(t.length+s.length);return i.set(t),i.set(s,t.length),i}function St(t,s){const i=[],e=s.samples,n=s.timescale,r=s.id;let h=!1;return vt(e,["moof"]).map((o=>{const a=o.byteOffset-8;vt(o,["traf"]).map((o=>{const l=vt(o,["tfdt"]).map((t=>{const s=t[0];let i=ft(t,4);return 1===s&&(i*=Math.pow(2,32),i+=ft(t,8)),i/n}))[0];return void 0!==l&&(t=l),vt(o,["tfhd"]).map((l=>{const c=ft(l,4),u=16777215&ft(l,0);let d=0;const f=0!=(16&u);let m=0;const g=0!=(32&u);let v=8;c===r&&(0!=(1&u)&&(v+=8),0!=(2&u)&&(v+=4),0!=(8&u)&&(d=ft(l,v),v+=4),f&&(m=ft(l,v),v+=4),g&&(v+=4),"video"===s.type&&(h=function(t){if(!t)return!1;const s=t.indexOf("."),i=s<0?t:t.substring(0,s);return"hvc1"===i||"hev1"===i||"dvh1"===i||"dvhe"===i}(s.codec)),vt(o,["trun"]).map((r=>{const o=r[0],l=16777215&ft(r,0),c=0!=(1&l);let u=0;const f=0!=(4&l),g=0!=(256&l);let v=0;const p=0!=(512&l);let y=0;const w=0!=(1024&l),b=0!=(2048&l);let T=0;const S=ft(r,4);let E=8;c&&(u=ft(r,E),E+=4),f&&(E+=4);let k=u+a;for(let a=0;a<S;a++){if(g?(v=ft(r,E),E+=4):v=d,p?(y=ft(r,E),E+=4):y=m,w&&(E+=4),b&&(T=0===o?ft(r,E):mt(r,E),E+=4),s.type===A){let s=0;for(;s<y;){const r=ft(e,k);k+=4,Et(h,e[k])&&kt(e.subarray(k,k+r),h?2:1,t+T/n,i),k+=r,s+=r+4}}t+=v/n}})))}))}))})),i}function Et(t,s){if(t){const t=s>>1&63;return 39===t||40===t}return 6==(31&s)}function kt(t,s,i,e){const n=$t(t);let r=0;r+=s;let h=0,o=0,a=!1,l=0;for(;r<n.length;){h=0;do{if(r>=n.length)break;l=n[r++],h+=l}while(255===l);o=0;do{if(r>=n.length)break;l=n[r++],o+=l}while(255===l);const t=n.length-r;if(!a&&4===h&&r<n.length){if(a=!0,181===n[r++]){const t=dt(n,r);if(r+=2,49===t){const t=ft(n,r);if(r+=4,1195456820===t){const t=n[r++];if(3===t){const s=n[r++],o=64&s,a=o?2+3*(31&s):0,l=new Uint8Array(a);if(o){l[0]=s;for(let t=1;t<a;t++)l[t]=n[r++]}e.push({type:t,payloadType:h,pts:i,bytes:l})}}}}}else if(5===h&&o<t){if(a=!0,o>16){const t=[];for(let s=0;s<16;s++){const i=n[r++].toString(16);t.push(1==i.length?"0"+i:i),3!==s&&5!==s&&7!==s&&9!==s||t.push("-")}const s=o-16,a=new Uint8Array(s);for(let t=0;t<s;t++)a[t]=n[r++];e.push({payloadType:h,pts:i,uuid:t.join(""),userData:nt(a),userDataBytes:a})}}else if(o<t)r+=o;else if(o>t)break}}function $t(t){const s=t.byteLength,i=[];let e=1;for(;e<s-2;)0===t[e]&&0===t[e+1]&&3===t[e+2]?(i.push(e+2),e+=2):e++;if(0===i.length)return t;const n=s-i.length,r=new Uint8Array(n);let h=0;for(e=0;e<n;h++,e++)h===i[0]&&(h++,i.shift()),r[e]=t[h];return r}let At={};class Lt{static clearKeyUriToKeyIdMap(){At={}}constructor(t,s,i,e=[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=t,this.uri=s,this.keyFormat=i,this.keyFormatVersions=e,this.iv=n,this.encrypted=!!t&&"NONE"!==t,this.isCommonEncryption=this.encrypted&&"AES-128"!==t}isSupported(){if(this.method){if("AES-128"===this.method||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case N:case F:case U:case O:return-1!==["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(t){if(!this.encrypted||!this.uri)return null;if("AES-128"===this.method&&this.uri&&!this.iv){"number"!=typeof t&&("AES-128"!==this.method||this.iv||y.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),t=0);const s=function(t){const s=new Uint8Array(16);for(let i=12;i<16;i++)s[i]=t>>8*(15-i)&255;return s}(t);return new Lt(this.method,this.uri,"identity",this.keyFormatVersions,s)}const s=function(t){const s=t.split(":");let i=null;if("data"===s[0]&&2===s.length){const t=s[1].split(";"),e=t[t.length-1].split(",");if(2===e.length){const s=e[1];"base64"===e[0]?(t.splice(-1,1),i=C(s)):i=function(t){const s=P(t).subarray(0,16),i=new Uint8Array(16);return i.set(s,16-s.length),i}(s)}}return i}(this.uri);if(s)switch(this.keyFormat){case F:this.pssh=s,s.length>=22&&(this.keyId=s.subarray(s.length-22,s.length-6));break;case U:{const t=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=function(t,s,i){if(16!==t.byteLength)throw new RangeError("Invalid system id");let e,n,r;if(s){e=1,n=new Uint8Array(16*s.length);for(let t=0;t<s.length;t++){const i=s[t];if(16!==i.byteLength)throw new RangeError("Invalid key");n.set(i,16*t)}}else e=0,n=new Uint8Array;e>0?(r=new Uint8Array(4),s.length>0&&new DataView(r.buffer).setUint32(0,s.length,!1)):r=new Uint8Array;const h=new Uint8Array(4);return i&&i.byteLength>0&&new DataView(h.buffer).setUint32(0,i.byteLength,!1),function(t,...s){const i=s.length;let e=8,n=i;for(;n--;)e+=s[n].byteLength;const r=new Uint8Array(e);for(r[0]=e>>24&255,r[1]=e>>16&255,r[2]=e>>8&255,r[3]=255&e,r.set(t,4),n=0,e=8;n<i;n++)r.set(s[n],e),e+=s[n].byteLength;return r}([112,115,115,104],new Uint8Array([e,0,0,0]),t,r,n,h,i||new Uint8Array)}(t,null,s);const i=new Uint16Array(s.buffer,s.byteOffset,s.byteLength/2),e=String.fromCharCode.apply(null,Array.from(i)),n=e.substring(e.indexOf("<"),e.length),r=(new DOMParser).parseFromString(n,"text/xml").getElementsByTagName("KID")[0];if(r){const t=r.childNodes[0]?r.childNodes[0].nodeValue:r.getAttribute("VALUE");if(t){const s=C(t).subarray(0,16);!function(t){const s=function(t,s,i){const e=t[s];t[s]=t[i],t[i]=e};s(t,0,3),s(t,1,2),s(t,4,5),s(t,6,7)}(s),this.keyId=s}}break}default:{let t=s.subarray(0,16);if(16!==t.length){const s=new Uint8Array(16);s.set(t,16-t.length),t=s}this.keyId=t;break}}if(!this.keyId||16!==this.keyId.byteLength){let t=At[this.uri];if(!t){const s=Object.keys(At).length%Number.MAX_SAFE_INTEGER;t=new Uint8Array(16),new DataView(t.buffer,12,4).setUint32(0,s),At[this.uri]=t}this.keyId=t}return this}}const Mt=/\{\$([a-zA-Z0-9-_]+)\}/g;function Dt(t){return Mt.test(t)}function xt(t,s,i){if(null!==t.variableList||t.hasVariableRefs)for(let e=i.length;e--;){const n=i[e],r=s[n];r&&(s[n]=It(t,r))}}function It(t,s){if(null!==t.variableList||t.hasVariableRefs){const i=t.variableList;return s.replace(Mt,(s=>{const e=s.substring(2,s.length-1),n=null==i?void 0:i[e];return void 0===n?(t.playlistParsingError||(t.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${e}"`)),s):n}))}return s}function Ct(t,s,i){let e,n,r=t.variableList;if(r||(t.variableList=r={}),"QUERYPARAM"in s){e=s.QUERYPARAM;try{const t=new self.URL(i).searchParams;if(!t.has(e))throw new Error(`"${e}" does not match any query parameter in URI: "${i}"`);n=t.get(e)}catch(s){t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${s.message}`))}}else e=s.NAME,n=s.VALUE;e in r?t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${e}"`)):r[e]=n||""}function Pt(t,s,i){const e=s.IMPORT;if(i&&e in i){let s=t.variableList;s||(t.variableList=s={}),s[e]=i[e]}else t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${e}"`))}function Rt(){if("undefined"!=typeof self)return self.MediaSource||self.WebKitMediaSource}const Ot={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}},Nt=Rt();function Ut(t,s){var i;return null!=(i=null==Nt?void 0:Nt.isTypeSupported(`${s||"video"}/mp4;codecs="${t}"`))&&i}const Ft=/#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,Bt=/#EXT-X-MEDIA:(.*)/g,_t=/^#EXT(?:INF|-X-TARGETDURATION):/m,jt=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),Kt=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("|"));class Ht{static findGroup(t,s){for(let i=0;i<t.length;i++){const e=t[i];if(e.id===s)return e}}static convertAVC1ToAVCOTI(t){const s=t.split(".");if(s.length>2){let t=s.shift()+".";return t+=parseInt(s.shift()).toString(16),t+=("000"+parseInt(s.shift()).toString(16)).slice(-4),t}return t}static resolve(t,s){return h.buildAbsoluteURL(s,t,{alwaysNormalize:!0})}static isMediaPlaylist(t){return _t.test(t)}static parseMasterPlaylist(t,s){const i={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:Dt(t)},e=[];let n;for(Ft.lastIndex=0;null!=(n=Ft.exec(t));)if(n[1]){var r;const t=new T(n[1]);xt(i,t,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);const h=It(i,n[2]),o={attrs:t,bitrate:t.decimalInteger("AVERAGE-BANDWIDTH")||t.decimalInteger("BANDWIDTH"),name:t.NAME,url:Ht.resolve(h,s)},a=t.decimalResolution("RESOLUTION");a&&(o.width=a.width,o.height=a.height),Wt((t.CODECS||"").split(/[ ,]+/).filter((t=>t)),o),o.videoCodec&&-1!==o.videoCodec.indexOf("avc1")&&(o.videoCodec=Ht.convertAVC1ToAVCOTI(o.videoCodec)),null!=(r=o.unknownCodecs)&&r.length||e.push(o),i.levels.push(o)}else if(n[3]){const t=n[4];switch(n[3]){case"SESSION-DATA":{const s=new T(t);xt(i,s,["DATA-ID","LANGUAGE","VALUE","URI"]);const e=s["DATA-ID"];e&&(null===i.sessionData&&(i.sessionData={}),i.sessionData[e]=s);break}case"SESSION-KEY":{const e=Gt(t,s,i);e.encrypted&&e.isSupported()?(null===i.sessionKeys&&(i.sessionKeys=[]),i.sessionKeys.push(e)):y.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${t}"`);break}case"DEFINE":{const e=new T(t);xt(i,e,["NAME","VALUE","QUERYPARAM"]),Ct(i,e,s)}break;case"CONTENT-STEERING":{const e=new T(t);xt(i,e,["SERVER-URI","PATHWAY-ID"]),i.contentSteering={uri:Ht.resolve(e["SERVER-URI"],s),pathwayId:e["PATHWAY-ID"]||"."};break}case"START":i.startTimeOffset=Vt(t)}}return i.levels=e.length>0&&e.length<i.levels.length?e:i.levels,0===i.levels.length&&(i.playlistParsingError=new Error("no levels found in manifest")),i}static parseMasterPlaylistMedia(t,s,i){let e;const n={},r=i.levels,h={AUDIO:r.map((t=>({id:t.attrs.AUDIO,audioCodec:t.audioCodec}))),SUBTITLES:r.map((t=>({id:t.attrs.SUBTITLES,textCodec:t.textCodec}))),"CLOSED-CAPTIONS":[]};let o=0;for(Bt.lastIndex=0;null!==(e=Bt.exec(t));){const t=new T(e[1]),r=t.TYPE;if(r){const e=h[r],a=n[r]||[];n[r]=a,xt(i,t,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);const l={attrs:t,bitrate:0,id:o++,groupId:t["GROUP-ID"]||"",instreamId:t["INSTREAM-ID"],name:t.NAME||t.LANGUAGE||"",type:r,default:t.bool("DEFAULT"),autoselect:t.bool("AUTOSELECT"),forced:t.bool("FORCED"),lang:t.LANGUAGE,url:t.URI?Ht.resolve(t.URI,s):""};if(null!=e&&e.length){const t=Ht.findGroup(e,l.groupId)||e[0];Xt(l,t,"audioCodec"),Xt(l,t,"textCodec")}a.push(l)}}return n}static parseLevelPlaylist(t,s,i,e,n,r){const h=new I(s),o=h.fragments;let a,l,d,f=null,m=0,g=0,v=0,p=0,w=null,b=new D(e,s),S=-1,k=!1;for(jt.lastIndex=0,h.m3u8=t,h.hasVariableRefs=Dt(t);null!==(a=jt.exec(t));){k&&(k=!1,b=new D(e,s),b.start=v,b.sn=m,b.cc=p,b.level=i,f&&(b.initSegment=f,b.rawProgramDateTime=f.rawProgramDateTime,f.rawProgramDateTime=null));const t=a[1];if(t){b.duration=parseFloat(t);const s=(" "+a[2]).slice(1);b.title=s||null,b.tagList.push(s?["INF",t,s]:["INF",t])}else if(a[3]){if(u(b.duration)){b.start=v,d&&zt(b,d,h),b.sn=m,b.level=i,b.cc=p,b.urlId=n,o.push(b);const t=(" "+a[3]).slice(1);b.relurl=It(h,t),qt(b,w),w=b,v+=b.duration,m++,g=0,k=!0}}else if(a[4]){const t=(" "+a[4]).slice(1);w?b.setByteRange(t,w):b.setByteRange(t)}else if(a[5])b.rawProgramDateTime=(" "+a[5]).slice(1),b.tagList.push(["PROGRAM-DATE-TIME",b.rawProgramDateTime]),-1===S&&(S=o.length);else{if(a=a[0].match(Kt),!a){y.warn("No matches on slow regex match for level playlist!");continue}for(l=1;l<a.length&&void 0===a[l];l++);const t=(" "+a[l]).slice(1),n=(" "+a[l+1]).slice(1),v=a[l+2]?(" "+a[l+2]).slice(1):"";switch(t){case"PLAYLIST-TYPE":h.type=n.toUpperCase();break;case"MEDIA-SEQUENCE":m=h.startSN=parseInt(n);break;case"SKIP":{const t=new T(n);xt(h,t,["RECENTLY-REMOVED-DATERANGES"]);const s=t.decimalInteger("SKIPPED-SEGMENTS");if(u(s)){h.skippedSegments=s;for(let t=s;t--;)o.unshift(null);m+=s}const i=t.enumeratedString("RECENTLY-REMOVED-DATERANGES");i&&(h.recentlyRemovedDateranges=i.split("\t"));break}case"TARGETDURATION":h.targetduration=Math.max(parseInt(n),1);break;case"VERSION":h.version=parseInt(n);break;case"EXTM3U":break;case"ENDLIST":h.live=!1;break;case"#":(n||v)&&b.tagList.push(v?[n,v]:[n]);break;case"DISCONTINUITY":p++,b.tagList.push(["DIS"]);break;case"GAP":b.gap=!0,b.tagList.push([t]);break;case"BITRATE":b.tagList.push([t,n]);break;case"DATERANGE":{const t=new T(n);xt(h,t,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),xt(h,t,t.clientAttrs);const s=new E(t,h.dateRanges[t.ID]);s.isValid||h.skippedSegments?h.dateRanges[s.id]=s:y.warn(`Ignoring invalid DATERANGE tag: "${n}"`),b.tagList.push(["EXT-X-DATERANGE",n]);break}case"DEFINE":{const t=new T(n);xt(h,t,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in t?Pt(h,t,r):Ct(h,t,s)}break;case"DISCONTINUITY-SEQUENCE":p=parseInt(n);break;case"KEY":{const t=Gt(n,s,h);if(t.isSupported()){if("NONE"===t.method){d=void 0;break}d||(d={}),d[t.keyFormat]&&(d=c({},d)),d[t.keyFormat]=t}else y.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${n}"`);break}case"START":h.startTimeOffset=Vt(n);break;case"MAP":{const t=new T(n);if(xt(h,t,["BYTERANGE","URI"]),b.duration){const n=new D(e,s);Yt(n,t,i,d),f=n,b.initSegment=f,f.rawProgramDateTime&&!b.rawProgramDateTime&&(b.rawProgramDateTime=f.rawProgramDateTime)}else Yt(b,t,i,d),f=b,k=!0;break}case"SERVER-CONTROL":{const t=new T(n);h.canBlockReload=t.bool("CAN-BLOCK-RELOAD"),h.canSkipUntil=t.optionalFloat("CAN-SKIP-UNTIL",0),h.canSkipDateRanges=h.canSkipUntil>0&&t.bool("CAN-SKIP-DATERANGES"),h.partHoldBack=t.optionalFloat("PART-HOLD-BACK",0),h.holdBack=t.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{const t=new T(n);h.partTarget=t.decimalFloatingPoint("PART-TARGET");break}case"PART":{let t=h.partList;t||(t=h.partList=[]);const i=g>0?t[t.length-1]:void 0,e=g++,r=new T(n);xt(h,r,["BYTERANGE","URI"]);const o=new x(r,b,s,e,i);t.push(o),b.duration+=o.duration;break}case"PRELOAD-HINT":{const t=new T(n);xt(h,t,["URI"]),h.preloadHint=t;break}case"RENDITION-REPORT":{const t=new T(n);xt(h,t,["URI"]),h.renditionReports=h.renditionReports||[],h.renditionReports.push(t);break}default:y.warn(`line parsed but not handled: ${a}`)}}}w&&!w.relurl?(o.pop(),v-=w.duration,h.partList&&(h.fragmentHint=w)):h.partList&&(qt(b,w),b.cc=p,h.fragmentHint=b,d&&zt(b,d,h));const $=o.length,A=o[0],L=o[$-1];if(v+=h.skippedSegments*h.targetduration,v>0&&$&&L){h.averagetargetduration=v/$;const t=L.sn;h.endSN="initSegment"!==t?t:0,h.live||(L.endList=!0),A&&(h.startCC=A.cc)}else h.endSN=0,h.startCC=0;return h.fragmentHint&&(v+=h.fragmentHint.duration),h.totalduration=v,h.endCC=p,S>0&&function(t,s){let i=t[s];for(let e=s;e--;){const s=t[e];if(!s)return;s.programDateTime=i.programDateTime-1e3*s.duration,i=s}}(o,S),h}}function Gt(t,s,i){var e,n;const r=new T(t);xt(i,r,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);const h=null!=(e=r.METHOD)?e:"",o=r.URI,a=r.hexadecimalInteger("IV"),l=r.KEYFORMATVERSIONS,c=null!=(n=r.KEYFORMAT)?n:"identity";o&&r.IV&&!a&&y.error(`Invalid IV: ${r.IV}`);const u=o?Ht.resolve(o,s):"",d=(l||"1").split("/").map(Number).filter(Number.isFinite);return new Lt(h,u,c,d,a)}function Vt(t){const s=new T(t).decimalFloatingPoint("TIME-OFFSET");return u(s)?s:null}function Wt(t,s){["video","audio","text"].forEach((i=>{const e=t.filter((t=>function(t,s){const i=Ot[s];return!!i&&!0===i[t.slice(0,4)]}(t,i)));if(e.length){const n=e.filter((t=>0===t.lastIndexOf("avc1",0)||0===t.lastIndexOf("mp4a",0)));s[`${i}Codec`]=n.length>0?n[0]:e[0],t=t.filter((t=>-1===e.indexOf(t)))}})),s.unknownCodecs=t}function Xt(t,s,i){const e=s[i];e&&(t[i]=e)}function qt(t,s){t.rawProgramDateTime?t.programDateTime=Date.parse(t.rawProgramDateTime):null!=s&&s.programDateTime&&(t.programDateTime=s.endProgramDateTime),u(t.programDateTime)||(t.programDateTime=null,t.rawProgramDateTime=null)}function Yt(t,s,i,e){t.relurl=s.URI,s.BYTERANGE&&t.setByteRange(s.BYTERANGE),t.level=i,t.sn="initSegment",e&&(t.levelkeys=e),t.initSegment=null}function zt(t,s,i){t.levelkeys=s;const{encryptedFragments:e}=i;e.length&&e[e.length-1].levelkeys===s||!Object.keys(s).some((t=>s[t].isCommonEncryption))||e.push(t)}var Qt="manifest",Jt="level",Zt="audioTrack",ts="subtitleTrack",ss="main",is="audio",es="subtitle";function ns(t){const{type:s}=t;switch(s){case Zt:return is;case ts:return es;default:return ss}}function rs(t,s){let i=t.url;return void 0!==i&&0!==i.indexOf("data:")||(i=s.url),i}class hs{constructor(t){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=t,this.registerListeners()}startLoad(t){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:t}=this;t.on(d.MANIFEST_LOADING,this.onManifestLoading,this),t.on(d.LEVEL_LOADING,this.onLevelLoading,this),t.on(d.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.on(d.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){const{hls:t}=this;t.off(d.MANIFEST_LOADING,this.onManifestLoading,this),t.off(d.LEVEL_LOADING,this.onLevelLoading,this),t.off(d.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.off(d.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(t){const s=this.hls.config,i=new(s.pLoader||s.loader)(s);return this.loaders[t.type]=i,i}getInternalLoader(t){return this.loaders[t.type]}resetInternalLoader(t){this.loaders[t]&&delete this.loaders[t]}destroyInternalLoaders(){for(const t in this.loaders){const s=this.loaders[t];s&&s.destroy(),this.resetInternalLoader(t)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(t,s){const{url:i}=s;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Qt,url:i,deliveryDirectives:null})}onLevelLoading(t,s){const{id:i,level:e,url:n,deliveryDirectives:r}=s;this.load({id:i,level:e,responseType:"text",type:Jt,url:n,deliveryDirectives:r})}onAudioTrackLoading(t,s){const{id:i,groupId:e,url:n,deliveryDirectives:r}=s;this.load({id:i,groupId:e,level:null,responseType:"text",type:Zt,url:n,deliveryDirectives:r})}onSubtitleTrackLoading(t,s){const{id:i,groupId:e,url:n,deliveryDirectives:r}=s;this.load({id:i,groupId:e,level:null,responseType:"text",type:ts,url:n,deliveryDirectives:r})}load(t){var s;const i=this.hls.config;let e,n=this.getInternalLoader(t);if(n){const s=n.context;if(s&&s.url===t.url)return void y.trace("[playlist-loader]: playlist request ongoing");y.log(`[playlist-loader]: aborting previous loader for type: ${t.type}`),n.abort()}if(e=t.type===Qt?i.manifestLoadPolicy.default:c({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),n=this.createInternalLoader(t),null!=(s=t.deliveryDirectives)&&s.part){let s;if(t.type===Jt&&null!==t.level?s=this.hls.levels[t.level].details:t.type===Zt&&null!==t.id?s=this.hls.audioTracks[t.id].details:t.type===ts&&null!==t.id&&(s=this.hls.subtitleTracks[t.id].details),s){const t=s.partTarget,i=s.targetduration;if(t&&i){const s=1e3*Math.max(3*t,.8*i);e=c({},e,{maxTimeToFirstByteMs:Math.min(s,e.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(s,e.maxTimeToFirstByteMs)})}}}const r=e.errorRetry||e.timeoutRetry||{},h={onSuccess:(t,s,i,e)=>{const n=this.getInternalLoader(i);this.resetInternalLoader(i.type);const r=t.data;0===r.indexOf("#EXTM3U")?(s.parsing.start=performance.now(),Ht.isMediaPlaylist(r)?this.handleTrackOrLevelPlaylist(t,s,i,e||null,n):this.handleMasterPlaylist(t,s,i,e)):this.handleManifestParsingError(t,i,new Error("no EXTM3U delimiter"),e||null,s)},onError:(t,s,i,e)=>{this.handleNetworkError(s,i,!1,t,e)},onTimeout:(t,s,i)=>{this.handleNetworkError(s,i,!0,void 0,t)}};n.load(t,{loadPolicy:e,timeout:e.maxLoadTimeMs,maxRetry:r.maxNumRetry||0,retryDelay:r.retryDelayMs||0,maxRetryDelay:r.maxRetryDelayMs||0},h)}handleMasterPlaylist(t,s,i,e){const n=this.hls,r=t.data,h=rs(t,i),o=Ht.parseMasterPlaylist(r,h);if(o.playlistParsingError)return void this.handleManifestParsingError(t,i,o.playlistParsingError,e,s);const{contentSteering:a,levels:l,sessionData:c,sessionKeys:u,startTimeOffset:f,variableList:m}=o;this.variableList=m;const{AUDIO:g=[],SUBTITLES:v,"CLOSED-CAPTIONS":p}=Ht.parseMasterPlaylistMedia(r,h,o);g.length&&(g.some((t=>!t.url))||!l[0].audioCodec||l[0].attrs.AUDIO||(y.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),g.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new T({}),bitrate:0,url:""}))),n.trigger(d.MANIFEST_LOADED,{levels:l,audioTracks:g,subtitles:v,captions:p,contentSteering:a,url:h,stats:s,networkDetails:e,sessionData:c,sessionKeys:u,startTimeOffset:f,variableList:m})}handleTrackOrLevelPlaylist(t,s,i,e,n){const r=this.hls,{id:h,level:o,type:a}=i,l=rs(t,i),c=u(h)?h:0,f=u(o)?o:c,m=ns(i),g=Ht.parseLevelPlaylist(t.data,l,f,m,c,this.variableList);if(a===Qt){const t={attrs:new T({}),bitrate:0,details:g,name:"",url:l};r.trigger(d.MANIFEST_LOADED,{levels:[t],audioTracks:[],url:l,stats:s,networkDetails:e,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}s.parsing.end=performance.now(),i.levelDetails=g,this.handlePlaylistLoaded(g,t,s,i,e,n)}handleManifestParsingError(t,s,i,e,n){this.hls.trigger(d.ERROR,{type:f.NETWORK_ERROR,details:m.MANIFEST_PARSING_ERROR,fatal:s.type===Qt,url:t.url,err:i,error:i,reason:i.message,response:t,context:s,networkDetails:e,stats:n})}handleNetworkError(t,s,i=!1,e,n){let r=`A network ${i?"timeout":"error"+(e?" (status "+e.code+")":"")} occurred while loading ${t.type}`;t.type===Jt?r+=`: ${t.level} id: ${t.id}`:t.type!==Zt&&t.type!==ts||(r+=` id: ${t.id} group-id: "${t.groupId}"`);const h=new Error(r);y.warn(`[playlist-loader]: ${r}`);let o=m.UNKNOWN,l=!1;const c=this.getInternalLoader(t);switch(t.type){case Qt:o=i?m.MANIFEST_LOAD_TIMEOUT:m.MANIFEST_LOAD_ERROR,l=!0;break;case Jt:o=i?m.LEVEL_LOAD_TIMEOUT:m.LEVEL_LOAD_ERROR,l=!1;break;case Zt:o=i?m.AUDIO_TRACK_LOAD_TIMEOUT:m.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case ts:o=i?m.SUBTITLE_TRACK_LOAD_TIMEOUT:m.SUBTITLE_LOAD_ERROR,l=!1}c&&this.resetInternalLoader(t.type);const u={type:f.NETWORK_ERROR,details:o,fatal:l,url:t.url,loader:c,context:t,error:h,networkDetails:s,stats:n};e&&(u.response=a({url:(null==s?void 0:s.url)||t.url,data:void 0},e)),this.hls.trigger(d.ERROR,u)}handlePlaylistLoaded(t,s,i,e,n,r){const h=this.hls,{type:o,level:a,id:l,groupId:c,deliveryDirectives:u}=e,g=rs(s,e),v=ns(e),p="number"==typeof e.level&&v===ss?a:void 0;if(!t.fragments.length){const t=new Error("No Segments found in Playlist");return void h.trigger(d.ERROR,{type:f.NETWORK_ERROR,details:m.LEVEL_EMPTY_ERROR,fatal:!1,url:g,error:t,reason:t.message,response:s,context:e,level:p,parent:v,networkDetails:n,stats:i})}t.targetduration||(t.playlistParsingError=new Error("Missing Target Duration"));const y=t.playlistParsingError;if(y)h.trigger(d.ERROR,{type:f.NETWORK_ERROR,details:m.LEVEL_PARSING_ERROR,fatal:!1,url:g,error:y,reason:y.message,response:s,context:e,level:p,parent:v,networkDetails:n,stats:i});else switch(t.live&&r&&(r.getCacheAge&&(t.ageHeader=r.getCacheAge()||0),r.getCacheAge&&!isNaN(t.ageHeader)||(t.ageHeader=0)),o){case Qt:case Jt:h.trigger(d.LEVEL_LOADED,{details:t,level:p||0,id:l||0,stats:i,networkDetails:n,deliveryDirectives:u});break;case Zt:h.trigger(d.AUDIO_TRACK_LOADED,{details:t,id:l||0,groupId:c||"",stats:i,networkDetails:n,deliveryDirectives:u});break;case ts:h.trigger(d.SUBTITLE_TRACK_LOADED,{details:t,id:l||0,groupId:c||"",stats:i,networkDetails:n,deliveryDirectives:u})}}}function os(t,s){let i;try{i=new Event("addtrack")}catch(t){i=document.createEvent("Event"),i.initEvent("addtrack",!1,!1)}i.track=t,s.dispatchEvent(i)}function as(t,s){const i=t.mode;if("disabled"===i&&(t.mode="hidden"),t.cues&&!t.cues.getCueById(s.id))try{if(t.addCue(s),!t.cues.getCueById(s.id))throw new Error(`addCue is failed for: ${s}`)}catch(i){y.debug(`[texttrack-utils]: ${i}`);const e=new self.TextTrackCue(s.startTime,s.endTime,s.text);e.id=s.id,t.addCue(e)}"disabled"===i&&(t.mode=i)}function ls(t){const s=t.mode;if("disabled"===s&&(t.mode="hidden"),t.cues)for(let s=t.cues.length;s--;)t.removeCue(t.cues[s]);"disabled"===s&&(t.mode=s)}function cs(t,s,i,e){const n=t.mode;if("disabled"===n&&(t.mode="hidden"),t.cues&&t.cues.length>0){const n=function(t,s,i){const e=[],n=function(t,s){if(s<t[0].startTime)return 0;const i=t.length-1;if(s>t[i].endTime)return-1;let e=0,n=i;for(;e<=n;){const r=Math.floor((n+e)/2);if(s<t[r].startTime)n=r-1;else{if(!(s>t[r].startTime&&e<i))return r;e=r+1}}return t[e].startTime-s<s-t[n].startTime?e:n}(t,s);if(n>-1)for(let r=n,h=t.length;r<h;r++){const n=t[r];if(n.startTime>=s&&n.endTime<=i)e.push(n);else if(n.startTime>i)return e}return e}(t.cues,s,i);for(let s=0;s<n.length;s++)e&&!e(n[s])||t.removeCue(n[s])}"disabled"===n&&(t.mode=n)}var us="org.id3",ds="https://aomedia.org/emsg/ID3";function fs(){if("undefined"!=typeof self)return self.WebKitDataCue||self.VTTCue||self.TextTrackCue}const ms=(()=>{const t=fs();try{new t(0,Number.POSITIVE_INFINITY,"")}catch(t){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function gs(t,s){return t.getTime()/1e3-s}class vs{constructor(t){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=t,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){const{hls:t}=this;t.on(d.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(d.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(d.MANIFEST_LOADING,this.onManifestLoading,this),t.on(d.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.on(d.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(d.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){const{hls:t}=this;t.off(d.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(d.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(d.MANIFEST_LOADING,this.onManifestLoading,this),t.off(d.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.off(d.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(d.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(t,s){this.media=s.media}onMediaDetaching(){this.id3Track&&(ls(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(t){const s=this.getID3Track(t.textTracks);return s.mode="hidden",s}getID3Track(t){if(this.media){for(let s=0;s<t.length;s++){const i=t[s];if("metadata"===i.kind&&"id3"===i.label)return os(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(t,s){if(!this.media)return;const{hls:{config:{enableEmsgMetadataCues:i,enableID3MetadataCues:e}}}=this;if(!i&&!e)return;const{samples:n}=s;this.id3Track||(this.id3Track=this.createTrack(this.media));const r=fs();for(let t=0;t<n.length;t++){const s=n[t].type;if(s===ds&&!i||!e)continue;const h=J(n[t].data);if(h){const i=n[t].pts;let e=i+n[t].duration;e>ms&&(e=ms),e-i<=0&&(e=i+.25);for(let t=0;t<h.length;t++){const n=h[t];if(!z(n)){this.updateId3CueEnds(i);const t=new r(i,e,"");t.value=n,s&&(t.type=s),this.id3Track.addCue(t)}}}}}updateId3CueEnds(t){var s;const i=null==(s=this.id3Track)?void 0:s.cues;if(i)for(let s=i.length;s--;){const e=i[s];e.startTime<t&&e.endTime===ms&&(e.endTime=t)}}onBufferFlushing(t,{startOffset:s,endOffset:i,type:e}){const{id3Track:n,hls:r}=this;if(!r)return;const{config:{en